CCNA15-路由表六元素,路由汇总,默认网关在不同网段通信作用,代理ARP,免费ARP


一,路由表里路由条目拥有六个元素

1,前缀 ----- 主机位全为0

2,掩码 ----- 伴随前缀使用

3,下一跳地址 -----去往目的网段下游的第一台3层设备的接受接口的IP地址

4,出站接口-----描述通过什么接口把报文发送出去

5,Metric(度量值)----花销越小越好,描述路由条目的好坏

6,AD(管理距离)-----管理距离越小越可靠,描述路由信息获悉方式的可靠程度


二,路由汇总原则

1,被汇总的路由条目必须连续

如下图所示,如果我们要汇总,那么我们就汇总成192.168.0.0/19,但是这个时候就有个问题了!去往192.168.15.0/24网段的流量到达R2就会被抛弃,这就是路由黑洞。

151523650.jpg

2,被汇总的路由条目必须共享相同的出站接口以及下一跳地址



三,路由汇总详解

路由汇聚的“含义”是把一组路由汇聚为一个单个的路由广播。路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。这样将减少与每一个路由跳有关的延迟,因为由于减少了路由登录项数量,查询路由表的平均时间将加快。由于路由登录项广播的数量减少,路由协议的开销也将显著减少。随着整个网络(以及子网的数量)的扩大,路由汇聚将变得更加重要。
路由汇聚的“用意”是当我们采用了一种体系化编址规划后的一种用一个IP地址代表一组IP地址的集合的方法。
除了缩小路由表的尺寸之外,路由汇聚还能通过在网络连接断开之后限制路由通信的传播来提高网络的稳定性。如果一台路由器仅向下一个下游的路由器发送汇聚的路由,那么,它就不会广播与汇聚的范围内包含的具体子网有关的变化。例如,如果一台路由器仅向其临近的路由器广播汇聚路由地址172.16.0.0/16,那么,如果它检测到172.16.10.0/24局域网网段中的一个故障,它将不更新临近的路由器。
这个原则在网络拓扑结构发生变化之后能够显著减少任何不必要的路由更新。实际上,这将加快汇聚,使网络更加稳定。为了执行能够强制设置的路由汇聚,需要一个无类路由协议。不过,无类路由协议本身还是不够的。制定这个IP地址管理计划是必不可少的,这样就可以在网络的战略点实施没有冲突的路由汇聚。
这些地址范围称作连续地址段。例如,一台把一组分支办公室连接到公司总部的路由器能够把这些分支办公室使用的全部子网汇聚为一个单个的路由广播。如果所有这些子网都在172.16.16.0/24至172.16.31.0/24的范围内,那么,这个地址范围就可以汇聚为172.16.16.0/20。这是一个与位边界(bit boundary)一致的连续地址范围,因此,可以保证这个地址范围能够汇聚为一个单一的声明。要实现路由汇聚的好处的最大化,制定细致的地址管理计划是必不可少的。


四,路由汇聚算法的实现
1)将各子网地址的网段以二进制写出。
2)比较,从第1位比特开始进行比较,将从开始不相同的比特到末尾位填充为0。由此得到的地址为汇总后的网段的网络地址,其网络位为连续的相同的比特的位数。

假设下面有4个网络:
172.18.129.0/24
172.18.130.0/24
172.18.132.0/24
172.18.133.0/24
如果这四个进行路由汇聚,能覆盖这四个网络的汇总地址是:
172.18.128.0/21
算法为:129的二进制代码是10000001
130的二进制代码是10000010
132的二进制代码是10000100
133的二进制代码是10000101
这四个数的前五位相同都是10000,所以加上前面的172.18这两部分相同的位数,网络号就是8+8+5=21。而10000000的十进制数是128,所以,路由汇聚的Ip地址就是172.18.128.0。所以最终答案就是172.18.128.0/21。
使用前缀地址来汇总路由能够将路由条目保持为可管理的,而它带来的优点是:
1、路由更加有效
2、减少重新计算路由表或匹配路由时的CPU周期
3、减少路由器的内存消耗
4、在网络发生变化时可以更快的收敛
5、容易排错
路由汇聚比CIDR的要求低,它描述了网络的汇总,这个汇总的网络是有类的网络或是无类的网络的汇总,聚合在边界路由协议(BGP)中使用的更多。
此外,虽然不是传统的方法,也可以将有类的子网进行汇总。


五,默认网关
网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。


六,网关在不同网段通信的作用

