光猫是干什么用的 路由器是干什么用的( 二 )


光猫是干什么用的 路由器是干什么用的


如何看路由表
举个例子,如果想发送数据给百度的服务器39.156.69.79,匹配到的目的地址是0.0.0.0/0,那么这个数据包就会被转发给网卡eth0,走默认网关192.168.0.1 。
光猫是干什么用的 路由器是干什么用的


局域网内发送消息给百度
如果数据包的目的地是我的办公室的主机,IP地址为192.168.2.12,那么会同时符合两个目的网段,0.0.0.0/0和192.168.2.0/24,但是路由器会优先匹配更精确的规则 , 所以数据包通过tun0网卡转发给网关192.168.10.12 。
光猫是干什么用的 路由器是干什么用的


数据包发送到办公室
3.2网络数据包的长距离传输:网络数据包长距离传输的过程中,会经过一个个的路由器,我们拿局域网内一台主机和百度的通讯举个例子,假设局域网内一台主机192.168.0.4/24要访问公网上的百度主机39.156.69.79 。主机查询自己的路由表,把数据包发送给谁呢?
主机查询自己的路由表,把数据包发送给默认网关192.168.0.1(路由器LAN端IP地址) 。路由器收到数据包后 , 继续发送给更上级的默认网关(运营商的路由器),经过多个路由的传递,最终百度主机就会收到信息了 。
我们在centos系统中 , 可以使用traceroute -n http://baidu.com的命令查看中途经过了哪些路由器 。我们很清晰地看到,第一个经历的路由器就是我们自己的路由器192.168.0.1,第二个路由器是运营商的路由器 , 27.19.176.1,中间的路由器都是城市路由的节点 。
光猫是干什么用的 路由器是干什么用的


到百度主机经历的路由器
3.3.路由规则的获得路由器如何获得路由规则?
路由器想要实现路由功能,首先路由器本身得知道数据应该向哪里传 。路由器得知这些信息的方式大致有3种 , 第一种方式是直连路由;第二种是通过手动添加路由规则,也就是静态路由 。第三种是通过动态路由协议获得的路由,一般在城市或大型企业网络运用比较多,家庭网络甚至小型企业根本用不上 , 我们主要了解一下前两种方法 。
第一种方式是直连路由 。
当主机正确配置好一个IP地址后,会自动生成一条目的地址为该子网的路由 。例如树莓派的网卡eth0通过dhcp获得192.168.0.4/24的ip地址,那么会自动产生一条目的地址为网段192.168.0.0/24的路由 。如果我在网卡tun0上手动设置IP地址为192.168.10.4/24,也会增加192.168.10.0/24的路由 。
光猫是干什么用的 路由器是干什么用的


第二种方式是手动添加静态路由 。
例如我添加目的地址为我办公室的子网192.168.2.0/24,网关地址为192.168.10.12,因为树莓派本机根本不知道192.168.2.0/24的子网在哪里,所以必须手动设置 。再例如,在mac系统中,手动配置IP地址时 , 填写的网关或路由,会生成路由表中的默认路由 。
光猫是干什么用的 路由器是干什么用的


4.路由器的功能2:DHCP服务器功能路由器的第二个功能为DHCP服务器 。
DHCP的全称为Dynamic Host Configuration Protocol,也叫动态主机配置协议 。路由器有自带的DHCP服务器 , 为接入的设备自动分配IP地址,若要使用此功能,需要在路由器上开启DHCP功能 。通过DHCP服务器,可以将配置好的IP地址池,子网掩码 , 网关信息,DNS信息下发给下联的网络设备 。需要注意的是,即便路由器的DHCP功能是开启的,主机仍然可以强制手动设置IP地址,子网掩码等,只要这些和路由器管理地址处于同一个网段 , IP地址不冲突,仍然可以正常和路由器通讯以及上网 。特别值得注意的是,同一个LAN中,最多只能有一个DHCP服务器处于开启状态,否则可能会导致下联的设备不能正确的获取网络配置,从而导致无法上网 。

推荐阅读