《《IP转发超实用》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《IP转发超实用》PPT课件.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、IPIP转发转发技术基础与实现技术基础与实现平台转发组2004.061TCP/IP基础知识基础知识交换机、路由器工作原理交换机、路由器工作原理转发基础知识转发基础知识转发流程介绍转发流程介绍路由器快速转发介绍路由器快速转发介绍2什么是TCP/IPTCP/IP是Internet的核心技术TCP/IP是一个协议族链路层协议网络层协议传输层协议应用层协议 3FTPTELNETRIP2TFTPSocketTCPUDPIP/IPXEthernetVLANPPPPPPOEPPPOAFRX.25HDLCATMPOSDDRModemPHY.什么是TCP/IPTCP/IP协议栈4 什么是TCP/IPIP协议提供
2、了一种全球统一的编址方式,屏蔽了物理 网络地址的差异,使路由查找成为可能。IP协议提供了一种全球统一的报文格式,屏蔽了网络链路层差异,使网络互联成为可能。网间网在底层网络技术与高层应用间增加一个中间层,抽象屏蔽硬件细节,实现网间网。IP是是TCP/IP的核心协议:的核心协议:5IPIP编址编址 6IPIP编址编址 IP地址类型:7网络部分主机部分地址类型用 途127any全“0”全“1”Any全“0”Any全“1”网络地址代表一个网段广播地址特定网段的所有节点环回地址环回测试广播地址本网段所有节点所有网络华为Quidway路由器用于指定默认路由IPIP编址编址 特殊特殊特殊特殊IPIP地址:地
3、址:地址:地址:8无子网编址无子网编址是指使用自然掩码,不对网段进行细分。比如B类网段172.16.0.0,采用255.255.0.0作为掩码。IPIP编址编址 9带子网编址B类网段172.16.0.0172.16.8.1/24172.16.4.1/24IPIP编址编址 10201.222.5.0255.255.255.0201.222.5.8255.255.255.248201.222.5.16255.255.255.248201.222.5.24255.255.255.248201.222.5.32255.255.255.248201.222.5.9255.255.255.248201.2
4、22.5.17255.255.255.248201.222.5.25255.255.255.248201.222.5.33255.255.255.248IPIP编址编址 子网规划子网规划子网规划子网规划子网规划子网规划:11无类域间路由(无类域间路由(CIDR)减少了路由表的规模,增了网络的可扩展性减少了路由表的规模,增了网络的可扩展性Internet198.168.1.0198.168.2.0198.168.3.0ISP通告路由198.168.0.0/16IPIP编址编址 12IPIP报文格式报文格式 13IPIP报文传输报文传输 14IPIP协议特点协议特点 15IPIP协议特点协议特点
5、16TCP/IP基础知识基础知识交换机、路由器工作原理交换机、路由器工作原理转发基础知识转发基础知识转发流程介绍转发流程介绍路由器快速转发介绍路由器快速转发介绍17网络设备分类网络设备分类网络设备分类网络设备分类10.110.10.12/2410.110.10.1/2410.110.20.1/2410.110.20.1/2410.110.10.11/24ABCR二层设备二层设备三层设备三层设备18二层交换机工作原理二层交换机工作原理二层交换机工作原理二层交换机工作原理常常常常用用用用的的的的两两两两种种种种局局局局域域域域网网网网帧帧帧帧格格格格式式式式:19二层交换机工作原理二层交换机工作原
6、理二层交换机工作原理二层交换机工作原理MACMAC地址分类:地址分类:地址分类:地址分类:广播MAC地址:ff-ff-ff-ff-ff-ff,与广播ip地址对应组播MAC地址:01-xx-xx-xx-xx-xx,与组播ip地址对应首字节必须是01;IANA拥有的以太网地址块高24 bit为00:00:5e,IANA将其中一半地址分配为组播地址,这意味着与I P多播相对应的以太网地址范围从01:00:5e:00:00:00到01:0 0:5e:7f:ff:ff;通过将组播IP中低23 bit映射到MAC地址中的低23 bit,实现由组播IP到组播MAC的映射。单播MAC地址:除上述两类地址之外的
7、其它mac地址,与单播ip地址一一对应,对应关系由arp协议建立。20二层交换机工作原理二层交换机工作原理二层交换机工作原理二层交换机工作原理组播组播IP与组播与组播MAC映射关系:映射关系:21二层交换机工作原理二层交换机工作原理二层交换机工作原理二层交换机工作原理二层交换引擎:二层交换引擎:二层交换引擎:二层交换引擎:22二层交换机工作原理二层交换机工作原理二层交换机工作原理二层交换机工作原理23二层交换机工作原理二层交换机工作原理二层交换机工作原理二层交换机工作原理24三层交换机工作原理三层交换机工作原理三层交换机工作原理三层交换机工作原理三层交换机的引入:三层交换机的引入:三层交换机的
8、引入:三层交换机的引入:网络流量模式的变化:本地流量/跨网段流量对比关系由80/20 20/80,需要高效的三层设备来传递日益增加的跨网段流量。路由器能解决上述问题,但性价比不好:需要用户额外的投资;一般路由器采用软件转发,转发效率较交换机的硬件转发低。基于上述背景,引入了三层交换机的概念。25三层交换机工作原理三层交换机工作原理三层交换机工作原理三层交换机工作原理26三层交换机工作原理三层交换机工作原理三层交换机工作原理三层交换机工作原理27三层交换机工作原理三层交换机工作原理三层交换机工作原理三层交换机工作原理28三层交换机工作原理三层交换机工作原理三层交换机工作原理三层交换机工作原理29
9、路由器工作原理路由器工作原理路由器工作原理路由器工作原理路由是指导路由是指导IP报文发送的路径信息。报文发送的路径信息。(N,R1,M)R1目标网络目标网络N其它网其它网络络什么是路由?什么是路由?什么是路由?什么是路由?30路由器工作原理路由器工作原理路由器工作原理路由器工作原理实现网络互连分组数据转发路由(寻径):路由表建立、刷新、查找子网间的速率适配隔离网络,防止网络风暴,指定访问规则(防火墙)异种网络互连路由器的作用:路由器的作用:路由器的作用:路由器的作用:31路由器工作原理路由器工作原理路由器工作原理路由器工作原理路由器的选路机制:最长匹配路由器的选路机制:最长匹配路由器的选路机制
10、:最长匹配路由器的选路机制:最长匹配1.优先查找主机路由,即目的地为主机的路由,掩码长度为32bit,进行的是精确匹配;2.其次查找网段路由,即目的地为子网的路由。当有多条匹配网段路由时,进行最长匹配,即选择网段最小(掩码最长)的路由;3.最后查找缺省路由,缺省路由掩码长度为0,是为限制路由表规模过于庞大而设,凡遇到查找路由失败的报文,就选择缺省路由转发;4.若查找路由失败,并且未配置缺省路由,则丢弃报文。32路由器工作原理路由器工作原理路由器工作原理路由器工作原理33路由器、交换机对比路由器、交换机对比路由器、交换机对比路由器、交换机对比34TCP/IP基础知识基础知识交换机、路由器工作原理
11、交换机、路由器工作原理转发基础知识转发基础知识转发流程介绍转发流程介绍路由器快速转发介绍路由器快速转发介绍35转发在转发在转发在转发在VRP3VRP3VRP3VRP3中的位置中的位置中的位置中的位置 36转发表和路由表转发表和路由表转发表和路由表转发表和路由表转发表:转发表:把路由表中最好的路由挑出来把路由表中最好的路由挑出来路由管理路由协议IP路由表转发表37转发表和路由表转发表和路由表转发表和路由表转发表和路由表3640disp cur#interface Ethernet0/0 ip address 169.254.36.40 255.255.0.0#interface LoopBack
12、1 ip address 1.1.1.1 255.255.255.255#ip route-static 169.254.0.0 255.255.0.0 LoopBack 1 preference 60#3640Eth0/0口的IP配置会加入一条169.254.0.0/16路由,为直连路由,优先级为0;假设同时再配置一条去该网段的静态路由,静态路由优先级为60;由于直连路由优于静态路由,RM仅将直连路由刷到转发表中。38转发表和路由表转发表和路由表转发表和路由表转发表和路由表3640 disp ip routing-table verbose。*Destination:169.254.0.0
13、Mask:255.255.0.0 Protocol:#DIRECT Preference:0 *NextHop:169.254.36.40 Interface:169.254.36.40(Ethernet0/0)State:Age:18:14:59 Cost:0/0 Protocol:STATIC Preference:60 *NextHop:1.1.1.1 Interface:1.1.1.1(LoopBack1)State:Age:28 Cost:0/03640路由表中同时存在直连和静态两条路由39转发表和路由表转发表和路由表转发表和路由表转发表和路由表3640dis fibDestinat
14、ion/Mask Nexthop Flag TimeStamp Interface1.1.1.1/32 127.0.0.1 GHU t0 InLoopBack0169.254.36.40/32 127.0.0.1 GHU t0 InLoopBack0169.254.0.0/16 169.254.36.40 U t0 Ethernet0/0127.0.0.0/8 127.0.0.1 U t0 InLoopBack0转发表中去往169.254.0.0/16只有直连路由40转发表的结构转发表的结构转发表的结构转发表的结构设计思想:设计思想:1.摒弃了传统的radix树的组织结构,采用静态数组的组织形
15、式;2.采用四级HASH的查表方式:将IP地址的32 bit划分为20+4+4+4共四级,一级一级往下查,直到查到或查找失败为止。3.牺牲内存换效率;第一级HASH表项是系统启动时就分配好的静态数组,一共有(2 20=1M)项,每一项保存的是一指针的长度4字节,即系统启动时转发表初始化就会占用掉4M的内存空间。4.利用正负值表示不同的含义:若HASH表中记录的值0,表示该节点只存在一条表项,不存在冲突的情况,记录的内容就是相应的路由项(ROUTENODE_S结构);若HASH表中记录的值=0,表示不存在相应的路由项,查找失败;若HASH表中记录的值 0),可以直接使用4中的表示方法。对于RTL
16、INUX,其普通指针大于2G(高位置1,即 1与否,是则减1,否则丢弃报文,并回应超时ICMP消息。8.确定下一跳确定下一跳:若查找到网关路由,则以其网关地址作为报文转发的下一跳,否则,以报文的目的地址为下一跳,将下一跳地址记录至MBUF相应结构中,后续出接口发送需使用。9.重定向处理:重定向处理:查找到的路由出接口就是报文的入接口,需发送重定向ICMP消息。10.填充出接口信息填充出接口信息:记录出接口索引、邻接表索引至MBUF,后续出接口发送时需使用这些信息。68指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(IP_IF_OutputIP_I
17、F_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_Output)IP_IF_Output()是在已确定报文出接口时调用的发送函数;本函数在下面两种情况下调用:对于转发的报文,在查完转发表之后;对于本机出去的报文,在查完转发表之后调用。此函数参数唯一,为MBUF 在本函数中,针对上层业务的处理,与接收流程中处理是相对应的。69指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(IP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_I
18、F_Output)start1.取出接口7.出方向PF2.参数合法性检查4.广播报文处理8.出方向ASPF9.TCP MSS12 分片11.IPSec出处理13.调用QOS_Output_Processend3.本地报文填充源IP5.组播报文处理6.NETSTREAM出统计10 NAT出处理70指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(指定出接口发送(IP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_Output)2.合法性检查合法性检查:检查出接口是否合法,出接口IP控制块
19、是否合法,以及IP报文头的检查(目前仅处理对于需分片的报文却设置了DF标记位的情况)。3.本地报文源本地报文源IP处理处理:对于本机出去的报文,此前的流程中源IP可能还未填,需要选择合适的本地地址填入。选择的原则:根据下一跳地址下一跳地址(不一定是报文目的IP),在出接口所有地址中选择与其最匹配的地址。下一跳地址记录在mbuf中,是在查转发表后记录的,对于网关路由,记录的是其网关地址,其它情况就是报文的目的IP。4.广播报文处理广播报文处理:对于输出接口的广播报文,若非本地产生,回送本机一份。5.组播报文处理组播报文处理:策略路由、组播边界处理等。71指定出接口发送(指定出接口发送(指定出接口
20、发送(指定出接口发送(指定出接口发送(指定出接口发送(IP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_OutputIP_IF_Output)9.TCP MSS处理处理:MSS(maximum segment size)是TCP的可选选项,只出现在SYN报文中,用于TCP连接双方在建立连接时协商最大传输数据块的大小(不包含IP头和TCP头的长度);我们的设备支持在接口上人为指定MSS的值,这样,对于穿过我们设备的TCP连接,可以根据配置的MSS值调整TCP报文中的MSS选项内容。10.NAT转换处理转换处理:和入方向处理类似,出方向上是
21、针对报文的源IP和源端口号进行转换。13.QOS_Output_Process:根据接口上的QoS配置,进行相应的流量监管或流量整形处理,主要包括CAR和GTS。需要说明的是,协议报文(TOS=192,即优先级为6)不在处理的范围之内;调用链路层发送函数if_pfOutput完成发送。72IPIPIPIP的上送处理的上送处理的上送处理的上送处理(IP_DeliverToUpIP_DeliverToUpIP_DeliverToUpIP_DeliverToUp)协议开关表协议开关表:系统初始化时,系统初始化时,TCP/UDP/RAWIPTCP/UDP/RAWIP等等4 4层协议注册的回调层协议注册
22、的回调函数数组,可以按函数数组,可以按照协议号调用不同照协议号调用不同的回调函数。的回调函数。73本机发送报文处理(本机发送报文处理(本机发送报文处理(本机发送报文处理(IP_OutputIP_OutputIP_OutputIP_Output)start5.查转发表1.插入选项3.组播处理8.确定下一跳9.调用IP_IF_Outputend2.填充IP头4.前策略路由处理6.后策略路由处理7.填充出接口74本机发送报文处理(本机发送报文处理(本机发送报文处理(本机发送报文处理(IP_OutputIP_OutputIP_OutputIP_Output)1.选项处理选项处理:调用者传入了有效的IP
23、选项参数时,需进行选项插入处理,如ICMP的一些差错消息。4.前策略路由前策略路由:6.后策略路由:后策略路由:两者都是指本地策略路由,具体的处理原则与接口策略路由相同。75TCP/IP基础知识基础知识交换机、路由器工作原理交换机、路由器工作原理转发基础知识转发基础知识转发流程介绍转发流程介绍路由器快速转发介绍路由器快速转发介绍76路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍快转提出的背景:快转提出的背景:中低端路由器采用的是纯软件转发,转发效率的高低直接影响产品的市场占有率;原有的转发模式(接收入队队列调度出队处理发送)效率低。全流程中,底层的收发处理能力是有保证
24、的,瓶颈是在上层的处理效率上。队列调度和上层的业务处理效率较低制约了整机效率。如何提升上层的如何提升上层的处理效率?处理效率?快转的可行性:快转的可行性:网络中流量可以细分多条相对稳定的数据流,对每一条流而言,其报文具有一些共性特征,如源目的IP、源目的端口号、协议号等都完全相同。此外,一般而言,同一条流的报文在通过路由器时所作的动作也相同(为什么为什么?),每包都去作完全相同的处理会存在效率上的浪费。如果能将每条流的特征信息与所需作的动作关联起来,就能提升上层的处理效率;至于队列调度效率差的问题,只要上层的处理效率得到改善,完全可以通过不入队而直接处理的方式来避免。77路由器快速转发介绍路由
25、器快速转发介绍路由器快速转发介绍路由器快速转发介绍快转的设计思想:快转的设计思想:1.总体思路:采用类似交换机的“一次路由,多次交换”思想,对同一条流的报文,首包走普通转发,触发建立快转cache,后续报文走快转,利用快转cache直接转发。2.如何标识一条流:采用五元组:源IP、目的IP、源端口号、目的端口号、协议号3.快转cache需要记录的内容:数据流标识信息,即上述的五元组,用于报文匹配;报文的入接口,用于报文匹配时作校验;报文的出接口,确定数据流最终的流向;报文从出接口发送时的链路层封装(包括长度和内容),节省了数据发送时链路层的封装过程(如以太网的arp解析过程);动作标识,记录了
26、在报文命中快转cache后需作哪些业务的处理;上层业务相关信息,如作NAT处理时使用的NAT HASH项。78路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍普通转发普通转发/快速转发对比:快速转发对比:网络层链路层物理层网络层链路层物理层普通转发普通转发快速转发快速转发79路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍入接口支持快转?查快转表成功入口链路层收包,解析去封装根据快转cache进行转发end清MBUF快转标识报文入IP队列出接口支持快转,且快转标识有效添加快转cache置位MBUF中快转标识解析IP报文生成cache key调用Q
27、oS的Transmit函数发送普通转发,记录业务相关信息至cache出接口链路层封装YNYYNN80路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍快转的细节问题:快转的细节问题:0.快转只对穿过路由器的流量有效,本地发起或终结的流量不会进行快转;1.只支持IP报文的快转,其它网络层协议不支持;2.并不是所有链路层协议都支持快转,目前支持的有:Ethernet、PPP、HDLC、FR、ATM;3.支持快转的接口,也可以通过关闭接口上的快转开关来禁止快转;4.只有当报文流的入接口、出接口同时支持快转时,才会建立快转cache,并进行快转;5.支持快转的业务:NAT、GRE
28、、包过滤、ASPF、NETSTREAM、QoS、IPSec(通过加密卡硬件实现)、MPLS;6.快转支持分片报文。首片包含五元组信息,会触发建立快转cache,同时建立“分片ID-快转cache”的对应关系。后续分片虽然不包含完整的5元组信息,仍可通过分片ID查找到相应的cache进行快转;7.快转cache自身没有老化机制,但其它外因会触发快转cache的删除,如:接口down、路由down、arp更新、NAT hash项老化、更改acl配置等等。81路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍路由器快速转发介绍快转示例:快转示例:RouterPC1PC2Eth0/0Eth0/11
29、69.254.10.110009.6B84.63DD169.254.36.4000e0.fc06.3013172.10.36.4000e0.fc06.3014172.10.0.100e0.fc0a.b6dbPC1和PC2的网关分别设置为路由器eth0/0、eth0/1口地址,从pc1 PING pc2,在路由器上会建立如下的快转cache:3640display ip fast-forwarding cacheFast-Forwarding cache:total 2 items Index SIP SPort DIP DPort Pro Input_If Output_If Flg 154:0 172.10.0.1 0 169.254.10.11 0 1 Eth0/1 Eth0/0 7 603:0 169.254.10.11 8 172.10.0.1 0 1 Eth0/0 Eth0/1 71.ICMP报文没有端口号,是以type/code分别模拟源/目的端口号;2.两表项都有链路层头信息未列出,如第二条表项中还包含下列内容:贴头长度=14,贴头内容=00 e0 fc 0a b6 db 00 e0 fc 06 30 14 08 00 PC2的MAC 路由器eth0/1口MAC IP报文8283
限制150内