ntt.com

Network Programming extension:
SRv6 uSID instruction
NTTコミュニケーションズ株式会社
技術開発部
上野 幸杜

Transform your business, transcend expectations with our technologically advanced solutions.
Copyright © NTT Communications Corporation. All rights reserved.

SRv6 uSID instruction•

draft-filsfils-spring-net-pgm-extension-srv6-usid-02(C. Filsfils, et al.)にて定義されるSRv6関連技術– 2019年8月30日現在02版が最新•

IETF 105では2019年7月24日 10:00-12:00（現地時間）のSpring WGにて発表された– https://datatracker.ietf.org/meeting/105/session/spring

Copyright © NTT Communications Corporation. All rights reserved.

1

SRv6 uSID instructionの提案背景•

SRv6において主に想定されているSIDの数は2-3段程度だが、多数のSIDを使用するユースケースについても要求が出てきている– 2-3 SIDsで済む例:
VPN, Traffic Steering, TI-LFAなど– それ以上のSID数が必要な例:
大規模網, サービスチェイニングなど•

SRv6 uSID instructionは、パケットが多数のSIDを経由するようなユースケースを実現するための技術の一つ– SIDのリストを表現するのに必要なヘッダサイズを抑える

Copyright © NTT Communications Corporation. All rights reserved.

2

SRv6 uSID instructionのコンセプト•

ビットシフトにより1つのSIDから多数のSIDを展開する機能を、新しいSRv6 Functionとして定義– 以降で詳述•

SRv6 Functionとして定義する理由– 他のSRv6 Function（e.g. End.X or End.DT4）と併用可能– 既存SRv6網にも段階的に導入可能

Copyright © NTT Communications Corporation. All rights reserved.

3

SRv6 uSID instructionの動作••

SRv6 Network ProgrammingのFunctionとして動作Internet-Draft内で示されている擬似コード
1. IF DA[48..63] != 0
2.
Copy DA[48..127] into DA[32..111]
3.
Set DA[112..127] to 0x0000
4.
Forward the packet to the new DA
5. ELSE
6.
Execute the End pseudocode

Copyright © NTT Communications Corporation. All rights reserved.

4

SRv6 uSID instructionの動作•uSID blockは任意の⾧さのIPv6 Prefix– 本発表ではuSID blockとして/32を使用•uSIDは16bitの識別子

128bit uSID carrier(SRv6 SID)
0x2001

0x0DB8bit[0:31]uSID block

0x000A

0x000B

0x000C

0x000D

0x000E

0x000F

bit[32:47] bit[48:63]
Active uSID Next uSID

Copyright © NTT Communications Corporation. All rights reserved.

5

SRv6 uSID instructionの動作•

Next uSIDが0x0000でなければ0x2001

0x0DB80x000A

0x000B

0x000C

0x000D

0x000E

0x000F

bit[48:63]
Next uSID

Copyright © NTT Communications Corporation. All rights reserved.

6

SRv6 uSID instructionの動作•

Next uSID以降を0x2001

0x0DB80x000A

0x000Bbit[48:63]
Next uSID

Copyright © NTT Communications Corporation. All rights reserved.

0x000C

0x000D

0x000E

0x000Fbit[48:127]

7

SRv6 uSID instructionの動作•

Next uSID以降をそのSIDのActive uSID以降にコピーし0x2001

0x0DB80x000A

0x000B

0x000Cbit[48:63]
Next uSID
0x2001

0x0DB80x000B

0x000Cbit[32:47]
Active uSID

Copyright © NTT Communications Corporation. All rights reserved.

0x000D

0x000E

0x000F

bit[48:127]

0x000D

0x000E

0x000F

0x000F

bit[32:111]

8

SRv6 uSID instructionの動作•

Next uSID以降をそのSIDのActive uSID以降にコピーし最後のuSIDにEnd-of-carrier(0x0000)を挿入– すなわち16bit左シフト

0x2001

0x0DB80x000A

0x000B

0x000Cbit[48:63]
Next uSID
0x2001

0x0DB80x000B

0x000Cbit[32:47]
Active uSID

Copyright © NTT Communications Corporation. All rights reserved.

0x000D

0x000E

0x000F

bit[48:127]

0x000Dbit[32:111]

0x000E

0x000F

0x0000bit[112:127]

9

SRv6 uSID instructionの動作•

各uSID対応ノードで左シフトを繰り返せば、Next uSIDが0になるまで別個のSIDとして使用できる
0x2001

0x0DB80x000B

0x000C

0x000D

0x000E

0x000F

0x00000x2001

0x0DB80x000C

0x000D

0x000E

0x000F

0x00000x00000x2001

0x0DB80x000D

0x000E

0x000F

0x00000x00000x00000x2001

0x0DB80x000E

0x000F

0x00000x00000x00000x00000x2001

0x0DB80x000F

0x00000x00000x00000x00000x0000

Copyright © NTT Communications Corporation. All rights reserved.

bit[48:63]
Next uSID

10

SRv6 uSID instructionの動作•

このときuSID blockとActive uSIDを連結した部分をSIDのLocatorとして扱う（Prefixとして経路制御する）
0x2001

0x0DB80x000B

0x000C

0x000D

0x000E

0x000F

0x00000x2001

0x0DB80x000C

0x000D

0x000E

0x000F

0x00000x00000x2001

0x0DB80x000D

0x000E

0x000F

0x00000x00000x00000x2001

0x0DB80x000E

0x000F

0x00000x00000x00000x00000x2001

0x0DB80x000F

0x00000x00000x00000x00000x0000Locator(48bit)
Copyright © NTT Communications Corporation. All rights reserved.

Arg(80bit)

11

SRv6 uSID instructionの利点••••

多段SIDを従来より少ないヘッダサイズで実現できる
SRv6 Functionとして定義されているため既存のSRv6の仕様に変更が必要ない
任意のIPv6 Prefixを使用可能
ハードウェアでの実装が容易– 2013年設計の汎用ASICでワイヤレートを達成可能••

uSIDを使用するノード以外の対応不要
コントロールプレーンの拡張不要

Copyright © NTT Communications Corporation. All rights reserved.

12Spring WGでのコメントなど•（オペレーターの立場から）
IGPの経路が増えすぎるのでは?
– 問題ないとする意見も•

途中経路を後からトレースできるのか?

Copyright © NTT Communications Corporation. All rights reserved.

13