精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

基于ONOS的SDN-IP實驗篇

責任編輯:editor005

2015-09-17 13:57:38

摘自:SDNLAB

本文主要是提供了有關ONOS的SDN-IP實例如何安裝、配置及在SDN網絡中如何運行SDN-IP的操作,通過實踐了解并實現SDN網絡與外部網絡無縫對接融合。

本文主要是提供了有關ONOS的SDN-IP實例如何安裝、配置及在SDN網絡中如何運行SDN-IP的操作,通過實踐了解并實現SDN網絡與外部網絡無縫對接融合。

20150107--based on SDN-IP of ONOS practice(2)

  1 網絡模型

SDN-IP允許SDN網絡與使用BGP路由協議相鄰的外部網絡對等和交換流量。下圖顯示了SDN-IP網絡模型中的各種元素。

201518--SDN-IP network model

  2 BGP對等拓撲實例

對于如何設置BGP拓撲沒有嚴格的要求,只要每個SDN-IP實例能夠接收通過iBGP發布的SDN網絡的所有路由就可以了。下圖顯示了一個BGP配置實例:

201518--SDN-IP network iBGP

上圖網絡中的各個節點和線顯示了BGP對等會話。黑線是內部BGP Speaker和外部BGP路由器之間建立的eBGP會話,紅線是BGP Speaker和SDN-IP實例之間的iBGP會話。

每個外部BGP路由器于一個或多個內部BGP Speaker對等。 SDN-IP目前不支持外部多跳BGP對等會話,所以每個對等會話必須在同一個子網中。不同的對等會話可以在不同的子網中,所以為了對接外部路由器,在SDN網絡中需要為每個對等會話分配IP地址。在SDN網絡中的IP地址被分配給BGP Speaker。它不要求每個內部BGP Speaker對應外部每個路由器,因為BGP Speaker在他們之間使用iBGP重新分配路由。然而,對于完全冗余的對接外部網絡,外部peer應該有多個內部BGP Speaker對等會話。上圖可以看出, BGPRouter1與每個內部BGP Speaker進行對等會話。

網絡內的BGP Speaker使用iBGP與SDN-IP實例進行對等會話。SDN-IP是一個被動的iBGP peer:它監聽BGP是否更新,但它不通知其自身的更新。在網絡內的iBGP對等會話可以設置成多種方式,最簡單的方法是在BGP Speaker和SDN-IP實例之間進行全網的iBGP對等會話,如上圖紅色線iBGP所示,通過這種方式,網絡中所有BGP節點都可以學習所有的路由。兩個SDN-IP實例之間的iBGP會話是沒有必要的,因為在SDN-IP實例中不上報自己的路由。各種不同的iBGP拓撲結構如下圖所示:

201518--SDN-IP instances

  3 SDN-IP配置

SDN-IP目前采用的是簡單的JSON文件格式導入配置數據,主要有兩個單獨的文件:用來存儲IP和MAC地址的addresses.json和存儲BGP對等會話數據的sdnip.json。

201518--SDN-IP configure topo

  網絡文件配置:

配置文件需要放置在config目錄下。手動部署ONOS和SDN-IP,需要把配置文件復制在每個實例的config目錄下,目錄在KARAF_ROOT/../config,路徑目前還沒有配置。使用ONOS單元機制部署一個ONOS群集時,該配置文件可以放在ONOS_ROOT/tools/package/config目錄下,可以在管理節點上部署,當集群部署時他們將自動被復制到在單元實例中的正確位置。

3.1 Addresses配置

Addresses.json配置的ONOS地址用來與外部網絡通信,主要是為了給proxy ARP使用,proxy ARP知道怎樣響應來自外部網絡的ARP請求。如下所示:

{

"addresses" : [

{

"dpid" : "00:00:00:00:00:00:00:a1",

"port" : "1",

"ips" : ["10.0.1.101/24"],

"mac" : "00:00:00:00:00:01"

},

{

"dpid" : "00:00:00:00:00:00:00:a2",

"port" : "1",

"ips" : ["10.0.2.101/24"],

"mac" : "00:00:00:00:00:01"

},

{

"dpid" : "00:00:00:00:00:00:00:a5",

"port" : "1",

"ips" : ["10.0.3.101/24"],

"mac" : "00:00:00:00:00:01"

},

{

"dpid" : "00:00:00:00:00:00:00:a6",

"port" : "1",

"ips" : ["10.0.4.101/24"],

"mac" : "00:00:00:00:00:01"

}

]

}

文件中包含多個地址項的數組,每個地址項描述了交換機端口綁定的一系列地址,每個項包含綁定的交換機端口(通過DPID和端口號指定)、一系列的IP地址綁定到端口、一個單獨的MAC地址被用來每個IP地址的ARP響應。SDN-IP運行時,被SDN網絡用來對等外部BGP路由器的每個地址需要配置到addresses.json文件中。

3.2 BGP配置

sdnip.json文件包含BGP對等會話的詳細信息,也包含內部BGP Speaker 和外部BGP peers之間的連通性。

