云杰通信助您了解行业,全方位掌握国际互联网最新资讯
当IP作为无连接的协议时,转发的基础是IP数据报的目的地址。当IP作为面向连接的协议时,转发的基础是附加在IP数据报上的标记。
基于目的地址的转发
一种传统的方法,要求主机或路由器有一张路由表才能进行转发。当主机有分组要进行发送,或路由器收到分组要进行转发时,搜索路由表获取到达最后终点的路由。然而,这种方法因为路由表的表项数量过多导致路由表的查找效率非常低。
下面描述一些转发技术:
1.下一跳方法:可以减少路由表的内容。路由表中只保留下一跳的地址,而不是保留完整路由的信息;
2.特定网络方法:路由表不是对连接在同一个物理网络上的每一台主机都设置一个表项,而只用一个表项来定义目的网络本身的地址。换言之,连接在同一个网络上的所有主机看成是一个表项;
3.默认方法:主机的路由表不必把整个因特网所有的网络列出来,使用一个默认表项;
4.无子网划分的转发:使用分类编址时,全球因特网中的绝大多数路由器没有涉及到子网划分,子网划分是在一个组织内部进行的。
这样情况下,典型的转发模块使用三张表,每个单播类别A、B、C对应一张表。如果路由器支持多播,需要增加一张处理D类地址的表。每张路由表至少包括三列:目的网络的网络地址、下一跳地址和接口号。
MPLS详细转发过程如所示:
1.当IP报文进入MPLS域时,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0。
2.如果Tunnel ID值为0x0,则进入正常的IP转发流程。 如果Tunnel ID值不为0x0,则进入MPLS转发流程。
3.在MPLS转发过程中,FIB、ILM和NHLFE表项是通过Tunnel ID关联的。
4.Ingress的处理:通过查询FIB表和NHLFE表指导报文的转发。 查看FIB表,根据目的IP地址找到对应的Tunnel ID。 根据FIB表的Tunnel ID找到对应的NHLFE表项,将FIB表项和NHLFE表项关联起来。 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。 在IP报文中压入出标签,并根据QoS策略处理EXP,同时处理TTL,然后将封装好的MPLS报文发送给下一跳。
5.Transit的处理:通过查询ILM表和NHLFE表指导MPLS报文的转发。
根据MPLS的标签值查看对应的ILM表,可以得到Tunnel ID。
根据ILM表的Tunnel ID找到对应的NHLFE表项。 查看NHLFE表项,可以得到出接口、下一跳、出标签和标签操作类型。 MPLS报文的处理方式根据不同的标签值而不同。 如果标签值>=16,则用新标签替换MPLS报文中的旧标签,同时处理EXP和TTL,然后将替换完标签的MPLS报文发送给下一跳。 如果标签值为3,则直接弹出标签,同时处理EXP和TTL,然后进行IP转发或下一层标签转发。 Egress的处理:通过查询ILM表指导MPLS报文的转发或查询路由表指导IP报文转发。 如果Egress收到IP报文,则查看路由表,进行IP转发。 如果Egress收到MPLS报文,则查看ILM表获得标签操作类型,同时处理EXP和TTL。 如果标签中的栈底标识S=1,表明该标签是栈底标签,直接进行IP转发。 如果标签中的栈底标识S=0,表明还有下一层标签,继续进行下一层标签转发。
文章标题:《IP转发与MPLS转发过程》
作 者:云杰小编。本文部分资料来源于网络,转载目的在于传递更多信息及学习参考:https://www.gdyunjie.cn/showinfo-114-2573-0.html