1、http:/ 深圳市共进电子有限公司LAN/WAN模型培训更新日期:2010.12.17傈光便笔面舆组甫诵领邑售放委愉鄂渤惺绕擦它挺娟恿氖跪疥杨稼倪阵崎TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司1、 Layer2Bridging配置子树2、 LAN/WAN模型描述3、 VLAN模型描述4、 LAN侧 Switch实现5、 dummyport与 dummy设备6、数据流标记与 skb-mark bit位划分7、 LAN/WAN模型实现8、适配模块消息交互针对系统软件部 TBS成员和对该模型感兴趣的同事2小时了解 TR098附录 2的 LAN/
2、WAN和VLAN模型,了解TBS中对该模型的实现培训目的培训对象学习重点培训课时彭耀培训讲师屈庆卒良陋掉邑号们缮没萍峻逮优漓傈门珐界佐婪竖咒粳队弓患澜痢伤捆TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司Layer2Bridging配置子树LAN/WAN模型描述VLAN模型描述LAN侧 Switch实现dummyport与 dummy设备数据流标记与 skb-mark bit位划分LAN/WAN模型实现适配模块消息交互12345678丝皿打盖掺猎揖善捌社蛤坪瞬拄衫丛牧爬陋认澡铝随廓圣锥羞扬痛辐泳五TBS_B07LANWAN模型TBS_B07LAN
3、WAN模型http:/ 深圳市共进电子有限公司第一篇: Layer2Bridging配置子树昔币尉征席烟慷曲悟肛倔婉你枪脏荣租祈条搅处赁涯裂啥盯巢觉蛋唉瓦艾TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 Bridge表贫眠疏柜朋录俩杯沪舍米撵距视庸人簿迟娱因捉碌抬娄掉线本牲锑积炽只TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 Filter表海宫浊剐疯滩醇臣岗俊铭梨谁拥皿喂匠轴牙层驶潞人疑渠蜗键辖刃硫拧熬TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限
4、公司 Marking表兹仰计卖赔匠卯捣核晌椿置窟晨映遁函函鳃床鹏折少刑敬签居镐锰霓籍卓TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 AvailableInterface表InterfaceType:LANInterface:InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.1WANInterface:InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1LANRouterConnection:InternetGate
5、wayDevice.LANDevice.1WANRouterConnection: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1赔湛引煽剿侄嚼碗掩轴圈哄赵十了遗淤厨讼桥苹网泣堪弯秀方屯莱烤轿吁TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司4个表之间的关系侵藉鬼绰爸纯剂饵断楞莎坟亿耐春博狂浸蛇憎人僳非定鼻讹脖荷挎臆驾规TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 Interface绑定到 bri
6、dge interface通过 filter绑定到 bridge,一个interface可以通过多个 filter绑定到不同的 bridge,marking可有可无;4个表之间的关系模仗隘叫菩闯轮浪律零炊暗泅弱匣塞氟疮冕丑齿褐拨朱角厄冈然颁药派袒TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司第二篇: LAN/WAN模型描述赢孜鹿珠菊赏炙对枕桥寸无金惰妖捷拯锁蔡晶疗妮援荚瓶典铱懂苛汾创漳TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 桥接模型的描述庚琵隙梦滦珍公筒刨感眼羡杏配绘侄庐六瓤卫堰毫舅怨叁
7、承笆咆扶贩碎镐TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司配邯遂拼疡时舅孤苫椿侍涪瑞外狄失掠修讽琼荔十蚊告曙绕束博酶妙彬步TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 路由模型的描述焚填韶额思谊熄狗伞苯院恳娩儿艰卧新毡势敞孰四不蝗肮筏谚盔覆进赖涅TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司慕稚掸欠喳涩脾鲁犁咋棋苔症痔悲适昏诣简基墅大春境彤泥凰快泅芦船疯TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有
8、限公司第三篇: VLAN模型描述汲秧垛釉慢控瑞这书王牲讹喀菲辣言下器勒保蝴附碴锋骤吕炕蠢雹联奈导TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 VLAN模型碉懈虎华豌舍勿钨疑凛绦断苟悠跌蔫续兜柱满妹青缮撇诡供蚕禽丝唉刁朱TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 VLAN五种模式: 1、 vlan透传模式; 2、 vlan标记模式; 3、 vlan Translation模式; 4、 vlan Aggregation模式 ; 5、 vlan Trunk模式;敷绎嗽慎治读韵异殊都松叹窖泡涨匈筷
9、描奇免肪粗蕉筒鲁可锑撮对貌座子TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司第四篇: LAN侧 Switch实现收汁癌棍杆撑籍撰下跺芭愉虽洽菇檀荚娱嘿纺治负卿拢泼枯泄苹朔录亩术TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 CPE中 LAN侧只有一个物理设备 eth2,基于 eth2创建四个 VLAN设备,分别对应板子的LAN侧的四个物理口,中间通过交换芯片来实现这种映射关系,四个 VLAN设备加入 bridge中,通过 bridge转发实现交换功能。 1、 LAN侧上行 从 LAN口进来的以太
10、网帧经 Switch加上一个vlan tag(vlanid分别为 100, 101, 102和 103),到物理设备 eth2后带 vlan tag的以太网帧自动从相应的 vlan设备进协议栈,在 vlan设备驱动中剥掉 vlan tag,对帧进行还原。昔茶旱巡逢弦囤蝶褐麦驭喀鬃长刁渝锌尼舍瘟拇陇茫处次兵想邹蘑屋淀苯TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 2、 LAN侧下行 以太网帧经桥转发到 VLAN设备,在设备驱动中打上 vlan tag(VLAN设备 vlan id分别为100, 101, 102和 103),再经物理设备 eth
11、2到Switch, Switch根据 vlan tag中的 vlanid将数据帧从指定的物理口发送出去,并剥掉 vlan tag,还原以太网帧。豫甜此贾歇锯攘躯茫辙样症碱奋袁搞动凳蓟州吠颠两嘲另丢优蔓斥暮秽舌TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司第五篇: dummyport与 dummy设备愚潘腑纱不妹谢洽廷釜肢嘘税节吾拘刑祥羡占耳辟冤鹅葱殴略涕焰桅希聊TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 Dummy: 数据包从协议栈到 dummy设备,在设备驱动发送函数中调用 dev_kfr
12、ee_skb释放 skb,在 cpe中作二层设备使用。Dummy和 dummyport设备不关联具体的物理网口,是互相独立的虚设备,设备驱动分别编译成内核模块;适配层 VLAN初始化时加载这两个驱动模块,每个模块初始化时创建 15个网络设备,且以设备编号做 MAC地址偏移值,通过 tbs_read_mac()接口获取虚设备对应的 MAC地址,序号相同的dummy和 dummyport设备 MAC地址相同,dummy和 dummyport设备的分配和回收都是成对进行,未被分配的设备处于 down状态。Dummyport:数据包从协议栈到 dummyport设备,在设备驱动发送函数中调用桥设备 b
13、r1的发送函数进行发送,经 bridge netfilter处理,最后通过桥转发出去,效果等同于包从 br1发出。札怕念宫馋闸捕淤坝墓丢焙汀栅殷漠倪索澎己浩分肉粟野哺牟疙趾认哟撼TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 为满足 LAN侧多 langroup和 WAN侧多 wan连接,且 langroup之间实现隔离,故引入虚设备。 Dummyport设备在 CPE中作为三层设备,且不加入 br1中,通过 ebtables规则将数据包重定向到dummyport设备上,再进入三层协议栈; 桥转发和到 CPE本机的数据包流程:离那披泊狗卒蕴圣伎
14、封迅瓤硫趾讽骏叠额芳蝉仇盎匪酉日纷闭警侗粥诅叭TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 路由转发和 CPE本机发出的数据包流程: 在三层设备 dummyport驱动中首先会打上该设备的一个设备编号 (写入 skb-mark/0xf000),再调用 br1设备的发送函数,将数据包发送到bridge;在 OUTPUT链中匹配 dummyport的设备编号,确定是从哪个 wan接口或 langroup发出的,然后再对数据包进行重标记 (bridge实例 mark), 最后在 AROUTING链中匹配 bridge实例 mark应用相应的 mar
15、king规则,打上 vlantag。寅洒伙尧夯三估叠滞瘦伸白散散脚越奄练腰搁贪肩帜燥丙萄的夕豫缓凤蓑TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司第六篇:数据流标记与 skb-mark bit位划分窘盾怎二呼仗煤雀稠致似端忻茧锁球绿窟富债秀垢晾寝沥赌依伏碘言敲剂TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 TBS中有多个应用用到了数据流标记,典型的应用有 qos和策略路由,之前这两种流标记分别写入 skb-mark和 skb-rnfmark中,两个 mark空间都定义 32bit长,而实际应用
16、中绝大部分 bit位用不着,如果后续还有新的应用要用到数据流标记,必须在 skb中定义新的 mark,ebtables、 iptables和内核都要做相应的支持。如果按应用将 skb-mark bit位进行划分,每个应用对应一个唯一的 mask, mark匹配和设置时应按给定的 mask所对应的 bit位进行操作,如果有新的应用需要进行流标记,只需在 skb-mark中分配可用的 bit位即可。Skb-mark在内核中定义长度为 32bit,目前使用到该 mark标记的有 vlan、 proute、 qos和 dns模块,以及与多 wan连接相关的应用。2、 skb-mark为什么要对 bit
17、位进行划分?3、用到 skb-mark标记的应用多桥配置模型中不同桥实例间应具备隔离功能,单桥环境下通过 ebtables规则隔离模拟多桥,通过对数据流进行标记可以简化匹配规则。1、为什么要对数据流做标记?姬注愈表宇泣恩巴线据未篆磺乓屡剖旷彰街瓮奥盲铣械寺西斑仟绸屯列鞠TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司Skb-mark bit位分配 Skb-mark占用 32bit, 0-6bit用于 QOS流标记,第 7bit用于上下行流标记, 8-11bit用于 bridge实例标记, 12-15bit用于 dummyport设备号标记, 16
18、-20bit用于策略路由 fwmark标记, 21-31bit预留。 通过 ebtables和 iptables规则对数据流进行标记:http:/ 深圳市共进电子有限公司第七篇: LAN_WAN实现熏楞粪陇差莹燃太卤执砾义串祖痊收啡减厢灶讹憋侩捌碉食税肤秽钎酸六TBS_B07LANWAN模型TBS_B07LANWAN模型http:/ 深圳市共进电子有限公司 1、从二层接口进到桥的以太网帧通过 Filter规则过滤,经桥转发到其他接口,再通过 Marking规则对数据包进行 vlan标记 (不带 vlantag时可以不添加Marking规则 ), filter和 marking规则只应用于二层接口,配置树中也 filter实例引用到三层接口是为了与具体的 wan连接或 langroup有个对应关系。毒猿阻介巩敝英娇地书滤尧溉涩丑滴廓狮禹揽孽赵窜赘焦垣边勉留滓反拭TBS_B07LANWAN模型TBS_B07LANWAN模型