正在加载...
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]

Route-Views看看全球路由表

[ 2010/02/02 11:38 | by selboo ]
IPv4的地址数目高达40亿个,去除了部分私有的和保留的IP地址后,互联网上可能出现的公有地址数量依然相当可观(虽然这些地址仍然不够用),在经过汇总和合理的分配之后,互联网上的路由条目仍然有接近30万条!运行在互联网上的路由器为了可以选择最佳的路径达到全球目的地,有必要接收大部分甚至所有的路由条目,想必很多人会对这个包含全球路由的BGP路由表深感兴趣吧?Let‘s check it out!
1.打开SecureCRT或者Putty甚至系统自带的telnet程序(不建议用系统自带的)

2.telnet 这个地址:route-server.ip.att.net

3.接着就会收到一些欢迎信息,和提示要求输入用户名,输入rviews

4.这里已经进入了路由器的用户模式,我们可以执行一些很基础的产看命令,如:show ip route  show version 等。要查看路由表,只需输入show ip route,密密麻麻的路由前缀就会出现,用空格键翻页,回车键逐行显示,或者任意字符中断显示。命令我不多写,大家打“?”号查一下吧。

上面的这个路由器是属于美国AT&T的,是一个cisco的7206VXR路由器,配备NPE-G1引擎,有3个千兆口,它与AT&T的IP服务骨干网里的路由器建立了eBGP关系。它的BGP路由表上面有超过30万条前缀!550多万条路径!单单存储这些前缀和路径就用去了300多兆内存,这还不包括前缀中的一些路径属性!整个BGP占用了差不多400M的内存。

这里还有一个可供查看的:route-views3.routeviews.org/ 也是Cisco 7200 不过引擎更强,是NPE-G2的!

Route-views是一个计划,它的目的是方便网络工程师查看和获得实时的全球路由系统信息,你所访问的可能并不是真正的路由器,可能是透过route-views来间接取得的。

Tags:

路由基础解析

[ 2008/11/11 17:37 | by selboo ]
VLSM(可变长子网掩码)

在CIDR以前,每个主类网络号只可以分配给一个组织使用,这个组织可以利用子网化技术使得一个主类网络划分为多个子网,但是所有子网必须是一致的掩码,也就是说只能分一次子网,即FLSM。

VLSM是FLAM的增强版,是“子网的子网化”,使得同一网络号可以有不同的子网掩码,而这也就决定了VLSM只能在无类网络环境中使用,当然这不是迫于无奈的选择,而是技术进步的必然。

但是VLSM只是提高了分配地址块的使用效率,却没能解决地址分配的低效,很多组织呗分配到了多个C类地址,而不是一个单独的B类地址。

CIDR(无类别域间路由)

CIDR应运而生,CIDR是以“位”为单位决定IP地址的网路位和主机位,不再受原来的八位组限制,那么从后向前归位,CIDR能够聚合汇总路由信息,从而缩小路由表大小,减小开销,这对BGP来讲是很Help的。

从前向后的借位,CIDR使得子网不再只有本地意义,分配更为灵活,比如,131.108.0.0/16可以分成131.108.0.0/18 ~ 131.108.192.0/18四块地址,独立的分配给四个组织,而不是传统的一个组织一个主类地址再子网化了。

路由表查找顺序

1.从IP数据包中提取目的IP地址。

2.先用直连网段去挨个匹配,即用每个直连路由条目的子网掩码和目的网络进行And运算,再与该条目的网络前缀进行匹配。

3.如果没有直连匹配的项,查看是否有目的地址的主机路由存在。

4.如果没有主机路由,则匹配路由表中的其他条目,逐条进行匹配。

5.如果依然没有匹配的项,就看是否有默认路由,有的话通过默认路由发出去,如果连默认路由都没有,丢弃该数据包,返回ICMP信息指明该目的网络不可达。

命令 ip  classless 对路由表查找有影响,如果关闭了(默认是开启的),那么就不会用精确掩码去和目的地址去匹配(比如我写10.1.1.0 255.255.255.0),而是用这个该网络的主网络位去匹配,即255.0.0.0,这样只要有别的子网在,就不会通过默认路由转发数据。

