TRILL原理

.TRILL原理

TRILL原理

 

假设一个数据包要从A口传像B口:

(1)     (1) A的网卡端口首先给数据打公网MAC,然后向C发送。这时数据包的格式是:

 

 

(2)     (2)C收到这个数据包之后,学习源的MAC地址,填MAC表,然后给数据包打上公网VLAN tagRILL与传统二层无差异。在CMAC表中查找des MAC,发现MAC表中对应的下一跳是一个nicknamemac地址表如下图)。这个nickname实际上是Dnickname。这时C会为这个数据包再封装一个trill报头,记录源nickname(即C的)和目的nickname(即D的),这时报文格式是:

TRILL原理

 

 

 

 

(3)       (3)C开始查它的trill转发表(下图),发现他去往目的nickname一共有4条路,对应的interface就是他们的下一跳出口,这时,C会根据这个出口为数据包封装私网的MAC头和vlan头,这时报文格式是:

这也是报文在TRILL域内传输时的格式。

TRILL原理

 

 

 

(4)       (4)报文在trill域内的传递过程类似,不过是反复的使用des nickname寻路,然后每一条重新封装私网macvlan

 

 

(5)       (5)这时,数据包到达设备DD发现报文的des nickname就是它自己,就会剥掉报文的前3个头,直接拿公网mac查自己的mac地址表,然后把报文扔到相应的出口,这时,报文走出trill域,恢复成传统二层报文,它的下一条就是目的地B

.TRILL的优势

TRILLL2相比的优势:不需要使用STP防止环路,提高了链路利用率

TRILLL3相比的优势:支持虚拟机迁移,另经试验验证,L3相比,TRILL的转发效率没有提高,甚至略低。具体验证试验如下:

对比组1TRILL

TRILL原理

 

         如上图,在port A线速打入源/目的MAC地址线速变化的测试流量,变化范围为500流量中包长分别为6412825651210241518字节,记录流量转发情况和时延。

测试结果如下:

 

 

 

 

 

 

 

 

 

 

对比组2:传统L3

TRILL原理

 

         如上图,如上图,在port A线速打入源/目的IP地址线速变化的测试流量,变化范围为500流量中二层包长分别为6412825651210241518字节,记录流量转发情况和时延。

测试结果如下:

 

(测试结果贴图不全,有一些在实验机房里没拷出来,相关结果贴图周一补上)

 

通过观察,在同样的实验条件下,TRILL方式与L3方式的延时(Latency)十分接近。

通过讨论,我们觉得L3TRILL在转发过程中的工作量差不多,具体对比如下:

 

TRILL

L3

STEP1

MAC address表,找对端MAC

ip route table,找对端IP

STEP2

trill fib表,找对应转发组,选择合适的转发组进行转发

比较各路径cost并结合ECMP选择合适下一跳进行转发

你可能感兴趣的:(原理)