02 | 网络分层的真实含义是什么


  计算机网络课上老师说:为什么要分层啊?因为不同层次之间他们有不同的沟通方式,这个叫做协议。

  好吧,那这么想的话,官场也是分层的,分“高层领导”、“中层领导”、“小领导”、“群众”。各级领导都有他们的沟通方式。。。和网络世界是一样的,群众有什么事情要办,自己要上点心,不能光靠上面的人给你操心;但是上面的人就不一样了,他们的一个动作,下面的人要做各种准备,要比领导的工作多的多。同时,每一级都要为上一级的领导办事,他手下的人更要替他为领导办事。。尤其是高层要会晤,下面的肯定要做好万全准备的。

  计算机网络界有个著名的“三次握手”,我们都把他当成知识点来重点背诵,那么问题来了,TCP在进行三次握手的时候,IP层和MAC层都对应什么操作呢?当然是IP层和MAC层的所有机制都要运行一遍!你只看到TCP三次握手了,其实IP层和MAC已经忙得团团转很久了。

  尤其是要记住一点:只要是网络上跑的包,都是完整的。可以有下层没有上层,但是绝对不可能有上层没有下层!

  对于TCP协议来说,三次握手也好,重试也好,只要想发出去包,就要有IP层和MAC层,不然是发不出去的!还有一个关键!光知道一台机器的IP地址是不够的,没有MAC地址消息时发不出去的!

  所谓的二层设备,三层设备,都是这些设备上跑的程序不同而已。一盒HTTP协议的包经过一个二层设备,二层设备收进去的是整个网络包。这里的HTTP、TC、IP、MAC都有。什么叫二层设备啊,其实就是只把MAC的头摘下来(因为他关键是要这个),看看到底是丢弃、转发、还是自己留着。那什么叫做三层设备呢?就是除了要把MAC头摘下来,IP的头也需要,看看是丢弃、转发、还是自己留着。

  其实回答那个网络为什么要分层的问题,只此一句话:复杂的程序都要分层,这是程序设计的要求!