以太网分层模型

以太网五层模型是将OSI模型的应用层、表示层和会话层合并为应用层,其它层不变。是为了教学而设计的一种网络分层模型。

1.物理层(Physical Layer)

负责传输原始比特流。它涉及的是物理设备及介质,如电缆类型、电信号传输和接收等。

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

确保物理链路上的无误传输。它提供了如帧同步、流量控制和错误检测等功能。

3.网络层(Network Layer)

负责数据包从源到目的地的传输和路由选择。它定义了地址和路由的概念,如IP协议。

4.传输层(Transport Layer)

提供端到端的数据传输服务,保证数据的完整性。它定义了如TCP和UDP协议。

​​​​​​​​​​​​​​1.TCP/IP四层模型

TCP/IP四层模型,亦称互联网协议套件(Internet Protocol Suite),是一种按照功能标准组织互联网及类似计算机网络中使用的一系列通信协议的框架。该套件中的基础协议包括传输控制协议(TCP)、用户数据报协议(UDP)和互联网协议(IP)。

TCP/IP协议栈(Protocol Stack)是指TCP/IP协议套件的软件实现。

​​​​​​​1.应用层(Application Layer)

1.定义

这层是用户最直接交互的部分,是软件应用通过网络进行通信的地方。应用层使用下层提供的服务来创建用户数据,将这些数据传输给同一台机器上或远程机器上的其他应用。

2.协议

该层包括了SMTP、FTP、SSH、HTTP等协议,这些协议都在应用层上实现,以实现客户端与服务器之间的通信和数据交换。

2.传输层(Transport Layer)

1.定义

传输层管理着端到端的通信,即主机到主机的通信。它的主要职责是为不同主机上的应用程序提供数据传输,同时保证这些数据的完整性和可靠性。

2.协议

在传输层,主要的协议有TCP(Transmission Control Protocol),它提供顺序的、可靠的、双向的连接流,并管理报文段的发送,确保无错误、不丢失、不重复、按序到达;以及UDP(User Datagram Protocol),它提供一种无连接的服务,数据以数据报的形式发送,不保证顺序或响应。

3.互联网层(Internet Layer)

1.定义

互联网层处理跨网络界限的数据包交换,负责将数据报文段从源地址路由到目的地址。这层抽象了实际的物理网络拓扑结构,并且定义了如何在各种网络结构中发送和接收数据包。

网络层的IP协议是构成Internet的基础。Internet上的主机都是通过IP地址来互相识别。IP协议不保证传输数据的可靠性,可能出现丢包等情况。

2.协议

主要协议是IP(Internet Protocol),它定义了数据包的路由方式和网络地址。其他重要的协议包括ICMP(Internet Control Message Protocol),用于错误报告和网络诊断。

​​​​​​​4.链路层(Link Layer)

1.定义

链路层涉及到在物理网络上的数据通信。链路层确保网络层传来的IP数据报可以在网络的物理链接上进行传输,不管是通过有线还是无线媒介。它还负责处理与物理网络链接相关的问题,例如MAC(Media Access Control)地址寻址、帧同步、错误检测和校正。

2.协议

它包括了在物理网络链接中使用的所有协议,如以太网(Ethernet)、Wi-Fi以及PPP(Point-to-Point Protocol)。

2.OSI七层模型和TCP/IP四层模型对比以及TCP/IP协议栈

3.网络传输中的数据单元

PDU

协议数据单元(Protocol Data Unit,PDU),计算机网络各层对等实体间交换信息的数据单位。PDU包括头部(PCI)和负载(SDU)。不同层次的PDU有专门的术语,例如在网络层,PDU称为数据包,在传输层,PDU称为报文段或数据报,在数据链路层,PDU称为帧(frame)。

数据包(Packet)

通常指网络层(如IP网络层)的数据单位。

报文段(Segment)

通常用于描述传输层(TCP传输层)的数据单位。

数据报(Datagram)

通常用于描述UDP协议的数据单位,它也是传输层的一个概念。

​​​​​​​SDU

服务数据单元(Service Data Unit,SDU)是在通信协议的特定层次上传递的数据单元。这些数据被传递给下一层,由下一层进行处理或封装,并附加控制信息(PCI),将其转换为那一层的PDU。SDU是用户数据或者来自上一层的PDU,未包括当前层可能添加的头部或其他控制信息。

​​​​​​​PCI

协议控制信息(Protocol Control Information,PCI)是PDU中的元数据部分,它包括用于在网络中传输数据的控制信息,比如地址、端口号、控制标志、协议类型等。它与SDU一起被封装成PDU。PCI基本上是头部和尾部信息,它使得网络或传输实体能够理解如何处理包含的SDU。

PDU=SDU+PCI。

​​​​​​​4.基于以太网的通信流程示例

​​​​​​​5.服务、协议和接口的关系

服务描述了下层可以为相邻上层提供的功能,是抽象的。而接口提供了访问这些功能的方法。接口是实现服务交付的框架,如网络编程框架(API库)。要实现服务,需要遵循特定的协议,协议定义了实现服务所需的数据格式、操作顺序、错误处理等规则。

服务告诉我们“可以提供什么功能”,接口解决的是“如何调用功能”,而协议定义了“如何实现功能”。

通过接口,上层不需要知道服务是如何实现的,只需要知道如何通过接口访问这些服务。而服务的具体实现需要遵循相应的协议。

以OSI七层模型中的传输层和网络层为例。

服务:

网络层提供的服务是数据包的传输和路由选择。传输层可能会请求网络层提供的传输和路由服务来将数据包传输到目的地址。传输层不关心网络层如何实现这些服务,它只关心如何使用这些服务。

接口:

在上述过程中,传输层使用的是网络层暴露的接口(比如使用IP协议栈的API)来发送和接收IP数据包。接口定义了传输层和网络层之间的交互方式,包括传输层如何向网络层提交数据包,以及网络层提供反馈信息的方式。这些API以一种对传输层透明的方式遵循网络层的协议。

协议:

传输层通过网络层的接口发送数据时,实际上是在使用网络层的协议。网络层遵循的IP协议定义了如何在设备间路由数据包,包括如何寻址、打包和处理数据传输中的错误。实现IP协议栈时,必须遵守IP协议。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