基于Gbit以太网卡光突发交换边缘节点功能的设计和实现
#$% "基于 以太网卡光突发交换
边缘节点功能的设计和实现
丁 桥 陈建平 李新碗 吴龟灵 马世峰 张 健
上海交通大学区域光纤通信网与新型光通信系统国家重点实验室上海#$$$%$& !""
设计和 提出了一种利用现有的千兆以太网卡摘要接收和突发时钟同步问
能很好地演示 网络的!$ 567
功能% 实现光突发交换网络边缘节点功能的方法在#$ "()’
层和数据链路层之间加入 层可实现对数据 !*+ ’()
包进行组装排队调度和发送等 边缘节点的基%% () ’设计思想 #
本功能通过修改 操作系统的内核实现了满足 $ ,-./0 !是开放的系统它提供用户灵活地修改内核 892; $:
不同业务最大时延和最大包长限制的组装过程以及 !源码的功能部分内核源码在 层和通过修改 % 8:92; $() 采用包分割算法的调度过程$ 层之间加入一个 层可实现 边缘节点 0< 567 $ 567 ’
关键词 以太网 光突发交换 边缘节点 的基本功能经过 从本节点应用程序发送的数据包% $
应用层层层之后由 层送入添加的75<=>$ $<) $() !!
中图分类号文献
码$%&!& ’
层通过本节点转发的其他主机数据则通过% $ 567
层层进入 层组然后根据不同的 引言!% $$ < ( 567 <*70)’1
光突发交换 技术是 中交 换颗粒度 () *+,- 0 ./ 装突发包并生成控制包发送时数据通道和控#% "6?)界于光线路交换波长交换和光分组交换的一种交 # "制通道是分离的通过不同的网卡和链路发送如图 $% @换方式它比光波长交换更能提高利用率比光分组$$ 所示控制包的格式包括类型
示控制包不同的类 "
型分为建立控制包和释放控制包优先级对应不 $#! " 交换更容易在现阶段实现光突发交换网络边缘节点%同的上层业务设置突发包的优先级数据类型光波 #!!的作用是将数据分组整合适配成突 发包并 # $ !"12-34长号表示突发包发送的信道源地址目的地址突 #"!!!进行调度和发送或者在接收到突发包后进行相应 & $ 发包长度偏置时间和校验位而突发包是由若干个 !% 的拆分提取以太网是应用非常广的网络技术现在% % !数据包组成发送的时候是由若干个以太网帧组成$
每个帧的间隔是 网卡$ &A B1C3 #% " 千兆以太网技术已比较成熟 正向十千兆以太网演$
进本文在成熟的以太网技术上研究采用以太网卡实 %
光突发交换现光突发交换边缘节点基本功能的方法 %
的突发特性不可避免地引入突发接收和突发同步问 边缘节点关键技术的实现%
边缘节点接收到的各突发帧可能来自不同的节题 %包组装过程 %21
边缘节点的发送部分是通过添加的 层来实 567 点它们的时钟相位和振幅都不相同 因此每一帧都 $ $
现的把 层发送下来的数据包组装成突发包其中 $() $要进行时钟相位的快速锁定和判决阈值的快速恢复%
用到的技术包括路由表查询业务量分类流量整形 $ $ 突发接收是边缘节点要解决的一个难题 若将光突发%等边缘节点的组装部分根据从端口通道输入的数据 %
交换边缘节点建立在以太网卡的基础上既能保留突 $包的目的地址和服务等级要求把这些数据包整"<*7# 发包的突发特性又可以利用以太网卡有效回避突发$ 收稿日期GHJGKJG# ’!I 理到相应的突发包缓冲堆里去 边缘节点的调度部分%作者简介丁桥 男年生在读硕士$@&K& $% ’则根据突发包的类型和等级按照满足特"#$ 研究方向光突发交换网络3DE,F28,- ’
项 目 资 助 国 家 自 然 科 学 基 金 国 家 自 然 科 学 基 金 "%*L&H!H#HHA#! "%*M 定要求的算法分配突发包的传输时隙和光通道’为了% 国 家 计 划 上 AKKN# OA %*MHHNNHK#%*MHHNH# "I"I!I"!!!!!!!!!!!’’’’
海市科委 宽带光传输电子科技大家 "%*MHN!!ANH!!!%*MH!!!ANHH#N! ( ) 国家重点实验室资助%
图 控制包的格式1
年第 期 !""# ! 光通信设备 #" !
光 网 络
基于 以太网卡光突发交换边缘节点功能的设计和实现940 :
数据包的分类排队是根据其 目的地址和不同 ’(
的服务等级来实现的的不同定时器的设根据 " )*+ !
置是不一样的 将同一实时要求高的业务定时较短 ""
类别的突发包放在一个队列中等待调度 突发包由!"
若干个数据包连接起来这 在调度到当前突发包时! !
个突发包中的每一个数据包连续向下层发送这样发 !
往同一个目的地址和具有相同服务等级的数据包就
可以视为一个突发包了 满足不同业务最大时延和最"
大包长限制的组装过程如图 所示图中 " .01233! ,-/--
表示目的地址为 和业务等级为 的队列$4&$5&4 5 "
控制包 头的产生是在突发包生成以后6,+ ,7( !
为其申请空间生成一个数据包 填充这个数据包的 !!
各个属性值查找边缘节点自身的路由表将其然后" !!
指定到控制通道的网卡往下发送 这样就能将数据通"
道和控制通道分离实现 的基本特点!" 6+ ,
包调度过程"# !
从 边缘节点出口的调度是在突发包组装好 6,+
的基础上根据数据信道的数量高优先级业务先占 !!
用信道的原则发送到相应的信道发送队列中去 然!"
后在 控制帧发送之后经过一定偏置时间后发送! 6+ ,$&!数据帧"
本文采用包分割的方法降低阻塞层组 经过 " 6+ ,
装完成的突发包实际上是由其中若干个数据包组成 !
的突发包的发送实际上是以太网帧的发送之所以 !!
能称为突发包将 是通过对数据包发送过程的改变! !
以太帧集中起来有规律的连续地发送这样对于光 #!!
核心节点来看确实是一个突发包本 根据这个过程 !"!
文采用包分割的方式来解决竞争所谓的包分割就是 "
在发生竞争的时候不必像传统的突发包发送一样丢 !
掉整个被阻塞的突发包只要丢掉被阻塞的那一部分 !
$8& 数据包就可以了 所以对于本文所描述的基于以太 "图 组装过程流程图 $
网的系统来说是在竞争的时候将被阻塞的突发包中 !
阻塞部分的数据包丢弃截短了突发包所示如图 !" 8 " 往往需要跟踪各个输出光通道还未预定的 方便调度!$%&实现方法是在数据进入发送队列之前根据优先 !时隙资源" 级将组装好的突发包中优先级高的突发包先调入到 至今已提出了多种组装算法最有代表性的是 !!有空闲的信道未被调度但是已经组装好的突发包等 !固定组装时间算法可变组装时间算法和最短包长最 !
待下个时隙来调度在等到该突发包的最大等待时间! 大组装时间算法但是这三种算法均未随所支持业务 "
等级的不同而变化尤其是可变组装算法是根据流 !!
量的状况来改变定时长度的对支持业务能最大容忍!
的延时考虑不够 本文采用并实现了根据不同业务自"
适应调节组装时间的固定时间算法并规定组装出的 !
突发包的大小不能超过一个上限值从而避免因突发 ! 包过大而引起不公平性和网络延时的增加" 图 冲突丢包示意图!
光通信设备年第 期 ""# !! #" !
光 网 络
基于 以太网卡光突发交换边缘节点功能的设计和实现6728 45678 7<.8/*.(1 ($8<6=72 >? @AA@ ’)
@B +. :$ C5D7$ E5=$6+2 F:=.1 G64+4.:.8& H6 G6.6.8& ?:+77$ . ’*9(’/(’’’,(-
8.+: F5678 #<.8.1 $8<6=72 JKKK ?LJ?3MJ# NKM% );//*(I’)I)I--
MKO#DC)N2PDI)2QD3R @AA@ -
T C.(’, -2C’==+6+($UV+7’( G2V5$U+(, #6.6+(W+(. #.8+6+9+(2 F5678 7$19$(%
8+8.’(X +( +;;6’+/* H’6 6$,5/.(1 ;+/=$8 :’77 .( ’;8./+: 45678 7<.8/*$, ($8%
<’6=72 ?’995(./+8.’(7U @AA@2 J?? @AA@2 JKKK J(8$6(+8.’(+: ?’(H$6$(/$
’( U C ’:59$X QU @Y 3;6.:%@ -+& @AA@
Z ?*5(9.(1 [.+’2 -&5(17.= R’’2 );8./+: 45678 7<.8/*.(1 \)F#]%3 ($<
+6+.19 H6 +( 8./+: .(8$6($82 V2 B .1* #$$ $8<6=7 \VB#]U ^:2 YU ;,’’;;,I’I’
2 U P_YZU ___ Q .+$: a57$6UG:.+ F+&^$:2 3+:&7.7 H + a&+.% (’"‘"/*’((’(9-
/+::& b+^$:$(18*%O58$ 8./+: F5678 #<.8/*$ $8<6= 36/*.8$/856$2 ’,);,I’
V)LOI3N )> NJcBMb3CK MK?BI)N)cRUC)@AUI)2ZU3GOJN @AA@
"#$ %$&’() *+ ,#$ -.)/,’*) *+
,#$ 01($ 2*1$& *+ 345 67&$1
*) ,#$ 89’,:& 0,#$;)$, <7;1
图 调度过程流程图A aJIc [.+’U ?BKI V.+(%;.(1U NJd .(%<+(U bL
c5.%:.(U -3 #*.%H$(1U EB3Ic V.+( 时必须将该突发包向发送队列调度 这时可能与其 ! !
+8.(+: N+46+86& N/+: >.4$6%8./I’’’’( ’);$ 它突发包产生竞争此时不必像传统调度算法一样丢 !
弃整个突发包包只需要根据数据包时间戳与当前系 !?’995(./+8.’( $8<’6= e 3,^+(/$, );8.+: I$#!%&统时间的比较丢弃冲突的数据包所示如图 " # " !?’995(./+8.’( #&78$97U
#+1+. V.+ M1 L.^$67.8&U #+1+.*(*’’((*(*% 结束语 !
J( 8*$ +$6U + ($< 9$8* 4+7$ ( 8*$ c4f7 ;;’,,’=9&,;7/, 本文研究了基于以太网卡技术的 边缘节点 () ’
的设计和具体实现层和数据链路层之间加入在 *+ "K8*$6($8 /+6, .7 ;6’;’7$, 8’ 6$+:.g$ 8*$ H5(/8.’( ’H 8*$ 层可实现对数据包进行组装排队调度和发送 () !##’$1$ ($7 H 8./+: 45678 7<.8/*.(1 \F#] ($8<6=72 ,’,’’;)’等 边缘节点的基本功能设计实现了适用于不同 ()"’3( )F# :+&$6 .7 .(86’,5/$, 4$8<$$( 8*$ JG: +&$6 +(, 8*$ 业务的时延要求的固定时间组装算法调度方式和解 #
-3? :+&$6 8’ +77$94:$ 8*$ ,+8+ H6’9 8*$ JG :+ &$6 .(8’ 决竞争的包分割算法整个设计是在 的基础上实现 !*+
的等协议也可以通过相关的 源码的 ",-.!/0!% 12345 456787U 7$5:$ + 7$ 8$ 4567872 F& +W578.1 /*,(,(,*,(
改变来实现" 8$ N.5h $6+8. 7&78$i7 =$6$:U*(’;’(9(
<$ 6$+:.g$ H58.7 (/’(
75/* +7 8 *$ 45678 +77$94:& +//6.(1 8 8*$ 9+h.959 ’,’
$:+& H .HH$6$8 7$6^.$7 + +h.5 45678 :$18U ,’,(/(,999(* 参考文献 45678 7$5:.1 <.8 45678 7$1$8+8. +:16.82 /*,(*9(’(’*9" #$%&( * +( .(/* 0+(12 3 45678 +77$94:& +:16.8*9 .( 8./+: ’’),-’’’;
$8*$6($88./+: 45678 7<.8/*.(1$1$ ($7’;,’,>$?@*;1& && !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
年第 期 !""# ! 光通信设备 # "!