考研复试——计算机网络第四章

第四章网络层

1、路由器的主要功能
路由器主要完成两个功能:一是路由选择,二是分组转发。前者是根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。后者处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等。
(1)路由选择。指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。
(2)分组转发。指路由器根据转发表将用户的IP数据报从合适的端口转发出去。路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。在讨论路由选择的原理时,往往不去区分转发表和路由表。而是笼统地使用路由表一词。
2、动态路由算法?
(1)距离—向量路由算法(RIP算法)
在距离—向量路由算法中,所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点。这种路由选择表包含:1>每条路径的目的地。2>路径的代价。
在这种算法中,所有结点都必须参与距离向量交换,以保证路由的有效性和一致性,也就是说,所有的结点都监听从其他结点传来的路由选择更新信息,并在下列情况下更新它们的路由选择表:
1>被通过一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由。
2>发来的路由信息中有一条到达某个目的的路由,该路由与当前使用的路由相比,有较短的距离。此种情况下,就用经过发送路由信息的结点的新路由替换 路由表中到达那个目的地的现有路由。
(2)链路状态路由算法(OSPF算法)
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息,它们执行下述两项任务。第一,主动测试所有邻接结点的状态。两个共享一条连接的结点是相邻结点,它们连接到同一条链路,或者连接到同一广播型物力网络。第二,定期地将链路状态传播给所有其他结点。
距离—向量路由算法与链路状态路由算法的比较:在距离—向量路由算法中,每个结点仅与它的直接邻居交谈,它为它的邻居提供从自己到网络中所有其他结点的最低费用估计。在链路状态路由算法中,每个结点通过广播的方式与所有其他结点交谈,但它仅告诉它们与它直接相连的链路的费用。相较之下,距离—向量路由算法有可能遇到路由环路等问题。
(3)一个自治系统内部所使用的路由选择协议称为内部网关协议(IGP),也称域内路由选择,具体的协议有RIP和OSPF等。
路由信息协议是内部网关协议中最先得到广泛应用的协议。RIP是一种分布式基于距离向量的路由选择协议,其最大优点就是简单。
RIP规定:
1>网络中的每个路由器都要维护从它自身到其他每个目的网络的距离记录。
2>距离也称跳数,规定从一个路由器到直接连接网络的距离(跳数)为1。而每经过一个路由器,距离加1。
3>RIP认为好的路由就是它通过的路由器的数目少,即优先选择跳数少的路径。
4>RIP允许一条路径最多只能包含15个路由器(即最多允许15跳)。因此距离等于16时,它表示网络不可达。可见RIP只适用小型互联网。距离—向量路由可能会出现环路的情况,规定路径上的最高跳数的目的是为了防止数据报不断循环在环路上,减少网络拥塞的可能性。
5>RIP默认在任意两个适用RIP的路由器之间每30秒广播一次RIP路由更新信息,以便自动建立并维护路由表。
开放最短路径优先协议是使用分布式链路状态路由算法的典型代表,也是内部网关协议的一种。OSPF与RIP相比有以下4点主要区别:
1>OSPF向本自治系统中的所有路由器发送信息,这里使用的方法是洪泛法。而RIP仅向自己相邻的几个路由器发送信息。
2>发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”说明本路由器和哪些路由器相邻及该链路的“度量”(代价)。而在RIP中,发送的信息是本路由器所知道的全部信息,即整个路由表。
3>只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快,不会出现RIP“坏消息传的慢”的问题。而在RIP中,不管网络拓扑是否发生变化,路由器之间都定期交换路由表的信息。
除以上区别外,OSPF还有以下特点:
1>OSPF对不同的链路可根据IP分组的不同服务类型而设置成不同的代价。因此,OSPF对于不同类型的业务可计算出不同的路由,十分灵活。
2>如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这称为多路径间的负载平衡。
3>所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息。
4>自治系统之间所使用的路由选择协议称为外部网关协议,也称域间路由选择,用在不同自治系统的路由器之间交换路由信息,并负责分组在不同自治系统之间选择最优的路径。具体的协议有BGP。
边界网关协议是不同自治系统的路由器之间交换路由信息的协议,是一种外部网关协议。边界网关协议常用于互联网的网关之间。路由表包含已知路由器的列表、路由器能够达到的地址及到达每个路由器的路径的跳数。内部网关协议主要设法使数据报在一个AS中尽可能有效地从源站传送到目的站。在一个AS内部不需要考虑其他方面的策略。然而BGP使用的环境却不同,主要原因如下:
1>因特网的规模太大,使得自治系统之间路由选择非常困难。
2>对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。
3>自治系统之间的路由选择必须考虑有关策略。
边界网关协议只能力求寻找一条能够到达目的网络且比较好的路由,而并非寻找一条最佳路由。BGP采用的是路径向量路由选择协议,它与距离向量协议和链路状态协议有很大的区别。BGP是应用层协议,它是基于TCP的。
BGP的工作原理如下:每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP代言人”。一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。当所有BGP发言人都相互交换网络可达性的信息后,各BGP发言人就可找出到达各个自治系统的较好路由。
3、网络层转发分组的流程?
(1)从数据报的首部提取目的主机的IP地址,得出目的网络地址N。
(2)若网络N与此路由器直接相连,则把数据报直接交付给目的主机D,这称为路由器的直接交付;否则是间接交付,执行步骤3。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中指明的下一跳路由器,否则执行步骤4。
(4)若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行步骤5。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行步骤6。
(6)报告转发分组出错。
注意:得到下一跳路由器的IP地址后并不是直接将该地址填入待发送的数据报,而是将该IP地址转换成MAC地址,将其放到MAC帧首部中,然后根据这个MAC地址找到下一跳路由器。在不同网络中传送时,MAC帧中的源地址和目的地址要发生变化,但是网桥在转发帧时,不改变帧的源地址,请注意区分。
4、IP地址和MAC地址?
IP地址是网络层使用的地址,它是分层次等级的。MAC地址是数据链路层使用的地址,它是平面式的。在网络层及网络层之上使用IP地址,IP地址放在IP数据报的首部,而MAC地址放在MAC帧的首部。通过数据封装,把IP数据报分组封装为MAC帧后,数据链路层看不见数据报分组中的IP地址。
由于路由器的隔离,IP网络中无法通过广播方式依靠MAC地址来完成跨网络的寻址,因此在IP网络的网络层只使用IP地址来完成寻址。寻址时,IP每个路由器依据其路由表选择到目标网络需要转发到的下一跳,而IP分组通过多次路由转发到达目的网络后,改为在目标LAN中通过数据链路层的MAC地址以广播方式寻址。这样可以提高路由选择的效率。
注意:路由器由于互联多个网络,因此它不仅有多个IP地址,也有多个硬件地址。
5、ARP地址解析协议?
无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。所以需要一种方法来完成IP地址到MAC地址的映射,这就是地址解析协议。每台主机都设有一个ARP告诉缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称ARP表。使用ARP来动态维护此ARP表。
ARP工作在网络层,其工作原理如下:主机A欲向本局域网上的某台主机B发送IP数据报时,先在其ARP告诉缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,在将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。如果没有,那么就通过使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组,使同一个局域网里的所有主机收到ARP请求。主机B收到该ARP请求后,向主机A发出响应ARP分组,分组中包含主机B的IP与MAC地址的映射关系,主机A在收到后将此映射写入ARP缓存,然后按查询到的硬件地址发送MAC帧。ARP由于“看到了”IP地址,所以它工作在网络层,而NAT路由器由于“看到了”端口,所以它工作在传输层。
注意:ARP用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件条件,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做,尽管ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。
6、DHCP动态主机配置协议?
动态主机配置协议常用于给主机动态地分配IP地址,它提供了即插即用联网的机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。DHCP是应用层协议,它是基于UDP的。
DHCP的工作原理如下:使用客户/服务器方式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文称为提供报文。
DHCP服务器聚合DHCP客户端的交换过程如下:
1>DHCP客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器,以便从DHCP服务器获得一个IP地址。
2>DHCP服务器收到DHCP发现消息后,向网络中广播“DHCP提供”消息,其中包括提供DHCP客户机的IP地址和相关配置信息。
3>DHCP客户机收到“DHCP提供”消息,如果接收DHCP服务器所提供的相关参数,那么通过广播“DHCP请求"消息向DHCP服务器请求提供IP地址。
4>DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机。DHCP允许网络上配置多台DHCP服务器,当DHCP客户机发出DHCP请求时,有可能收到多个应答消息。这时,DHCP客户机只会挑选其中的一个,通常挑选最先到达的。
DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。DHCP称这段时间为租用期。租用期的数值应由DHCP服务器自己决定,DHCP客户也可在自己发送的报文中提出队租用期的要求。
7、ICMP网际控制报文协议?
为了提高IP数据报交付成功的机会,在网络层使用了网际控制报文协议来让主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP是IP层协议。ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。ICMP差错报告报文用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况。共有以下5种类型:
1>终点不可达。当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。
2>源点抑制。当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
3>时间超过。当路由器收到生存时间(TTL)为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
4>参数问题。当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报时,并向源点发送参数问题报文。
5>改变路由(重定向)。路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值