Presentation is loading. Please wait.

Presentation is loading. Please wait.

Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,

Similar presentations


Presentation on theme: "Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,"— Presentation transcript:

1 Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN, … Carrier Network - MPLS, METRO Ethernet, … Campus Network – Ethernet, MPLS, … Directly configuring network device by device is Hard Complicated and Error prone for both CCIE way or Programmatically for both Openflow or Non-openflow devices. Physical Network needs to be abstracted to divide and conquer the complexity.

2 What is a Fabric? 2 Varies of data path segments form end to end network Each data path either has a static control plane or dynamic control plane Within each data path’s control plane, the logic is homogenous Converging to Ethernet + IP Most importantly, the service behavior of each data path is similar – l2/L3 Forwarding, or tunnel with certain SLA (formal or informal) such as performance, reliability/availability and security. Fabric is an abstracted network with homogenous data path and a control plane. A physical network can be abstracted to a topology which consists of fabrics, and they are homogenous at abstracted level. DC Network – Fat tree based STP, TRILL, SPB, VXLAN, … Carrier Network - MPLS, METRO Ethernet (QinQ, MACinMAC), … Campus Network – Ethernet, MPLS, …

3 3 FaaS (Fabric as a Service) FaaS provides a COMMON layer ABSTRACTION of network services - a set of logical network building blocks, which covers L2/L3/Tunnel/QoS/ACL. Those services are provided by “FABRIC” object which represents an abstraction of a network or a portion of a network. Using FaaS and Fabric abstraction, high level intent based network applications can be built on a set of unified network services and simplified fabric based topology other than operating on individual devices, much complicated topology using device/vendor/technology specific southbound interfaces.

4 FaaS – System Call for SDN 4 Ref: http://slideplayer.com/slide/4310800/ ODL abstraction

5 FaaS Primitives 5 An fabric provides the following logical network primitives.  Logical switch – Layer 2 forwarding  Logical router - L3 forwarding  Logical link – tunnel for point to point communication  Logical port - service point  Logical tables - describe forwarding behavior.  ACL – traffic filtering  …. To be extended

6 FaaS Beryllium Release 6  FaaS Architecture  OVS/VXLAN Fabric  logical Switch  logical Router  logical Port  ACL  logical link  Logical Tables  SFC integration  GBP Integration

7 Beryllium Release delivered logical network Model Logic Router Logic Switch End Point 1 End Point 2 End Point 3 End Point … Logic Link Logic Port Gateway port Logic Router : L3 forwarding Logic Switch : L2 forwarding Logic Port : Service point on logical switch Gateway Port : L3 interface ACL : Can be configured on all the objects above Primitive objects implemented

8 FaaS flow pipeline Traffic Classifier Table 0 Arp Handler Table 20 L3 Routing Table 60 L3 Forwarding Table 70 ACL Handler Table 90 L2 Forwarding Table 110

9 Table 0: Traffic Classifier Notes that if a flow does not have a priority , default is 32768 Table 0 is used to classify if the traffic is from external (for example, Tunnel) or local 1) Match local A 、 if local port , match source mac , set Tunnel ID as segment ID, set REG0=1 which stands for traffic from local port , keep VM’s segment in REG2 table=0, in_port=3,dl_src=00:00:00:00:35:02 actions=load:0x1->NXM_NX_REG0[],load:0x1->NXM_NX_REG2[],goto_table:20 table=0, in_port=4,dl_src=00:00:00:00:35:03 actions=load:0x1->NXM_NX_REG0[],load:0x1->NXM_NX_REG2[],goto_table:20 B 、 local port, but not match source mac,discard table=0, priority=8192,in_port=2 actions=drop 2) Match Tunnel,tag REG0 as 2 , jump to next table table=0, tun_id=0x1,in_port=7 actions=load:0x2->NXM_NX_REG0[],load:0x1->NXM_NX_REG2[],goto_table:20 table=0, tun_id=0x1,in_port=8 actions=load:0x2->NXM_NX_REG0[],load:0x1->NXM_NX_REG2[],goto_table:20 table=0, tun_id=0x2,in_port=7 actions=load:0x2->NXM_NX_REG0[],load:0x2->NXM_NX_REG2[],goto_table:20 table=0, tun_id=0x2,in_port=8 actions=load:0x2->NXM_NX_REG0[],load:0x2->NXM_NX_REG2[],goto_table:20

10 Table 20:Distributed ARP Handler 1 、 ARP 应答 2 、非 ARP packet , jump to table 60 –Match arp protocol id, tun_id , arp packet dest IP –action : construct ARP response mandatory field , from IN_PORT send out

11 Table 60: Distributed L3 Routing Match : {segmentation_id, destination L3 Network} Action : 1 、 rewrite eth_src as dest network ‘s router interface mac(bdif mac) 2 、 decrease TTL 3 、 tun_id as dest network’s segment id table=60, priority=2048,ip,tun_id=0x1,nw_dst=10.0.36.0/24 actions=set_field:80:38:bc:a1:33:c7->eth_src,dec_ttl,set_field:0x2- >tun_id,goto_table:70 table=60, priority=2048,ip,tun_id=0x2,nw_dst=10.0.35.0/24 actions=set_field:80:38:bc:a1:33:c7->eth_src,dec_ttl,set_field:0x1- >tun_id,goto_table:70

