《2022年路由技术基础知识详解 .pdf》由会员分享,可在线阅读,更多相关《2022年路由技术基础知识详解 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、路由技术基础知识详解1、带宽资源耗尽。2、每台计算机都浪费许多时间处理无关的广播数据。3、网络变得无法管理,任何错误都可能导致整个网络瘫痪。4、每台计算机都可以监听到其他计算机的通信。把网络分段可以解决这些问题,但同时你必须提供一种机制使不同网段的计算机可以互相通信,这通常涉及到在一些ISO 网络协议层选择性地在网段间传送数据,我们来看一下网络协议层和 路由器 的位置。我们可以看到,路由器位于网络层。本文假定网络层协议为IPv4 ,因为这是最流行的协议,其中涉及的概念与其他网络层协议是类似的。一、路由与桥接路由相对于2 层的桥接 /交换是高层的概念,不涉及网络的物理 细节。在可路由的网络中,每
2、台主机都有同样的网络层地址格式(如 IP 地址 ),而无论它是运行在以太网、令牌环、FDDI还是广域网。网络层地址通常由两部分构成:网络地址和主机地址。网桥只能连接数据链路层相同(或类似 )的网络,路由器则不同, 它可以连接任意两种网络,只要主机使用的是相同的网络层协议。二、连接网络层与数据链路层网络层下面是数据链路层,为了它们可以互通,需要“ 粘合 ” 协议。 ARP( 地址解析协议)用于把网络层 (3 层)地址映射到数据链路层(2 层)地址, RARP( 反向地址解析协议)则反之。虽然 ARP 的定义与网络层协议无关,但它通常用于解析IP 地址 ;最常见的数据链路层是以太网。因此下面的AR
3、P 和 RARP 的例子基于IP 和以太网,但要注意这些概念对其他协议也是一样的。1、地址解析协议网络层地址是由网络管理员定义的抽象 映射,它不去关心下层是哪种数据链路层协议。然而,网络接口只能根据2 层地址来互相通信,2 层地址通过ARP 从 3 层地址得到。并不是发送每个数据包都需要进行ARP 请求,回应被缓存在本地的ARP 表中,这样就减少了网络中的ARP 包。 ARP 的维护比较容易,是一个比较简单的协议。2、简介如果接口A 想给接口B 发送数据,并且A 只知道 B 的 IP 地址,它必须首先查找B 的物理地址,它发送一个含有B 的 IP 地址的 ARP 广播请求B 的物理地址, 接口
4、 B 收到该广播后,向 A 回应其物理地址。注意,虽然所有接口都收到了信息,但只有B 回应该请求,这保证了回应的正确且避免了过期的信息。要注意的是,当A 和 B 不在同一网段时,A 只向下一跳的路由器发送ARP请求,而不是直接向B 发送。接收到ARP分组后处理,注意发送者的对被存到接收ARP请求的主机的本地ARP 表中,一般A 想与 B 通信时, B 可能也需要与A 通信。3、IP 地址冲突精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页ARP 产生的问题中最常见的是IP 地址的冲突,这是由于两个不同的主机IP 地址相同产生的,在
5、任何互联的网络中,IP 地址必须是唯一的。这时会收到两个ARP 回应,分别指出了不同的硬件地址,这是严重的错误,没有简单的解决办法。为了避免出现这类错误,当接口A 初试化时,它发送一个含有其IP 地址的 ARP 请求,如果没有收到回应,A 就假定该IP 地址没有被使用。我们假定接口B 已经使用了该IP 地址,那么 B 就发送一个ARP 回应,A 就可以知道该IP 地址已被使用, 它就不能再使用该IP 地址,而是返回错误信息。这样又产生一个问题,假设主机C 含有该IP 地址的映射,是映射到B的硬件地址的,它收到接口A 的 ARP 广播后,更新其ARP 表使之指向A 的硬件地址。为了解决这个错误,
6、B 再次发送一个ARP 请求广播,这样主机C 又更新其ARP 表再次指向B 的硬件地址。 这时网络的状态又回到先前的状态,有可能 C 已经向 A 发送了应该发送给B 的 IP分组,这很不幸,但是因为IP 提供的是无保证的传输,所以不会产生大的问题。4、管理 ARP 缓存表ARP 缓存表是对的列表,根据IP 地址索引。该表可以用命令arp 来管理,其语法包括:向表中添加静态表项- arp -s 从表中删除表项- arp -d 显示表项- arp -a ARP表中的动态表项(没有手动加入的表项)通常过一段时间自动删除,这段时间的长度由特定的TCP/IP 实现决定。5、静态 ARP 地址的使用静态
7、ARP 地址的典型使用是设置独立的打印服务器,这些设备通常通过telnet 来配置,但首先它们需要一个IP 地址。没有明显的方法来把此信息告诉该设备,好象只能使用其串口来设置。但是,这需要找一个合适的终端和串行电缆,设置波特率、奇偶校验等,很不方便。假设我们想给一个打印服务器设置IP 地址 P-IP ,并且我们知道其硬件地址P-hard ,在工作站 A 上创建一个静态ARP 表项把 P-IP 映射到 P-hard ,这样,虽然打印服务器不知道自己的 IP 地址,但是所有指向P-IP 的数据就将被送到P-hard 。我们现在就可以telnet 到 P-IP并配置其IP 地址了,然后再删除该静态A
8、RP 表项。有时会在一个子网里配置打印服务器,而在另一个子网里使用它,方法与上面类似。假设其 IP 地址为P-IP ,我们分配一个本网的临时IP 地址 T-IP 给它,在工作站A 上创建临时ARP 表项把 T-IP 映射到 P-hard ,然后 telnet 到 T-IP ,给打印服务器配以IP 地址 P-IP 。接下来就可以把它放到另一个子网里使用了,别忘了删除静态ARP 表项。6、代理 ARP可以通过使用代理ARP 来避免在每台主机上配置路由表,在使用子网时这特别有用,但注意,不是所有的主机都能理解子网的。基本的思想是即使对于不在本子网的主机也发送ARP请求, ARP 代理服务器 (通常是
9、网关 )回应以网关的硬件地址。代理 ARP 简化了主机的管理,但是增加了网络的通信量(不是很明显 ),并且可能需要较大的 ARP 缓存,每个不在本网的IP 地址都被创建一个表项,都映射到网关的硬件地址。在使用代理ARP 的主机看来,世界就象一个大的没有路由器物理网络。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页三、 IP 地址在可路由的网络层协议中,协议地址必须含有两部分信息:网络地址和主机地址。存贮这种信息最明显的方法是用两个分离的域,这样我们必须考虑到两个域的最大长度,有些协议(如 IPX) 就是这样的,它在小型和中型的网
10、络里可以工作的很好。另一种方案是减少主机地址域的长度,如24 位网络地址、 8 位主机地址,这样就有了较多的网段,但每个网段内的主机数目很少。这样一来,对于多于256 个主机的网络,就必须分配多个网段,其问题是很多的网络给路由器造成了难以忍受的负担。IP 把网络地址和主机地址一起包装在一个32 位的域里,有时主机地址部分很短,有时很长,这样可以有效利用地址空间,减少IP 地址的长度,并且网络数目不算多。有两种将主机地址分离出来的方法:基于类的地址和无类别的地址。1、主机和网关主机和网关的区别常产生混淆,这是由于主机意义的转变。在RFC 中(1122/3和 1009)中定义为:主机是连接到一个或
11、多个网络的设备,它可以向任何一个网络发送和从其接收数据,但它从不把数据从一个网络传向另一个。网关是连接到多于一个网络的设备,它选择性的把数据从一个网络转发到其它网络。换句话说,过去主机和网关的概念被人工地区分开来,那时计算机没有足够的能力同时用作主机和网关。主机是用户工作的计算机,或是文件服务器等。现代的计算机的能力足以同时担当这两种角色,因此,现代的主机定义应该如此:主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据。它也可以作为网关,但这不是其唯一的目的。路由器是专用的网关,其硬件经过特殊的设计使其能以极小的延迟转发大量的数据。然而,网关也可以是有多个网卡的标准的计算
12、机,其操作系统 的网络层有能力转发数据。由于专用的路由硬件较便宜,计算机用作网关已经很少见了,在只有一个拨号连接的小站点里,还可能使用计算机作为非专用的网关。2、基于类的地址最初设计IP 时,地址根据第一个字节被分成几类:0: 保留1-126: A类(网络地址 :1 字节,主机地址:3 字节 ) 127: 保留128-191: B类(网络地址 :2 字节,主机地址:2 字节 ) 192-223: C类(网络地址 :3 字节,主机地址:1 字节 ) 224-255: 保留3、子网划分虽然基于类的地址系统对因特网服务提供商来说工作得很好,但它不能在一个网络内部做任何路由,其目的是使用第二层(桥接
13、/交换 )来导引网络中的数据。在大型的A 类网络中,这就成了个特殊的问题,因为在大型网络中仅使用桥接/交换使其非常难以管理。在逻辑上其精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 8 页解决办法是把大网络分割成若干小的网络,但在基于类的地址系统中这是不可能的。为了解决这个问题,出现了一个新的域:子网掩码。子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。在子网掩码中,二进制1 表示网络地址位,二进制0 表示主机地址位。传统的各类地址的子网掩码为:A 类: 255.0.0.0 B 类: 255.255.0.0 C 类: 255.25
14、5.255.0 如果想把一个B 类网络的地址用作C 类大小的地址,可以使用掩码255.255.255.0。用较长的子网掩码把一个网络分成多个网络就叫做划分子网。要注意的是,一些旧软件不支持子网,因为它们不理解子网掩码。例如UNIX 的 routed 路由守护进程通常使用的路由协议是版本1 的 RIP ,它是在子网掩码出现前设计的。上面只介绍了三种子网掩码:255.0.0.0 、255.255.0.0和 255.255.255.0,它们是字节对齐的子网掩码。但是也可以在字节中间对其进行划分,这里不进行详细讲解,请参照相关的TCP/IP 书籍。子网使我们可以拥有新的规模的网络,包括很小的用于点到点
15、连接的网络( 如掩码255.255.255.252, 30 位的网络地址,2 位的主机地址:两个主机的子网),或中型网络(如掩码 255.255.240.0,20 位网络地址,12 位主机地址:4094 个主机的子网)。注意 DNS 被设计为只允许字节对齐的IP 网络 (在 in-addr.arpa.域中 )。4、超网 (supernetting)超网是与子网类似的概念-IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络-超网。假设现在有16 个 C 类网络,从201.66.32.0到 201.66.47.0,它们可以用
16、子网掩码255.255.240.0统一表示为网络201.66.32.0 。但是,并不是任意的地址组都可以这样做,例如 16 个 C 类网络 201.66.71.0到 201.66.86.0就不能形成一个统一的网络。不过这其实没关系,只要策略得当,总能找到合适的一组地址的。5、可变长子网掩码(VLSM)如果你想把你的网络分成多个不同大小的子网,可以使用可变长子网掩码,每个子网可以使用不同长度的子网掩码。例如:如果你按部门划分网络,一些网络的掩码可以为255.255.255.0(多数部门 ),其它的可为255.255.252.0(较大的部门 )。6、无类别地址(CIDR)因特网上的主机数量增长超出
17、了原先的设想,虽然还远没达到232,但地址已经出现匮乏。 1993 年发表的RFC1519- 无类别域间路由CIDR(Classless Inter-Domain Routing)-是一个尝试解决此问题的方法。CIDR 试图延长IPv4 的寿命,与128 位地址的IPv6 不同,它并不能最终解决地址空间的耗尽,但IPv6 的实现是个庞大的任务,因特网目前还没有做好准备。CIDR 给了我们缓冲的准备时间。基于类的地址系统工作的不错,它在有效的地址使用和少量的网络数目间做出了较好的折衷。但是随着因特网意想不到的成长出现了两个主要的问题:精选学习资料 - - - - - - - - - 名师归纳总结
18、 - - - - - - -第 4 页,共 8 页已分配的网络数目的增长使路由表大得难以管理,相当程度上降低了路由器的处理速度。僵化的地址分配方案使很多地址被浪费,尤其是B 类地址十分匮乏。为了解决第二个问题,可以分配多个较小的网络,例如,用多个C 类网络而不是一个B类网络。虽然这样能够很有效地分配地址,但是更加剧了路由表的膨胀(第一个问题)。在 CIDR中,地址根据网络拓扑来分配。连续的一组网络地址可以被分配给一个服务提供商,使整组地址作为一个网络地址(很可能使用超网技术)。例如: 一个服务提供商被分配以256 个 C 类地址,从 213.79.0.0到 213.79.255.0, 服务提供
19、商给每个用户分配一个C 类地址,但服务提供商外部的路由表只通过一个表项-掩码为 255.255.0.0的网络213.79.0.0-来分辨这些路由。这种方法明显减少了路由表的增长,CIDR RFC的作者估计,如果90% 的服务提供商使用了 CIDR , 路由表将以每3 年 54% 的速度增长, 而如果没有使用CIDR , 则增长速度为776% 。如果可以重新组织现有的地址,则因特网骨干上的路由器广播的路由数量将大大减少。但这实际是不可行的,因为将带来巨大的管理负担。四、路由1、路由表如果一个主机有多个网络接口,当向一个特定的IP 地址发送分组时,它怎样决定使用哪个接口呢 ?答案就在路由表中。来看
20、下面的例子:目的子网掩码网关标志接口201.66.37.0 255.255.255.0 201.66.37.74 U eth0 201.66.39.0 255.255.255.0 201.66.39.21 U eth1 主机将所有目的地为网络201.66.37.0内主机 (201.66.37.1-201.66.37.254)的数据通过接口 eth0(IP地址为 201.66.37.74)发送,所有目的地为网络201.66.39.0内主机的数据通过接口 eth1(IP地址为 201.66.39.21)发送。标志U 表示该路由状态为“up”(即激活状态 )。对于直接连接的网络,一些软件并不象上例中
21、一样给出接口的IP 地址,而只列出接口。此例只涉及了直接连接的主机,那么目的主机在远程网络中如何呢?如果你通过IP 地址为 201.66.37.254的网关连接到网络73.0.0.0 ,那么你可以在路由表中增加这样一项:目的73.0.0.0 掩码255.0.0.0 网关201.66.37.254 标志UG 接口eth0 此项告诉主机所有目的地为网络73.0.0.0内主机的分组通过201.66.37.254路由过去。标志 G(gateway) 表示此项把分组导向外部网关。类似的,也可以定义通过网关到达特定主机的路由,增加标志H(host) :目的掩码网关标志接口91.32.74.21 255.2
22、55.255.255 201.66.37.254 UGH eth0 下面是路由表的基础,除了特殊表项之外:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 8 页目的掩码网关标志接口127.0.0.1 255.255.255.255 127.0.0.1 UH lo0 default 0.0.0.0 201.66.37.254 UG eth1 第一项是loopback接口,用于主机给自己发送数据,通常用于测试和运行于IP 之上但需要本地通信的应用。这是到特定地址127.0.0.1的主机路由 (接口 lo0 是 IP 协议栈内部的“ 假”网卡
23、 )。第二项十分有意思,为了防止在主机上定义到因特网上每一个可能到达网络的路由,可以定义一个缺省路由,如果在路由表中没有与目的地址相匹配的项,该分组就被送到缺省网关。多数主机简单地通过一个网卡连接到网络,因此只有通过一个路由器到其它网络,这样在路由表中只有三项:loopback项、本地子网项和缺省项(指向路由器 )。2、重叠路由假设在路由表中有下列重叠项:目的掩码网关标志接口1.2.3.4 255.255.255.255 201.66.37.253 UGH eth0 1.2.3.0 255.255.255.0 201.66.37.254 UG eth0 1.2.0.0 255.255.0.0
24、201.66.37.253 UG eth1 default 0.0.0.0 201.66.39.254 UG eth1 之所以说这些路由重叠是因为这四个路由都含有地址1.2.3.4 ,如果向1.2.3.4 发送数据,会选择哪条路由呢?在这种情况下,会选择第一条路由,通过网关201.66.37.253。原则是选择具有最长 (最精确 )的子网掩码。类似的,发往1.2.3.5 的数据选择第二条路由。注意: 这条原则只适用于间接路由(通过网关 )。把两个接口定义在同一子网在很多软件实现上是非法的。例如下面的设置通常是非法的(不过有些软件将尝试在两个接口进行负载平衡):接口IP 地址 子网掩码eth0
25、201.66.37.1 255.255.255.0 eth1 201.66.37.2 255.255.255.0 对于重叠路由的策略是十分有用的,它允许缺省路由作为目的为0.0.0.0 、子网掩码为0.0.0.0 的路由进行工作,而不需要作为路由软件的一个特殊情况来实现。回头来看看CIDR ,仍使用上面的例子:一个服务提供商被赋予256 个 C 类网络,从213.79.0.0到 213.79.255.0。该服务提供商外部的路由表只以一个表项就了解了所有这些路由: 213.79.0.0 ,子网掩码为255.255.0.0 。假设一个用户移到了另一个服务提供商,他拥有网络地址213.79.61.0
26、 ,现在他是否必须从新的服务提供商处取得新的网络地址呢?如果是,意味着他必须重新配置每台主机的IP 地址,改变DNS 设置,等等。幸运的是,解决办法很简单,原来的服务提供商保持路由213.79.0.0( 子网掩码为255.255.0.0),新的服务提供商则广播路由213.79.61.0(子网掩码为255.255.255.0),因为新路由的子网掩码较长,它将覆盖原来的路由。3、静态路由回头看看我们已建立的路由表,已有了六个表项:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页目的掩码网关标志接口127.0.0.1 255.255.2
27、55.255 127.0.0.1 UH lo0 201.66.37.0 255.255.255.0 201.66.37.74 U eth0 201.66.39.0 255.255.255.0 201.66.39.21 U eth1 default 0.0.0.0 201.66.39.254 UG eth1 73.0.0.0 255.0.0.0 201.66.37.254 UG eth0 91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0 这些表项分别是怎么得到的呢?第一个是当路由表初始化时由路由软件加入的,第二、 三个是当网卡绑定IP 地址时自
28、动创建的,其余三个必须手动加入,在UNIX 系统中,这是通过命令 route 来做的,可以由用户手工执行,也可以通过rc 脚本在启动时执行。上述方法涉及的是静态路由,通常在启动时创建,并且没有手工干预的话将不再改变。4、路由协议主机和网关都可以使用称作动态路由的技术,这使路由表可以动态改变。动态路由需要路由协议来增加和删除路由表项,路由表还是和静态路由一样地工作,只是其增添和删除是自动的。有两种路由协议:内部的和外部的。内部协议在自制系统(AS) 内部路由,而外部协议则在自制系统间路由。自制系统通常在统一的控制管理之下,例如大的公司或大学。小的站点常常是其因特网服务提供商自制系统的一部分。这里
29、只讨论内部协议,很少有人涉及到甚至听说外部协议。最常见的外部协议是外部网关协议 EGP(External Gateway Protocol)和边缘网关协议BGP(Border Gateway Protocol),BGP 是较新的协议,在逐渐地取代EGP 。5、ICMP 重定向ICMP 通常不被看作路由协议,但是 ICMP 重定向却与路由协议的工作方式很类似,所以将在这里讨论一下。假设现在有上面所给的六个表项的路由表,分组被送往201.66.43.33,看看 路由 表, 除了 缺省 路由 外, 这并 不能 匹配 任何 路由 。静 态路 由将 其通 过路 由器201.66.39.254发送 (tr
30、ip 1) ,但是,该路由器知道所有发向子网201.66.43.0的分组应该通过201.66.39.253,因此,它把分组转发到适当的路由器(trip 2) 。但是如果主机直接把分组发到201.66.39.253就会提高效率(trip 3) 。因为路由器把分组从同一接口发回了分组,所以它知道有更好的路由,路由器可以通过ICMP 重定向指示主机使用新的路由。虽然路由器知道所有发向201.66.43.0子网的分组应该通过 201.66.39.253,它通常只发送特定的主机的ICMP 重定向 (此例中是201.66.43.33)。主机将在路由表中创建一个新的表项:目的掩码网关标志接口201.66.4
31、3.33 255.255.255.255 201.66.39.253 UGHD eth1 注意标志D,对所有由ICMP 重定向创建的路由设置此标志。将来此类分组将通过新路由发送 (trip 3) 。6、RIP精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页RIP 是一种简单的内部路由协议,已经存在很久,被广泛地实现(UNIX 的 routed 就使用RIP) 。它使用距离向量算法,所以其路由选择只是基于两点间的“ 跳 (hop) ”数,穿过一个路由器认为是一跳。主机和网关都可以运行RIP ,但是主机只是接收信息,而并不发送。路由信
32、息可以从指定网关请求,但通常是每隔30 秒广播一次以保持正确性。RIP 使用 UDP 通过端口 520 在主机和网关间通信。网关间传送的信息用于建立路由表,由RIP 选定的路由总是具有距离目的跳数最少的。RIP 版本 1 在简单、较小的网络中工作得不错,但是在较大的网络中,就出现一些问题,有些问题在RIP 版本 2 中已纠正,但有些是由于其设计产生的限制。在下面的讨论中,适用于两种版本时简单称为RIP ,RIP v1 和 RIP v2 则指特定的版本。RIP并没有任何链接质量的概念,所有的链路都被认为是相同的,低速的串行链路被认为与高速的光纤链路是同样的。RIP以最小的跳数来选择路由,因此当在
33、下面两个路由中选择时:100Mbps的光纤链路,路由器,然后是10Mbps的以太网9600bps的串行链路RIP将选择后者。RIP也没有链路流量等级的概念。例如对于两条以太网链路,其中一个很繁忙,另一个根本没有数据流,RIP 可能会选择繁忙的那条链路。RIP 中的最大hop 数是 15,大于15 则认为不可到达。因此在很大的自制系统中,hop数很可能超过15,使用RIP 是很不现实的。RIP v1 不支持子网,交换的信息中不含子网掩码,对给定路由确定子网掩码的方法各不相同,RIP v2 则弥补了此缺点。RIP 每隔 30 秒才进行信息更新,因此在大网中断链信息可能要花些时间才能传播开来,路由信息的稳定时间可能更长,并且在这段时间内可能产生路由环路。对此有一些解决办法,但这里不进行讨论。可以看出, RIP 是一个简单的路由协议,有一些限制,尤其在版本1 中。不过,它常常是某些操作系统的唯一选择。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页