{

"bgpPeers" : [

{

"attachmentDpid" : "00:00:00:00:00:00:00:a1",

"attachmentPort" : "1",

"ipAddress" : "10.0.1.1"

},

{

"attachmentDpid" : "00:00:00:00:00:00:00:a2",

"attachmentPort" : "1",

"ipAddress" : "10.0.2.1"

},

{

"attachmentDpid" : "00:00:00:00:00:00:00:a5",

"attachmentPort" : "1",

"ipAddress" : "10.0.3.1"

},

{

"attachmentDpid" : "00:00:00:00:00:00:00:a6",

"attachmentPort" : "1",

"ipAddress" : "10.0.4.1"

}

],

"bgpSpeakers" : [

{

"name" : "bgp",

"attachmentDpid" : "00:00:00:00:00:00:00:a3",

"attachmentPort" : "1",

"macAddress" : "00:00:00:00:00:01",

"interfaceAddresses" : [

{

"interfaceDpid" : "00:00:00:00:00:00:00:a1",

"interfacePort" : "1",

"ipAddress" : "10.0.1.101"

},

{

"interfaceDpid" : "00:00:00:00:00:00:00:a2",

"interfacePort" : "1",

"ipAddress" : "10.0.2.101"

},

{

"interfaceDpid" : "00:00:00:00:00:00:00:a5",

"interfacePort" : "1",

"ipAddress" : "10.0.3.101"

},

{

"interfaceDpid" : "00:00:00:00:00:00:00:a6",

"interfacePort" : "1",

"ipAddress" : "10.0.4.101"

}

]

}

]

}

sdnip.json主要是包含兩個列表: bgpPeers 和 bgpSpeakers。

bgpPeers包含SDN網絡對等的外部peer的entry,每個peer有一個對等的地址,連接SDN網絡的接入點通過DPID和port來指定。

bgpSpeakers包含SDN網絡中每個BGP Speaker的entry,BGP Speaker的頭部包含了Speaker的任意名稱,連接SDN網絡的接入點和BGP Speaker的MAC地址。每個BGP Speaker有一系列的“interfaceaddress”和IP地址用來對等會話。

3.3 SDN-IP端口配置

上文已經提過,bgp端口地址是5000,在 KARAF_ROOT/etc/org.onosproject.sdnip.SdnIp.cfg.文件中進行配置:

bgpPort=5000

4 運行SDN-IP

onos-app-config 用來讀 addresses.json里的文件信息;onos-app-proxyarp用來代表主機和路由器響應ARP請求的proxy arp模塊

onos> feature:install onos-app-config

onos> feature:install onos-app-proxyarp

配置依賴滿足后,安裝sdn-ip應用:

onos> feature:install onos-app-sdnip

sdn-ip啟動,閱讀配置文件并安裝網絡intents建立 BGP peering 會話的連通性,然后使用多點單點intents安裝網絡開始接收路由。

以下SDN-IP命令主要用于用戶監控系統狀態:

顯示連接SDNIP的IBGP鄰居,每個鄰居有一個內部BGPSpeaker,可以顯示顯示特定的鄰居:

bgp-neighbors [-j|--json] [-n|--neighbor ]

顯示BGP peers接收到的最佳路由信息,包括BGP指定信息:

bgp-routes [-j|--json] [s|--summary]

顯示一個特定BGP鄰居的所有路由信息(即使不是最佳路由):

bgp-routes [-j|--json] [n|–neighbor ]

顯示SDNIP的路由表信息,應該幾乎和BGP路由信息相同,但是包括其他源路由信息:

routes [-j|--json] [s|--summary]

4.1 故障排查

(1)檢查SDNIP是否被安裝:

onos>feature:list | grep sdnip

(2)檢查內部BGPSpeaker對等ONOS是否正確,如果正確,可以看到一系列內部BGPSpeaker:

onos>bgp-neighbors

(3)檢查ONOS是否接收到期待的路由:

onos> routes

(4)路由被接收的話,為每個路由將啟動MultiPointToSinglePoint intents,通過查找MultiPointToSinglePoint intents數檢查是否正確,和路由數應該是相同的,且所有的intents應該是已安裝狀態:

onos> intents –s

5 實例演示

5.1 Mininet中的設置

mininet> h1 ip addr show

...

inet 192.168.1.1/24 brd 192.168.1.255 scope global h1-eth0

...

mininet> h2 ip addr show

...

inet 192.168.2.1/24 brd 192.168.2.255 scope global h2-eth0

每個主機都有一個不同的IP子網,當SDNIP運行時,這些主機之間能夠通信,這是因為在SDN網絡中使用了基于BGP路由的路由流量。

SDNIP未啟動時,主機間ping操作,是不通信的:

mininet> h1 ping h2

PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

From 192.168.1.254 icmp_seq=1 Destination Net Unreachable

From 192.168.1.254 icmp_seq=2 Destination Net Unreachable

From 192.168.1.254 icmp_seq=3 Destination Net Unreachable

5.2 SDN-IP啟動運行

onos> feature:install onos-app-config

onos> feature:install onos-app-proxyarp

onos> feature:install onos-app-sdnip

SDNIP成功啟動后驗證主機間的連通性:

mininet> h1 ping h2

PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

64 bytes from 192.168.2.1: icmp_seq=1 ttl=62 time=0.693 ms

64 bytes from 192.168.2.1: icmp_seq=2 ttl=62 time=0.139 ms

64 bytes from 192.168.2.1: icmp_seq=3 ttl=62 time=0.149 ms

由實驗驗證可知,主機間是可以通信的。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 德保县| 文山县| 错那县| 平乐县| 班戈县| 连江县| 弥勒县| 襄城县| 香河县| 衡水市| 任丘市| 彭水| 平乐县| 荣成市| 澳门| 四会市| 佛坪县| 百色市| 永寿县| 江阴市| 都匀市| 玉溪市| 玛沁县| 历史| 衡南县| 通海县| 洛隆县| 文昌市| 都兰县| 叶城县| 沁源县| 乌恰县| 马尔康县| 毕节市| 芦溪县| 马关县| 张家川| 星子县| 邹城市| 梓潼县| 饶阳县|