简单地讲,路由器就是一台网络设备,它配备多个网络接口卡,能利用它的网络知识正确转发入口流量。
决定一个入口封包应该送给本地主机还是转发所需要的信息,以及在转发时正确转发封包所需要的信息,都存储在一个被称为转发信息库的数据库中(FIB),它通常被简称为路由表(路由表无非就是许多路由的一个集合)。
大多数主机通常只有一个网络接口,因而不能作为路由器。主机被配置为使用一个默认网关来访问外部地址。不考虑网络内主机扮演的角色,每个主机维护一张路由表,当需要处理网络流量的发送和接收时查询该路由表。
一个路由就是一组参数,存储了往一个给定目的地址转发流量需要的信息,例如:
1.目的网络。路由表被用于往目的地址转发流量。图30-2中,给出了一张包含两条路由的路由表:一条是到本地子网10.0.0.0/24,另一条是到其他任何地方。
2.出口设备。与路由项匹配的封包应当从该设备发出。例如送往10.0.0.100的封包通过eth0送出。
3.下一条网关。当目的网络和本地主机不直连时,需要通过其他的路由器来转发。例如,图30-2中的主机需要通过路由器RT才能到达10.0.0.0/24子网外的其他主机。下一跳网关是指该路由器的地址。
上图中:
a.是最常见情形,不同接口配置为不同的子网,每个子网连接的局域网都不同。
b.路由器RT在同一个局域网中有两个接口,但是这两个接口配置为不同的子网。
c.路由器RT在子网10.0.2.0/24和10.0.3.0/24上各有一个地址,但是这两个地址是配置在同一个NIC上。
子网127.0.0.0/8中的地址比较特殊,这些地址的scope就是配置他们的主机。无论这些地址是作为封包的源地址还是目的地址,该封包都不能离开主机。
IP规范中已经将一些特定范围内的地址规定为不可路由地址,这意味着这些地址只能保留在一个局域网内使用。不可路由地址不能被用于提供任何因特网服务,因为它们不是全球唯一的,且因特网路由器不能将流量传给它们。
上图中,如果10.0.1.0/24子网内的任何一个主机要与子网外的主机通信,那么路由器必须使用某种网络地址转换(NAT)来隐藏本地不可路由的子网。
定向广播:定向广播的目的地址是远端子网的广播地址。
注:图a中的源地址写错了,应该是10.0.0.100.
《深入理解Linux网络技术内幕》阅读笔记(二十七)
最新推荐文章于 2023-07-09 15:42:15 发布