有类网中的IP路由选择:
如果目的网络为直连网络,则下一跳(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路由选择:
匹配方法:目的IP地址and子网掩码==子网号,即是否等于子网号
最长匹配原则(The longest match rule):当有多条路由都匹配时选择子网掩码最长的路由。
QA: how to forward packets with the following dest addr:
199.1.19.114212.116.5.131
66.5.10.100
212.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的路由表 :
如果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项时,其含义为 :
可选项:
- 在无线网络中进行多播
- 发给无线网络中的主机
- 在有线网络中进行广播
- 在无线网络中进行(远程)广播
- 在无线网络中进行广播
- 发给默认网关
- 发给环回网络(自己)
含义分别为:
- 发给默认网关
- 发给环回网络(自己)
- 发给无线网络中的主机
- 发给环回网络(自己)
- 在无线网络中进行广播(广播就是主机位全为1)
- 在无线网络中进行多播(224为多播地址,没有主机位)
- 在无线网络中进行广播
- 在有线网络中进行广播
路由协议:
路由器在收到一个数据报之后用其目的地址查找路由表(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
自治系统:
- 整个因特网实际上有很多机构管理,每个机构管理自己的网络。它们有权决定采用什么协议和网络控制策略。这样在同一个机构管理下的网络称为一个自治系统(autonomous systems,AS)。也就是说,因特网实际上是由很多自治系统构成的。
- 用于在AS内(Intra-AS)建立动态路由的路由协议称为内部网关协议(Interior Gateway Protocols,IGP)。例如,RIP协议和OSPF协议。
- 用于在AS之间(inter-AS)建立动态路由的路由协议称为外部网关协议(Exterior Gateway Protocol,EGP)。例如,EGP协议,BGP协议。
- 在一个AS中可以使用多个IGP协议。使用同一个IGP协议的连通区域称为一个路由选择域(routing domain)。
- 每个中转AS(transit AS)都需要由IANA分配一个AS号,而末端AS(stub AS)不需要AS号。连入多个中转AS的末端AS称为多穴AS(multi-homed AS)。
问题:
(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
路由算法(routing algorithm):
找路由间最短路径的算法。如link state和distance vecotr,之后的博客会继续介绍。