另外一个命令 ip subnet-zero 在路由器中是默认启用的,以支持全0的子网,比如172.16.0.0/24,如果关闭的话,在给接口配置地址的时候像 ip address 172.16.0.1 255.255.255.0 这样就是非法的了。

超网 vs 聚合

关于“聚合”和“超网”,大家都说这两个是一个概念,我觉得还是有些区别的。

“聚合”的概念等同于路由汇总,目的是为了减小路由负载,汇总的网络不必连续,但网络前缀必须在数字上相似,确保用唯一的网络前缀向其它网络广播,且这些网络在地域上足够相近,从而能从同一个ISP连接到Internet,举例来讲,将192.168.64.0/24和192.168.65.0/24汇总成192.168.64.0/23通告出去。

“超网”的概念先于CIDR 15个月提出,概念是将数个相邻的网络地址合并成一个单独的更大的网络,目的在于省去在这些网络间路由的麻烦,规则是这些网络地址数字上必须相邻,且必须连在同一个接口上,如果不是的话,这些网络间的流量就会通过Router来路由,超网也就没有意义了,举例来讲,从192.24.0.0/24到192.31.255.0/24有2^11个C类网络,可以用192.24.0.0/13来表示。
      
简单来说,超网是将小网络合成大网络,针对网络本身,聚合是对现有网络形成的路由条目进行汇总,针对的是路由表。

PS 3: 还有个小技巧,比如192.168.1.129/27 和 192.168.1.65/27一看就不在同一网段,129-65=64,/27掩码每个子网主机数为2^(32-27) = 32, 64>32,所以肯定不在同一子网。

策略路由

策略路由的优先级高于路由表,即使路由表中没有相对应的路由条目,单纯在策略路由也能转发正常数据包。具体是用route-map来实现,步骤如下:

1)定义好对象  即在写route-map的时候需要match的东东,比较常见的是地址,用ACL来定义,注意标准ACL只能针对源来做策略,而扩展ACL可以针对源,目的网络或者具体的上层应用。

(config)# access-list 1 permit 1.1.1.0 0.0.0.255
(config)# access-list 101 permit tcp 1.1.5.0 0.0.0.255 any eq telnet

PS:在我们做实验验证时,可以通过ip telnet source-interface loop 0 来改变自己telnet时的源地址为Loopbak 0

2)写route-map,下面是一个具体例子,基本的组成元素就是match和set,即针对什么东东以及执行的动作是什么。

(config)# route-map to-r1         // 定义一个route-map,名字要可读性强
(config-route-map)# match ip add 1     // 这里的1就是指的access-list 1
(config-route-map)# match length 0 200    // 针对的源地址以及数据包大小,二者需同时匹配
(config-route-map)# set ip next-hop 23.1.1.3   //定义好要策略的具体动作,这里是改变下一跳

这里最后的一条set命令可以有两种选择:

set ip next-hop 23.1.1.3 (对端IP)  

set default interface fa0/0 (本地出口)

不过这两条命令是有区别的,前者直接应用策略路由,而后者先检查路由表,如果没有明细路由对应再用策略路由。

需要注意的是,如果default interface为以太口,由于我们并未告知路由器下一跳的IP地址,路由器也就没有办法通过ARP解析出Mac,会出现封装失败的情况,不过在转发失败之后会进行ARP请求。

这样的命令可能会让我们联想到静态路由,不过区别在于静态路由如果指定以太口为本地出口,比如 ip route 0.0.0.0  0.0.0.0 fa0/0,通过show arp 可以看到这条命令在敲下去以后会添加相应的ARP表项,也就是会发起ARP请求。

3)应用在接口,这里没有in 和out 的概念,因为肯定是该接口收到这个数据包后进行匹配然后按策略路由转发。

(config-if)# ip policy route-map to-r1

让静态路由支持多网关

