电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Linux网桥的分析VIP免费

Linux网桥的分析_第1页
1/7
Linux网桥的分析_第2页
2/7
Linux网桥的分析_第3页
3/7
Linux 网桥的分析 ——计算机 0707 石龙 20073093 一、综述 网桥,类似于中继器,连接局域网中两个或者多个网段。它与中继器的不同之处就在于它能够解析它收发的数据,读取目标地址信息(MAC),并决定是否向所连接网络的其他网段转发数据包。为了能够决策向那个网段发送数据包,网桥学习接收到数据包的源 MAC地址,在本地建立一个以 MAC和端口为记录项的信息数据库。Linux 内核分别在 2.2 和 2.4内核中实现了网桥。但是2.2 内核和 2.4内核的实现有很大的区别,2.4中的实现几乎是全部重写了所有的实现代码。本文以 2.4.0内核版本为例进行分析。 在分析具体的实现之前,先描述几个概念,有助于对网桥的功能及实现有更深的理解。 冲突域 一个冲突域由所有能够看到同一个冲突或者被该冲突涉及到的设备组成。以太网使用 C S M A / C D(Carrier Sense Multiple Access with Collision Detection,带有冲突监测的载波侦听多址访问)技术来保证同一时刻,只有一个节点能够在冲突域内传送数据。网桥或者交换机,构成了一个冲突域的边界。缺省情况下,网桥中的每个端口实际上就是一个冲突域的结束点。 广播域 一个广播域由所有能够看到一个广播数据包的设备组成。一个路由器,构成一个广播域的边界。网桥能够延伸到的最大范围就是一个广播域。缺省的情况下,一个网桥或交换机的所有端口在同一个广播域中。VLAN技术可以把交换机或者网桥的不同端口分割成不同的广播域。一般情况下,一个广播域代表一个逻辑网段。 网桥中的 CAM表 网桥和交换机一样,为了能够实现对数据包的转发,网桥保存着许多(MAC,端口)项。所有的这些项组成一个表,叫做CAM表。每个项有超时机制,如果一定时间内未接收到以这个 MAC为源 MAC地址的数据包,这个项就会被删除。 在 Linux内核网桥的实现中,一个逻辑网段用 net_bridge结构体表示。一个逻辑网段需要保留的信息有: 本逻辑网段中所有的端口(port_list) 每个端口用 net_bridge_port结构体来表示,从 net_bridge_port结构体中可以看出, 二、系统分析 (1) bridge ioctl int br_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { struct net_bridge *br = netdev_priv(dev); switch(cmd) { case SIOCDEVPRIVATE: return old_dev_ioctl(dev, rq, cmd); case SIOCBRADDIF: case SIOCBRDELIF: return add_del_if(br, rq->ifr_ifin...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Linux网桥的分析

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部