目录

  • 数据包的封装和分用
  • 封装
  • 分用



数据包的封装和分用


封装

eg:假设使用QQ,给另一个好友发送消息

怎么让数据包走mpls ldp_网络通信

发送方发生的事情,数据从上到下依次进行封装

1.QQ程序,接受用户的输入 “hello” QQ程序就把“hello”包装成一个人应用层数据包(此处应用的应用层协议咱也不知道,是QQ的开发人员确定的)
应用层数据报:

from :me  to he      msg:hello

2.然后应用层就把这个应用层协议的数据报就交给了传输层,传输层的TCP协议就把这个应用层数据包打包成了TCP数据包。

源端口 目的端口     from :me  to he      msg:hello

源端口 目的端口 就是 :TCP报头

3.然后传输层就把这个应用层协议的数据报就交给了网络层协议(IP协议),IP协议就把这个传输层打包成一个网络层的数据包

源IP 目的IP     源端口 目的端口     from :me  to he      msg:hello

源IP 目的IP 就是 : IP报头

4.然后网络层再把这个数据交给数据链路层,数据链路层的主要协议“以太网”把网络层的数据包打包成一个数据链路层的数据包

源mac 目的mac       源IP 目的IP       源端口 目的端口       from :me  to he      msg:hello
以太网数据帧头       IP报头               TCP报头                   应用层数据包  	          以太网数据帧尾

5.最后,数据链路层把这个数据交给物理层。物理层把这一整串数据转换成光信号/电信号,进行传输。

分用

怎么让数据包走mpls ldp_以太网_02


接收方做的事情就是数据从下到上一次进行“分用”

1.物理层收到光电信号的数据,把数据进行解析。还原成二进制的bit流,再把这个二进制的数据交给数据链路层。

2.数据链路层就拿到了一个 以太网数据帧。

以太网数据帧头:

源mac 目的mac       源IP 目的IP       源端口 目的端口       from :me  to he      msg:hello
以太网数据帧头       IP报头               TCP报头                   应用层数据包  	          以太网数据帧尾

3.以太网协议解析这个数据帧,去掉帧头和帧尾。把中间的部分交给网络层。网络层拿到了一个IP协议数据报。

源IP 目的IP     源端口 目的端口     from :me  to he      msg:hello

源IP 目的IP 就是 : IP报头

4.再解析IP数据报,把IP报头取出来,去掉,将剩下的部分交给传输层。

源端口 目的端口     from :me  to he      msg:hello

源端口 目的端口 就是 :TCP报头

5.传输层TCP协议拿到这个数据之后,在进行解析,取出TCP报头,在将剩下的应用层数据交给应用程序。
6.QQ应用程序拿到这个数据之后,按照应用层协议解析,得到msg为“hello”。

from :me  to he      msg:hello