ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:166.28KB ,
资源ID:17228946      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17228946.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(浅谈DIRECT路由的作用Word文档格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

浅谈DIRECT路由的作用Word文档格式.docx

1、修订版本Sec No. 修改章节Change Description修改描述Author作者1.00初稿完成王逸彬/41478Catalog 目录一、概述 5二、问题引入 5三、问题分析 61. 理解windows系统的路由表 62. 认识DIRECT路由 83. DIRECT路由的作用 84. 问题的深入分析 9四、总结 13五、附录 14Figure List 图目录图1 为什么二层交换机不能连接不同网段的PC机 5图2 PC机的TCP/IP协议栈 6图3 PC1的默认网关指向它自己 10图4 PC2的默认网关指向它自己 11Keywords 关键词:DIRECT 路由 LAN switc

2、h ARP Abstract 摘要:DIRECT路由是“直连路由”的意思,表示目的网段就是本网段。一般,人们很少关注DIRECT路由,但深入理解DIRECT路由的含义,对于我们理解和掌握二层、三层的工作原理,具有重要的意义。List of abbreviations 缩略语清单:Abbreviations缩略语Full spelling 英文全名Chinese explanation 中文解释LAN switch局域网交换机ARPAddress Resolution Protocol地址解析协议MACMedium Access Control介质访问控制IPInternet Protocol因

3、特网协议一、概述二、问题引入有一个简单的问题是:如图1所示,如果连接到同一个LAN switch的两台PC机,它们在不同网段,但通过ARP协议,也能相互发现对方的MAC地址,所以通过二层交换机应该是可以通信的,但实际上为什么就不能ping通呢?图1 为什么二层交换机不能连接不同网段的PC机三、问题分析但我第一次思考这个问题时,我觉得这是一个很有价值的问题。我们都知道,正常情况下,二层交换机只能连接同一网段的PC机,但我们从表面上来分析,不同网段的PC机,通过ARP协议也能相互发现对方的MAC地址,然后在二层进行以太网帧的封装,这样也能互相通信的。但实际上为什么就不能呢?这个问题的焦点是:PC1

4、是如何知道(根据什么)PC2和自己是在同一网段的?1. 理解windows系统的路由表首先我们分析两台PC机通信的TCP/IP协议栈。如下:图2 PC机的TCP/IP协议栈TCP/IP协议栈分为5层:应用层、传输层、网络层、链路层和物理层。PC机已经实现到了应用层了,所以也存在路由表。我们在windows系统的“运行”中,输入“cmd”,在打开的窗口中,输入“route print”,就可以查询到PC机的路由表,如下:Active Routes:Network Destination Netmask Gateway Interface Metric 10.12.0.0 255.255.0.0

5、10.12.3.128 10.12.3.128 1 10.12.3.128 255.255.255.255 127.0.0.1 127.0.0.1 1 10.78.234.0 255.255.255.0 10.78.234.140 10.78.234.140 1 10.78.234.140 255.255.255.255 127.0.0.1 127.0.0.1 1 10.255.255.255 255.255.255.255 10.12.3.128 10.12.3.128 1 10.255.255.255 255.255.255.255 10.78.234.140 10.78.234.140

6、1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 129.0.0.0 255.0.0.0 10.12.3.64 10.12.3.128 1 192.1.0.0 255.255.0.0 10.12.3.64 10.12.3.128 1 224.0.0.0 224.0.0.0 10.12.3.128 10.12.3.128 1 224.0.0.0 224.0.0.0 10.78.234.140 10.78.234.140 1 255.255.255.255 255.255.255.255 10.12.3.128 10.12.3.128 1每一个Windows系

7、统中都具有IP路由表,它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息。路由表是TCP/IP通信的基础,本地计算机上的任何TCP/IP通信,都要受到路由表的控制。那么,路由表里的路由表项是什么意思呢?路由表中的每一个路由项具有五个属性,在这里我们将它们分为四个部分:(1)网络地址(Network Destination)、网络掩码(Net mask):网络地址和网络掩码相与的结果,用于定义本地计算机可以到达的网络目的地址范围。在添加路由时,Windows要求输入的网络地址和网络掩码相与后的结果必须等于网络地址,否则路由添加会失败。(2)网关(Gateway,又称为下一跳服务器)

8、:在发送IP报文时,网关定义了针对特定的网络目的地址,IP报文发送到的下一跳服务器。如果是本地计算机直接连接到的网络,网关通常是本地计算机对应的网络接口,但是此时接口必须和网关一致;如果是远程网络或默认路由,网关通常是本地计算机所连接到的网络上的某个服务器或路由器。(3)接口(Interface):接口是本地计算机上为 IP 数据报在网络上转发时所使用的本地网络适配器配置的 IP 地址。网关和接口的IP地址必须在同一网段,否则会造成在使用此路由项时需要调用其他路由项,从而可能会导致路由死锁。(4)跃点数(Metric):跃点数表示使用路由的开销,通常是到 IP 目标位置的跃点数目。本地子网上的

9、任何设备都是一个跃点,其后经过的每个路由器是另一个跃点。跃点数的范围是:1 9999。跃点数越低,代表路由成本越低;跃点数越高,代表路由成本越高。如果到同一目标有不同跃点数的多个路由,则选择跃点数最低的路由。2. 认识DIRECT路由一般,我们会在PC机上添加到不同网段的永久路由,而处在同一网段的PC机,它们通过二层交换机直接通信,不需要我们添加路由。这就造成了一种假象,好像PC1和PC2在同一网段就不用查路由一样。其实不是这样的。请注意以上路由表里红色的路由项,它的下一跳和本机网络出口是一样的,如下:10.78.234.0 255.255.255.0 10.78.234.140 10.78.

10、234.140 1这种路由就是DIRECT路由,即直连路由,它的下一跳是路由出口的IP地址。直连路由是本文研究的重点,也是我们理解图1中二层交换机原理的关键所在。3. DIRECT路由的作用实际上,因为PC机已经实现到了应用层了,所以应用程序的数据封装在TCP报文段中,这个TCP报文段又被装在IP报文里,这个IP报文就有路由功能。所以在网络层,无论这个IP报文是要到同一网段的PC机,还是要到不同网段的PC机,本机的windows系统都会一视同仁,首先在路由表中查找路由,从而决定如何转发。如果IP报文是到不同网段,一般我们要在PC机上人为地添加一条静态路由,但如果是到同一网段的PC机,那么本机查

11、找的就是DIRECT路由。只要Ethernet网口是激活的,也就是处于UP状态,那么, PC机或路由器就会自动生成一条到与网口IP地址在同一网段的DIRECT路由。这样,当PC机或路由器要转发一个IP报文的时候,它首先是去查路由表,当它发现最终匹配到的路由表项的下一跳IP地址,和本机网络接口IP地址相同的时候,它就已经知道,这个IP报文的目的IP地址,和我是在同一个网段的。所以PC机直接发送ARP请求报文,查找目的主机IP地址对应的MAC地址,然后把IP报文封装在链路层的以太网帧里,通过LAN switch发送出去。到了这里,我们就可以解答图1中提出的问题了。因为PC2和PC1不在同一个网段,

12、PC1查找不到到PC2所在网段的路由,所以PC1就把封装有ICMP请求报文的IP报文直接丢弃了,而不是发送ARP报文询问PC2的MAC地址。所以在这种情况下,不同网段的PC机,通过LAN switch ping不通。4. 问题的深入分析其实IP地址属于不同网段的说法,是网络层自己的事情,二层的数据帧是不会理会IP报文的,它也看不懂,也没有必要懂。所以,二层交换机只能交换同一网段的PC机报文的说法,是不一定正确的。我们可以通过一些方法,让图1中不同网段的PC1和PC2,通过LAN switch也能正常通信。这种现象是很有趣的。我们将会看到,我们又用到了DIRECT路由,可见二层的交换活动,其控制

13、权还是掌握在三层的路由表手里。我们已经知道,图1中,普通情况下,PC1和PC2是不能互相ping通的,例如PC1 ping PC2的结果如下:C:Documents and SettingsAdministratorping 10.13.3.88Pinging 10.13.3.88 with 32 bytes of data:Destination host unreachable.Ping statistics for 10.13.3.88: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),Approximate round tri

