要想让两台计算机进行通信,必须使它们采用相同的信息交换规则。我们把在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协议(communication protocol)。

计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。

为什么对协议体系结构进行分层

a.分层的一般原则是将一组相近的功能放在一起,形成一个网络的结构层次。
b.因为计算机网络是一个复杂的系统,采用层次化结构的方法来描述它,可以将复杂的网络间题分解为许多比较小的、界线比较清晰简单的部分来处理;

更准确的说

  1. 通过将网络的通信过程划分为小一些、简单的部件,有助于各个部件的开发、设计和故障排除;
  2. 通过网络组件的标准化,允许多个供应商进行开发;
  3. 通过定义在模型的每一层实现什么功能,鼓励产业的标准化;
  4. 允许各种类型的网络硬件和软件互相通信;
  5. 防止对某一层所做的改动影响到其他的层,这样就有利于开发。

协议分层体系结构的发展

  1. ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议。起初在ARPANET设计时即提出了分层的方法。“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
  2. 国际标准化组织ISO提出著名的开放系统互连基本参考模型OSI/RM (Open Systems Interconnection Reference Model),简称为OSI。在1983年形成了开放系统互联基本参考模型的正式文件,即著名的ISO 7498国际标准。
  3. 20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于Internet已抢先在全世界覆盖了相当大的范围。现今规模最大的、覆盖全世界的计算机网络Internet并未使用OSI标准,而是TCP/IP。这样,TCP/IP就是事实上的国际标准。

网络层次的划分

OSI模型是七层网络模型,但TCP/IP是事实上的通用标准为五层网络模型,因此实际上使用的几乎全为TCP/IP五层网络模型,但是OSI模型也是值得学习的。

  • a.为TCP/IP网络模型
  • b.即为OSI七层网络模型

对于OSI模型,自上而下为物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。

每一层的网络协议对应于每一层,而层次模型看起来想一个栈(stack),所有也被称为协议栈(stack)。

协议体系结构的具体分层

这里主要介绍OSI参考模型,实际上TCP/IP模型每层功能与OSI模型类似。

1)物理层(Physical Layer)
  激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。

2)数据链路层(Data Link Layer)

数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

有关数据链路层的重要知识点:

1> 数据链路层为网络层提供可靠的数据传输;

2> 基本数据单位为帧;

3> 主要的协议:以太网协议;

4> 两个重要设备名称:网桥和交换机。

3)网络层(Network Layer)

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。

网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:

1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;

2> 基本数据单位为IP数据报;

3> 包含的主要协议:

IP协议(Internet Protocol,因特网互联协议);

ICMP协议(Internet Control Message Protocol,因特网控制报文协议);

ARP协议(Address Resolution Protocol,地址解析协议);

RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。

4> 重要的设备:路由器。

4)传输层(Transport Layer)

第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。

传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
  网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。

1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控> 制问题;

2>包含的主要协议:

TCP协议(Transmission Control Protocol,传输控制协议)

UDP协议(User Datagram Protocol,用户数据报协议)

3> 重要设备:网关。

5)会话层(Session Layer)

会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。

6)表示层(Presentation Layer)

表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。

7)应用层(Application Layer)

为操作系统或网络应用程序提供访问网络服务的接口。

会话层、表示层和应用层重点:

1> 数据传输基本单位为报文(Message);

2>
包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper
Text Transfer Protocol)

OSI7层模型的小结

由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。

在7层模型中,每一层都提供一个特殊的网络功能。从网络功能的角度观察:下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;而上3层(会话层、表示层和应用层)则以提供用户与应用程序之间的信息和数据处理功能为主。简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。