网络处理器与网络系统设计第9章分类和转发.docx
- 文档编号:2127285
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:9
- 大小:316.98KB
网络处理器与网络系统设计第9章分类和转发.docx
《网络处理器与网络系统设计第9章分类和转发.docx》由会员分享,可在线阅读,更多相关《网络处理器与网络系统设计第9章分类和转发.docx(9页珍藏版)》请在冰豆网上搜索。
网络处理器与网络系统设计第9章分类和转发
第9章分类和转发
回忆
包多路分解
--用于分层协议
--包每次穿过一层
--在输出(发送)端,在每层封装头部的类型字段中存储一个类型值
--在输入(接收)端,每一层软件为下一个高层协议选择合适的协议模块
--原因:
每层都有多个协议
--优点:
高效:
协议不同,首部不同,减少冗余
灵活:
创建新协议,修改老协议,不影响其它协议
缺点:
虽然多路分解可以自由定义和使用任意的协议
而不需要增加传输开销
但是因为它必须在各层之间执行顺序操作,
所以其效率不高。
包分类
●另一种多路分解
●为更高的速度设计
●保留分层协议设计和首部类型值
●在同一时刻考虑所有层
Ethernet/IP/TCP/Web服务
●两种实现方法:
软/硬件
包分类例子
●对发往一个Web服务器的以太帧分类
●按规则指定确切的头部内容
●如:
以太帧类型字段说明为IP数据报
EthernettypefieldspecifiesIP
IP类型字段说明为TCP包IPtypefieldspecifiesTCP
TCPdestinationportspecifiesWebserver
●Fieldsizesandvalues
–2-octetEthernettypeis080016
–2-octetIPtypeis6
–2-octetTCPdestinationportis80
高亮度字段:
Web服务器流量分类
分类的软件实现
●比较头部字段的值
●概念上:
所有头部类型字段比较的逻辑与
●如:
if((frametype==0x0800)&&(IPtype==6)&&(TCPport==80))
declarethepacketmatchestheclassification;
else
declarethepacketdoesnotmatchtheclassification;
优化基于软件的分类
●按顺序执行比较操作
●重新排序比较操作,减少第1次比较的成功率
例:
假定:
95%包是IP包,92%的IP数据报携带TCP,85%TCP段的目的端口号为80
–95.0%ofallframeshaveframetype080016
–87.4%ofallframeshaveIPtype6=95%*92%
–74.3%ofallframeshaveTCPport80=87.4%*85%
重新排序比较操作,可优化处理时间
if((TCPport==80)&&(IPtype==6)&&(frametype==0x0800))
declarethepacketmatchestheclassification;
else
declarethepacketdoesnotmatchtheclassification;
在每一步,比较字段将排除尽量多的包
分类的硬件实现
●可以建立专用于“比较”的硬件
●步骤:
--提取需要的字段
--连接组合成字节串
--存放到寄存器中
--与一个常量相比较
●可并行执行字段提取与比较
Web流量分类的常量是:
08.00.06.00.5016
分类的特殊情况
●多个分类
●可变长度首部的分类
●动态分类
实际上
●分类常常包含有多个类
●包组合在一起,形成流
●可以有一个缺省分类
●每个分类由一个规则集描述
例:
含多个类的分类
●发往Web服务器的流量
●携带ICMP回应请求消息的流量
●所有其他流量
RuleSets
●Webservertraffic
–2-octetEthernettypeis080016
–2-octetIPtypeis6
–2-octetTCPdestinationportis80
●ICMPechotraffic
–2-octetEthernettypeis080016
–2-octetIPtypeis1
–1-octetICMPtypeis8
SoftwareImplementationOfMultipleRules
if(frametype!
=0x0800){
sendframetoflow3;
}elseif(IPtype==6&&TCPdestinationport==80){
sendpackettoflow1;
}elseif(IPtype==1&&ICMPtype==8){
sendpackettoflow2;
}else{
sendframetoflow3;
}
Furtheroptimizationpossible
可变长度首部的分类
●字段不在固定的偏移位置
●用软件容易处理
●可用规则描述有限的类
变长度首部例子:
IPOptions
●RuleSet1
–2-octetframetypefieldcontains080016
–1-octetfieldatthestartofthedatagramcontains4516
–1-octettypefieldintheIPdatagramcontains6
–2-octetfield22octetsfromstartofthedatagramcontains80
●RuleSet2
–2-octetframetypefieldcontains080016
–1-octetfieldatthestartofthedatagramcontains4616
–1-octettypefieldintheIPdatagramcontains6
–2-octetfield26octetsfromthestartofdatagramcontains80
协议设计对分类的影响
固定长头部易于分类
每一个可变长首部增加一个计算步骤
最坏情况下,分类处理不比多路分解快
极端例子:
IPv6
混合的硬件/软件分类器
●结合硬件和软件机制
–Hardwareusedforstandardcases
–Softwareusedforexceptions
●注意:
软件分类器可以以较慢的速率处理,处理量少了
分类的两种基本类型
●静态
流用规则集描述
首部字段和相应的值预先知道
●动态
流通过观察包流量产生
用于分类的值也取自首部
允许细粒度流
要求状态信息:
语音信息、前20条信息
静态分类例子
●每个服务类型分派一个流
●一个首部字段用于标识流
IPTYPEOFSERVICE(TOS)
●UseDIFFSERVinterpretation
●Note:
Ethernettypefieldalsochecked
ExampleDynamicClassification
●每一个TCPconnection分派一个flow
●Headerfieldsusedtoidentifyflow
–IPsourceaddress
–IPdestinationaddress
–TCPsourceportnumber
–TCPdestinationportnumber
●Note:
EthernettypeandIPtypefieldsalsochecked
动态分类的实现
●通常用软件实现
●要保存状态信息
●Stateinformationcreated/updatedatwirespeed
包处理过程:
分类,转发
两个概念上的绑定
classification:
packet→flow
forwarding:
flow→packet处理
●Classificationbindingisusually1-to-1
●Forwardingbindingcanbe1-to-1ormany-to-1
流标识
●面向连接的网络(如ATM)
--每个flow的SVC可以根据需要创建
--FlowIDequalsconnectionID
●无连接的网络
--FlowID用于内部
--EachflowIDmappedto(nexthop,interface)
在面向连接的网络中分类和转发的关系
由分类指派的FlowID可以这样选择,
它匹配于底层网络所使用的连接标识符。
这样省去一个绑定环节,从而使转发获得更高的效率。
无连接网络的分类和转发
原:
目的地址(下一跳步,接口)
现:
包flow;flow(下一跳步,接口)
flowID可以是无符号整数
流生成时就决定了flow的路由
flowID对应转发缓冲区的入口索引
使用索引代替路由表查找
优点:
分类比多路分解快得多,查索引比查路由表快
缺点:
路由表更新时,转发缓冲区也必须更新
第二代网络系统
●为更大规模设计
●使用分类代替多路分解,
包处理速率更快,数据速率更快
●分散体系结构
--每个NIC上具有额外的计算能力
--NIC实现分类和转发
●高速内部互连机制
--NIC间互连
--NIC间提供快速数据通路(fastdatapath)
更多的网络连接,更快的接口转发速率
分类和转发芯片
●产商提供和出售
●实现硬件分类和转发
●典型配置:
在ROM等中给定规则集
小结
●Classificationfasterthandemultiplexing
●Canbeimplementedinhardwareorsoftware
●Dynamicclassification
--根据包的内容指派flows
--需要状态信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络处理器与网络系统设计第9章 分类和转发 网络 处理器 系统 设计 分类 转发