Tag: SRv6技术研究和组网设计

  • SRv6技术研究和组网设计

    SRv6技术研究和组网设计

    一、SRv6技术简介 SRv6全称为Segment Routing IPv6,是当下最为热门的Segment Routing和IPv6两种网络技术的结合体,兼有前者的灵活选路能力和后者的亲和力,以及SRv6特有的设备级可编程能力,使其成为IPv6网络时代最有前景的组网技术。 IPv6大家都很熟悉,是取代IPv4的下一代网络协议,那Segment究竟是何物?可以把SRv6网络想象成一台分布式“计算机”,Segment列表好比程序,Segment就是指令,兼有寻址和行为能力。我们可以将用户意图翻译成Segment列表,并附在数据报文中,输入SRv6网络“计算机”,然后依次在不同的节点上执行Segment指令,比如切换到下一个Segment、压入或弹出Segment列表、关联L2/L3 VPN等,从而实现基本选路、VPN、OAM、Service Chaining、APN6(App-aware IPv6 Networking)等不同层面的功能。 在SDN组网中,由控制器负责编排和下发Segment列表,实现智能选路的目的。随着SRv6技术和协议的完善,网络设备编程能力的提高,有望通过SDN+SRv6定义一切网络功能,引领我们迈入智能网络世界。 二、SRv6编程框架 (一)SRv6 SID SRv6中通过SID(Segment ID)标识每个Segment,SID是一种特殊的IPv6地址,既有普通IPv6地址的路由能力,又有SRv6特有的行为能力。 每个SRv6节点都会维护一张SID表(实际上是路由表的一部分),由许多128bit的SID组成,SID标准格式为Locator+Function(Args),如下所示: Locator,标识SRv6节点的定位器,每个节点起码有一个全局唯一的Locator值,作为本地SID的共享前缀,其他节点通过Locator路由访问本节点SID。 Function(Args),标识SRv6节点内不同的行为,比如END、END.X等,少数行为还需要传递Args参数。 SRv6节点收到IPv6报文之后,会根据IPv6 DA(Destination Adddress)查找全局路由表,如果匹配到某个SID,则交由SID定义的行为或Behavior处理,否则执行常规的路由转发动作。 (二)SRv6 Policy SRv6 Policy是一种将用户意图(SLA、服务链)翻译成网络策略的机制,内核为Segment列表。网络节点和终端设备都可以按需发起或者由控制器下发SRv6 Policy,中间节点无需维护任何状态,因此SRv6 Policy适用于任意规模的网络互联和终端通讯场景。 SRv6 Policy由多个Candidate Path(简称CP)构成,其中有一个为Active CP,决定整个SRv6 Policy的行为和状态,基本格式如下: Java 1 2 3 4 5 6 <headend, color, endpoint> Candidate-path CP1 <protocol-origin, originator, discriminator> B-SID Preference 200 Weight W1, SID-List1 <SID11…SID1i>…