network vs internet vs Internet
网络(network):计算机网络,简称网络,由若干节点(node)和连接这些节点的链路(link)组成。网络把很多计算机连接到一起。
node:计算机、集线器、交换机、路由器
互联网(internet/internetwork,小写i):路由器连接起来的多个网络,是网络的网络(network of networks)。互联网把很多网络连接到一起。
因特网(Internet,大写I):指的是全球最大的、开放的、由众多网络互联而成的特定互联网。在RFC 1208中定义。
internet: A collection of networks interconnected by a set of routers which allow them to function as a single, large virtual network.
Internet: (note the capital "I") The largest internet in the world consisting of large national backbone nets (such as MILNET, NSFNET, and CREN) and a myriad of regional and local campus networks all over the world. The Internet uses the Internet protocol suite. To be on the Internet you must have IP connectivity, i.e., be able to Telnet to--or ping--other systems. Networks with only e-mail connectivity are not actually classified as being on the Internet.
参考《RFC 1208》:https://www.rfc-editor.org/rfc/rfc1208
互联网基础结构发展三阶段
第一阶段:从单个ARPANET向互联网发展的过程。ARPANET->Internet
1969年,美国国防部建立了第一个分组交换网络ARPANET(并不是互联的网络)。所有主机通过就近的交换机相连;
1970s,一个单独网络无法满足需求,ARPANET开始研究多种网络互联的技术,成为Internet的雏形;
1983年,TCP/IP协议成为ARPANET上的标准协议,所有使用TCP/IP的计算机均可接入Internet。因此人们把1983年作为互联网诞生时间;
1990年,ARPANET关闭,实验任务完成。
第二阶段:三级结构的互联网。
1985年,美国NFS围绕六个大型计算机中心建设了国家科学基金网NSFNET;
NSFNET分三级:主干网、地区网、校园网/企业网。地区网可以完成本地区管辖范围内各校园或企业间的通信,主干网使地区网相互通信。主干网和地区网需要巨大投资,由政府主导。
第三阶段:全球范围的错层次ISP结构的互联网。
1993年,NSFNET逐渐被若干个商用的互联网主干网替代,政府机构不再负责互联网运营;
ISP(Internet Service Provider): 互联网服务提供商,例如中国电信、中国联通、中国移动;
按覆盖面大小和IP数目,ISP分三层:主干ISP,地区ISP,本地ISP;
本地ISP为端用户直接提供服务,本地ISP可接入地区ISP或主干ISP;
本地ISP可以是仅仅提供互联网服务的公司,也可以是拥有自己网络的企业、非营利机构(大学等);
IXP(Internet eXchange point):互联网交换点,主要作用是允许两个网络直接相连并交换分组,而不需要通过第三个网络来转发分组。可以更有效经济地利用资源;
举例:主机A-本地ISP-地区ISP-主干ISP-地区ISP-本地ISP-主机B;
互联网标准化
p19
互联网的组成
边缘部分和核心部分的作用,其中包含分组交换的概念。
互联按照拓扑结构的形式,划分为两部分:
(1)边缘部分
由所有连接在互联网上的主机组成,用户直接使用,用来进行通信和资源共享;
端系统:这些主机被称为“端系统”。可以是个人电脑、手机、摄像头、服务器;
主机A和主机B通信:主机A的某个进程和主机B上的另一个进程进行通信,简称“计算机之间通信”;
进程:运行着的程序;
边缘的端系统之间的通信方式,分两类:C/S(客户/服务器方式)和P2P(对等方式)
(2)核心部分
由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
计算机网络体系结构
1974,美国IBM公司,系统网络体系结构SNA(System Network Architecture),现在IBM大型机仍在用SNA。
1977,国际标准化组织ISO,提出试图使各种计算机在世界范围内互联成网的标准框架,OSI-RM(Open System Interconnection-Reference Model),开放系统互联基本参考模型,简称OSI。OSI-RM是个抽象的概念。
1983,形成了开放系统互联基本参考模型的正式文件,OSI 7498国际标准,也就是著名的七层协议体系结构。
虽然OSI一开始由ISO制定,但后来的许多标准都是ISO与CCITT联合制定的。
ISO,International Organization for Standardization,国际标准化组织。
CCITT,Consultative Committee for International Telephony and Telegraphy,国际电报电话咨询委员会。
ISO从信息处理角度考虑标准制定,CCITT从通信角度考虑标准制定,随着科技的发展,通信与信息处理界限越来越模糊,于是,通信与信息处理都成为CCITT和ISO共同关心的领域。
CCITT的建议书X.200 和 ISO 7498基本相同。
communication沟通 vs communications通信
communication关注信息本身,信息的交换、解析和他们背后的含义
communications关注共享的手段
参考:https://www.mastersincommunications.com/faqs/communication-vs-communications
协议与划分层次
协议:网络协议,network protocol,为进行网络中的数据交换而建立的规则、标准或约定,简称协议。
协议三要素:
(1)语法,数据与控制信息的结构或格式;
(2)语义,需要发出何种控制信息,完成何种动作及已作出何种响应;
(3)同步,事件实现顺序的详细说明。
协议的两种形式:便于人来阅读和理解的文字描述,计算机能够理解的代码。
两种形式的协议都必须能对网络上的信息交换过程做出精确解释。
Ethernet vs Internet
Ethernet: 以太网技术提供了允许网络连接的设备相互通信而不发生包冲突的规则。更正式地说,Ethernet是基于CSMA/CD协议的IEEE 802.3标准的通用名称
。
CSMA/CD定义了何时传输,如果检测到碰撞将发生什么,以及终端地址、传输速度和媒体。
IEEE 802标准使用MAC地址,这是设备制造商通常分配给端点访问硬件的唯一标识符。
以太网自第一次应用以来已经发生了巨大变化。今天,它是基于ip的网络事实上的协议。
1、handler
(1)句柄,指针
编译原理/程序/操作系统:句柄,指针
句柄毫无以为是编程学习中最头疼的翻译之一。这个词最初的来自形式语言中的handle,
在英语中,handler的一个意思可以理解为“someone who is a manager of your life that trying to manipulate aspects of your life”,或者“one that handles something”,当然这是把它当成人来看了。但总之handler的本意肯定是一个类似管理者
的东西。
在urbandictionary网站里,handler还有一个更具体的意思是“Responsible for making sure that the talent knows when they are to perform, where they are to perform, and what time they are to be there.”意思是确保有才能的人
知道在何时何地如何去展示
,对应的,在计算机领域,就是确保资源合适的调度和利用
。在操作系统或某些程序和程序语言中,句柄
本身可以理解成像指针
的一个东西,它指向某些资源(可以是函数,内存等等)。
(2)消息接发者,快递员
网络协议:确保资源合适的调度和利用,类似管理者、快递员
消息处理框架中:
至少得有消息发送方(handler)、消息接收方(handler)、消息本身(Message)。
当消息生产速度非常快时,还需要一个存储方对消息进行暂时缓存(MessageQueue)。
而消息不是直达目标本身时,需要中间的一个调度中心(Looper),分别处理消息,方便统一调度。收快递的例子中:
handler:相当于一个快递员。负责收、发快递。
Message:快递,分 专送快递、普通快递、空包 ;消息的封装,可以跨进程通信,本质是单向链表结构,并且会持有Handler(目标handler,其实就是发消息的Handler本身)
MessageQueue:消息队列,存储快递的仓库
Looper:用来把每个快递分发给对应的快递员的,可以当做快递公司。
线程A:寄件人
线程B:收件人
参考:
https://blog.csdn.net/ACmeinan/article/details/80600593
https://blog.csdn.net/yztbydh/article/details/122990688
2、端口号
端口号是传输层协议的内容。
端口号是一个2字节16位的整数;
端口号用来标识网络进程,告诉操作系统,当前的这个数据要交给哪一个进程来处理;
IP地址+端口号能够标识网络上的某一台主机的某一个进程;
一个端口号只能被一个进程占用
一个进程可以绑定多个端口号,但是一个端口号不能被多个进程绑定
传输层协议(TCP和UDP)的数据段中有两个端口号,分别叫做源端口号和目的端口号。描述的是“数据是谁发的,要发给谁”。
端口号用来标识主机上唯一一个网络进程,公网IP标识互联网上唯一的主机。端口号+IP地址可以标识互联网上唯一一个网络进程。
一台主机与另一台主机通信是进程间通信的另一种方式。
端口号范围划分:
0-1023:知名端口号,HTTP,FTP,SSH等这些广为流传的应用层协议,它们的端口号都是固定的。
1024-65535:操作系统动态分配的端口号。客户端程序的端口号就是由操作系统从这个范围分配的。
有些非常常用的服务器的端口号为:
ssh服务器,使用22端口
ftp服务器,使用21端口
telnet服务器,使用23端口
http服务器,使用80端口
https服务器,使用443端口
modbus服务器,使用502端口
参考:
https://blog.csdn.net/tangya3158613488/article/details/96427426
3、端口vs接口vs串口
端口,标识进程,是虚的编号,端口是个逻辑窗口。通俗的说,端口只是串口的一个标识ID而已,不同的ID对应着不同的连接口。
串口,串行通讯端口,COM,Cluster CoMmunication port,串口是个物理接口
RS232是连电脑显示器的那种大粗头。
串口vs引脚:引脚与串口的区别,他们都是物理接口,若干个特定的IO(引脚)组成一个串口,比如我们的单片机的串口(GND VCC RXD TXD)。
接口,
20、术语
APDU(Application Protocol Data Unit),应用协议数据单元,由IOS/IEC 7816-4规范定义。是智能卡与智能卡读卡器
之间传送的信息单元,像智能卡发送的指令。Command APDU(读卡器向智能卡发出),包含4字节的Header(CLA, INS, P1, P2)和0-255字节的Body(数据)。Response APDU(智能卡向读卡器发送),包含必须的2字节状态字和0-256字节数据。
ADU(Application Data Unit)应用数据单元,通信相关,包括PDU和其他字段。
PDU(Protocol Data Unit)协议数据单元,与基础通信无关,数据最小单位。是指对等层之间传递的数据单位。
物理层的PDU是数据位/比特流(bit),
数据链路层的PDU是数据帧(Ethernet frame),
网络层的PDU是数据包/分组/IP数据报(packet/IP datagram),
传输层的PDU是数据段(data/TCP segment),数据流被分割成小块,传输层报头放在data body前面的Header中,接收端根据Header排序。
报文段,segment,组成报文的每个分组。我们将传输层分组称为报文段。??
应用层的PDU是报文/消息(message)【其他更高层次的PDU是数据(data)】
packet vs IP datagram:协议中的术语用的是datagram,但是,大家常用packet作为术语。
message vs data block
【感觉下面这个回答越区分越乱,问题出在,中文,如果看协议的英文原文,就不会有这种歧义】
参考:https://blog.csdn.net/haocrossover/article/details/69666867
MPDU(Media access control Protocol Data Unit)是MAC(Media Access Control)实体之间通信的PDU。
SDU(Service Data Unit)业务/服务数据单元,通常称为message body或payload。N层SDU=N+1层PDU,N层PDU=N层SDU+N层Header。
HDLC(High Level Data Link Control)高级数据链路控制,
这张图片是来自tcpipguide.com的最好的图片,有详细的视觉信息:
参考:
《计算机网络(第8版)_谢希仁》
https://blog.csdn.net/weixin_42040046/article/details/116904964
http://www.patrickdenis.biz/blog/protocol-data-unit-pdu-service-data-unit-sdu/
http://www.tcpipguide.com/
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。