sdn- software defined network · – việc tạo kênh được giải quyết bằng ứng dụng...
TRANSCRIPT
Các“mặtphẳng”trongmạng
• Dataplane:processinganddeliveryofpacketswithlocalforwardingstate– Forwardingstate+packetheaderàforwardingdecision– Filtering,buffering,scheduling
• Controlplane:computingtheforwardingstateinrouters– Determineshowandwherepacketsareforwarded– Routing,trafficengineering,failuredetection/recovery,...
• Managementplane:configuringandtuningthenetwork– Trafficengineering,ACLconfig,deviceprovisioning,...
DataplanData Plane Streaming algorithms on packets
– Matching on some header bits – Perform some actions
Example: IP Forwarding
host host host
LAN 1
... host host host
LAN 2
...
router router routerWAN WAN
1.2.3.4 1.2.3.7 1.2.3.156 5.6.7.8 5.6.7.9
1.2.3.0/245.6.7.0/24
forwarding table 11
Controlplan
• Computepathsthepacketswillfollow– Populateforwardingtables– Traditionally,adistributedprotocol
• Example:Link-staterouting(OSPF,IS-IS)– Floodtheentiretopologytoallnodes– Eachnodecomputesshortestpaths– Dijkstra’salgorithm
Controlplan
1 2
3
“If , send to 3”
Data
“If a packet is going to B, then send it to output 3”
1. Figure out which routers and links are present. 2. Run Dijkstra’s algorithm to find shortest paths.
14
ManagementplanManagement Plane
Traffic Engineering: setting the weights – Inversely proportional to link capacity? – Proportional to propagation delay? – Network-wide optimization based on traffic?
32
2
1
13
1
4
5
3
3
15
TimescalesTimescales
Data Control Management
Time-scale
Packet (nsec)
Event (10 msec to sec)
Human (min to hours)
Location Linecard hardware
Router software
Humans or scripts
9
DataplanvsControlplanData and Control Planes
Switching Fabric
Processor
Line card
Line card
Line card
Line card
Line card
Line card
data plane
control plane
10
SDNNetwork
• Anetworkinwhichthecontrolplaneisphysicallyseparatefromthedataplane.– Controlplanofconventionalroutersaremoveduptocentralizedcontrolprograms
• Asingle(logicallycentralized)controlplanecontrolsseveralforwardingdevices
SDNnetwork
ControlProgramA ControlProgramB
NetworkOS
SoJwareDefinedNetwork(SDN)
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
26
ApplicationofSDN:Networkvirtualisation
• Consideramulti-tenantdatacenter– Wanttoalloweachtenanttospecifyvirtualtopology– Thisdefinestheirindividualpoliciesandrequirements
• Datacenter’snetworkhypervisorcompilesthesevirtualtopologiesintosetofswitchconfigurations– Takes1000sofindividualtenantvirtualtopologies– Computesconfigurationstoimplementallsimultaneously
• Thisiswhatpeoplearepayingmoneyfor....– EnabledbySDN sabilitytovirtualizethenetwork
Controlprogram
• Controlprogramoperatesonviewofnetwork–Input:globalnetworkview(graph/database)–Output:configurationofeachnetworkdevice
• Controlprogramisnotadistributedsystem– Abstractionhidesdetailsofdistributedstate
NetworkOS(onController)
• NetworkOS:distributedsystemthatcreatesaconsistent,up-to-datenetworkview– Runsonservers(controllers)inthenetwork– NOX,ONIX,Floodlight,Trema,OpenDaylight,HyperFlow,Kandoo,Beehive,Beacon,Maestro,...+more
• Usesforwardingabstractionto:– Getstateinformationfromforwardingelements– Givecontroldirectivestoforwardingelements
OpenFlowbasics
OpenFlowProtocol
Data Path (Hardware)
Control Path OpenFlowEthernet Switch
NetworkOS
Control Program A Control Program B
OpenFlow Basics
35
OpenFlowbasics• Meansofcommunicationbetweencontrollerandswitch
• OpenFlowenablesnetworkcontrollerstodeterminethepathofnetworkpacketsacrossanetworkofswitches
• OpenFlowallowsremoteadministrationofalayer3switch'spacketforwardingtables,byadding,modifyingandremovingpacketmatchingrulesandactions.
• TheOpenFlowusesTCPforencapsulatingOpenflowpackets.ControllersshouldlistenonTCPport6653forswitchesthatwanttosetupaconnection.
OpenFlowbasics
Control Program A Control Program B
Network OS
OpenFlow Basics
Packet Forwarding
Packet Forwarding
Packet Forwarding
Flow Table(s)
�If header = p, send to port 4�
�If header = ?, send to me�
�If header = q, overwrite header with r, add header s, and send to ports 5,6�
36
Primitives<Match,Action>Primitives <Match, Action>
Match arbitrary bits in headers:
– Match on any header, or new header – Allows any flow granularity
Action
– Forward to port(s), drop, send to controller – Overwrite header with mask, push or pop – Forward at specific bit-rate
Header Data
Match:1000x01xx0101001x
OpenFlowRulesOpenFlow Rules
Exploit the flow table in switches, routers, and chipsets
Rule(exact&wildcard) AcNon StaNsNcs
Rule(exact&wildcard) AcNon StaNsNcs
Rule(exact&wildcard) AcNon StaNsNcs
Rule(exact&wildcard) DefaultAcNon StaNsNcs
Flow1.
Flow2.
Flow3.
FlowN.
Testbed
• Networkemulationtools– Mininet– Openvswitch
• SDNController(NetworkOS)– Opendaylight,Floodlight,POX,ONOS….
Bàitập
• CàiđặtthửnghiệmmạngSDN– SửdụngMininetmôphỏngmạngcácswitch– Sửdụng1controller:Opendaylight,Floodlight,ONOS,POX
– Xâydựngứngdụngngườidùngchophépđịnhtuyếndữliệugiữa2điểmnguồnđíchtheomộtđườngđicótiêuchínhấtđịnhdonhómquyđịnh.
GhépnốiSDN-IP• VìsaophảighépnốiSDNvàIP?• MạngIPsửdụngcácrouterđểđịnhtuyến.Cácroutertrao
đổithôngtinđịnhtuyếnđểxâydựngbảngđịnhtuyến.• MạngSDNkhôngsửdụngroutermàđịnhtuyếntậptrung
từController.• Dữliệucầnđượcvậnchuyểntừ1núttrọngmạngIPsang1
nút(host)trongmạngSDN.• Khôngcósựtraođổithôngtinđịnhtuyếngiữa2mạng• Câuhỏi:
– Làmthếnào1núttrongmạngIPbiếtlàmthếnàođểđiđến1đíchtrongmạngSDNvàngượclại?
– LàmthếnàođitừmạngIPnàysangmạngIPkia“qua”mạngSDN
Ýtưởngghépnối
• CầntraođổithôngtinreachabilitygiữavùngSDNvàvùngIP– Nhờđó1mạngIPbiếtđếnsựtồntạicủacáchosttrongmạngSDNvàbiếtlàmthếnàođiđếncáchostnày
• Giảipháp:– CoimạngSDNlà1AS,có1routerBGP– SửdụngBGPđểtraođổithôngtinđịnhtuyếnvớicácmạngIPbênngoài.
– MỗimạngIPbênngoàicầncórouterBGPriêng• LàmsaođểrouterBGPcủaSDNthiếtlậpđượcthôngtinđịnhtuyếnchoAStươngứngmạngSDN
Ýtưởngghépnối
• ControllercủaSDNcầncókhảnăngxâydựngđượcbảngđịnhtuyếnBGPchoAScủaSDN
• TraođổibảngđịnhtuyếnnàyvớirouterBGPcủaSDN.
• RouterBGPcủaSDNtraođổivớicácrouterBGPcủacácmạngIPbênngoài.
• ONOSlà1controllercungcấpkhảnăngnày.
Khungnhìntừmặtphẳngđiềukhiển
57
Trong mạng SDN có một hoặc nhiều BGP speaker, các BGP speaker không
có yêu cầu gì đặc biệt miễn là chúng hỗ trợ cả hai phiên ngang hàng eBGP và iBGP.
Chúng ta có thể sử dụng phần mềm nguồn mở BIRD hoặc Quagga để triển khai.
Các BGP speaker ngang hàng trong mạng SDN có hai đường kết nối: Một là kết nối
với mặt phằng dữ liệu mạng SDN, nó sẽ ngang hàng với các BGP router bên ngoài,
kết nối sử dụng eBGP. Hai là mỗi BGP speaker kết nối với mỗi instance SDP-IP sử
dụng iBGP do đó nó sẽ chuyển tiếp các tuyến đường đến các instance SDN-IP.
Yêu cầu mỗi SDN-IP có thể nhận tất cả các tuyến đường được quảng bá đến
mạng SDN qua iBGP.
Hinh 22: Cấu hình mạng SDN-IP với BGP.
Hình trên cho thấy các đường màu đen là các phiên eBGP giữa BGP speaker
bên trong và BGP router bên ngoài, đường màu đỏ là các phiên iBGP giữa các BGP
speaker và các instance SDN-IP.
Mỗi router BGP bên ngoài ngang hàng với một hoặc nhiều speaker BGP
trong mạng SDN. Hiện tại SDN-IP không hỗ trợ nhiều bước nhảy BGP cho các
phiên ngang hàng bên ngoài, vì vậy mỗi phiên ngang hàng phải được thiết lập trong
cùng một mạng con, các phiên ngang hàng khác nhau có thể nằm trong các mạng
con khác nhau. Để ngang hàng với các router bên ngoài, mạng SDN cần một địa chỉ
IP cho mỗi phiên ngang hàng, các địa chỉ trên cạnh mạng SDP được gán đến các
BGP speaker để chúng có thể ngang hàng, không yêu cầu mỗi BGP speaker bên
trong ngang hàng với mỗi router bên ngoài vì các speaker BGP có thể phân phối lại
các tuyến đường giữa chúng sử dụng iBGP. Tuy nhiên để dự phòng, một phần tử
ngang hàng bên ngoài sẽ có các phiên ngang hàng với nhiều BGP speaker bên trong
mạng SDN.
GiảiphápSDN-IPvớiONOS
• Bêncạnhviệctraođổibảngđịnhtuyến,cầnthiếtlậpcácđườngtruyềndữliệugiữaIPvàSDN,giữaIP-SDN-IP
• ĐườngtruyềndữliệugiữaIPvàSDN– RouterIPmạngngoàinốivàoswitchcủamạngSDN– TạocáckênhtruyềngiữamỗirouterIPvàmỗimạngIPbêntrongmạngSDNbằngcác“intents”
– ViệctạokênhđượcgiảiquyếtbằngứngdụngSDN-IPcủaONOS.• Cầncungcấpchoứngdụngmộtsốthôngtincấuhìnhkênh:cổngswitchnốivớirouterIP,địachỉmạngtrongSDN
GiảiphápSDN-IPvớiONOS
• ĐườngtruyềndữliệugiữaIP-SDN-IP– MạngSDNđóngvaitròtransit– RouterIP2bênnốivàoswitch.– Cầnthiếtlậpmộtkênhtruyềngiữacổngswitchnối2routers.
– ViệctạokênhđượcgiảiquyếtbằngứngdụngSDN-IPcủaONOS.• Cầncungcấpchoứngdụngmộtsốthôngtincấuhìnhkênh:cổngswitchnốivớicácrouterIP