共计 3258 个字符,预计需要花费 9 分钟才能阅读完成。
最近看狂飙有点上头了😂,还专门把几百人的群昵称改成了“摸鱼强盛团体”,群友们也很踊跃,昵称都改成了狂飙中的人名,聊着聊着嘴里蹦出几句狂飙中的台词,一时间感觉还蛮有意思的,群里充斥了欢心笑语,给疲乏了一天的心带来些许高兴。😂
看到题目,大家是否心生疑虑?“老默我想吃鱼了”跟五层网络模型有什么关系呢?齐全八竿子打不着的事,大家先别急💐,持续往下看 …
五层网络模型
是计算机网络的一个根本知识点,无论前端还是后端,面试的时候都有可能被问到,五层网络模型是比拟形象的,因为大家看不见,摸不着,但它却是每时每刻都在产生的,像微信聊天、浏览器关上一个网页等等,这些都是通过了五层网络模型,明天咱们就来聊聊这个话题!
分层的意义
咱们都说五层网络模型,为什么是五层呢?三层行不行?为什么要分层呢?
当咱们遇到比较复杂的问题时,能够应用分层的思维将其简单化,就像咱们做一个简单性能的网站,咱们会把每个性能封装成一个一个模块,每一个模块实现一个性能,最初将这些模块组装起来就 ok 了。那既然如此,咱们的网络就真的这么简单吗?看看这本书的厚度,你就晓得了,的确很简单😭
当高启强给老默发微信说:老默我想吃鱼了,那这音讯是如何从强哥手机跑到老默手机里的?这外面是有很多问题须要解决的,相对不是一个 ajax 就能解决的。
聊天:
- 强哥:老默我想吃鱼了
- 老默:收到,强哥
当老默收到强哥的音讯之后,立马在鱼摊子筛选最大的鱼,开始清理鱼 … 这时候就要思考几个问题:
须要思考的问题:
用什么来装鱼?
计划:彩色袋子、塑料盒子、麻袋、揣兜里
如何保障鱼的陈腐?
计划:加点冰块、推个冰箱
怎么能力不让警察叔叔发现?
计划:化妆伪装成大爷,敌后浸透
怎么找到强哥地址?
计划:百度地图、导盲犬、夜观天象、掐指一算
用什么交通工具呢?
计划:飞船、火箭、宝马 X5、还是那辆全京海 7000 多辆的红色货车
画个简图:
👉 须要留神的是这并不是真正的五层模型,这里只是举个例子
从图上咱们能够看出,每一层都会解决特定的问题,不须要思考上一层是怎么解决的,只须要把后果往上层传递即可,每一层有多种解决方案,不论抉择哪一种计划都不会对下层造成影响,都是独立的。
五层网络模型
五层网络模型分为:应用层、传输层、网络层、数据链路层、物理层,接下来咱们挨个叙述😎
应用层
所谓的 应用层
就是说咱们在互联网利用的过程中产生特定的利用需要,比方上网拜访网页的过程中如何跟服务器进行交互。如果用老默送鱼的例子解释,老默和强哥相当于两个软件,老默送鱼的过程就如同是两个软件之间的通信。这些软件应用就被成为应用层。
应用层有很多的协定,比方:HTTP 协定
、FTP 协定(文件传输)
、DNS 协定(域名解析)
、SMTP 协定(邮件传输)
,这些协定相似于包装层的计划抉择什么来装鱼,彩色袋子、麻袋、还是揣兜里,用于解决不同的场景,当咱们拜访网页的时候,就会用到 HTTP 协定,规定了申请头 - 申请体,响应的时候有响应头 + 响应体。HTTP 协定还有一个平安版本是HTTPS 协定
,这两个协定实质上都是用雷同的形式获取对象,只不过 HTTPS 实际上是在一个称为TLS
(Transport Layer Security, 传输层平安) 的平安协定上应用 HTTP。
传输层
传输层次要是保障音讯的牢靠传递,当强哥发消息通知老默:我想吃鱼了,老默立马心领神会,晓得该干嘛了,那如果强哥发的是:老默我想吃鱼了,后果老默收到的是:老默我想吃__了,少了个“鱼”字,老默是不是很懵逼,百思不得其解,这种状况在网络中咱们称为“丢包”。
传输层也有相干的协定,比方:TCP 协定
,UDP 协定
,TCP 协定(Transmission Control Protocol, 传输控制协议)
就是解决牢靠传输的,保证数据的正确性,只有应用这个协定,那单方的数据永远不可能错乱,多个字或者少个字的状况。而 UDP 协定(User Datagram Protocol, 用户数据报协定)
并不是解决牢靠传递的,这个协定只管发送数据,至于数据能不能送到,双手插兜无所谓。
网络层
通过应用层和传输层,咱们拿到了“信息”,也保障了信息的牢靠传递,接下来的问题就是这些信息传输给谁呢?这就是网络层要做的事件,如何在茫茫互联网找到对的人?老默要送鱼,起码得晓得强哥住在哪里吧,不然怎么送呢!而且送鱼路线是有多条的,走哪一条最近也是网络层须要解决的事件
网络层的协定代表就是IP 协定(Internet Protocol)
,网络层会接管到来自传输层的“数据”,而后将这些数据拆分很多片段,次要是为了不便 IP 数据包的发送,实践上每个数据包最多能够存储 64KB,但实际上数据包不超过 1500 个字节,IP 路由器会转发每一个数据包,沿着一条门路从一台路由器传递到下一台路由器,直到达到目的地,而后会在网络层重组,这里的网络层指的是快到强哥家的时候,因为数据是有一个封装和解封装的过程。
数据链路层
数据链路层须要做的就是如何在子网中找到对方?可能有的小伙伴就要问了,网络层不也是在茫茫人海找人嘛,这两者有什么不一样呢?网络层协定的代表就是IP 协定
,我举个例子,咱们在公众号留言的时候,会呈现 IP 地址,通知咱们这个人来自哪个省,以前是没有的
那问题来了,咱们光凭这个 IP 地址是否找到这个人?他用的是哪一台电脑?不必想,答案是否定的,所以这时候数据链路层来了,它就是帮忙咱们找到这个人的伎俩
数据链路层的代表就是MAC 协定
(medium access control, 介质访问控制),也就是咱们常说的 MAC 地址,苹果电脑能够通过ifconfig 查问
,windows 通过ipconfig 查问
,MAC 地址是跟网卡绑定在一起的,寰球惟一
👉IP 地址
和MAC 地址
区别:
MAC 地址相当于咱们的身份证号,无论咱们在哪个城市,它都是惟一不变的,而 IP 地址换个城市就会变,以后在北京就是北京,广东就是在广东,IP 地址只是在同一个网络环境下是惟一的
物理层
到了这一步之后,老默的鱼筹备好了,也能保障了牢靠的运送,强哥地址也有了,万事俱备就开始配送了,配送形式也有很多,飞船、火箭、红色货车都能够,然而在计算机里只有二进制数据,二进制数据能够用光纤、双绞线、同轴电缆、电力线等等,像这些传输的介质咱们个别称为 导向的传输介质
,因为信号传输都是沿着物理电缆的门路而有导向的
封装和解封装
画了一张简图:
当老默送鱼的时候,在应用层阶段会应用 http 协定,会在鱼的头部加上申请头 + 申请体,抉择一种包装鱼的形式,而后到了传输层,在这一层须要保障送鱼的途中安全可靠,不能把鱼丢半路,这可不行,此时应用 TCP 协定保障音讯的牢靠,而后到了网络层,这一层就是通过 IP 寻找地址的过程,随后到了数据链路层,这里做的就是依据 MAC 地址寻找具体地址过程,最初到了物理层,这一层会通过一些介质伎俩将二进制信号进行发送,相当于老默通过某种交通工具送鱼阶段。解封装阶段无非就是抽丝剥茧,将碎片化数据包进行拼接,最初将残缺正确的信息送到对方的手中,此时一条鲜活的鱼到了强哥背后。
四层、五层、七层是怎么回事
有时候咱们会在网上看到有四层网络模型、五层网络模型还有七层网络模型,那到底有几层?最早开始的时候只有四层网络模型,别离是:应用层、传输层、网络层以及物理链路层,这四层模型简直全世界各个机构都是认可这套模型的,起初有个专门搞规范的组织叫 OSI,作为一个规范组织天然有本人的傲气,又搞进去一个七层模型,别离是应用层、表示层、会话层、传输层、网络层、物理链路层以及物理层。这七层模型实际上只存在一些教科书材料中,实际上并没有啥利用,大家认可这个有这个七层模型,毕竟是规范组织,得给点体面,有点像那个叫好但没口头,起初受到七层网络模型的启发又造成了五层模型:应用层、传输层、网络层、物理链路层、物理层,五层模型只是把四层模型的数据链路层细分进去一个物理层,其实分不分都是要做这些事件的,没什么区别的
最初
如果本篇文章对你有所帮忙,或者你有什么疑难,欢送在评论区留言,我个别看到都会回复的。大家点赞反对一下啊~🌸,点击链接即可关注 法医💪