[ 2008/10/15 15:50 | by selboo ]
      我校有如下网络环境,全校450个节点划分成五个子网,各子网的网络号分别为192.168.1.0~192.168.5.0,网关均为192.168.1.1,各个子网通过华为S2026B二层交换机接入烽火R2600出口路由器,出口通过光纤以100Mbps的带宽接入Interne。

      现全县组建电子政务网,要求全县各个单位处室以上领导干部的计算机必须能直接访问县电子政务网服务器192.168.20.6/24,县电子政务网办公室给我校划分的子网号为10.1.26.0,掩码为255.255.255.192,网关为10.1.26.1,电子政务网不能访问Internet。

    由于县电子政务网的服务器在电信局托管,所以电信局给我校又开通一条10Mbps的光纤连接电子政务网。电信局的建议是,给我校需要直接访问电子政务网的计算机安装两张网卡,分别设置两个网络的网关,来达到同时访问电子政务网和Ineternet的目的。

      手动添加静态路由

      以上的网络需求实际就是要解决两个子网192.168.0.0及10.1.26.0访问不同目标的问题,由于我校办公大楼在建设时就已将连接各个办公室到网络中心的网线埋入墙内,如果为每个需要直接访问县电子政务网的计算机再安装一张网卡,就需要再单独铺设一根网线,无论从铺设的难度及办公大数的布局来说,都不是一个很好的办法。

      如果沿用原来校园网的网线,在需要连接电子政务网的计算机上设置两个网关,就需要人为地切换网关,这对于计算机应用水平不高的人来说,也是一个不小的麻烦.因些,我们决定不采纳电信局的建议,而采用手动添加静态路由的方式来实现两个网关的无缝切换.

      1. 将边接电子政务网的光纤接入原有的S2006B交换机。
          
      2. 在需要接入电子政务网的计算机上添加网络事情为10.1.26.0的IP地址,例如:10.1.26.2,掩码为255.255.255.192。

      具体操作步骤是:选择"Internet协议(TCP/IP)属性→高级→IP设置→添加"。添加好IP地址后,要特别注意的是,不能添加10.1.26.1这个网关,具体原因见后文的进一步分析。

      3.进入DOS命令方式,在提示符合后输:ip route add 192.168.20.0 mask 255.255.255.0 10.1.26.1,从而手动添加一条静态路由。

      4.为了能使每次开机时都自动执行这个命令,可以将其写成一个批处理文件,因为建立批处理文件的方法比较简单,此处略去不提。

      经过以上4个步骤的操作,在命令行方式中可以用route print命令看到本地路由表中新增了一条到192.168.20.0网络的静态路由,此时本地计算机既可以访问Internet,也可以访问电子政务网,用户在使用过程中完全感觉不到网关切换的过程。

      方案原理

      通过以上的介绍可以看出,本方法中有两个亮点:
          
      其一是同一个交换机可以连接不同的网络,在平常使用过程中,普遍的固定思维是一个交换机只能接同一个网络。其实我们从交换机的原理就可以知道,这种思维方式是不正确的,因为交换机处于OSI参考模型的数据链路层,是属于网桥,交换机起着桥接的作用,因些交换机可以接入多个不同的网络。上述方案中正是处用了这一点,从而免去了不必要的硬件投入。

      其二是不设10.1.26.0这个网络的网关,而采用静态路由的方式,免去了额处的组网开销。

      那么为什么不能设置两个网关呢?这就要从网关的作用说起,在设置网关时,本地计算机的路由表中添加了一条默认路由:

      0.0.0.0.0.0.0.0 网关IP地址本地接口跃点数如果在路由表中无法找到目标网络的路径时,就把数据包发送到这条默认路由中的网关,如果删除了本机对应的网关,则这条默认路由也将在路由也将在路由表中删除。如果本机设置了两个IP地址,并且分表对应了两上网关,则会在本机的路由表中添加了两条默认路由,它们分别是:

      0.0.0.0   0.0.0.0  192.168.1.1   192.168.1.88 1

      0.0.0.0   0.0.0.0  10.1.26.1    192.168.1.88  1

      此时,本机在发送数据时就不知道该如何处理了,而手动添加静态路由与直接设置网关关生路由路径不同,数据在发卷宗这程中会根据本地路由表中指明的路传输。

      通过以上的方法,完全可以实现单张网卡实现对不同网络的无缝访问。


Tags: ,
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]