“You can keep your firewall (if you want to)”
Practical, simple and cost saving applications of OpenDaylight you can implement today
John Sobanski, Engineer, Solers Inc. July 2015 @OpenDaylightSDN #OpenSDN
You can keep your firewall (if you want to ) Practical, simple and - - PowerPoint PPT Presentation
You can keep your firewall (if you want to ) Practical, simple and cost saving applications of OpenDaylight you can implement today John Sobanski, Engineer, Solers Inc. July 2015 @OpenDaylightSDN #OpenSDN What You Will Learn today (By
Practical, simple and cost saving applications of OpenDaylight you can implement today
John Sobanski, Engineer, Solers Inc. July 2015 @OpenDaylightSDN #OpenSDN
What You Will Learn today (By Demonstration)
(SFC)
jsobanski@solers.com https://ask.opendaylight.org/users/420/runamuck/
2
Top three emerging technologies of the decade?
3
Any Others?
“Is SDN Hype?”
solution in search of a problem.”
relevant to us.”
4
These slides will prove these opinions wrong
“Who cares about networks?”
5
“Latency and Loss doesn’t apply to my Data Center”
6
You need to care about the network!
What are Network Services?
7
10,000 Foot Overview
8
A Little More Detail: SDN Layers
9
A Little More Detail: OpenDaylight
10
11
12
One Caveat Before we begin
solution
13
One more Caveat
disciplined, meticulous network engineering.
14
Approach #1: RESTCONF API
15
16
Reminder: Network latency and loss breaks services!
17
18
Put logic here?
19
Put logic here!
20
Approach #1: RESTCONF API Note: This section will be a live demonstration
21
22
23
24
mininet> h1 ping h3 PING 10.0.3.101 (10.0.3.101) 56(84) bytes of data. 64 bytes from 10.0.3.101: icmp_seq=1 ttl=62 time=42.1 ms 64 bytes from 10.0.3.101: icmp_seq=2 ttl=62 time=41.3 ms 64 bytes from 10.0.3.101: icmp_seq=3 ttl=62 time=41.1 ms ^C
3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 41.119/41.546/42.143/0.465 ms
25
mininet> h1 traceroute -n h3 traceroute to 10.0.3.101 (10.0.3.101), 30 hops max, 60 byte packets 1 10.0.1.1 21.180 ms 21.028 ms 20.837 ms 2 10.0.2.1 42.565 ms 42.482 ms 42.418 ms 3 * * 10.0.3.101 43.144 ms mininet>
26
27
Accept: application/xml Authorization: Basic YWRtaW46YWRtaW4=
PUT flow with ID 202 to http://<controller_ip>:8181/restconf/config/opendaylight- inventory:nodes/node/openflow:2/table/0/flow/202 PUT flow with ID 303 to http://<controller_ip>:8181/restconf/config/opendaylight- inventory:nodes/node/openflow:2/table/0/flow/303
28
29
$ sudo ovs-ofctl -O OpenFlow13 dump-flows s2 cookie=0x0, duration=350.260s, table=0, n_packets=0, n_bytes=0, priority=200,ip,nw_dst=10.0.3.101 actions=set_field:f6:2f:25:06:ab:27- >eth_dst,output:4 cookie=0x1, duration=33.552s, table=0, n_packets=0, n_bytes=0, priority=200,ip,nw_dst=10.0.1.101 actions=set_field:f2:3e:8d:a4:71:07- >eth_dst,output:5
30
mininet> h1 ping h3 PING 10.0.3.101 (10.0.3.101) 56(84) bytes of data. 64 bytes from 10.0.3.101: icmp_seq=1 ttl=63 time=21.3 ms 64 bytes from 10.0.3.101: icmp_seq=2 ttl=63 time=20.9 ms 64 bytes from 10.0.3.101: icmp_seq=3 ttl=63 time=20.7 ms ^C
3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 20.713/20.983/21.320/0.252 ms
31
mininet> h1 traceroute -n h3 traceroute to 10.0.3.101 (10.0.3.101), 30 hops max, 60 byte packets 1 10.0.1.1 21.117 ms 20.796 ms 20.423 ms 2 10.0.3.101 24.597 ms 24.477 ms *
32
Approach #2: ODL SFC
33
34
packets based on controller logic
#ODSummit
#ODSummit
Approach #2: ODL SFC Note: This will be a live demo
37
Based on: https://lists.opendaylight.org/pipermail/sfc-dev/2015-July/001408.html by Brady Johnson and Ricardo Noriega at Ericsson.com
#ODSummit
flows $ sudo ovs-ofctl dump-flows sff1 -OOpenFlow13
#ODSummit
tcpdump shows WGET goes through both service functions Total time: 0.341 seconds
#ODSummit
tcpdump shows WGET goes through only one service functions Total time: 0.178 seconds
#ODSummit
#ODSummit
#ODSummit
(DMZ) Proxies.
44
45
to a bigger DPI appliance…
46
facilitate zombies or phone home exploits.
47
measures will cover the egress flows.
capacity/ resources and could saturate the backplane
routes (will break things)
48
49
50
51
52
Note: This will be a real time demo
53
54
55
mininet> dmz curl http://10.0.1.102 --upload-file test.txt
10.0.2.101 - - [10/Jul/2015 14:50:22] "PUT /test.txt HTTP/1.1"
56
curl -v -H "Content-Type: application/xml" -X PUT --data "@fw_demo_404.xml" -u admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/table/0/flow/404 2>&1 | grep HTTP/1.1 curl -v -H "Content-Type: application/xml" -X PUT --data "@fw_demo_505.xml" -u admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/table/0/flow/505 2>&1 | grep HTTP/1.1 curl -v -H "Content-Type: application/xml" -X PUT --data "@fw_demo_606.xml" -u admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/table/0/flow/606 2>&1 | grep HTTP/1.1 curl -v -H "Content-Type: application/xml" -X PUT --data "@fw_demo_707.xml" -u admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/table/0/flow/707 2>&1 | grep HTTP/1.1 curl -v -H "Content-Type: application/xml" -X PUT --data "@fw_demo_808.xml" -u admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/table/0/flow/808 2>&1 | grep HTTP/1.1 curl -v -H "Content-Type: application/xml" -X PUT --data "@fw_demo_909.xml" -u admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/table/0/flow/909 2>&1 | grep HTTP/1.1 57
mininet> dmz curl http://10.0.1.102 --upload-file test.txt
10.0.2.101 - - [10/Jul/2015 14:50:22] "PUT /test.txt HTTP/1.1" 200 - 10.0.2.101 - - [10/Jul/2015 14:53:05] "PUT /test.txt HTTP/1.1" 200 -
58
inventory:nodes/node/openflow:3/table/0/flow/404/flow-statistics/
59
60
10.0.2.101 - - [10/Jul/2015 14:50:22] "PUT /test.txt HTTP/1.1" 200 - 10.0.2.101 - - [10/Jul/2015 14:53:05] "PUT /test.txt HTTP/1.1" 200 - 6.6.6.6 - - [10/Jul/2015 15:01:27] "GET / HTTP/1.1" 200 -
61
62
63
64
65
#ODSummit