计算机网络体系结构

132 阅读11分钟
前序:
  • 计算机网络作为综合计算机技术与通信技术的复杂系统,显然不可能由一个或者少数几个协议就能约定网络通信过程中所要遵循的所有规则,实现所有功能。因此,在制定网络协议时经常采用的思路是将复杂的网络通信功能划分为由若干协议分别完成,然后再按照一定的方式组织起来,最终实现网络通信的所有功能。最典型的划分方式就是采用分层的方式来组织协议。目前的最典型的网络层次化体系结构参考模型分别为OSI参考模型和TCP/IP参考模型两种。

1. OSI参考模型:

  • 应用层:这是最靠近用户的层,直接为用户的应用程序提供服务。它处理网络应用程序中与用户直接交互的部分,比如电子邮件、文件传输(FTP)、网页浏览(HTTP)。应用层确定通信的性质,确保所需的资源可用,并为应用软件提供网络服务接口。
  • 表示层:负责数据的格式化、编码、转换以及加密解密。它确保一个系统发送的信息可以被另一个系统的应用层正确解读,处理数据的表示、安全和压缩问题。表示层在数据传输中充当翻译官,确保不同系统间的数据在语义上的准确性。
  • 会话层:管理和控制两个应用程序之间的对话或会话。它建立、维护和终止应用程序之间的会话,负责在网络中的两个节点之间建立、维护和管理会话。会话层同样负责数据的同步,提供数据交换的组织和同步服务。
  • 传输层:确保数据的可靠传输,包括错误检测、数据传输的顺序和数据的完整性。传输层提供端到端的通信控制,比如在TCP/IP模型中的TCP(传输控制协议)提供可靠的、顺序的和无差错的数据传输。
  • 网络层:负责数据包的路由选择和转发。它确定数据的路径选择和逻辑地址(如IP地址),确保数据包能够通过网络从源到目的地。网络层处理数据包在网络中的移动,包括路由选择、地址解析和错误处理等功能。
  • 数据链路层:建立物理链接,负责相邻网络节点之间的数据传输。它提供物理寻址、同时还负责数据的帧同步、错误检测和纠正。数据链路层将原始比特流组织成有意义的帧结构,以便物理层传输。
  • 物理层:与实际的物理介质相关,定义物理设备和传输媒体的规范。这一层涉及到比特在物理媒介上的传输,包括定义电缆、光纤、无线电波等传输媒体的电气、机械、过程和功能标准。物理层直接与传输媒体接触,负责传送原始比特流。

2. TCP/IP五层参考模型:

  • 应用层
  1. 这是用户直接与之交互的层级,为用户提供网络服务。
  2. 它包括各种应用程序协议,如HTTP(用于网页浏览)、FTP(用于文件传输)、SMTP(用于电子邮件传输)等。
  3. 应用层直接使用下一层,即传输层提供的服务来完成数据的发送和接收。
  • 传输层
  1. 该层的主要任务是为两台主机上的应用进程提供端到端的通信服务。
  2. 在这一层中,主要使用两种协议:TCP(传输控制协议)和UDP(用户数据报协议)。
  3. TCP提供可靠的、面向连接的服务,确保数据的准确送达;UDP则提供无连接的服务,速度较快但不保证数据的完整性和顺序。
  • 网络层
  1. 网络层负责在多个网络间移动数据包,这涉及到数据包的路由选择。
  2. 它使用IP(互联网协议)来寻找最佳路径,将数据从源头传送到目的地。
  3. 网络层处理的是数据包,而不是整个数据流,这意味着每个数据包可能会独立选择路线到达目的地。
  • 链路层(有时与物理层合并考虑):
  1. 链路层负责网络寻址、错误检测和改正。
  2. 它将网络层传下来的IP数据包封装成帧,在本地网络内传输。
  3. 链路层还负责将数据帧从一个节点传输到另一个节点,这通常是指在同一网络内或者从一个网络到另一个直接连接的网络。
  • 物理层
  1. 在一些解释中,物理层被视作TCP/IP模型的一部分,尽管在经典的四层模型中通常不显式包含。
  2. 物理层定义了通过媒介传输数据的物理和电气标准,如电缆的类型、光纤的类型、电气接口等。
  3. 它负责实际的数据传输过程,包括比特流的传输方式、同步等。

3. TCP/IP四层参考模型:

  • 应用层
  1. 位于模型的最顶层,直接为用户的应用程序(如Web浏览器、电子邮件客户端、FTP程序等)提供服务。
  2. 它定义了用于网络中的通信活动和数据传输的应用程序协议,如HTTP(用于网页访问)、FTP(用于文件传输)、SMTP(用于发送电子邮件)等。
  3. 应用层协议规定了如何进行数据的交换,确保信息能够以可理解的形式发送和接收。
  • 传输层
  1. 负责在网络中的两个端点之间提供可靠的数据传输。
  2. 主要协议有TCP(传输控制协议)和UDP(用户数据报协议)。
  3. TCP提供面向连接、可靠的数据传输服务,确保数据按序、完整地到达接收方。TCP通过错误检测、确认和重传机制来保证数据的可靠性。
  4. UDP提供无连接的传输服务,适用于对实时性要求高的应用(如视频会议、在线游戏),但不保证数据的完整性或顺序。
  • 网络层
  1. 负责在网络之间进行数据包的路由和转发。
  2. 使用的主要协议是IP(互联网协议),它定义了数据包的格式和地址系统(如IPv4和IPv6)。
  3. 网络层确保数据包可以跨越多个网络(经过多个路由器)从源头到达目的地,涉及到路径选择、地址解析、分包和重组等功能。
  • 链路层(有时称为网络接口层或物理层):
  1. 负责在相邻的网络设备之间的物理连接,如在同一局域网内的通信。
  2. 它包括了在实际物理网络上发送和接收数据包的协议和过程,如以太网、Wi-Fi等。
  3. 链路层处理数据的封装和编码,准备数据在本地网络媒介上的传输,同时负责错误检测和纠正。

4. 四层模型更贴近原始的TCP/IP协议设计和实用性,而五层模型则提供了更清晰的理论框架和细分,所以我们在讨论原理时,以TCP/IP五层参考模型为主。

5. OSI参考模型与TCP/IP参考模型的区别

OSI参考模型层级TCP/IP五层参考模型层级典型网络协议
应用层应用层HTTP, FTP, SMTP, POP3, IMAP, SNMP, Telnet, DHCP, DNS
表示层SSL/TLS, ASCII, JPEG, GIF, MPEG, SMB, AFP
会话层NetBIOS, RPC, PPTP, SMB, NFS, SSH, SSL/TLS
传输层传输层TCP, UDP, SCTP, DCCP, QUIC
网络层网络层IP, ICMP, ARP, RARP, OSPF, BGP, RIP, ARP, RARP
数据链路层数据链路层Ethernet, PPP, HDLC, Frame Relay, Wi-Fi
物理层物理层USB, Ethernet, RS-232, Wi-Fi, Bluetooth, NFC, HDMI

6. OSI参考模型中各层数据之间的传输原理:

  • 应用层

功能:应用层是最接近用户的层,它提供网络服务给最终用户的应用程序。这包括各种应用程序协议,如HTTP(网页浏览)、SMTP(电子邮件)、FTP(文件传输)等。

数据传输原理:应用层生成用户数据,将数据封装成合适的协议格式,如HTTP请求或SMTP消息,并将这些数据传递给表示层。

  • 表示层

功能:表示层负责数据的表示、安全和压缩。它将应用层数据转换为适合网络传输的格式,或者将网络格式转换为应用层能理解的格式。

数据传输原理:表示层可以转换数据格式,例如从EBCDIC编码转换为ASCII编码,进行数据加密和解密,以及数据压缩和解压缩。

  • 会话层

功能:会话层负责在网络中的两个节点之间建立、管理和终止会话。会话可以视为不同应用进程之间的对话或通信。

数据传输原理:会话层设置、协调和终止应用程序之间的对话,管理它们之间的数据交换。

  • 传输层

功能:传输层提供端到端的通信控制。它可以确保数据包的完整性,并负责错误恢复和流量控制。

数据传输原理:在传输层,数据被封装成段(TCP协议)或数据报(UDP协议)。传输层负责将这些数据包从源传输到目的地,并能够处理错误检测和恢复,流量控制等。

  • 网络层

功能:网络层处理数据包在网络中的路由和转发。它决定数据包从源到目的地的路径。

数据传输原理:网络层将传输层传来的段或数据报封装成数据包或分组,并加入网络地址信息(如IP地址),然后选择合适的路由进行数据传输。

  • 数据链路层

功能:数据链路层在物理网络连接上提供可靠的数据传输。它确保从一个节点到另一个节点的数据传输是无误的。

数据传输原理:数据链路层将网络层的数据包封装成帧,添加物理地址(如MAC地址)和错误检测代码,然后通过物理媒介传输。

  • 物理层

功能:物理层负责在物理媒介上传输原始比特流。这包括定义电气、机械、程序和功能规范。

数据传输原理:物理层将数据链路层的帧转换为电信号、光信号或无线信号,以便通过物理媒介(如电缆、光纤或无线电波)进行传输。

7. TCP/IP五层参考模型中各层数据之间的传输原理:

  • 应用层:

功能:应用层是最接近用户的层,提供网络服务给最终用户的应用程序。

数据传输原理:应用层生成用户数据,如网页请求(HTTP)、邮件发送(SMTP)等,并将这些数据传递给下一层的传输层。这里数据通常被称为“消息”或“报文”。

  • 传输层

功能: 传输层负责为两个主机上的应用进程提供端到端的通信。

数据传输原理: 在传输层,数据被封装成“段”(TCP协议)或“数据报”(UDP协议)。这一层添加了端口号信息,以区分主机上的不同应用程序。然后,数据被传输到网络层。传输层还负责流量控制、错误检测、数据重传等功能,确保数据可靠传输(TCP)或快速传输(UDP)。

  • 网络层

功能: 网络层处理数据包在网络中的路由和转发。

数据传输原理: 网络层将传输层传来的数据进一步封装成“数据包”或“分组”,并加入逻辑地址信息(如IP地址)。这一层负责确定数据的路由路径,即从源主机到目的主机的传输路线。网络层的协议(如IP协议)负责将数据包导向最终目的地。

  • 数据链路层

功能: 数据链路层在物理层之上提供可靠的数据传输,通常是在同一个网络或链路上的节点之间。

数据传输原理: 在数据链路层,网络层的数据包被封装成“帧”,添加物理地址(如MAC地址),并进行错误检测和纠正。数据链路层确保帧能够在网络的物理媒介(如以太网、Wi-Fi)上无误传输。

  • 物理层

功能: 物理层负责原始比特流的传输,处理数据的物理和电气表示。

数据传输原理: 物理层将数据链路层的帧转换为电信号、光信号或无线信号,以适合于通过网络媒介(如电缆、光纤、无线电波)进行传输。在接收端,物理层再将这些信号转换回数字数据,传递给数据链路层。