如果目的网络为直连网络,则下一跳(next hop)为空。路由表(routing table)有时也被称为转发表(forwarding table)。
利用数据包中的目的地址得到目的网络号,然后查询路由表:
例:如果R60依次收到目的地址为10.1.1.20、166.132.5.5、202.118.201.227、
195.42.22.1、211.1.1.1的IP分组,R60转发它们的下一跳分别是什么?
当目的地址为10.1.1.20时,查询目的网络号为10,发往R12;
当目的地址为166.132.5.5时,查询目的网络号为166.132,查询到下一跳,为R34,则从接口2转发到下一跳;
当目的地址为202.118.201.227时,查询到目的网络号为202.118.201,下一跳为空,所以为直连网络,直接将数据转发到目的主机;
当目的地址为195.42.22.1时,查询目的地址不存在195.42.22,发往R5;
当目的地址为211.1.1.1时,没有查询到任何匹配项,所以将数据包转发到默认路由R5.
匹配方法:目的IP地址and子网掩码==子网号,即是否等于子网号
最长匹配原则(The longest match rule):当有多条路由都匹配时选择子网掩码最长的路由。
QA: how to forward packets with the following dest addr:
199.1.19.114212.116.5.221
当目的地址为199.1.19.114时,与第二个子网掩码相与时,得到子网号为199.1.19.0,所以从接口2传到相应直连网主机上;
当目的地址为212.116.5.131时,最后8位为:10000011,与子网掩码相与子网号为212.116.5.128,没法成为192,所以从接口2转到下一跳R37;
当目的地址为66.5.10.100时,只能转发到默认路由R18上;
当目的地址为212.116.5.221时,最后8位为:11011101,与子网掩码相与,第一个和第三个均符合,但是第三个子网掩码较长,根据最长匹配原则,从2接口转到R33。
如果R1依次收到目的地址为192.4.153.17、128.96.39.10、128.96.40.12、128.96.40.151和192.4.153.90的IP分组,R1转发它们的下一跳分别是什么?
解析:
192.4.153.17下一跳为:128.96.39.212;
128.96.39.10,对于路由表中第一个和第二个,可知子网号分别为:128.96.39.0和128.96.39.128,目的地址128.96.39.10与子网掩码相与后得到子网号为128.96.39.0,所以与路由表第一个相匹配,下一跳为:128.96.39.1;
128.96.40.12,与子网掩码相与后得到子网号为128.96.40.0,所以下一跳为199.1.3.1;
128.96.40.151,128.96.40.10010111与第三项子网掩码255.255.255.10000000相与后得到子网号为128.96.40.128,所以子网号128.96.40.0与之不匹配,找不到匹配项,转发到默认路由,下一跳为128.96.39.198;
192.4.153.01011010,与255.255.255.11000000相与之后得到子网号为192.4.153.64,不匹配,所以发往128.96.39.198;
路由表:
route print
如果多个条目匹配且其子网掩码长度相等,则会选择跃点数最小的路由。如果跃点数相同,则选择所有路线。(跃点数为需要经过的路由数目)
例题:下面的路由表为一台主机的路由表,该主机有一个有线网卡(BroadCom)和一个无线网卡(Intel),接口编号分别为0x10003和0x10004。无线接口为活动接口,其IP地址、子网掩码和默认网关分别为192.168.2.101、255.255.255.0、192.168.2.1。
--下一跳(Gateway):直连网(接口IP地址)或环回网络(127.0.0.1,即自己)。
--接口(interface): 发往某个接口(接口IP地址)或环回接口(127.0.0.1)
--最长匹配原则:多项匹配且子网掩码一样长时,选择metric最小的,
如果metric也一样,则同时转发到这些网络
当要发送的IP数据报的目的地址分别匹配路由表的第1~8项时,其含义为 :
可选项:
含义分别为:
路由器在收到一个数据报之后用其目的地址查找路由表(routing tables)得到下一跳,再把该数据报转发给下一跳。
路由表可以由管理员手工建立,也可以由路由协议(routing protocols)自动建立。所建立的路由分别称为静态路由和动态路由。默认路由和直连路由都是静态路由。
问题:当路由器为一个IP分组查询路由表,对于以下几种情况,路由器会怎么做?从可选项中选择最合适的(填字母)
(1)没有任何匹配项
(2)有匹配项,下一跳接口为以太网
(3)有匹配项,下一跳接口为PPP
(4)有匹配项,没有下一跳,匹配项的接口为以太网
(5)有匹配项,没有下一跳,匹配项的接口为PPP
可选项:
A.用IP分组的目的地址查询MAC地址 (ARP协议)
B.用下一跳的地址查询MAC地址 (ARP协议)
C.直接把IP分组封装成帧发送出去
D.用IP分组的源地址查询MAC地址 (ARP协议)
E.直接把IP分组发送出去
F.丢弃该分组
答案:FBCAC
问题:
(1)RIP协议属于()
(2)OSPF协议属于()
(3)BGP协议属于()
(4)路由表中手工配置的路由项称为()
(5)采用路由协议自动得到的路由称为()
(6)直连网的路由和默认路由都属于()
(7)路由协议所用的算法称为()算法
可选项:路由,动态路由,静态路由,IGP协议,EGP协议
答案:IGP协议,IGP协议,EGP协议,静态路由,动态路由,静态路由,路由。
问:什么是自治系统(Autonomous System)?
A.a kind of automobile system
B.a kind of organization
C.a kind of web server
D.a kind of computer system
E.a kind of network
答案:E
问:以下哪个协议是外部网关协议(Exterior Gateway Protocol)?
A.RIP
B.OSPF
C.BGP
D.EIGRP
答:C
找路由间最短路径的算法。如link state和distance vecotr,之后的博客会继续介绍。