Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
“BeyondCloudComputing”- NetworkasasPlatform
MiyaKohno
1November2017
DistinguishedSystemsEngineer,CiscoSystems
通信事業者ネットワークの変遷
• あらゆるものがつながり
• あらゆるものが”asa Service” として提供され• あらゆるものが照合され、統計的・人工知能的に解析される
http://www.soi.wide.ad.jp/class/20060032/slides/04/4.html
• インターネット革命 1990年代 〜
• ディジタル革命 2010年代〜
• サーキットからパケットへ
• 電話のためのネットワークからコンピュータのためのネットワークへ
• EverythingoverIP• EndtoEnd原理 (ネットワークは愚直にbitを運べ)
• インテリジェンスはEnd Systemに• インテリジェンスはクラウドに
BeyondCloudComputing?!
2-3yrs >5-7yrsnow
マルチクラウドの時代• PublicCloudとPrivate Cloudの共存• OTTクラウドと通信事業者クラウドの共存
クラウドの寡占
コンピューティングとストレージの偏在
(a) ネットワークの
価値 - 高
(b)
(c)
ネットワークの
価値 – 低
BeyondCloudComputing?!
クラウドの寡占
(a) ネットワークの
価値 - 高
(b)
(c)
ネットワークの
価値 – 低
コンピューティングとストレージの偏在
シナリオ - (a)
ネットワークのコモディティ化が加速する- 機能は専らOverlayにより提供される
• SD-WAN• GoogleProjectFi
シナリオ - (b)
ネットワークをクラウドで制御する
シナリオ - (c)
ネットワークは分散コンピューティングのためのプラットフォームになる
• In-NetworkComputing• In-NetworkStorage
ネットワークは分散コンピューティングのプラットフォームになり得るか
AppApp
App
App
App
App
App
App
AppApp
App
• 任意の適切な場所でコンピューティング処理を実行する• 任意の適切な場所にデータを存在させる
分散コンピューティングプラットフォームとしてのネットワーク
1) コンピューティングの変化2) ネットワークの変化3) データプレーンプログラマビリティ
3つの側面から検討してみる
コンピューティングの変化 迅速化、分散化、モジュラー化
Source:JanMedved
2008VIRTUALMACHINES
VirtualMediaFunctions
2012CLOUD
VirtualMediaFunctions
2016CONTAINERS
VirtualMediaFunctions
2018WHAT’SNEXT…
VirtualMediaFunctions
…BAREMETAL
PhysicalMediaFunctions
SDICables
コンピューティングの変化 リソースの抽象化、共有と分離
Source:Horia Miclea
コンピューティングの変化 ネットワーク特性の指定可能性
CiscoContiv資料より
• ContainerNetworkStackにおける試み • HostStackによるSRv6のサポート
Linux
VPP/fd.io
ネットワークの変化 現状 à ドメイン毎に分断
ネットワークの変化 IPv6centricへ
• ドメインを越えたデータプレーンの統一 (Access,WAN,DC,Applications..)
• Native(NomoreTunnel/Overlay),Stateless,Simple
ネットワークの変化 EndtoEndIDとしての IPv6
IPv6
• ユーザ、コンテナ、サービスまでのNativeな到達性• 識別のためのvlan tagの必要なし• IPv4asaService
ConfigurationManagement
Orchestration,Control
Infrastructure• Physical• Virtual
virtual physical
Service,ApplicationPolicy
DataPlane
(Distributed)ControlPlane
(Centralized)ControlPlane
DomainOrchestration
ServiceOrchestration
Service,ApplicationPolicy
データプレーンプログラマビリティ様々な形態の
ProgrammabilityNetworkProgrammabilityにおける階層性
データプレーンプログラマビリティ
今、データプレーンプログラマビリティが熱い!
Source:「プログラマブルデータプレーン時代に向けたネットワークオペレーションスタック」 海老澤 健太郎https://www.slideshare.net/kentaroebisawa/onic2017
プログラマブルASIC
データプレーンプログラマビリティ
https://p4lang.github.io/p4-spec/docs/P4-16-v1.0.0-spec.html
P4:ProgrammableProtocol-IndependentPacketProcessing• 再構成可能性 (Reconfigurability)• プロトコル非依存 (Protocol-Independence)• ターゲット非依存 (Target-Independence)
• Openflowと比べて、抽象度と柔軟性が高いhttps://p4.org/p4/clarifying-the-differences-between-p4-and-openflow/
SRv6inP4!
http://p4.org/wp-content/uploads/2017/06/p4-ws-2017-the-extensible-network.pdf
SegmentRoutingと SRv6 - Recap
Code,DataServicesNetwork
• SegmentRouting : SourceRouting方式の一つSegmentID(SID)ListによりTrafficSteeringを表現する
• SRv6(SegmentRoutingIPv6):SID ListをIPv6 RoutingExtensionHeaderを使ってEncodeする
http://www.segment-routing.net/
UnderlayCorrelation
ClientServer
S1
S2
S3
DIPv6HdrSA=A,DA=D
Payload
IPv6HdrSA=A,DA=S2
Payload
IPv6HdrSA=A,DA=D
Payload
SL=2
D
S2
S3
IPv6HdrSA=A,DA=S3
Payload
SL=1
D
S2
S3SRH
要求されるSLA特性によるパス選択(例) Latencyが許容されるトラフィックに対して、ホップ数の多いパスを選択する
説明のためにSIDを明示的に重ねていますが、実際はこの必要はありません (MPLSで言うところのloosehop) 。トラフィックを曲げるために必要なホップのSID(この場合S2)のみを指定すればOKです。
TrafficSteering方針は、PolicyなどでEdgeが判断、またはBinding SIDを使う
SRv6Header
MetadataTLV
SegmentsLeft
Locator1 Function1
Locator2 Function2
Locator3 Function3
SRv6ValuePropositionEnd-to-Endでの共通転送メカニズム
• シームレスな到達性とセグメンテーション• Access,WAN,DC,Compute共通の転送メカニズム
• シンプル化- RSVP,LDPなどのコントロールプレーンの排除- LSP,Tunnel,ステートの排除
• Underlayの高度化- FastProtection,TrafficSteeringの実現
SRv6 SIDによるデータプレーンプログラマビリティ• SRv6forAnything!
- L2/L3VPN,ServiceChaining,ContentDelivery,etc.
SRv6によるデータプレーンプログラマビリティ
T.Insert END.xxx END.yyy
IPv6HdrSA=A,DA=Z
Payload
A Z
IPv6HdrSA=A,DA=S2
Payload
IPv6HdrSA=A,DA=Z
PayloadSL=2
Z
S2:xxx
S3:yyy
S2 S3
IPv6HdrSA=A,DA=S3
Payload
SL=1
Z
S2:xxx
S3:yyy
S1
SRv6node
SRH
1111:2222:3333:4444 5555:6666:7777:8888
Locator Function
7777:88885555:6666Function Argument
このノードで処理 xxxを実行 このノードで処理 yyy を実行
LocalSIDFunctions(1/2)Name Forwarding Function UsecaseEnd* Lookup Endpointfunction PrefixSID
End.X * L3X-connect EndpointfunctionwithL3X-connect Adjacency SID
End.T * LookupinTable T EndpointfunctionwithspecificIPv6table lookup Multi-table operationinthecore
End.DT6 Decap andIPv6TableTlookup
Endpointwithdecap andIPv6Tablelookup IPv6L3VPNper-VRF
End.DT4 Decap andIPv4TableTlookup
Endpointwithdecap andIPv4Tablelookup IPv4L3VPNper-VRF
End.DX6 Decap andIPv6XC Endpointwithdecap andIPv6L3 X-connect IPv6L3VPNper-CE
End.DX4 Decap andIPv4XC Endpointwithdecap andIPv4L3 X-connect IPv4L3VPNper-CE
End.DX2 Decap andL2XC Endpointwithdecap andL2X-connect L2VPN
LocalSIDFunctions(2/2)Name Forwarding Function UsecaseEnd.B6 SRv6 policy EndpointboundtoanSRv6policy BindingSID
End.B6.Encaps SRv6 policy EndpointboundtoanSRv6encappolicy
Binding SID
End.BM SR-MPLS policy EndpointboundtoanSR-MPLS policy BindingSID
End.S Searchofatarget Endpoint insearchofatargetintableT(locallyforwardorENDbehavior)
hICN
End.AS RemoveOuterIPv6headerandSRH,forwardtotargetinterface
EndpointtoSR-unawareviastaticpolicy
ServiceChainingProxy
End.AM UpdateOuterIPv6headerDAwithLASTSIDandforwardtotargetinterface
EndpointtoSR-unaware viamasquerading
ServiceChainingProxy
SegmentRoutingによるサービスチェイン
サービスをsegmentとして表現
à Flexible,Scalable,Stateless
Firewall IDS/IPS
DPIbox
ClientServer
S1
S2
S3
D
SRpolicy:〈 S1,S2,S3,D〉
Reference- LinuxbasedNFVinfrastructure
AhmedAbdelSalam,FrancoisClad,etal.“ImplementationofVirtualNetworkFunctionChainingthroughSegmentRoutinginaLinux-basedNFVinfrastructure”,NetSoft 2017,IEEE
Reference- LinuxbasedNFVinfrastructure
25
NFVnode
Classifier+SR
SR/VNFconnector
SRHIPH1 IPH2 IPH1IPH1 SRH IPH2IPH1
VNF
IPv6+SRIPv6+SR
Ingress ER
Egress ER
LinuxVM LinuxVM LinuxVM
IPv6+SR
A:1:: C:1::A:2:: C:2::
IPv6+SR
B:1::
B:2::
IPH1:SA=sDA=t
IPH2:SA=A:2::DA=B:2::SRlist={B:2::,C:2::}
IPH2:SA=A:2::DA=C:2::SRlist={B:2::,C:2::}
IPH1:SA=sDA=t
Namespace
https://github.com/amsalam20/SR-NFV_connector
Reference– Zebra2.0
26
https://www.slideshare.net/kentaroebisawa/onic2017
SRv6+ServiceChaining相互接続デモ
https://blogs.cisco.com/sp/segment-routing-ipv6-interoperability-demo-is-already-there
• CiscoHardware:ASR1K,ASR,NCS5500• CiscoNetworkOS:IOSXEandIOSXR• BarefootNetworks TofinoonOCPWedge-100BF• LinuxKernelofficiallyupstreamed in4.10• Fd.io
ネットワークは分散コンピューティングのプラットフォームになり得る!
AppApp
App
App
App
App
App
App
AppApp
App
• 任意の適切な場所でコンピューティング処理を実行する• 任意の適切な場所にデータを存在させる
分散コンピューティングプラットフォームとしてのネットワーク
1) コンピューティングの変化à迅速化、モジュラー化により、偏在性・オンデマンド性が高まる
2) ネットワークの変化à シンプル化、ステートレス化
à コンピューティングとの方式共有
3) データプレーンプログラマビリティà 柔軟なデータプレーン動作の制御
à Underlay高度化 と Correlation