本节介绍的内容既有对前面内容的回顾和整合,也有一些新内容。网络知识庞大而琐碎,但是我介绍的都是最常用和基础的内容,希望读者能够记住与理解,若有不理解之处欢迎在公众号或者博客留言,以便于我进一步完善。
1、路由
根据前面的学习,你应该可以理解:
当计算机与别的主机通信时,我们需要知道目标主机的IP地址。
如果目标IP与自己在同网段,那么就会去查找arp缓存表。
如果arp缓存表有相关的条目,那么计算机就知道了目标主机的MAC地址,就会进一步封装数据帧,然后数据从网卡发出。
如果arp缓存表中没有相关条目,那么会触发arp解析,计算机会向自己同网段中的所有主机广播,以询问该IP的MAC地址。获取arp应答后,将IP于MAC的对应关系写入arp缓存表,进而可以封装数据帧发送报文。
如果目标IP与自己不在同一网段,则目的MAC为默认网关的MAC,计算机会将数据发往默认网关,由默认网关进一步处理。
那么默认网关如何处理呢,他怎么就知道如何到达目标IP呢?
其实默认网关内部有一张表,我们称之为路由表。网关设备一般只会对二三层的信息进行封装和拆解。他将数据流拆解至数据帧,发现目标MAC是自己,于是它进一步拆封到数据包,知道了目标IP,接下来他就会到自己的路由表里去找。要知道,网关设备一般会连接多个网络,所以它是四通八达的,路由表里也会有通往多个网络的地图。它会根据目标IP来对路由表中的条目来进行尽可能精细的匹配。让我们尽可能详细地去了解一下这个过程。网关设备通常为路由器,我们以下便以路由器为例。
问:路由表长什么样子
答:
这个其实不太好说,因为不同厂商的路由表长相不太一样。但是但凡是路由表一般都会包含以下信息:目的地址、掩码、下一跳、metric
比如下面是一张华为路由器的路由表