- 数据发送端进行数据封装->应用层->物理层
- 数据发送端传递到接收端
- 数据接收端进行数据解除封装->物理层->应用层
数据发送端进行数据封装
举例:qq发 hello
发送方:
- 应用层封装hello的消息
- 应用层交给传输层,qq会告诉传输层自己监听的端口是5000 交给udp 然后封装
- 传输层交给网络层封装ip头部信息(源目ip、协议号【17表示udp,6表示是tcp】)
- 网络层丢给数据链路层,封装以太网头(源目mac、type协议类型【0800表示ip】),尾部后面会加fcs
- 到网卡会把数据转换成二进制(高低电压)发给接收方
接收方:
- 网卡收到数据后传给数据链路层
- 数据链路层查看FCS是否完善,如果校验失败了就不会去拆数据,直接会丢弃,如果校验正常会看二层的目的地址是不是自己,如果是自己会拆掉二层,看下二层封装的type协议类型,如果协议类型是0800则交给ipv4
- 到网络层后,会看一下目标ip是不是给自己的。如果是的会拆网络层,查看封装的协议号,比如协议号是17则交给udp
- 到传输层后,如果发现端口是5000,5000是qq监听的端口号,这时交给qq服务
- 到应用层后 qq就接收到了hello这个消息