- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十七章路由交换机编程
第十七章 路由交换机编程
MTU = 64KB 毕竟是理想,现阶段实现起来还是有难度;牵涉到较多问题,与大网同步、流量平衡、时隙交换等。所以,APO还是决定MTU = 48E = 1536B,包含头部2E、帧同步头8B、尾部CRC的4B等;数据包的有效内容(不含头部)为45E = 1440B。头部2E = 64B,其中MAC头14B、IP头18B、TCP/UDP/ICMP头32B。 二层交换机是以存储转发为主设计,三层以上的交换机是以256位差分总线的时隙交换为主设计。我们知道SATA3.0的差分串行总线速度可达6GBPS,理论上256位的就可到1.5Tbps;或说是6GE/s。那么,传送最大48E的一个数据包,需时隙48E/6GE/S = 8ns;上级端口2个、下级端口48个,我们需要50个时隙做时分交换。在50个时隙的400ns时间里,有50个数据包做交换(读、写),理论上就可到达1.25亿个数据包/s的速度。
端口速度平均是30Gbps,在骨干网使用时、可以使端口数减少来提升速度,比如15个端口,那么端口速度就可达到100Gbps。使用增加总线数为512对有难度,另一种方法就是增加时钟频率,使差分串行总线速度达12GBPS;这样、速度就可快一倍;背板速度可到3000Gbps。嗯、画出来,和做出来是不一回事!要知道光的速度也就1ns走0.3米,必须把端口、总线都集成到一片IC才可能,让电子走的距离是微米级,这样、时钟同步、串-并转换等问题才能解决;还需有光-电、电-光转换电路。成本飞涨,这是专业钉子户的事情、本文不讨论。一、端口硬件设计 不用说,必定有端口接收电路:串到256位并的转换、最少48E的接收缓冲、数据包IP头1E的硬件判断和中断电路、256位差分总线接口、控制电路等。那同样有端口发射电路:256位并到串的转换、最少48E的发射缓冲、数据包IP头的目标和源反转电路和中断电路、256位差分总线接口、控制电路等。1、硬件判断和中断电路 每一个端口都有一个标志寄存器FLAG,低16位中的低8位是本端口号、高8位是需转发到的另一个端口号,高16位是标志;所有的标志都是硬件产生的。FLAG.29-24有一位标志置1、则产生中断信号;对于二层交换机、中断信号传给CPU(使用存储转发机制)BU32 FLAG; // 端口标志寄存器。FLAG.31 TLS; 1、为三层交换机,0、为二层交换机。
FLAG.30 FSP; 1、数据包从上级端口过来,0、数据包从下级端口过来。
FLAG.29 BTD; 如果数据包头EMAC.TYPE低11位长度值大于1536B、会置包太大标志FLAG.28 ICMPAPO; 高5位是协议标识,如果是0、那么ICMPAPO标志置位。FLAG.27 TTL0; 如果TTL-后为0,TTL0置1。FLAG.26 DTP; 丢弃包标志;1、会使端口接收硬件复位,重新检测下一个帧头。FLAG.25 TBE; 发送缓冲区空标志。FLAG.24 DPHE; 数据包已经进入接收缓冲区、并到达电梯口(高速数据总线可读了)。FLAG.23 DPBE; 数据包头2E已经进入接收缓冲区,且已经硬件检测到与另一个端口表的MAC地址符合;且TSOP = 0,另一个端口号在FLAG.15-8。FLAG.22 TSOP; 如果数据包EMAC.DLADD != 本节点链路地址,且FSP = 0;那么往上级端口转发标志TOSP置位;如果TOSP AND FSP = 1,那么丢弃包标志置位。FLAG.21 HTN; 如果TSOP = 0,是本网段的包且数据包的EMAC.MDA = 本节点MAC地址,那么、命中本节点标志HTN置位。如果HTN AND ICMPAPO = 1, 那么丢弃包标志置位。FLAG.20 MF; 分段标志,0是最后分段或没有分段。FLAG.19 SDI; 正在发送标志。
FLAG.18 RVI; 正在接收标志。FLAG.17-16 RATA; 接收发送速率:10M/100M/1G/10G bps。FLAG.15-8 LPORTN; 需要转发的另一个端口号。FLAG.7-0 PORTN; 端口号。0、1是上级端口,其它下级端口。
2、控制电路和差分总线接口 对于二层交换机,就是CPU如何对端口收发缓冲区的读、写。对于三层交换机、就是在硬件总线控制器的指示下,端口收发缓冲区对分配的时隙进行读、写。二、二层交换机的编程 三层交换机是硬件实现的,本文不讨论。存储转发机制才需要CPU来操控,其实、我们不需要复杂的操作系统,只是简单的中断程序实现。中断源除了50个端口外
原创力文档


文档评论(0)