技术理解
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
5.3?技术理解
进入正式介绍之前再多说两句如何快速理解技术的思路。搞网络的一般最头疼最不情愿的就是去读RFC等标准技术文档了,至少心底里有抵触。各种各样的报文、状态机、数据库、链表充斥于字里行间,再加上标准文档为了避免歧义,一句话能说清楚的也得分成三四句解释来解释去。也许是眼界不够开阔,反正我还真不认识能把草案标准当成小说看的牛人。
这里只是简单介绍一下协议入门的经验,如果想要深入甚至精通,那还得去一字一字的考究了,做学问来不得半点马虎。
学习一门技术前,首先要了解的是由何而来与从何而去,既技术产生的背景和应用的地方,这样对其要解决什么样的问题大致能有个印象。举例来说PBB是运营商城域以太网技术,运营商技术的特点就是组网规模大,节点众多,路径众多。而传统以太网只能使用STP避免环路,阻塞了一堆链路,这个在运营商里面也是不可想象的,那一条条链路都是钱啊。因此PBB肯定是要在避免环路的同时,能够增大以太网组网规模和将所有路径都利用起来的技术。
再来就是看技术的类型, Routed Protocol和Routing Protocol两个词很好的对技术组成部分进行了分类。这里的Route可以进行广义理解,不要只限于IP,作者倾向于将Routed解释成封装,Routing解释成寻址。任何一段数据信息从起点A发送到终点B的过程中,中间网络做的事情就是封装与寻址两件事。
由于中间网络只做传输,是不需要了解数据信息的,因此要封装一个可以识别的目的地址Tag,这个Tag可以理解为目的IP/目的MAC/MPLS标签等等,所有中间设备只要能识别这个Tag即可,这就是封装。
再说寻址,网络设备能够识别目的Tag后,还需要知道对应的本地出接口在哪才能将报文转发出去。最傻瓜的处理方式有两种,一个是通过手工配置的方式将Tag静态对应到本地出接口上(如静态路由、静态MAC等),再有就是在所有接口广播了(Ethernet)。高级的方式则是使用一种寻址用的动态协议,自动的进行邻居发现、拓扑计算和Tag传递等动作,如使用RIP/OSPF/BGP/ISIS/LDP/PIM/MSDP等等。这里需要注意的是传统Ethernet是通过广播来寻址的,注定规模不能太大。STP的唯一作用就是防止环路,通过拓扑计算将多余的路径阻塞掉,与寻址无关。而前面提到的那些寻址协议主要任务都是传递Tag计算转发路径,大部分协议会通过计算拓扑来防止环路,但也有如RIP这种不计算拓扑的协议,搞些水平分割、毒性逆转和最大跳数等机制来避免环路。
封装解封装技术是网络入口与出口节点在原始数据信息前将Tag进行加载剥离动作,寻址技术则是在网络节点之间运行的交互动作。在很多协议技术中提到的数据平面其实就是封装转发,而控制平面就是标识寻址。
图是不是很眼熟,大部分的网络协议够可以照着这个模型去套的。
对于IP来说,Sender和Receiver就是TCP协议栈,Edge就是IP协议栈,Core就是Router,Payload就是TCP数据,Tag就是IP头中的目的IP;
对于Ethernet来说,Sender和Receiver就是IP协议栈,Edge就是网卡接口,Core就是Switch,Payload就是IP数据,Tag即使Ethernet头中的目的MAC;
对于MPLS来说,Sender和Receiver就是CE,Edge就是PE,Core就是P;Payload就是Ethernet/IP数据,Tag就是MPLS标签;
甚至对于分布式结构机框交换机来说,Sender和Receiver就是接口板转发芯片,Edge就是接口板上的交换接口芯片,Core就是交换芯片,Payload就是Ethernet数据报文,Tag就是目的Slot ID和Port ID(交换芯片转发时只看Slot ID,目的接口板查看Port ID)。
传统的FC/IP/Ethernet技术体系上面已经玩不出来花了,现在新的技术大都是在FC/IP/Ethernet等数据载荷外面增加个新的Tag并设计一套对应的寻址协议机制(如MPLS和下文的FEX/ TRILL等),或者干脆就还使用原有的IP/MAC作为外层封装Tag,只对寻址进行变化。对于后者,作者喜欢称呼其为嫁接技术,神马MACinMAC,IPinIP,MACinIP等等都属于此列。此类技术的好处是兼容,缺点是继承,缝缝补补肯定没有全新设计来得自由。
封装比较好明白,协议理解的难点其实在于寻址。前面说了,静态寻址要手工一条条配置,规模大了能累死人。动态寻址技术配置工作量小了很多,但复杂度就上升了好几个台阶。不劳力就劳心,目前看来大家还是更喜欢劳心一些。回来说动态寻址,除了RIP这种早期的靠广播来传递路由Tag的寻址协议外,后面出来的都是先建邻接,后画拓扑,再传Tag的三步走了,从OSPF/BGP/ISIS到下面要讲到的TRILL/SPB/OTV皆是如此。对寻址技术主要内容简单归纳如下,细的就要看各协议具体实现了,希望有助于读者在学习寻址协议时能够少死些脑细胞。(文学素养有限,合辙押韵就算了吧)
建立邻居靠Hello(Advertise),拆除邻接等超时。各自为根绘周边,主根扩散画整网。Tag同步传更新,本地过期发删除。
技术理解部分就说这些,希望对读者认识新技术时能够有所帮助。下面开始进入技术主题。