网络处理器与网络系统设计第9章分类和转发Word格式.docx
- 文档编号:15045359
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:9
- 大小:316.98KB
网络处理器与网络系统设计第9章分类和转发Word格式.docx
《网络处理器与网络系统设计第9章分类和转发Word格式.docx》由会员分享,可在线阅读,更多相关《网络处理器与网络系统设计第9章分类和转发Word格式.docx(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)&
(frametype==0x0800))
在每一步,比较字段将排除尽量多的包
分类的硬件实现
●可以建立专用于“比较”的硬件
●步骤:
--提取需要的字段
--连接组合成字节串
--存放到寄存器中
--与一个常量相比较
●可并行执行字段提取与比较
Web流量分类的常量是:
08.00.06.00.5016
分类的特殊情况
●多个分类
●可变长度首部的分类
●动态分类
实际上
●分类常常包含有多个类
●包组合在一起,形成流
●可以有一个缺省分类
●每个分类由一个规则集描述
含多个类的分类
●发往Web服务器的流量
●携带ICMP回应请求消息的流量
●所有其他流量
RuleSets
●Webservertraffic
●ICMPechotraffic
–2-octetIPtypeis1
–1-octetICMPtypeis8
SoftwareImplementationOfMultipleRules
if(frametype!
=0x0800){
sendframetoflow3;
}elseif(IPtype==6&
TCPdestinationport==80){
sendpackettoflow1;
}elseif(IPtype==1&
ICMPtype==8){
sendpackettoflow2;
}else{
}
Furtheroptimizationpossible
可变长度首部的分类
●字段不在固定的偏移位置
●用软件容易处理
●可用规则描述有限的类
变长度首部例子:
IPOptions
●RuleSet1
–2-octetframetypefieldcontains080016
–1-octetfieldatthestartofthedatagramcontains4516
–1-octettypefieldintheIPdatagramcontains6
–2-octetfield22octetsfromstartofthedatagramcontains80
●RuleSet2
–1-octetfieldatthestartofthedatagramcontains4616
–2-octetfield26octetsfromthestartofdatagramcontains80
协议设计对分类的影响
固定长头部易于分类
每一个可变长首部增加一个计算步骤
最坏情况下,分类处理不比多路分解快
极端例子:
IPv6
混合的硬件/软件分类器
●结合硬件和软件机制
–Hardwareusedforstandardcases
–Softwareusedforexceptions
●注意:
软件分类器可以以较慢的速率处理,处理量少了
分类的两种基本类型
●静态
流用规则集描述
首部字段和相应的值预先知道
●动态
流通过观察包流量产生
用于分类的值也取自首部
允许细粒度流
要求状态信息:
语音信息、前20条信息
静态分类例子
●每个服务类型分派一个流
●一个首部字段用于标识流
IPTYPEOFSERVICE(TOS)
●UseDIFFSERVinterpretation
●Note:
Ethernettypefieldalsochecked
ExampleDynamicClassification
●每一个TCPconnection分派一个flow
●Headerfieldsusedtoidentifyflow
–IPsourceaddress
–IPdestinationaddress
–TCPsourceportnumber
–TCPdestinationportnumber
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章 分类和转发 网络 处理器 系统 设计 分类 转发