最近测试了SRv6,顺便记录下, SRv6具体是什么?对比我们平常的MPLS VPN的网络,数据转发采用的MPLS标签, 那MPLS标签常见的可以是LDP或者SR分配的; SRv6使用的IPv6的报头进行转发,在IPv6 Header 中新增SRH(Segment Routing Header)用来记录128bit IPv6地址格式的SRv6 SID(segment ID)如下图所示:
SRv6 Segment
Locator
128Bit的IPv6 SID由两部分组成, 其中前64bit 为Locator。
Locator 的前40Bit 必须在SRv6 domain中一致;余下的24bit 为node-id, 用于表示node,不能为0且SRv6域内node-id 不能一致。
1 2 3 4 5  | segment-routing srv6  locators   locator r7    prefix 2002:0:0:7::/64   <<<<< | 
Function
简单记录下Function的一些类别:

1 2 3 4 5 6 7 8 9 10 11 12  | RP/0/RP0/CPU0:r1#show segment-routing srv6 sid Wed Apr 21 04:36:25.814 UTC*** Locator: 'MAIN' *** SID                         Behavior          Context                           Owner               State  RW--------------------------  ----------------  ------------------------------    ------------------  -----  --fcbb:bb00:1::               uN (PSP/USD)      'default':1                       sidmgr              InUse  Y fcbb:bb00:1:e000::          uA (PSP/USD)      [Gi0/0/0/0, Link-Local]:0         isis-1              InUse  Y fcbb:bb00:1:e001::          uA (PSP/USD)      [Gi0/0/0/1, Link-Local]:0         isis-1              InUse  Y fcbb:bb00:1:e002::          uDT4              '1'                               bgp-1               InUse  Y fcbb:bb00:1:e003::          uDT6              '1'                               bgp-1               InUse  Y  | 
Topo

