封装与解封装
封装报文是从上层到下层(应用层-->传输层-->网络层-->数据链路层-->物理层),解封装报文是从下层到上层。
应用数据需要经过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地址修改成网关地址,然后发送到对应的网卡。
标签:封装,一之,PDU,传输,MAC,数据包,报文 From: https://www.cnblogs.com/wlhk/p/17177291.html