验证不同网段通信的过程

172925204.jpg

(1)设备的配置

PC1的网关是192.168.1.1

PC2的网关是172.16.0.1

路由器R1:
R1(config)#interface f1/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#int f1/1
R1(config-if)#ip address 172.16.0.1 255.255.255.0
R1(config-if)#no shutdown
R1#debug  arp   //开启arp的debug功能
PC1:
PC1(config)#interface f1/0
PC1(config-if)#ip address  192.168.1.2 255.255.255.0
PC1(config-if)#no shutdown
PC1(config)#ip default-gateway 192.168.1.1
PC1#debug arp    //开启arp的debug功能
PC2:
PC2(config)#interface f1/0
PC2(config-if)#ip address 172.16.0.2 255.255.255.0
PC2(config-if)#no shutdown
PC2#debug arp   //开启arp的debug功能

(2)PC2 ----ping-----PC1 查看日志信息

R1:
*Nov  7 17:20:19.675: IP ARP: rcvd rep src 192.168.1.2 ca03.0854.001c, dst 192.168.1.2 FastEthernet1/0
R1#
*Nov  7 17:22:54.871: IP ARP: rcvd rep src 172.16.0.2 ca04.1574.001c, dst 172.16.0.2 FastEthernet1/1
R1#
*Nov  7 17:24:44.451: IP ARP: rcvd req src 172.16.0.2 ca04.1574.001c, dst 172.16.0.1 FastEthernet1/1
*Nov  7 17:24:44.459: IP ARP: creating entry for IP address: 172.16.0.2, hw: ca04.1574.001c
*Nov  7 17:24:44.459: IP ARP: sent rep src 172.16.0.1 ca05.0854.001d,
                 dst 172.16.0.2 ca04.1574.001c FastEthernet1/1
*Nov  7 17:24:45.379: IP ARP: creating incomplete entry for IP address: 192.168.1.2 interface FastEthernet1/0
*Nov  7 17:24:45.383: IP ARP: sent req src 192.168.1.1 ca05.0854.001c,
                 dst 192.168.1.2 0000.0000.0000 FastEthernet1/0
R1#
*Nov  7 17:24:45.471: IP ARP: rcvd rep src 192.168.1.2 ca03.0854.001c, dst 192.168.1.1 FastEthernet1/0
*Nov  7 17:24:45.531: IP ARP: rcvd req src 192.168.1.2 ca03.0854.001c, dst 192.168.1.1 FastEthernet1/0
*Nov  7 17:24:45.531: IP ARP: sent rep src 192.168.1.1 ca05.0854.001c,
                 dst 192.168.1.2 ca03.0854.001c FastEthernet1/0
PC1:
*Nov  7 17:24:45.267: IP ARP: rcvd req src 192.168.1.1 ca05.0854.001c, dst 192.168.1.2 FastEthernet1/0
*Nov  7 17:24:45.271: IP ARP: sent rep src 192.168.1.2 ca03.0854.001c,
                 dst 192.168.1.1 ca05.0854.001c FastEthernet1/0
*Nov  7 17:24:45.403: IP ARP: creating incomplete entry for IP address: 192.168.1.1 interface FastEthernet1/0
*Nov  7 17:24:45.403: IP ARP: sent req src 192.168.1.2 ca03.0854.001c,
                 dst 192.168.1.1 0000.0000.0000 FastEthernet1/0
*Nov  7 17:24:45.407: IP ARP throttled out the ARP Request for 192.168.1.1
*Nov  7 17:24:45.539: IP ARP: rcvd rep src 192.168.1.1 ca05.0854.001c, dst 192.168.1.2 FastEthernet1/0
PC1#
PC2:
PC2#ping   192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
*Nov  7 17:24:44.767: IP ARP: creating incomplete entry for IP address: 172.16.0.1 interface FastEthernet1/0
*Nov  7 17:24:44.767: IP ARP: sent req src 172.16.0.2 ca04.1574.001c,
                 dst 172.16.0.1 0000.0000.0000 FastEthernet1/0
*Nov  7 17:24:44.947: IP ARP: rcvd rep src 172.16.0.1 ca05.0854.001d, dst 172.16.0.2 FastEthernet1/0.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 12/51/88 ms
PC2#

(3)分析分析日志

.1 首先当PC2(172.16.0.2)----ping----PC1(192.168.1.2)的时候,由于 PC1的IP地址不和自己在一个网段,会请求自己的网关帮助,所以就会发送ARP req请求,如下所示的报文

