计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。
为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO
)在1978
年提出了“开放系统互联参考模型”,即著名的OSI/RM
模型(Open System Interconnection/Reference Model
)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer
)、数据链路层(Data Link Layer
)、网络层(Network Layer
)、传输层(Transport Layer
)、会话层(Session Layer
)、表示层(Presentation Layer
)、应用层(Application Layer
)。
分层的好处
- 通过每一层实现一种相对独立的功能来简化问题;
- 每一层的设计都是独立的,它不必关心下一层是如何实现的,只需知道下一层为我提供的服务,和我必须为上一层提供哪些服务;
- 当由于技术的变化使某层的实现需要变化时,不影响其他的层次。
除了标准的OSI
七层模型以外,常见的网络层次划分还有TCP/IP
四层协议以及TCP/IP
五层协议,它们之间的对应关系如下图所示:
物理层
与传输媒体的接口,完成传输媒体上的信号与二进制数据间的转换。物理接口上发送或接收的是一串以某种规则表示的二进制的数据,物理层定义的是接口的机械特性、电气特性、功能和过程特性等。
数据链路层
提供点到点的可靠传输,通常需把数据分成帧,并且保证帧的正确发送和接收。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame
),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
网络层
提供主机到主机的通路,其间可能存在多条通路。网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP
的核心协议——IP
协议。IP
协议非常简单,仅仅提供不可靠、无连接的传送服务。IP
协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP
协议配套使用实现其功能的还有地址解析协议ARP
、逆地址解析协议RARP
、因特网报文协议ICMP
、因特网组管理协议IGMP
。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:
-
IP
协议(Internet Protocol
,因特网互联协议); -
ICMP
协议(Internet Control Message Protocol
,因特网控制报文协议); -
ARP
协议(Address Resolution Protocol
,地址解析协议); -
RARP
协议(Reverse Address Resolution Protocol
,逆地址解析协议)。
传输层
提供端到端的通路,应用到应用的通路传输层将把高层要求传输的数据分成若干个报文报文与帧不一样,帧只有帧标志(起始标志、结束标志),而报文有信源和信宿的地址及端口、报文的顺序号、确认号等 。
会话层
会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
表示层
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。
应用层
为操作系统或网络应用程序提供访问网络服务的接口。