五层模型是把应用层、表示层、会话层合为一层
例如:发出一个http请求。
3.1 在应用层按照http协议的规范,进行数据包的构建
3.2 传输控制层进行三次握手。封装源端口和目标端口
3.3 网络层封装源ip 和目标IP。基于下一跳的机制,根据路由表找到下一跳的地址
3.4 链路层封装源mac地址和目标mac地址。根据arp协议,记录了ip和mac地址的映射关系。并且节点之间的跳转,更换mac地址
3.5 物理层将封装好的包发出去。
3.6 中间通过若干个路由进行跳转,根据路由表选择,以及数据封装更换mac地址。最终到达服务器
3.7 物理层将数据封装层二进制给链路层。
3.8 链路层检查mac地址是否是自己的,如果不是,则丢掉。是的话,传输给网络层。
3.9 网络层检查是不是自己的IP,如果是的话,并查找上层的协议类型,是TCP就给TCP,UDP就给UDP。
3.10 传输控制层校验数据的完整性,检查端口号。解析出数据,给应用层,返回ack.
3.11 应用程序读取数据
3.12 服务端发送一个回执信息
3.13 断开链接(4次挥手)
第一次:客户端给服务端,发送一个断开连接消息
第二次:服务器给客户端,回一个确认消息
第三次:服务器给客户端发送一个断开连接消息
第四次:客户端给服务器,回一个确认断开连接的消息。服务器断开连接
原文:https://www.cnblogs.com/grace-newbee/p/14733994.html