source IP   :172.16.0.2  (PC2的IP地址)
source MAC:ca04.1574.001c   (PC2的MAC地址)
destination IP:172.16.0.1   (网关的IP地址,也就是说,这个ARP  req是发给网关的)
destination MAC: 0000.0000.0000  (广播的MAC地址,因为不知道PC1的MAC地址)

.2 路由器R1收到PC2发来的ARP req请求的时候查看ARP表是否有对应的条目,如果没有就创建相应的ARP条目

creating entry for IP address: 172.16.0.2, hw: ca04.1574.001c

创建好条目之后就响应ARP请求给PC2发送ARP rep,当然PC2可以收到这个rep报文并且缓存网关的IP地址和MAC地址

source IP: 172.16.0.1  (R1的f1/1的IP地址)
source MAC:ca05.0854.001d  (R1的f1/1的MAC地址)
destination IP : 172.16.0.2 (PC2的IP地址)
destination MAC :ca04.1574.001c  (PC2的MAC地址)

.3由于PC2发送的是ping报文,那么这个报文里面一定携带了IP地址(192.168.1.2),当这个报文到达路由器R1之后,R1会拆包检查destination IP(192.168.1.2)在ARP表中是否有缓存对应的MAC地址,如果没有,就通过路由器R1找到192.168.1.0/24的网关地址(192.168.1.1)发送arp req请求192.168.1.2的MAC地址,因为只有通过网关才知道192.168.1.0/24网段主机的MAC信息。

*Nov  7 17:24:45.379: IP ARP: creating incomplete entry for IP address: 192.168.1.2 interface FastEthernet1/0
*Nov  7 17:24:45.383: IP ARP: sent req src 192.168.1.1 ca05.0854.001c,
                 dst 192.168.1.2 0000.0000.0000 FastEthernet1/0

.4 PC1(192.168.1.2)收到了网关发来的ARP req请求就会回应ARP rep,ARP rep报文中包含了PC1的source IP(192.168.1.2)和MAC地址(ca03.0854.001c),当然PC1也会缓存网关的MAC地址。

*Nov  7 17:24:45.267: IP ARP: rcvd req src 192.168.1.1 ca05.0854.001c, dst 192.168.1.2 FastEthernet1/0
*Nov  7 17:24:45.271: IP ARP: sent rep src 192.168.1.2 ca03.0854.001c,
                 dst 192.168.1.1 ca05.0854.001c FastEthernet1/0
*Nov  7 17:24:45.403: IP ARP: creating incomplete entry for IP address: 192.168.1.1 interface FastEthernet1/0

.5 网关收到PC1发送来的ARP rep就可以知道192.168.1.2对应的MAC地址是ca03.0854.001c,所以就这样R1路由器就知道了PC1和PC2的IP地址和对应的MAC地址。记住不同网络通信依靠的是MAC地址,但是PC1和PC2只会缓存自己网段的MAC地址和IP地址(包括网关的MAC地址和IP地址)


七,ARP的反向代理

启用代理ARP的条件

1,路由器需要拥有ARP被请求者的所在网段的路由条目  

R1#show  arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  172.16.0.1              -   ca05.0854.001d  ARPA   FastEthernet1/1
Internet  172.16.0.2             11   ca04.1574.001c  ARPA   FastEthernet1/1
Internet  192.168.1.1             -   ca05.0854.001c  ARPA   FastEthernet1/0
Internet  192.168.1.2            11   ca03.0854.001c  ARPA   FastEthernet1/0

2,路由器需要判断请求者和被请求者不在同一个广播域

3,路由器在ARP请求的接口需要开启代理ARP功能

R1(config-if)# ip  proxy-arp
R1#show  ip  interface  f1/1
FastEthernet1/1 is up, line protocol is up
  Internet address is 172.16.0.1/24
  Proxy ARP is enabled

 还是如上的图,如果我们关闭PC1和PC2的网关,然后继续PC2----ping----PC1,任然ping得通

但是当路由器的f1/1收到ARP req请求的时候,会将f1/1的MAC地址( ca05.0854.001d)作为ARP rep发送给PC2,这就是代理ARP. 这里就像f1/1直接给PC2响应。

*Nov  7 19:36:52.543: IP ARP: sent req src 172.16.0.2 ca04.1574.001c,
                 dst 192.168.1.2 0000.0000.0000 FastEthernet1/0
