1、OSI模型
上层
|
| 七层模型 四层模型
|
| 应用层
| 表示层 应用层 http/ftp/ssh/ftps
| 会话层
-----------------------------------------------------------------------
| · 传输层 传输层 tcp/udp
-----------------------------------------------------------------------
| 网络层 网络层 ip-> ipv4/ipv6
-----------------------------------------------------------------------
| 数据链路层 网络接口层 以太网帧协议
底层 物理层

2、数据的封装

# 两台主机A,B
1.A给B发送字符串“hello,world”,字符串不会以这种形态发送到Internet,需要在发送之前进行封装
2.封装是由操作系统或者调用的API自动完成的,程序员无需关心
3.如果程序员需要封装数据,一般是在应用层做处理,应用层数据可封装也可以不封装
数据 "hello,world” 在应用层进行发送
1.在应用层对这个字符串封装(可选,程序员做的)
2.数据往下走->传输层->根据协议格式打包数据, tcp
3.数据往下走->网络层->根据协议格式打包数据,ip
4.数据往下走->网络接口层->根据协议格式打包数据,以太网帧协议
5.数据通过网口发送给B
B接收数据,拆包
1.网络接口层->根据协议格式拆包,以太网帧协议拆开
2.得到了网络层的包->拆包
3.传输层的包->拆包
4.应用层的包
5.应用层如果使用协议封装了数据继续拆包,如果没有封装得到了“hello, world”