流量分析一之数据包传输过程

封装与解封装

封装报文是从上层到下层(应用层-->传输层-->网络层-->数据链路层-->物理层),解封装报文是从下层到上层。

应用数据需要经过TCP/IP每一层处理后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)交换信息。

不同层的PDU中包含不同的信息,在不同层有不同的名称。

应用层数据在传输层添加TCP报文后的PDU称为Segment(数据段);

Segment(数据段)被传递到网络层,添加IP报文头得到的PDU称为Packet(数据包);

Packet(数据包)传递到数据链路层,添加Ethernet_Ⅱ或IEEE802.3报文后得到的PDU称为Frame(数据帧)。

最后,帧转换为比特,通过网络介质传输。这种逐层向下传递数据,并添加报头和报尾的过程称为封装。

从物理层逐层传递到目的端,向上传递的过程则是解封装。

 

数据包传输过程

数据包传输过程中,源IP地址和目标IP地址不会变,除非遇到NAT(SNAT或DNAT),源MAC和目标MAC遇到网关会变。

数据链路层通过MAC寻址,网络层通过IP寻址。

当一个数据包的目的地址不是本机,则需要查询路由表,当查到路由表中的网关之后,需要获取网关的MAC地址,并将数据包的MAC地址修改成网关地址,然后发送到对应的网卡。

posted @ 2023-03-03 22:51  RichardMrZ  阅读(239)  评论(0编辑  收藏  举报