12 Table 70: L3 FWD Table 70 completes Table60 L3 ‘s half section , based on dest IP , rewrite dest MAC table=70, priority=1024,ip,tun_id=0x1,nw_dst=10.0.35.2 actions=set_field:00:00:00:00:35:02->eth_dst,goto_table:90 table=70, priority=1024,ip,tun_id=0x1,nw_dst=10.0.35.3 actions=set_field:00:00:00:00:35:03->eth_dst,goto_table:90 table=70, priority=1024,ip,tun_id=0x1,nw_dst=10.0.35.4 actions=set_field:00:00:00:00:35:04->eth_dst,goto_table:90 table=70, priority=1024,ip,tun_id=0x2,nw_dst=10.0.36.4 actions=set_field:00:00:00:00:36:04->eth_dst,goto_table:90

13 Table 90: ACL Handler ACL table handling: besides GPE Tunnel traffic is default to allow pass , other traffic , L2 BD default to pass , others drop unless ACL is set as Allow 1) Ingress traffic from GPE Tunnel , since it has been handled at source end Pipeline for ACL Redirect , ACL is set to pass table=90, priority=61001,tun_id=0x1,in_port=8 actions=goto_table:110 table=90, priority=61001,tun_id=0x2,in_port=8 actions=goto_table:110 2) Accoridng to ietf-access-control-list.yang configured ACL , priority is set to 60000 Exception : when ACL is set to redirect traffic to GPE port , use REG1=0x5 as tag , processed in later flow table ; table=90, priority=60000,tcp,reg2=0x1,nw_src=10.0.35.0/24,nw_dst=10.0.36.0/24,tp_dst=80 actions=load:0xc0a83247- >NXM_NX_TUN_IPV4_DST[],set_nsi:255,set_nsp:0x6,load:0x5->NXM_NX_REG1[],goto_table:110 3) Bridge Domain’s L2 traffic , if no match ACL , default to pass table=90, priority=2,reg2=0x1,tun_id=0x1 actions=goto_table:110 table=90, priority=2,reg2=0x2,tun_id=0x2 actions=goto_table:110 4) non-l2 traffic and non ACL allowed traffic, default to drop table=90, priority=1 actions=drop

14 Table 110: L2 Forwarding if reg1=0x5 , it means Redirect to GPE tunnel port , need to test if needs to take actions for nsh table=110, priority=32769,reg1=0x5,tun_id=0x1,dl_dst=00:00:00:00:35:02 actions=set_nshc1:0xc0a83246,set_nshc2:0x1,load:0x1- >NXM_NX_TUN_ID[0..31],output:8 table=110, priority=32769,reg1=0x5,tun_id=0x1,dl_dst=00:00:00:00:35:03 actions=set_nshc1:0xc0a83246,set_nshc2:0x1,load:0x1- >NXM_NX_TUN_ID[0..31],output:8 2 、 set dest mac as local traffic to be forward to local port , if dest mac is remote, modify dest VTEP IP , and send from tunnel port table=110, tun_id=0x1,dl_dst=00:00:00:00:35:02 actions=output:3 table=110, tun_id=0x1,dl_dst=00:00:00:00:35:03 actions=output:4 table=110, tun_id=0x1,dl_dst=00:00:00:00:35:04 actions=load:0xc0a8324b->NXM_NX_TUN_IPV4_DST[],output:7 table=110, tun_id=0x2,dl_dst=00:00:00:00:36:04 actions=load:0xc0a8324b->NXM_NX_TUN_IPV4_DST[],output:7 3 、 bum for local port, Tunnel port BUM uses openflow group table table=110, priority=16383,reg0=0x1,tun_id=0x1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=group:1 table=110, priority=16383,reg0=0x1,tun_id=0x2,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=group:2 table=110, priority=16384,reg0=0x2,tun_id=0x1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=output:3,output:4 Group table: group_id=1,type=all,bucket=weight:0,actions=output:3,output:4,bucket=weight:0,actions=load:0xc0a8324b- >NXM_NX_TUN_IPV4_DST[],output:7,bucket=weight:0,actions=load:0xc0a8324c->NXM_NX_TUN_IPV4_DST[],output:7 group_id=2,type=all,bucket=weight:0,actions=load:0xc0a8324b->NXM_NX_TUN_IPV4_DST[],output:7,bucket=weight:0,actions=load:0xc0a8324c- >NXM_NX_TUN_IPV4_DST[],output:7

15 FaaS Boron Release Items (TBD) 15  Heterogeneous network abstraction – multiple fabric interaction VLAN/STP Fabric logical link – cross-fabric logical network element connections. Logical Tables abstraction & Operations  Service Function Chain Support  Network Context conversion - NAT abstraction  QoS abstraction  Logical network OAM  Fabric Resource Management enhancement  Scalability  Integration with Neutron Northbound  Integration with Honeycomb  Integration with NIC/NEMO


Download ppt "Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,"

Similar presentations


Ads by Google