14、p times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms这时候PC1的路由表如下: 10.12.0.0 255.255.0.0 10.12.3.128 10.12.3.128 1 80.0.0.0 255.0.0.0 10.12.3.64 10.12.3.128 1可以看到,当PC1 ping PC2时,PC1开始在它的路由表里查找到10.13.0.0网段的路由,但没有找到,所以PC1就直接把ping应用数据的ICMP请求报文丢弃了,所以ping不通。但如果我们在PC1上,人为地加上一个默认网关指向它自己,如下:

15、图3 PC1的默认网关指向它自己添加网关成功后,在PC1的路由表里,就会生成一条默认路由,路由表如下(部分): 0.0.0.0 0.0.0.0 10.12.3.128 10.12.3.128 1Default Gateway: 10.12.3.128同样,我们也在PC2上,人为地加上一个默认网关指向它自己,如下:图4 PC2的默认网关指向它自己同样,添加网关成功后,在PC2的路由表里,就会生成一条默认路由。这样,我们再在PC1上ping PC2,发现已经可以ping通了,如下:Reply from 10.13.3.88: bytes=32 time10ms TTL=128 Sent = 4,

16、Received = 4, Lost = 0 (0% loss),这种情况下,PC1和PC2还是处在不同网段,但为什么可以ping通呢?答案如下:当PC1发现要访问10.13.0.0网段时,它在路由表里已经查到了匹配的路由,虽然最后找到的0.0.0.0路由是一条默认路由,任何匹配不到精确路由的IP报文,都可以通过0.0.0.0默认路由转发,但在我们的实验环境里,这条默认路由又有所不同,它的下一跳就是它的出口IP地址,所以这条默认路由同时也是一条DIRECT路由。这样就和本文以上的讨论统一起来了,虽然PC1通过LAN switch访问的是不同网段的PC2,但通过在双方添加默认网关指向它自己,生成

