如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。
概述
首先,网络分层协议到底是几层?有人说七层,有人说四层。
其实,这样说都没错,至于有人说五层,那是瞎扯的,约定俗成的东西是你说5层就5层么?
网络七层协议是OSI是一个开放性的通信系统互连参考模型;而基于TCP/IP的参考模型将协议分成四个层次。
注意,这里说的是基于TCP/IP的参考模型将协议是四层,而且七层指的是OSI网络分层协议。基于TCP/IP的参考模型已经说明自己是TCP/IPl ,而且将表示层和会话层合并,所以看起来就是四层。下面显示两者的不同:
总结一下,就是:
- 机器a发送http数据包data机器b,data先穿上http的外衣;
- http数据再增加一系列的控制;
- 再加上tcp的报文头;
- 再加上ip报文头;
- 这时候就形成了ip报文,就可以按照链路层协议在网线/无线传输了;
- 路由器收到一个报文,会解析成ip报文,看下目的ip是给谁了,根据路由规则,转发到相应的路由器;
- 最后路由器找到了机器b,把报文给b,b按照七层协议一层层剥开,最后发现是个http报文,按照http再剥开,它就是机器a要跟你说的悄悄话。
图例
OSI 七层:
TCP/IP 四层: