Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1595976
  • 博文数量: 92
  • 博客积分: 2002
  • 博客等级: 大尉
  • 技术积分: 4717
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-01 17:09
文章分类

全部博文(92)

文章存档

2013年(1)

2012年(6)

2011年(85)

分类: LINUX

2011-04-04 23:55:57

一、扫盲
TAP(Test Access Point) 分路器,用于网络监控、调试(请看HUB、SPAN、TAP比较)要像下图这样部署


典型应用场景



TAP设备串在两个交换机中间,两端的交换机通过TAP互相通信。
TAP将两端交换机发出的数据复制到2条monitor链路上,用来进行网络数据的监控。

两端的交换机察觉不到TAP设备的存在:
1.TAP掉电时,两端link不能down
2.TAP上电时,两端link不能down
3.数据透传线性传输,延迟要足够小

link不能down的原因:
两端交换机一旦检测link down,就会通过STP来寻找冗余链路。
这个时间就可能很长,就会导致TCP层的链接中断,从而导致业务程序的中断。
要是有HA的,可能就会发生主备切换,麻烦就大了

二、原理


TAP也是分为很多种类型,有千兆/百兆的,光口/电口的,主动/被动的。
网上查资料,有个写的非常详细的(),它是按主动/被动来分别讲述的

第一种:直连被动式


因为是跨接数据采集,直连到线路上,所以此方案会对线路产生影响;

第二种:感应被动式

比第一个方案强不了多少。
通过电磁感应来获取线路上数据,数据速率一上去,TAP获取数据的准确性就打折扣了,完全取决于电磁感应器件的灵敏度

第三种:继电器主动式

此方案迄今为止最牛叉,串接数据采集,上电时通过两个PHY加一个Forwarding Engine来转发数据,掉电时通过继电器Relay来传输数据。


事实上,市场上还有很多变种TAP。
比如被动式TAP可以没有PHY芯片,直接把模拟信号传到监测网口RJ45上。
还有一种TAP直接把监测网口RJ45换成了一个USB来输出

二、开始山寨

拿到一个千兆TAP,拆开一看,主动式TAP:一个CPLD,一个BCM5464。
我擦,坑爹呢这是,就这玩儿也卖1W !!!?? 
看来CPLD技术含金量不低。

经过一个礼拜的加班,终于在自己的板子上山寨出了千兆Copper TAP功能(继电器主动式)
它用CPLD操作PHY并实现了数据透传,我用CPU。

数据透传可以通过网桥来实现,brctl就能搞定,略过。

关键是掉电和上电link不能down,即无闪断
这要注意PHY的几点配置:
role_type:   master/slave
mdi_type:    mdi/mdix
pause_type:  asyn/sync
port_type:   Repeater/DTE
speed_type:  10/100/1000M
duplex_type: full/half
auto-negotiation: disable/enable

不同的PHY芯片操作方法不一样,但以上应该都是可配的
另外一个重点就是继电器,一定要管控起来。

断电、上电无闪断的整体思路是:绕过ANEG,即绕过ANEG做的事情


--------------------------------- 请叫我华丽的分割线 ---------------------------------

A口与B口通信,C口采集
使用下列方法插网线并配置,可以将数据流增大为4倍




阅读(6887) | 评论(4) | 转发(0) |
0

上一篇:tar命令

下一篇:ANEG 自协商学习

给主人留下些什么吧!~~

wangtao1662015-12-09 18:37:32

我第一次上电link会down掉,做一次自协商。再下电上电就不会down掉了。不知道哪里出错了,求指导

hualanshidong2013-02-20 10:37:10

leonwang202

hualanshidong: 掉电link不能down,可以实现,但是上电link不能down觉得不可能,什么绕过ANEG,上电的时候需要对PHY进行初始化还有端口状态要进行重新建立,怎么可能绕过什么AN.....
对PHY合理配置的话,可以上电无闪断
手头有VSS的千兆TAP的话,你可以实验一下,呵呵

试过不行,能否具体说说怎么合理配置PHY,绕开自适应是将PHY的自适应功能关闭?其它配置两端都保持一致?

回复 | 举报

leonwang2022012-12-26 16:52:52

hualanshidong: 掉电link不能down,可以实现,但是上电link不能down觉得不可能,什么绕过ANEG,上电的时候需要对PHY进行初始化还有端口状态要进行重新建立,怎么可能绕过什么AN.....
对PHY合理配置的话,可以上电无闪断
手头有VSS的千兆TAP的话,你可以实验一下,呵呵

hualanshidong2012-12-25 12:39:53

掉电link不能down,可以实现,但是上电link不能down觉得不可能,什么绕过ANEG,上电的时候需要对PHY进行初始化还有端口状态要进行重新建立,怎么可能绕过什么ANEG,这个过程至少都要一两秒。。。