1、网络分层模型
计算机网络是一个极其复杂的系统。想象一下最简单的情况:两台连接在网络上的计算机需要相互传输文件。不仅需要确保存在一条传输数据的通路,还需要完成以下几项工作:
- 发起通信的计算机必须激活数据通路,这包括发出信令以确保数据能够在通路上正确发送和接收。
- 需要告知网络如何识别接收数据的计算机。
- 发起通信的计算机必须确认对方计算机已开机并且连接到网络。
- 应用程序需要明确对方计算机中的文件管理程序是否准备好接收和存储文件。
- 如果计算机的文件格式不兼容,至少一台计算机需要进行格式转换。
- 需要确保针对各种差错和意外事件(如数据传输错误、重复或丢失,网络结点交换机故障等)有可靠的措施,以确保对方计算机最终能够正确接收文件。
因此,相互通信的两个计算机系统必须高度协调合作,这种协调是相当复杂的。为了设计这样复杂的计算机网络,早在ARPANET设计初期就提出了分层方法。通过分层,庞大而复杂的问题被转化为较小的局部问题,更易于研究和解决。1974年,IBM公司推出了系统网络体系结构SNA(System Network Architecture),这一网络标准也是按照分层方法制定的。至今,使用IBM大型机构建的专用网络仍在使用SNA。随后,其他公司也纷纷推出具有不同名称的体系结构。
全球经济的发展导致对不同网络体系结构的用户迫切希望能够互相交换信息。为实现不同计算机网络体系结构的互连,国际标准化组织ISO于1977年设立了专门机构。他们提出了试图使世界范围内各种计算机互连成网的标准框架——开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称OSI。"开放"指的是非独家垄断。因此,只要遵循OSI标准,一个系统就可以与世界上任何其他遵循相同标准的系统进行通信。
2、网际互联及OSI七层模型
开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model)包括七层模型,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
-
物理层(Physical Layer)
- 作用:主要任务是在物理媒体上实现比特流的透明传输
- 主要功能:定义接口特性、定义传输模式(单工、半双工、双工)、定义传输速率、比特同步、比特编码
- 传输单位:bit(比特)
- 典型协议:Rj45、802.3
- 设备:集线器(Ethernet Hub)、转发器(Repeater);
- 备注:没有寻址的概念;
-
数据链路层(Data Link Layer)
- 作用:主要任务是把网络层传下来的数据报组装成帧;
- 传输单位:frame(帧)
- 主要功能:成帧(定义帧的开始和结束)、差错控制(帧错+位错)、流量控制、访问(接入)控制(控制对信道的访问)
- 典型协议:SDLC、HDLC、PPP、STP
- 设备:以太网交换机(Ethernet Switch)、桥接器(bridge,网桥);
- 备注:交换机通过MAC地址转发数据,逻辑链路控制;
-
网络层(Network Layer)
- 作用:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务;
- 主要功能:路由选择、流量控制、差错控制、拥塞控制;
- 典型协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF;
- 传输单位:packet(数据包);
- 设备:路由器(Router)
- 备注:实现寻址
-
传输层(Transport Layer)
- 作用:主要任务是负责主机中两个进程的通信,即端到端的通信;
- 主要功能:可靠传输、差错控制、流量控制、复用分用;
- 典型协议:TCP、UDP、SPX、port(65535个端口)、EIGRP、OSPF;
- 传输单位:fragment(段);
- 设备:网关(gateway);
- 备注:负责网络传输和会话建立;
-
会话层(Session Layer)
- 作用:主要任务是负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接
- 主要功能:建立、管理、终止会话;使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步;
- 典型协议:NFS、SQL、ASP、PHP、JSP、RSVP(资源源预留协议);
- 传输单位:message(报文);
- 设备:网关(gateway);
- 备注:负责会话建立;
-
表示层(Presentation Layer)
- 作用:主要任务是用于把数据转换为能与接收者的系统格式兼容并适合传输的格式;
- 典型协议:ASCII, JPEG. PNG, MP3. WAV, AVI;
- 传输单位:message(报文);
- 设备:网关(gateway);
- 备注:可以提供加密服务;
-
应用层(Application Layer)
- 作用:主要任务是控制应用程序;
- 典型协议:telnet, SSH, HTTP, FTP, SMTP, RIP, BGP
- 传输单位:message(报文);
- 设备:网关(gateway);
- 备注:为应用程序提供网络服务;
OSI模型的传输数据封装过程如下:
3、TCP/IP 四层模型:
ARPA 在研究 ARPAnet 时提出了 TCP/IP 模型,模型从低到高依次为网络接口层(对应 OSI
参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应 OSI参考模型中的会话层
表示层和应用层)。TCP/P 由于得到广泛应用而成为事实上的国际标准。
-
应用层(Application Layer):应用层是最靠近用户的一层,负责处理特定应用程序的通信细节。在这一层,各种应用程序通过使用不同的协议来实现数据交换,比如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。
-
传输层(Transport Layer):传输层主要负责在网络中传输数据。其中的TCP协议提供了可靠的数据传输机制,确保数据的完整性和顺序性;而UDP协议提供了一种更快速但不可靠的传输方式。
-
网络层(Network Layer):网络层负责在不同网络之间传输数据包。其中的IP协议定义了数据包的传输规则和地址分配,确保数据能够正确地从源主机传输到目标主机。
-
数据链路层(Data Link Layer):数据链路层负责在直接相连的两个节点之间传输数据。它将数据包转换为比特流,并控制数据在物理介质上传输的方式。
TCP/IP模型与OSI模型相比,将传输层和网络层合并到一起,更加符合实际网络通信的需求。因此,在实际应用中,TCP/IP模型被广泛应用于互联网和局域网等网络环境中,成为了网络通信的基础。
TCP/IP模型的传输数据封装过程如下:
4、五层参考模型:
OSI的七层协议体系结构提出的概念清晰,理论完整,但它既复杂又不够实用。相比之下,TCP/IP体系结构则更简洁实用,并且在实际应用中得到了广泛应用。TCP/IP是一个四层体系结构,包括应用层、运输层、网际层和网络接口层(网际层的命名强调解决不同网络间的互连问题)。
然而,实质上,TCP/IP只有最上面的三层被广泛使用,因为最底层的网络接口层并没有明确定义的内容。因此,在学习计算机网络原理时,通常采取综合OSI和TCP/IP的优点的办法,采用一种只有五层协议的体系结构。这种简化的五层模型既简洁又能很清楚地阐述概念。为了方便,有时也将最底下的两层称为网络接口层。
5层网络模型是一种简化后的网络体系结构,通常用于描述计算机网络中不同层级的功能和协议。这种模型包括以下五个层级:
-
应用层(Application Layer):应用层是最靠近用户的一层,负责处理特定应用程序的通信细节。在这一层,各种应用程序通过使用不同的协议来实现数据交换,比如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。
-
传输层(Transport Layer):传输层主要负责在网络中传输数据。其中的TCP(Transmission Control Protocol)提供了可靠的数据传输机制,确保数据的完整性和顺序性;而UDP(User Datagram Protocol)提供了一种更快速但不可靠的传输方式。
-
网络层(Network Layer):网络层负责在不同网络之间传输数据包。其中的IP(Internet Protocol)定义了数据包的传输规则和地址分配,确保数据能够正确地从源主机传输到目标主机。
-
数据链路层(Data Link Layer):数据链路层负责在直接相连的两个节点之间传输数据。它将数据包转换为比特流,并控制数据在物理介质上传输的方式。
-
物理层(Physical Layer):物理层是网络模型的最底层,负责传输原始比特流,将数据转换为电信号或光信号,并在物理媒介(如网线、光纤)中进行传输。
这种5层网络模型综合了OSI模型和TCP/IP模型的优点,简化了网络体系结构并且清晰地划分了不同层级的功能。通过这种模型,我们可以更好地理解和描述计算机网络中各个部分的作用和协作关系。
5层网络模型的传输数据封装过程如下: