什么是网络数据包:
是计算机在网络中传输的基本单位。它是一种数据的封装形式,包含源地址、目标地址、协议类型、数据长度等信息
数据包组成:
TCP/IP协议数据包,一般由应用层、传输层、网络层、数据链路层封装而成。
数据包封装:
-
应用层:数据被封装为应用层协议的数据。例如,HTTP 请求中包含了请求头和请求体,SMTP 邮件中包含了邮件内容等。
-
传输层:在传输层,应用层的数据被封装为传输层协议的数据段。常用的传输层协议有TCP和UDP。在封装时,会加入源端口和目标端口等控制信息。
-
网络层:在网络层,传输层的数据段被封装为网络层协议的数据包。常用的网络层协议是IP协议。在封装时,会加入源IP地址和目标IP地址,以及路由和分片等相关信息。
-
数据链路层:在数据链路层,网络层的数据包被封装为数据帧。例如,以太网帧是常见的数据链路层协议。在封装时,会加入源MAC地址和目标MAC地址等信息。
-
物理层:在物理层,数据链路层帧被封装为比特流,以便通过物理介质进行传输。
封装的顺序是自上而下,即从应用层开始逐层封装至物理层。
数据包解封装:
-
物理层:接收端将比特流转换为数据链路层帧。
-
数据链路层:在数据链路层,接收端将网络层数据包解封装为数据链路层帧,即还原为原始的以太网帧或其他数据链路层协议。
-
网络层:在网络层,接收端将数据链路层帧解封装为网络层数据包,即还原为原始的IP数据包。
-
传输层:在传输层,接收端将网络层数据包解封装为传输层数据段,即还原为TCP或UDP数据段。
-
应用层:在应用层,接收端将传输层数据段