网络原理——数据包的封装和分用


数据包的封装和分用


封装

eg:假设使用QQ,给另一个好友发送消息
数据封装的过程

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

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.最后,数据链路层把这个数据交给物理层。物理层把这一整串数据转换成光信号/电信号,进行传输。

分用

数据分用的过程
接收方做的事情就是数据从下到上一次进行“分用”
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值