*Nov  7 19:36:52.691: IP ARP: rcvd rep src 192.168.1.2 ca05.0854.001d, dst 172.16.0.2 FastEthernet1/0.!!!!

我们发现网关(172.16.1.1)和PC1(192.168.1.2)都有相同的MAC地址(ca05.0854.001d),保存在ARP缓存表中。

PC2#show arp
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  172.16.0.1            146   ca05.0854.001d  ARPA   FastEthernet1/0
Internet  172.16.0.2              -   ca04.1574.001c  ARPA   FastEthernet1/0
Internet  192.168.1.2            14   ca05.0854.001d  ARPA   FastEthernet1/0


八,免费ARP

 开启免费arp

PC2(config)# ip gratuitous-arps   //开启免费arp
PC2(config)# no  ip gratuitous-arps  //关闭免费arp
 免费ARP报文是一种特殊的ARP报文,该报文中携带的发送端IP地址和目标IP地址都是本机IP地址,报文源MAC地址是本机MAC地址,报文的目的MAC地址是广播地址。
设备通过对外发送免费ARP报文来实现以下功能:
l    确定其它设备的IP地址是否与本机的IP地址冲突。当其它设备收到免费ARP报文后,如果发现报文中的IP地址和自己的IP地址相同,则给发送免费ARP报文的设备返回一个ARP应答,告知该设备IP地址冲突。
l   设备改变了硬件地址,通过发送免费ARP报文通知其它设备更新ARP表项。
 1. 免费ARP报文学习功能的作用
使能了免费ARP报文学习功能后,设备会根据收到的免费ARP报文中携带的信息(源IP地址、源MAC地址)对自身维护的ARP表进行修改。设备先判断ARP表中是否存在与此免费ARP报文源IP地址对应的ARP表项:
l    如果没有对应的ARP表项,设备会根据该免费ARP报文中携带的信息新建ARP表项;
l       如果存在对应的ARP表项,设备会根据该免费ARP报文中携带的信息更新对应的ARP表项。
关闭免费ARP报文学习功能后,设备不会根据收到的免费ARP报文来新建ARP表项,但是会更新已存在的对应ARP表项。如果用户不希望通过免费ARP报文来新建ARP表项,可以关闭免费ARP报文学习功能,以节省ARP表项资源。
2. 定时发送免费ARP功能的作用
定时发送免费ARP功能可以及时通知下行设备更新ARP表项或者MAC地址表项,主要应用场景如下:
(1)    防止仿冒网关的ARP攻击
如果攻击者仿冒网关发送免费ARP报文,就可以欺骗同网段内的其它主机,使得被欺骗的主机访问网关的流量,被重定向到一个错误的MAC地址,导致其它主机用户无法正常访问网络。
为了尽量避免这种仿冒网关的ARP攻击,可以在网关的接口上使能定时发送免费ARP功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,每台主机都可以学习到正确的网关,从而正常访问网络。
(2)   防止主机ARP表项老化
在实际环境中,当网络负载较大或接收端主机的CPU占用率较高时,可能存在ARP报文被丢弃或主机无法及时处理接收到的ARP报文等现象。这种情况下,接收端主机的动态ARP表项会因超时而被老化,在其重新学习到发送设备的ARP表项之前,二者之间的流量就会发生中断。
为了解决上述问题,可以在网关的接口上使能定时发送免费ARP功能。使能该功能后,网关接口上将按照配置的时间间隔周期性发送接口主IP地址和手工配置的从IP地址的免费ARP报文。这样,接收端主机可以及时更新ARP映射表,从而防止了上述流量中断现象。
(3)   防止VRRP虚拟IP地址冲突
当网络中存在VRRP备份组时,需要由VRRP备份组的Master路由器周期性的向网络内的主机发送免费ARP报文,使主机更新本地ARP地址表,从而确保网络中不会存在IP地址与VRRP虚拟IP地址相同的设备。
由于用户可以设定VRRP虚拟IP地址和MAC地址对应关系,因此有以下两种情况:
l   如果当前VRRP虚拟IP地址和虚拟MAC地址对应,则免费ARP报文中的源MAC地址为VRRP虚拟路由器对应的虚拟MAC地址。
l   如果当前VRRP虚拟IP地址和实际MAC地址对应,则免费ARP报文中的源MAC地址为VRRP备份组中Master路由器接口的MAC地址。





本文出自 “好好活着” 博客,转载请与作者联系!

你可能感兴趣的:(接口,通信,元素,IP地址,路由表)