Configuration
Locator
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | //R1RP/0/RP0/CPU0:r1#show run segment-routing Wed Apr 21 04:51:26.026 UTCsegment-routing srv6  encapsulation   source-address 2001::1  !  locators   locator MAIN    micro-segment behavior unode psp-usd    prefix fcbb:bb00:1::/48   !  ! !! | 
ISIS
控制层面ISIS的意义在于将Locator通告出去。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | RP/0/RP0/CPU0:r1#show run router isis Wed Apr 21 04:52:23.675 UTCrouter isis 1 is-type level-2-only net 49.0000.0000.0001.00 address-family ipv6 unicast  metric-style wide  segment-routing srv6    <<<<   locator MAIN           <<<<   !  ! ! interface Loopback0  address-family ipv6 unicast  ! ! interface GigabitEthernet0/0/0/0  point-to-point  address-family ipv6 unicast  ! ! interface GigabitEthernet0/0/0/1  point-to-point  address-family ipv6 unicast  ! !! | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26  | RP/0/RP0/CPU0:r1#show route ipv6 isis    Wed Apr 21 04:47:31.557 UTCi L2 2001::2/128      [115/20] via fe80::250:56ff:feaa:71fd, 6d11h, GigabitEthernet0/0/0/0i L2 2001::3/128      [115/30] via fe80::250:56ff:feaa:71fd, 6d11h, GigabitEthernet0/0/0/0i L2 2001::4/128      [115/30] via fe80::250:56ff:feaa:6632, 6d11h, GigabitEthernet0/0/0/1i L2 2001::5/128      [115/20] via fe80::250:56ff:feaa:6632, 6d11h, GigabitEthernet0/0/0/1i L2 2001:0:0:23::/64      [115/20] via fe80::250:56ff:feaa:71fd, 6d11h, GigabitEthernet0/0/0/0i L2 2001:0:0:34::/64      [115/30] via fe80::250:56ff:feaa:6632, 6d11h, GigabitEthernet0/0/0/1      [115/30] via fe80::250:56ff:feaa:71fd, 6d11h, GigabitEthernet0/0/0/0i L2 2001:0:0:45::/64      [115/20] via fe80::250:56ff:feaa:6632, 6d11h, GigabitEthernet0/0/0/1i L2 fcbb:bb00:2::/48      [115/11] via fe80::250:56ff:feaa:71fd, 6d11h, GigabitEthernet0/0/0/0i L2 fcbb:bb00:3::/48      [115/21] via fe80::250:56ff:feaa:71fd, 6d11h, GigabitEthernet0/0/0/0i L2 fcbb:bb00:4::/48      [115/21] via fe80::250:56ff:feaa:6632, 6d11h, GigabitEthernet0/0/0/1i L2 fcbb:bb00:5::/48      [115/11] via fe80::250:56ff:feaa:6632, 6d11h, GigabitEthernet0/0/0/1 | 
BGP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  | RP/0/RP0/CPU0:r1#show run router bgp Wed Apr 21 04:54:58.113 UTCrouter bgp 1 bgp router-id 1.1.1.1 address-family vpnv4 unicast ! address-family vpnv6 unicast ! neighbor 2001::3  remote-as 1  update-source Loopback0  address-family vpnv4 unicast  !  address-family vpnv6 unicast  ! ! vrf 1  rd 1:1  address-family ipv4 unicast     <<<< SRv6 IPv4 L3VPN service , support from XR 6.6.x   segment-routing srv6    locator MAIN    alloc mode per-vrf   !   redistribute connected  !  address-family ipv6 unicast      <<<<< SRv6 IPv6 L3VPN service , support from XR 7.3.1   segment-routing srv6    locator MAIN    alloc mode per-vrf   !   redistribute connected  !  neighbor 10.1.6.6   remote-as 6   address-family ipv4 unicast    route-policy PASS in    route-policy PASS out   !  ! !! | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | RP/0/RP0/CPU0:r1#show cef vrf  1 7.7.7.7/32 detail Wed Apr 21 05:18:48.299 UTC7.7.7.7/32, version 24, SRv6 Headend, internal 0x5000001 0x30 (ptr 0xd3ab658) [1], 0x0 (0xe607840), 0x0 (0xf636408) Updated Apr 14 17:20:16.295 Prefix Len 32, traffic index 0, precedence n/a, priority 3  gateway array (0xf7740a8) reference count 2, flags 0x10, source rib (7), 0 backups                [3 type 3 flags 0x8441 (0xe522968) ext 0x0 (0x0)]  LW-LDI[type=3, refc=1, ptr=0xe607840, sh-ldi=0xe522968]  gateway array update type-time 1 Apr 14 17:20:16.295 LDI Update time Apr 14 17:20:16.367 LW-LDI-TS Apr 14 17:20:16.367  Level 1 - Load distribution: 0  [0] via fcbb:bb00:3::/128, recursive   via fcbb:bb00:3::/128, 5 dependencies, recursive [flags 0x6000]    path-idx 0 NHID 0x0 [0xe20b890 0x0]    next hop VRF - 'default', table - 0xe0800000    next hop fcbb:bb00:3::/128 via fcbb:bb00:3::/48    SRv6 H.Encaps.Red SID-list {fcbb:bb00:3:e002::}    Load distribution: 0 (refcount 3)    Hash  OK  Interface                 Address    0     Y   GigabitEthernet0/0/0/0    remote         RP/0/RP0/CPU0:r1# | 
1 2 3 4 5 6 7 8 9 10 11 12 13  | RP/0/RP0/CPU0:r3#show segment-routing srv6 sid   <<<< R3  sid allocateWed Apr 21 05:25:05.037 UTC*** Locator: 'MAIN' *** SID                         Behavior          Context                           Owner               State  RW--------------------------  ----------------  ------------------------------    ------------------  -----  --fcbb:bb00:3::               uN (PSP/USD)      'default':3                       sidmgr              InUse  Y fcbb:bb00:3:e000::          uA (PSP/USD)      [Gi0/0/0/0, Link-Local]:0         isis-1              InUse  Y fcbb:bb00:3:e001::          uA (PSP/USD)      [Gi0/0/0/1, Link-Local]:0         isis-1              InUse  Y fcbb:bb00:3:e002::          uDT4              '1'                               bgp-1               InUse  Y fcbb:bb00:3:e003::          uDT6              '1'                               bgp-1               InUse  Y RP/0/RP0/CPU0:r3# | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  | RP/0/RP0/CPU0:r1#show bgp  vrf 1 ipv4 unicast  7.7.7.7/32 detail Wed Apr 21 05:25:46.271 UTCBGP routing table entry for 7.7.7.7/32, Route Distinguisher: 1:1Versions:  Process           bRIB/RIB  SendTblVer  Speaker                 27          27    Flags: 0x00041001+0x00000000; Last Modified: Apr 14 17:20:16.575 for 6d12hPaths: (1 available, best #1)  Advertised to CE peers (in unique update groups):    10.1.6.6          Path #1: Received by speaker 0  Flags: 0x2000000085060005, import: 0x9f  Advertised to CE peers (in unique update groups):    10.1.6.6          7    2001::3 (metric 30) from 2001::3 (3.3.3.3), if-handle 0x00000000      Received Label 0xe00200      Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported      Received Path ID 0, Local Path ID 1, version 27      Extended community: RT:1:1       PSID-Type:L3, SubTLV Count:1, R:0x00,       SubTLV:        T:1(Sid information), Sid:fcbb:bb00:3::, F:0x00, R2:0x00, Behavior:63, R3:0x00, SS-TLV Count:1         SubSubTLV:          T:1(Sid structure):           Length [Loc-blk,Loc-node,Func,Arg]:[32,16,16,0], Tpose-len:16, Tpose-offset:48      Source AFI: VPNv4 Unicast, Source VRF: 1, Source Route Distinguisher: 1:1RP/0/RP0/CPU0:r1# | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | RP/0/RP0/CPU0:r1#show bgp  vrf 1 ipv6 unicast 3333::1/128  detail Wed Apr 21 05:26:33.662 UTCBGP routing table entry for 3333::1/128, Route Distinguisher: 1:1Versions:  Process           bRIB/RIB  SendTblVer  Speaker                  8           8    Flags: 0x00041001+0x00000000; Last Modified: Apr 14 17:24:01.575 for 6d12hPaths: (1 available, best #1)  Not advertised to any peer  Path #1: Received by speaker 0  Flags: 0x2000000085060005, import: 0x9f  Not advertised to any peer  Local    2001::3 (metric 30) from 2001::3 (3.3.3.3), if-handle 0x00000000      Received Label 0xe00300      Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported      Received Path ID 0, Local Path ID 1, version 8      Extended community: RT:1:1       PSID-Type:L3, SubTLV Count:1, R:0x00,       SubTLV:        T:1(Sid information), Sid:fcbb:bb00:3::, F:0x00, R2:0x00, Behavior:62, R3:0x00, SS-TLV Count:1         SubSubTLV:          T:1(Sid structure):           Length [Loc-blk,Loc-node,Func,Arg]:[32,16,16,0], Tpose-len:16, Tpose-offset:48      Source AFI: VPNv6 Unicast, Source VRF: 1, Source Route Distinguisher: 1:1RP/0/RP0/CPU0:r1# | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | RP/0/RP0/CPU0:r1#show cef vrf 1 ipv6 3333::1/128 detail Wed Apr 21 05:32:37.066 UTC3333::1/128, version 3, SRv6 Headend, internal 0x5000001 0x30 (ptr 0xe209668) [1], 0x0 (0xe3a1e28), 0x0 (0xf636498) Updated Apr 14 17:24:01.188 Prefix Len 128, traffic index 0, precedence n/a, priority 3  gateway array (0xe20fda8) reference count 1, flags 0x10, source rib (7), 0 backups                [2 type 3 flags 0x8441 (0xe2bce38) ext 0x0 (0x0)]  LW-LDI[type=3, refc=1, ptr=0xe3a1e28, sh-ldi=0xe2bce38]  gateway array update type-time 1 Apr 14 17:24:01.189 LDI Update time Apr 14 17:24:01.190 LW-LDI-TS Apr 14 17:24:01.190  Level 1 - Load distribution: 0  [0] via fcbb:bb00:3::/128, recursive   via fcbb:bb00:3::/128, 5 dependencies, recursive [flags 0x6000]    path-idx 0 NHID 0x0 [0xe20b890 0x0]    next hop VRF - 'default', table - 0xe0800000    next hop fcbb:bb00:3::/128 via fcbb:bb00:3::/48    SRv6 H.Encaps.Red SID-list {fcbb:bb00:3:e003::}    Load distribution: 0 (refcount 2)    Hash  OK  Interface                 Address    0     Y   GigabitEthernet0/0/0/0    remote         RP/0/RP0/CPU0:r1# | 



The blog from link: http://imxing.cn/wp-trackback.php?p=1125