IP路由协议——对IP路由选择过程理解的测试
01
这个
图8-4中给出了一个连接到RouterA的LAN,而Router A又通过一个WAN连接到RouterB。同时RouterB与某个HTTP服务器通过另一个LAN连接在一起。
从这个拓扑结构图中需要获取的重要内容是,其中的IP路由选择是如何实现的。要得到正确的答案可能需要耗费些时间。这里将给出答案,不过在看了答案之后请再研究下这个图,然后再在不参考答案的情况下,看是否能够回答示例2中的问题。
(1)来自HostA的数据帧,其帧中的目的地址将是RouterA路由器Fa0/0接口的MAC地址。
(2)分组的目的地址将是HTTP服务器上的网络接口卡(NIC)的IP地址。
(3)对于数据段头部的目的端口号,其值将是80。
这个示例非常简单,同时也非常中肯。需要注意的一点是,如果有多个主机同时使用HTTP与此服务器通信,那么它们必须全部使用各不相同的源端口号。这是服务器在传输层上保持数据彼此分离的方式。
下面来增加一点难度,在网络中加入另一个网络互连设备,然后请你看一下是否能够自己给出答案。图8-5中给出了一个只配有一台路由器,但附加了两台交换机的网络。
对于这个示例需要了解的是,当HostA发送数据给HTTPS服务器时,其IP路由选择过程是如何进行的:
(1)来自HostA的数据帧,其帧中的目的地址将是RouterA路由器的Fa0/0接口的MAC地址。
(2)分组的目的地址将是HTTPS服务器上的网络接口卡(NIC)的IP地址。
(3)对于数据段头部的目的端口号,其值将是443。
注意,交换机不能用作默认网关或另一个中转目标站。这是因为交换机完全不参与路由选择过程。我想知道你们中有多少人会将交换机的地址作为HostA的默认网关(中转目标站)的MAC地址。如果你是这样做的,不必难过,但需要在头脑中重建正确的认识。记住,如果要将分组发送到LAN以外的网络,目的方的MAC地址将永远只能是路由器的接口地址,这一点非常重要,最后这两个示例给出的就是这样的情形。
在对IP路由选择的内容进行更进一步介绍之前,我们需要对ICMP以及它在互联网络中的应用进行更详尽地讨论。来看图8-6中的网络。请问,当Lab_C的LAN接口失灵时会发生些什么。
Lab_C將使用ICMP通告主机A一主机B不可込,路由器通辻爰送一个ICMP目怺不可込消息完成这一通告。这个图形象地说明了ICMP数据是如何通过IP的路由选择返回源主机的。
下面来讨论另一个相关问题。注意这里给出了公司路由器中的路由选择表输出:
从这个输出中可以了解些什么?假设该公司路由器收到一个源IP地址为192.168.214.20,而目的地址是192.168.22.3的IP分组,那么该企业路由器会如何处理这个分组?
如果你的答案是“此分组来自FastEthernet 0/0接口,但由于路由选择表中不存在一个到达网络192.168.22.0(或默认路由)的表项,该路由器将丢弃这个分组,并从FastEthernet 0/0接口发送回一个ICMP目标不可达消息”,那么你就是位天才!路由器之所以会这样做,其原因是数据进人的位置(源LAN)就是分组产生并传输过来的位置。
下面来看另一个图,我们在此详细介绍数据帧和分组。其实,这里并没有涉及任何新内容,只是想确认你已经完全、彻底、充分理解了IP路由选择的基础内容。之所以要这样,是因为本书以及与此相关的考试要点都是与IP路由选择紧密关联的,也就是说,你需要全面掌握这些内容!接下来的一些问题将围绕图8-7展开。
参照图8-7,这里给出了一系列的问题,你需要将这些问题的答案牢记在心。
(1)为了能与Sales服务器通信,主机4送出了一个ARP请求。此拓扑中的设备将如何响应这个请求?
(2)主机4已经接收了一个ARP应答。主机4将创建一个分组,并将这个分组放人数据帧中。如果主机4要与Sales服务器通信,在发送出主机4的分组报头中应放人什么信息?
(3)最后,路由器Lab_A在接收这个分组后,会将数据从与服务器所在LAN相连的Fa0/0 接口发送出去。在此数据帧头部的源地址和目标地址将会是什么?
(4)主机4在两个浏览器窗口中同时显示着两个来自Sales服务器的Web文档。这些数据是如何被送往正确的浏览器窗口的?
这里也许应该使用非常小的字体给出下面这些内容,并将它们不按顺序地放置在本书的其他位置,这样就可以增加作弊和偷看的难度,偷看真的会让你失去通过考试的机会。下面就是答案。
(1)为了能与此服务器通信,主机4送出了一个ARP请求。此拓扑中的设备将如何响应这个请求?
由于MAC地址只作用于本地网络,路由器Lab_B将用其Fa0/0接口的MAC地址响应这个请求,当主机4要发送分组给Sales服务器时,它会将所有数据帧发送给Lab_B的Fa0/0接口的MAC地址。
(2)主机4已经接收了一个ARP应答。主机4将创建一个分组,并将这个分组放入数据帧中。如果主机4要与Sales服务器通信,在主机4发送的分组的报头中应放入什么信息?由于这里讨论的是分组,而不是数据帧,源地址将是主机4的IP地址,而目标地址将是Sales服务器的IP地址。
(3)最后,路由器Lab. A在接收这个分组后,会将数据从与服务器所在LAN相连的Fa0/0接口发送出去。在此数据帧头部的源地址和目标地址将会是什么?此源MAC地址将是Lab_ _A路由器的Fa0/0接口的地址,而目标MAC地址将是Sales服务器的MAC地址(在LAN中所有MAC地址都是本地有效的地址)。
(4)主机4在两个浏览器窗口中同时显示着两个来自Sales服务器的Web文档。这些数据是如何被送往正确浏览器窗口的?TCP的端口号被用来引导数据前往正确的应用窗口。
很棒!但是这还远没有结束。在开始对现实网络进行路由选择配置之前,这里还有一些问题需要你回答。图8-8给出了一个基本的网络,而主机4需要收取电子邮件。在主机4发出的数据帧中,目的地址字段中应该放置哪个地址?
答案是主机4将使用的目标地址是Lab_B路由器的Fa0/0接口的MAC地址。你已经掌握了这些内容,不是吗?回过头再看图8-8,此时主机4需要与主机1通信。当分组到达主机1时,在分组报头中的OSI第3层协议的源地址可能是什么?
希望你了解以下内容:在第3层,源IP地址就是主机4的地址,并且分组中的目标地址就是主机1的IP地址。当然,来自主机4的目的方MAC地址将一直是Lab_B路由器的Fa0/0接口地址。这里,由于有不止一台路由器,因此需要在两个路由器之间使用路由选择协议,以实现它们彼此间的信息交换,这样数据才能被正确地转发到Host 1所在的网络。
接下来是最后一个问题,一个可以证明你已经完全掌握IP路由选择处理过程的问题!再次回到图8-8。主机4正在向连接LabA路由器上的电子邮件服务器传输文件。由主机4发出的数据中所携带的第2层目的方地址应该是什么?是的,这样的问题在这里不止提过一次。但还有另一个问题:当数据帧被电子邮件服务器接收时,它所携带的源MAC地址将会是什么?
希望你能给出的答案是,由主机4发出的数据中携带的第2层目的方地址将是Lab_B路由器Fa0/0接口的MAC地址,而电子邮件服务器接收的数据帧携带的源MAC地址将是Lab_A路由器的Fa0/O接口地址。
如果你的答案与此相同,那么你就具备了求索如何在大型网络中处理IP路由选择的能力。
02
配置IP路由
下面就来正式讨论并配置一个真正的网络!图8-9中给出了4个路由器,即Corp、R1、R2、R3。记住,默认情况下这些路由器只知道与它们直接相连的网络。
正如你可能猜到的,为了保证后续内容的讲述,这里特别设计了一个路由器应用环境。Corp是一台配有4个串行接口并带有一个交换模块的2811路由器,而远程的R1和R2均为1841路由器。远程的R3是带有无线接口卡的另一台2811路由器。(注意,使用更早期的路由器或使用路由器模拟器,读者仍然可以执行本书中的大部分命令。)
完成这个设计的第一步操作就是为每个路由器的每个接口正确配置IP地址。表8-1给出了用于配置这个网络的IP地址方案。本章将在介绍完对网络的配置之后,再讨论如何配置IP路由。表8-1中的每个网络均有一个24位的子网掩码( 255.255.255.0),即其网络号使用了第三个八位位组。
路由器配置其实是一个相当简单的过程,我们只需要为接口添加IP地址,并在完成配置的接口上执行no shutdown命令。这之后的配置会略微复杂一点,不过现在我们先将这个网络的IP地址配置做完。
1.配置Corp
对于路由器Corp,我们需要配置5个接口。为了便于识别,我们应该为每一个路由器都配置不同的主机名。在进行这些配置时,为什么不一并配置接口的描述、标志区以及路由器密码呢?养成对每个路由器都进行如此配置的习惯,确实是一个非常好的主意。
在正式配置之前,我首先在路由器上执行erase startup-config命令,然后重新启动,这样就可以在设置模式中开始配置操作。选择“no",即不进人设置模式,而是直接进人控制台的用户名提示符下。这里将使用同一方式完成对所有路由器的配置。
在配置Corp路由器之前有一个小问题需要说明,就是对这个交换卡的配置。在交换机上IP 地址是配置给逻辑接口的(而非某个物理接口),而且这个逻辑接口默认被命名为vlan1。与独立的交换机不同,这个安装在路由器上的交换卡上的接口在默认情况下是被禁用的,因此我们需启用在本实验中要使用的端口。
下面就是全部操作:
我们可以使用show ip route命令查看在思科路由器上创建的IP路由选择表。下面给出了运行此命令的输出内容:
必须记住,在此路由选择表中只有那些已经被配置过且直接相连网络才会被显示。那么,在此路由选择表中为什么只会看见Vlanl接口?不必奇怪,这是因为串行接口只有在链接的另一端正常运转时才进入工作状态。因此,当对RI、R2和R3路由器也完成了配置之后,所有这些串行接口才会出现在路由选择表中。
你是否注意到了路由选择表中左侧的那个C?C表明这个网络与路由器直接相连。在show ip route命令输出内容的顶部会列出每个连接类型的代码,它的后部就是对这些代码的具体描述。
2.配置R1
现在对下一个路由器(R1)进行配置。要正确地完成这一配置,需要注意的是此路由器将有4个接口需要配置: serial 0/0/0、serial 0/0/1、FastEthemet 0/0和FastEthernet 0/1。同时,需要明确的是对路由器进行配置的内容包括路由器的主机名、密码、接口描述和标志区。与配置路由器Corp时一样,在这里我将删除原配置文件,并重新启动路由器。
下面就是我们的配置:
在继续后续内容之前,我们需要对上面的输出进行说明。首先,你应该注意到新版的12.4ISR路由器不再使用erase start命令。该路由器在erase命令后允许使用的、以s打头的参数只有一个,具体内容如下所示:
Routerterase s?
startup-config
也许对于接下来的操作,你认为此IOS应该会同样执行这个reload命令,但遗憾的是实际情况不是这样!在这里需要明确的第二件事就是,从上面的输出可以得知,路由器在确认了reload时会查找TFTP主机,尝试下载一个配置文件。当这一尝试失败时,路由器会直接进入设置模式。
下面,我们再来配置路由器:
下面查看一下这些接口上的配置:
注意,路由器R1知道如何到达网络10.1.3.0、10.1.2.0、192.168.20.0和192.168.10.0。现在,我们可以在R1.上完成对路由器Corp的ping操作:
现在回到Corp路由器上,再查看一下其路由选择表中的内容:
路由器R1的串行接口0/0/0和0/0/1使用DCE连接,即需要在此类接口上使用clock rate配置命令。注意,在实际的应用中,这个clock rate命令并不是一定要使用的。即使不使用这个命令也不会造成什么问题,但是在备考CCNA时,对在什么时候需要使用以及以什么方式使用这一命令等方面的内容,读者必须有一个清晰而正确的认识。
我们可以使用show contro1lers命令查看正在使用的时钟频率:
在配置其他远程路由器之前,最后一个需要说明的事情是,你是否注意到,RI路由器串行接口上的时钟频率为2 000 000?这一点很重要,因为在对R1路由器的配置过程进行回顾时,不难发现我们并没有对这个时钟频率进行过设置。注意,不进行设置的原因就是ISR路由器可以自动检测电缆的DCE类型,并且可以自动完成对这一时钟频率的配置,一个多么贴心的功能!
由于对这些串行链接进行了配置,在此Corp的路由选择表中我们能够看到3个网络。随后,当完成了对R2和R3的配置之后,Corp路由器的路由选择表中将再出现两个网络。目前由于还没有对192.168.10.0和192.168.20.0网络进行任何路由配置,因此Corp路由器还不能获悉这些网络。注意,路由器默认只能看到与它们直接相连的网络。
3.配置R2
配置R2,我们需要重复配置前两个路由器时的大部分工作。在这里有3个接口需要配置,即serial0/0/0、FastEthernet 0/0和FastEthernet 0/1。同样,在此路由器的配置中还需要添加的内容有主机名、密码、接口描述和标志区:
很好,这里所有的配置操作都相当简单。正如下面show ip route命令的输出结果所示,直接相迩的网絡包括192.168.30.0、192.168.40.0和10.1.4.0:
目前,Corp、R1和R2路由器之同所有的宜接徒接都姓于工作状恣。接下来我們需要完成対R3路由器的配置。
4.R3
配置R3,我们仍需要重复对其他路由器进行配置时所做的大部分工作。然而,这里只有两个接口需要配置,即FastEthermet 0/0和Dotl 1Radio0/0/0。同样,我们需要在此路由器的配置中加人主机名、密码、接口描述和标志区:
很好,除了对无线接口的配置外,所有配置操作依然相当简单。其实,无线接口也只是路由器上的另一种接口,在路由选择表中它与其他接口看上去是一样的。但是,为了启用这个无线接口,需要比针对一般的快速以太网接口执行更多的配置操作。仔细阅读下面的输出内容,对此无线接口进行的特殊配置将在后面介绍:
由上面的输出可以看出,在对SSID进行配置之前,所有的配置都是很平常的。SSID是指服务集标识,用来创建可以连接主机的无线网络。与接人点不同,路由器R3上的这个无线接口是一个真正可以路由的接口,这也就是可以在此物理接口.上配置IP地址的原因。通常,如果这只是个接入点而非路由器,这个IP地址应该是配置给可逻辑管理的网桥组虚拟接口(BVI)上。
命令guest-mode要求这一接口将此SSID广播出去,这样使用无线网络的主机才会知道可以连接这个接口。命令Authentication open表明没有使用认证。(注意,即使是在保证无线接口可以使用的最简单配置中,这个命令仍然是需要输人的。)最后,这个infrastructure-ssid 命令表明这个接口可以用于将其他接入点或在此无线网络中的其他设备连接到当前的有线网络中。
5.在路由器上配置DHCP
注意,这里还有一项没有完成的工作,就是要为连接到DotllRadio0/0/0接口的无线客户端配置DHCP池,这个操作是这样的:
在路由器上创建DHCP池实际上是一个相当简单的过程,并且如果要为其他路由器添加DHCP池也只需要进行同样的配置。要在某个路由器上创建DHCP服务器,我们只需要创建池的名字、并添加网络/子网和默认网关,并且指明需要排除的、不想指派的地址(如默认网关地址),此外,在大多数情况下还需要添加DNS服务器。不要忘记添加那些被排除的地址,即那些不希望DHCP服务器以合法主机IP分配出去的地址。这些被排除的地址需要在全局配置模式中进行配置,而不是在HDCP池中配置。此外还要注意的是,我们可以在一行中排除一个地址范围内的所有地址,一个很方便实用的设计。在上面的示例中,我将172.16.10.1 ~ 172.16.10.10的地址从DHCP服务器向DHCP客户机分配的合法地址中排除了。我们可以使用show ip dhcp binding命令查验此DHCP池:
至此,我们完成了一个基本的WLAN配置,移动用户现在就可以连接这个无线网络,但这一用户目前还不能访问此互联网络的其他部分。