17、了一条DIRECT路由,这样PC1通过查找路由表,发现匹配到的路由的下一跳是它自己,误以为PC2和PC1是在同一网段的,所以就开始发ARP广播报文,询问目的IP地址对应的MAC地址是什么。PC2也和PC1一样,重复相同的过程。这样,双方就可以正常通信了。(其实,这种情况下,PC1和PC2相当于路由器)可能有些人会问,LAN switch只能连接同一网段的PC机,现在不同网段的PC机通过LAN switch也能访问了,这怎么可能呢?难道ARP报文不能检查出目的IP地址是不同网段的IP地址吗?我们知道,ARP报文虽然习惯上称为报文,但它实际上是二层的数据帧,装在以太网数据帧里,“type”值是:0

18、x0806。而二层数据帧是不识别三层的IP地址的,所以交换机会把不同网段之间的ARP请求报文广播出去。总结起来,图1中PC1访问PC2的过程如下:1)PC1查找路由表,看是不是存在到PC2网段的路由。如果没有找到,则直接丢弃访问PC2的报文(这种情况就是我们常见的ping不通现象)。2)如果PC1找到了路由,则它检查路由的下一跳是不是路由项的接口自己,即检查找到的路由是不是DIRECT路由。如果是, PC1开始发ARP报文询问PC2的MAC地址;如果不是,PC1开始发ARP报文询问路由的下一跳网关的MAC地址,把访问PC2的IP报文装在以太网帧里,发给下一跳网关。四、总结本文通过引入一个二层交

19、换方面的简单问题,由此引起对路由表中的DIRECT路由的联系和思考。其实DIRECT路由不只是存在于PC机的路由表中,在路由器的路由表中也是 广泛存在。可以说,对于实现到了网络层以上的设备,在其路由表中都是存在DIRECT路由的,因为最终的IP报文还是要通过二层的数据帧进行转发,而实际的设备的接口也是要连接同一网段的设备的。所以,DIRECT路由的应用是很广泛的。在学习中,我们要善于总结和联系,把相关的知识编织到我们的知识网络里,这样学过的知识就不容易忘记,当需要使用时也能快速找到,触类旁通。例如,本文所讨论的DIRECT路由,其实只要设备的端口是UP的,都会自动生成一条本网段的DIRECT路

20、由。DIRECT路由就是理解二层交换原理的核心。而且,我们就可以把二层和三层的相关问题统一起来了。以图1为例,当PC1和同一网段或者不同网段的PC2通信时,都是要先查找路由的,只不过同一网段时查找到的是DIRECT路由,通过二层交换机可以通信;而不同网段时查找到的是我们手工添加的静态路由,或者是动态路由协议生成的动态路由而已,这时候要通过路由器进行通信。当然,不同网段的情况下,通过设置默认网关指向网络接口自己,PC机查到的是DIRECT路由,通过二层交换机也可以通信。本文所讨论的问题涉及到了TCP/IP里面有关二层、三层方面的知识,所以,需要对TCP/IP分层结构、IP报文格式、以太网帧格式、ARP、路由等的原理比较了解,才能更好地掌握二层交换原理和DIRECT路由的作用等。这样才能在实际工作中,对一些网络现象和网络问题深入分析,明察秋毫,游刃有余。五、附录

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1