Linux桥接功能的分析

Linux桥接功能的分析

ID:41848898

大小:292.86 KB

页数:17页

时间:2019-09-03

Linux桥接功能的分析_第1页
Linux桥接功能的分析_第2页
Linux桥接功能的分析_第3页
Linux桥接功能的分析_第4页
Linux桥接功能的分析_第5页
资源描述:

《Linux桥接功能的分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、STAR-NET星网盅捷网桥设计与实现相关知识文档编号:00・6201・100当前版本:1.0.0.0创建日期:2011-8-17编写作者:ganjingwei网桥知识总结前言3关于此文档3参考资料3第一章网桥的基本概念41.1网桥的作用41.2网桥的工作原理4第二章Linux桥功能52」数据包流程112.2相关代码13221br_handle_frame函数132.2.2br_handle_frame_finish函数14前言关于此文档此文档是本人这段时间内学习Linux网络协议栈网桥功能相关知识

2、,总结并且整理出来的文档。供大家参考。本文档描述Linux相关知识,各章节说明如下:1前言,即此章节;2网桥理论知识;3重要数据结构4网桥和端口的创建过程5Linux网桥的实现及数据包流程;参考资料网络资源。木文中的所有代码以broadcomd.12L.01为依据,内核代码为2.6。第一章网桥的基本概念1.1网桥的作用网桥工作在ISO层次结构中的二层,通过mac地址来区分,实现几个网络或主机之间的互联。1-2网桥的工作原理网桥的工作原理其实很简单,就是:某个主机的消息从哪个端口进来,那么这个主机必定

3、位与这个端口这一侧,从这个端口一定能找到这个主机,给这个主机的消息也就应该从这个端口转发。比如,一个网桥连接主机A和主机当主机A连接到网桥时,会告诉网桥,它在端口A。网桥会维持一个映射表,让端口A与主机A的mac地址对应。当有其他主机试图通过网桥转发目的mac地址为主机A的mac地址的消息时,网桥会通过查表来指导应该由端口A转发。同理,当网桥连接两个或两个以上主机或主机构成的网络时,也按照这个原则,维持一个记录端口和mac地址的映射表,需要转发消息的时候通过查找这个表来找到应该去的地址。当然,如果收

4、到的消息是发给网桥木身的,就要交给上层协议来处理。这就是网桥的工作原理。第二章数据结构2.1net_bridge这个结构体描述一个网桥。clev是这个桥对应的设备。port_list是netbridge_port的链表头。hash[BRHASHSIZE]是netbridgefdbentry的散列表,也是网桥MAC地址和端口的映射表CAM。structnet_bridgespinlock_tlock;structlist_headportjist;structnet_device*dev;struct

5、net_device_statsstatistics;spinlock_thash_lock;structhlist_headhash[BR_HASH_SIZE];structlist_headagejist;unsignedlongfeature_mask;unsignedlongflags;bridgedesignated_root;bridge_idbridge_id;u32root_path_cost;unsignedlongmax_age;unsignedlonghello_time;un

6、signedlongforward_delay;unsignedlongbridge_max_age;unsignedlongageingunsignedlongbridge_hello_time;unsignedlongbridge_forward_delay;u8group_addr[ETH_ALEN];u!6root_port;enum{BR.NO.STP,/*nospanningtree*/BR_KERNEL_STP,/*oldSTPinkernel*/BR_USER_STP,/*newRS

7、TPinuserspace*/}stp_enabled;unsignedchartopology_change;unsignedchartopology_change_detected;structtimer_listhello_timer;structtimer_listtcn_timer;structtimer_listtopology_change_timer;structtimer_liststructkobjectgc_timer;*ifobj;};2.1net_bridge_port这是

8、网桥端口的结构体。br指向它属于的网桥。port_no是端口ID,唯一的标识。structnet_bridge_port{structnet_bridgestructnet_devicestructlist_headu8u8u!6unsignedcharunsignedcharport_idport_idbridge」dbridge_idu32u32structtimer_liststructtimerjiststructtimerjiststructkobjects

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。