4. What is Service Function Chaining
SF 01 SF 02 SF 03
eth0 eth0eth0 eth1
qbr0 qbr3qbr1 qbr2
qvb0 qvb3qvb1 qvb2
vnet0 vnet3vnet1 vnet2
br-int
Port vlan tag A
qvo0 qvo1
int-br-th1
br-eth1
pth-br-th1
eth1
Compute Node 01
SF 04 SF 05
eth0eth0 eth1
qbr6qbr4 qbr5
qvb6qvb4 qvb5
vnet6vnet4 vnet5
br-int
Port vlan tag C
qvo6qvo4 qvo5
int-br-th1
br-eth1
pth-br-th1
eth1
Compute Node 02
patch-tun
br-tun
patch-int
eth2
patch-tun
br-tun
patch-int
eth2
Port vlan tag B
qvo3qvo2
9. SFC Environment (From CLI)
• Create neutron port
sdn@controller:~$ neutron port-create --name p1 net100
Created a new port:
+-----------------------+-----------------------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------+-----------------------------------------------------------------------------------------------------+
| admin_state_up | True |
| allowed_address_pairs | |
| binding:host_id | |
| binding:profile | {} |
| binding:vif_details | {} |
| binding:vif_type | unbound |
| binding:vnic_type | normal |
| device_id | |
| device_owner | |
| dns_assignment | {"hostname": "host-100-0-0-9", "ip_address": "100.0.0.9", "fqdn": "host-100-0-0-9.openstacklocal."} |
| dns_name | |
| fixed_ips | {"subnet_id": "acbd4abe-3895-412b-accb-283499c280b9", "ip_address": "100.0.0.9"} |
| id | 6c5c6a24-ec62-4964-99fa-aeb348c7ed81 |
| mac_address | fa:16:3e:bd:c2:a6 |
| name | p1 |
| network_id | 19bac03e-92a1-4f7f-b6da-c9159cbec0c0 |
| port_security_enabled | True |
| security_groups | b2d26c2d-4f23-4398-91ba-b605b892a941 |
| status | DOWN |
| tenant_id | 704e6c364c224841ade1122551a506fc |
+-----------------------+-----------------------------------------------------------------------------------------------------+
sdn@controller:~$ neutron port-create --name {p2~p6} net100
Controller Node에서 CLI 실행
• Horizon을 통해 만든 net100에 포트 생성
10. Horizon (create port)
net100에 생성된 포트 확인
• vm이 바인딩 되지 않았기 때문에 ‘연결 해제됨'
• Virtual Router와 연결된 인터페이스 포트
• DHCP 인터페이스 포트
• p1~p6 까지 CLI로 생성한 포트
• 각 포트를 선택하면 포트ID 확인 가능
23. Todo
• networking-sfc 안정화
– 기본 동작
• 생성/삭제에 대한 기본 룰 적용 (반영이 안되는 경우 발생)
– Virtual Router 가 반드시 생성될 이유는 없음
– Horizon 제공
• 현재 project 가 생겨 작업중 (언제 나올지…)
– agent 제공
• neutron-openvswitch-agent를 lunch 하여야 함 (버전 등에 민감)
– OVS version
• 기본 ovs 2.4.0 (2.4.9 버전으로 업그레이드 가능성)
• SDN Controller 연동
– ODL
• OPNFV 의 SFC 관련 Reference (https://wiki.opnfv.org/display/sfc/SFC+Fuel+Installer+preparation+and+deploy)
• NSH 활용
– ONOS
• onos vtn Application (onos/apps/vtn/srcmgr/)
• https://www.youtube.com/watch?v=9-6XH3wu4dQ