免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1580 | 回复: 0
打印 上一主题 下一主题

SuperVlan下ARP Proxy的详细过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-14 13:38 |只看该作者 |倒序浏览
在ARP Proxy的实现中,由于一个SubVLAN可以跨越不同的接口板,接收到的ARP请求报文和对应的应答报文可能来自不同的单板,所以将ARP Proxy在主控板上实现。
  

  
图 VLAN聚合
  下面描述一下VLAN聚合情况下,两个聚合的Sub-VLAN之间通信的过程,如上图所示:
  
  Sub-VLAN1和Sub-VLAN2聚合成Super-VLAN3,为Super-VLAN3分配一个IP子网,则Sub-VLAN1和Sub-VLAN2都位于此子网。此处所指的ARP表是指RPS中的所有ARP表项。
  
  若Sub-VLAN1中的一台主机PC1要与子网中的另一台主机PC2通信,PC1发现对方与自己处于同一网段,则直接发出目的IP为10.110.1.33的ARP请求报文。三层交换机收到后,由微码将其在Sub-VLAN1的范围内直接通过二层广播此报文,并抄送一份给接口板的ARP模块。经过接口板ARP的分析,发现它来自SubVLAN,就将此ARP请求报文交给主控板ARP模块处理。
  
  主控板ARP首先在ARP表中查找ARP请求报文中的目的IP地址,假如找到对应项,看看目的IP地址是不是在SubVLAN1中,是就丢弃该报文,不是就将SuperVLAN3的MAC地址应答给PC1,完成代理工作。
  
  假如在ARP表中没有找到对应项,主控板ARP就查VLAN聚合与VLAN的逻辑映射表,知道Sub-VLAN1属于Super-VLAN3,将此报文中的源MAC地址替换成SuperVLAN3的MAC地址,VLAN ID的值由1分别替换成属于SuperVLAN3的其它Sub-VLAN的值,之后逐个向属于此SuperVLAN的其它Sub-VLAN(本例中为Sub-VLAN2)广播,并同时将此请求报文中的信息学习加入动态ARP表中。
  
  此后若收到PC2的ARP应答报文(其目的MAC地址为Super-VLAN3的MAC地址),主控板ARP模块发现此ARP应答报文的VLAN ID是Sub-VLAN2,即PC2位于Sub-VLAN2中,主控板CPU根据应答报文中的信息,搜索ARP表中的各项,找到对应项后把SuperVLAN3对应的MAC地址通过ARP应答报文回给PC1(若PC2位于Sub-VLAN1,PC2响应的ARP应答报文直接通过二层转发回给PC1,交换机就不再应答)。同时在接口板上将SubVLAN2中的响应报文信息记录在ARP表及FIB表中,以后再收到来自主机X的报文就可以通过查询FIB表进行三层转发了。
  
  ARP Proxy放在主控板上,这样可以避免由于不同接口板在同步上造成的差异,如我们从板A发出ARP ,从板B收到响应,但由于数据表格还没有同步到位板B,则引起错误。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/30131/showart_1192993.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP