国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      介質(zhì)訪問控制MAC地址學(xué)習(xí)方法、控制器及交換設(shè)備與流程

      文檔序號(hào):11138471閱讀:442來源:國(guó)知局
      本發(fā)明涉及通信技術(shù),尤其涉及一種介質(zhì)訪問控制MAC地址學(xué)習(xí)方法、控制器及交換設(shè)備。
      背景技術(shù)
      ::隨著網(wǎng)絡(luò)技術(shù)的不斷成熟和發(fā)展,開放流(Openflow,簡(jiǎn)稱OF)網(wǎng)絡(luò)為我們提供了一種基于流的新型網(wǎng)絡(luò)模型,該網(wǎng)絡(luò)主要包括兩類設(shè)備:控制器和OF交換設(shè)備。其中,控制器用于對(duì)網(wǎng)絡(luò)進(jìn)行集中控制,并給OF交換設(shè)備下發(fā)流表,OF交換設(shè)備用于根據(jù)該流表對(duì)接收到的報(bào)文進(jìn)行匹配和轉(zhuǎn)發(fā);其中,控制器是向用戶開放的;流表中記錄源介質(zhì)訪問控制(MediaAccessControl,簡(jiǎn)稱MAC)地址、目的MAC地址以及輸出端口標(biāo)識(shí)。現(xiàn)有技術(shù)中,當(dāng)OF交換設(shè)備接收到用戶邊緣設(shè)備(CommunicationEdge,簡(jiǎn)稱CE)發(fā)送的報(bào)文時(shí),根據(jù)報(bào)文的目的MAC地址與該OF交換設(shè)備中已有的流表進(jìn)行匹配,若匹配到,則從對(duì)應(yīng)的輸出端口進(jìn)行轉(zhuǎn)發(fā);若沒有匹配到流表,則將該報(bào)文上送控制器,由控制器指示OF交換設(shè)備進(jìn)行廣播,并且控制器對(duì)該報(bào)文的源MAC地址、目的MAC地址以及源端口進(jìn)行學(xué)習(xí),即更新MAC地址表,并以流表的形式下發(fā)到OF交換設(shè)備。發(fā)明人在實(shí)現(xiàn)本發(fā)明實(shí)施例的過程中發(fā)現(xiàn),采用現(xiàn)有技術(shù)會(huì)導(dǎo)致一些地址表項(xiàng)控制器學(xué)習(xí)不到,從而使得控制器不能對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行有效控制。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種介質(zhì)訪問控制MAC地址學(xué)習(xí)方法、控制器及交換設(shè)備,用于解決控制器不能學(xué)習(xí)到OF網(wǎng)絡(luò)中所有MAC地址表項(xiàng)的問題。本發(fā)明實(shí)施例第一方面提供一種介質(zhì)訪問控制MAC地址學(xué)習(xí)方法,包括:控制器接收開放流OF交換設(shè)備發(fā)送的第一報(bào)文和所述第一報(bào)文的入端口信息,其中第一報(bào)文的源地址為第一用戶邊緣設(shè)備CE的MAC地址,第一報(bào)文的目的地址為第二CE的MAC地址;第一報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口;控制器根據(jù)所述第一報(bào)文和所述第一報(bào)文的入端口信息生成第一MAC地址表項(xiàng),其中,所述第一MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述第一MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述第一MAC地址表項(xiàng)的出端口為所述第一報(bào)文的入端口;控制器將所述第一MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;控制器判斷所述OF交換設(shè)備的MAC地址表中是否存在第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的源地址為第一CE的MAC地址,所述第二MAC地址表項(xiàng)的目的地址為第二CE的MAC地址;如果存在所述第二MAC地址表項(xiàng),控制器向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。結(jié)合第一方面,在第一方面的第一種可能的實(shí)施方式中,所述方法還包括:如果不存在所述第二MAC地址表項(xiàng),控制器接收所述OF交換設(shè)備發(fā)送的第二報(bào)文和所述第二報(bào)文的入端口信息,其中第二報(bào)文的源地址為第二CE的MAC地址,第二報(bào)文的目的地址為第一CE的MAC地址;第二報(bào)文的入端口為所述OF交換設(shè)備接收所述第二報(bào)文的端口;控制器根據(jù)所述第二報(bào)文和所述第二報(bào)文的入端口信息生成所述第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的出端口為所述第二報(bào)文的入端口;控制器將所述第二MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;控制器向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。本發(fā)明實(shí)施例第二方面提供一種介質(zhì)訪問控制MAC地址學(xué)習(xí)方法,包括:開放流OF交換設(shè)備接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文,其中,所述報(bào)文源地址為第一用戶邊緣設(shè)備CE的MAC地址,所述報(bào)文的目的地址為第二CE的MAC地址;所述報(bào)文的入端口為所述OF交換設(shè)備接收所述報(bào)文的端口;若所述報(bào)文未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng),則OF交換設(shè)備將所述報(bào)文和所述報(bào)文的入端口信息發(fā)送給控制器,以使控制器生成MAC地址表項(xiàng),其中,所述MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述MAC地址表項(xiàng)的出端口為所述報(bào)文的入端口。結(jié)合第二方面,在第二方面的第一種可能的實(shí)施方式中,所述將所述報(bào)文和所述報(bào)文的入端口信息發(fā)送給控制器之后,還包括:接收控制器發(fā)送的MAC地址表項(xiàng)。本發(fā)明實(shí)施例第三方面提供一種控制器,包括:接收模塊,用于接收開放流OF交換設(shè)備發(fā)送的第一報(bào)文和所述第一報(bào)文的入端口信息,其中第一報(bào)文的源地址為第一用戶邊緣設(shè)備CE的MAC地址,第一報(bào)文的目的地址為第二CE的MAC地址;第一報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口;生成模塊,用于根據(jù)所述第一報(bào)文和所述第一報(bào)文的入端口信息生成第一MAC地址表項(xiàng),其中,所述第一MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述第一MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述第一MAC地址表項(xiàng)的出端口為所述第一報(bào)文的入端口;保存模塊,用于將所述第一MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;判斷模塊,用于判斷所述OF交換設(shè)備的MAC地址表中是否存在第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的源地址為第一CE的MAC地址,所述第二MAC地址表項(xiàng)的目的地址為第二CE的MAC地址;發(fā)送模塊,用于如果存在所述第二MAC地址表項(xiàng),控制器向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。結(jié)合第三方面,在第三方面的第一種可能的實(shí)施方式中,所述接收模塊,還用于如果不存在所述第二MAC地址表項(xiàng),控制器接收所述OF交換設(shè)備發(fā)送的第二報(bào)文和所述第二報(bào)文的入端口信息,其中第二報(bào)文的源地址為第二CE的MAC地址,第二報(bào)文的目的地址為第一CE的MAC地址;第二報(bào)文的入端口為所述OF交換設(shè)備接收所述第二報(bào)文的端口;所述生成模塊,還用于根據(jù)所述第二報(bào)文和所述第二報(bào)文的入端口信息生成所述第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的出端口為所述第二報(bào)文的入端口;所述保存模塊,還用于將所述第二MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;所述發(fā)送模塊,還用于向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。本發(fā)明實(shí)施例第四方面提供一種交換設(shè)備,包括:接收模塊,用于接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文,其中,所述報(bào)文源地址為第一用戶邊緣設(shè)備CE的MAC地址,所述報(bào)文的目的地址為第二CE的MAC地址;所述報(bào)文的入端口為所述OF交換設(shè)備接收所述報(bào)文的端口;發(fā)送模塊,用于若所述報(bào)文未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng),則OF交換設(shè)備將所述報(bào)文和所述報(bào)文的入端口信息發(fā)送給控制器,以使控制器生成MAC地址表項(xiàng),其中,所述MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述MAC地址表項(xiàng)的出端口為所述報(bào)文的入端口。結(jié)合第四方面,在第四方面的第一種可能的實(shí)施方式中,所述接收模塊,還用于接收控制器發(fā)送的MAC地址表項(xiàng)。本發(fā)明實(shí)施例第五方面提供一種控制器,包括:接收器,用于接收開放流OF交換設(shè)備發(fā)送的第一報(bào)文和所述第一報(bào)文的入端口信息,其中第一報(bào)文的源地址為第一用戶邊緣設(shè)備CE的MAC地址,第一報(bào)文的目的地址為第二CE的MAC地址;第一報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口;處理器,用于根據(jù)所述第一報(bào)文和所述第一報(bào)文的入端口信息生成第一MAC地址表項(xiàng),其中,所述第一MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述第一MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述第一MAC地址表項(xiàng)的出端口為所述第一報(bào)文的入端口;存儲(chǔ)器,用于將所述第一MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;所述處理器,還用于判斷所述OF交換設(shè)備的MAC地址表中是否存在第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的源地址為第一CE的MAC地址,所述第二MAC地址表項(xiàng)的目的地址為第二CE的MAC地址;發(fā)送器,用于如果存在所述第二MAC地址表項(xiàng),控制器向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。結(jié)合第五方面,在第五方面的第一種可能的實(shí)施方式中,所述接收器,還用于如果不存在所述第二MAC地址表項(xiàng),控制器接收所述OF交換設(shè)備發(fā)送的第二報(bào)文和所述第二報(bào)文的入端口信息,其中第二報(bào)文的源地址為第二CE的MAC地址,第二報(bào)文的目的地址為第一CE的MAC地址;第二報(bào)文的入端口為所述OF交換設(shè)備接收所述第二報(bào)文的端口;所述處理器,還用于根據(jù)所述第二報(bào)文和所述第二報(bào)文的入端口信息生成所述第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的出端口為所述第二報(bào)文的入端口;所述存儲(chǔ)器,用于將所述第二MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;所述發(fā)送器,用于向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。本發(fā)明實(shí)施例第六方面提供一種交換設(shè)備,包括:接收器,用于接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文,其中,所述報(bào)文源地址為第一用戶邊緣設(shè)備CE的MAC地址,所述報(bào)文的目的地址為第二CE的MAC地址;所述報(bào)文的入端口為所述OF交換設(shè)備接收所述報(bào)文的端口;發(fā)送器,用于若所述報(bào)文未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng),則OF交換設(shè)備將所述報(bào)文和所述報(bào)文的入端口信息發(fā)送給控制器,以使控制器生成MAC地址表項(xiàng),其中,所述MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述MAC地址表項(xiàng)的出端口為所述報(bào)文的入端口。結(jié)合第六方面,在第六方面的第一種可能的實(shí)施方式中,所述接收器,還用于接收控制器發(fā)送的MAC地址表項(xiàng)。本發(fā)明實(shí)施例中,OF網(wǎng)絡(luò)中的控制器生成第一MAC地址表項(xiàng)后,要判斷OF交換設(shè)備的MAC地址表中是否存在相對(duì)應(yīng)的第二MAC地址表項(xiàng),如果存在第二MAC地址表項(xiàng),再將這一對(duì)MAC地址表項(xiàng)下發(fā),這樣可以使得控制器將往返的MAC地址表項(xiàng)都學(xué)習(xí)到,避免了控制器可能學(xué)習(xí)不到整個(gè)網(wǎng)絡(luò)中的部分MAC地址表項(xiàng)的情況,使得控制器可以對(duì)整個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行很好的控制。本發(fā)明實(shí)施例第七方面提供一種介質(zhì)訪問控制MAC地址學(xué)習(xí)方法,包括:開放流OF交換設(shè)備接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文;所述OF交換設(shè)備根據(jù)所述報(bào)文生成MAC地址表項(xiàng),其中所述MAC地址表項(xiàng)的目的地址為所述報(bào)文的源地址;所述MAC地址表項(xiàng)的出端口為所述OF交換設(shè)備接收所述報(bào)文的端口;所述OF交換設(shè)備保存所述MAC地址表項(xiàng);所述OF交換設(shè)備向控制器發(fā)送所述MAC地址表項(xiàng)。結(jié)合第七方面,在第七方面的第一種可能的實(shí)施方式中,所述OF交換設(shè)備向控制器發(fā)送所述MAC地址表項(xiàng)具體包括:所述OF交換設(shè)備通過OF消息向控制器發(fā)送所述MAC地址表項(xiàng)。本發(fā)明實(shí)施例第八方面提供一種介質(zhì)訪問控制MAC地址學(xué)習(xí)方法,包括:控制器接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng);控制器將所述MAC地址表項(xiàng)保存到所述OF交換設(shè)備對(duì)應(yīng)的MAC地址表。本發(fā)明第九方面提供一種交換設(shè)備,包括:接收模塊,用于接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文;生成模塊,用于根據(jù)所述報(bào)文生成MAC地址表項(xiàng),其中所述MAC地址表項(xiàng)的目的地址為所述報(bào)文的源地址;所述MAC地址表項(xiàng)的出端口為所述OF交換設(shè)備接收所述報(bào)文的端口;保存模塊,用于保存所述MAC地址表項(xiàng);發(fā)送模塊,用于向控制器發(fā)送所述MAC地址表項(xiàng)。結(jié)合第九方面,在第九方面的第一種可能的實(shí)施方式中,所述發(fā)送模塊,具體用于通過OF消息向控制器發(fā)送所述MAC地址表項(xiàng)。本發(fā)明實(shí)施例第十方面提供一種控制器,包括:接收模塊,用于接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng);保存模塊,用于將所述MAC地址表項(xiàng)保存到所述OF交換設(shè)備對(duì)應(yīng)的MAC地址表。本發(fā)明實(shí)施例第十一方面提供一種交換設(shè)備,包括:接收器,用于接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文;處理器,用于根據(jù)所述報(bào)文生成MAC地址表項(xiàng),其中所述MAC地址表項(xiàng)的目的地址為所述報(bào)文的源地址;所述MAC地址表項(xiàng)的出端口為所述OF交換設(shè)備接收所述報(bào)文的端口;存儲(chǔ)器,用于保存所述MAC地址表項(xiàng);發(fā)送器,用于向控制器發(fā)送所述MAC地址表項(xiàng)。結(jié)合第十一方面,在第十一方面的第一種可能的實(shí)施方式中,所述發(fā)送器,具體用于通過OF消息向控制器發(fā)送所述MAC地址表項(xiàng)。本發(fā)明實(shí)施例第十二方面提供一種控制器,包括:接收器,用于接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng);存儲(chǔ)器,用于將所述MAC地址表項(xiàng)保存到所述OF交換設(shè)備對(duì)應(yīng)的MAC地址表。本發(fā)明實(shí)施例中,OF交換設(shè)備根據(jù)接收到的報(bào)文生成MAC地址表項(xiàng)并進(jìn)行保存,這樣可以學(xué)習(xí)到它通信過程中的所有地址表項(xiàng),將學(xué)習(xí)生成的MAC地址表項(xiàng)通過OF消息上送給控制器,控制器將各OF交換設(shè)備上送的MAC地址表項(xiàng)進(jìn)行維護(hù),可以獲取整個(gè)網(wǎng)絡(luò)的MAC地址,以對(duì)整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行控制。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例一的流程示意圖;圖2為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例二的應(yīng)用結(jié)構(gòu)示意圖;圖3為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例三的流程示意圖;圖4為本發(fā)明提供的控制器實(shí)施例一的結(jié)構(gòu)示意圖;圖5為本發(fā)明提供的交換設(shè)備實(shí)施例一的結(jié)構(gòu)示意圖;圖6為本發(fā)明提供的控制器實(shí)施例二的結(jié)構(gòu)示意圖;圖7為本發(fā)明提供的交換設(shè)備實(shí)施例二的結(jié)構(gòu)示意圖;圖8為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例四的流程示意圖;圖9為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例五的流程示意圖;圖10為本發(fā)明提供的交換設(shè)備實(shí)施例三的結(jié)構(gòu)示意圖;圖11為本發(fā)明提供的控制器實(shí)施例三的結(jié)構(gòu)示意圖;圖12為本發(fā)明提供的交換設(shè)備實(shí)施例四的結(jié)構(gòu)示意圖;圖13為本發(fā)明提供的控制器實(shí)施例四的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例一的流程示意圖,如圖1所示,該方法包括:S101、控制器接收OF交換設(shè)備發(fā)送的第一報(bào)文和該第一報(bào)文的入端口信息,其中第一報(bào)文的源地址為第一CE的MAC地址,第一報(bào)文的目的地址為第二CE的MAC地址;第一報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口。具體地,第一報(bào)文的入端口信息可以由OF交換設(shè)備封裝到第一報(bào)文中一起上送給控制器,也可以單獨(dú)的發(fā)送給控制器。S102、控制器根據(jù)上述第一報(bào)文和所述第一報(bào)文的入端口信息生成第一MAC地址表項(xiàng),其中,該第一MAC地址表項(xiàng)的源地址為第二CE的MAC地址,該第一MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;該第一MAC地址表項(xiàng)的出端口為上述第一報(bào)文的入端口。S103、控制器將上述第一MAC地址表項(xiàng)保存到上述OF交換設(shè)備的MAC地址表。在OF網(wǎng)絡(luò)中,控制器在接收到OF交換設(shè)備上送的報(bào)文時(shí),可以解析獲取到該報(bào)文的源MAC地址、目的MAC地址、以及該OF交換設(shè)備接收該報(bào)文的入端口號(hào),并進(jìn)行學(xué)習(xí),即生成MAC地址表項(xiàng),在該MAC地址表項(xiàng)中將上述源MAC地址作為目的MAC地址記錄,將上述目的MAC地址作為源MAC地址,將上述入端口作為出端口(outport)記錄,當(dāng)將MAC地址表項(xiàng)下發(fā)給上述OF交換設(shè)備后,該OF交換設(shè)備接收到與上一報(bào)文沿相反路徑發(fā)送的報(bào)文時(shí)就可以知道將這個(gè)報(bào)文從哪一個(gè)端口發(fā)送出去了。S104、控制器判斷上述OF交換設(shè)備的MAC地址表中是否存在第二MAC地址表項(xiàng),其中該第二MAC地址表項(xiàng)的源地址為第一CE的MAC地址,該第二MAC地址表項(xiàng)的目的地址為第二CE的MAC地址。S105、如果存在上述第二MAC地址表項(xiàng),控制器向上述OF交換設(shè)備發(fā)送上述第一MAC地址表項(xiàng)和上述第二MAC地址表項(xiàng)?,F(xiàn)有技術(shù)中,控制器每學(xué)習(xí)到一個(gè)MAC地址表項(xiàng)后就會(huì)下發(fā)給OF交換設(shè)備,例如,控制器學(xué)習(xí)到上述第一MAC地址表項(xiàng)后下發(fā)給OF控制器,那么當(dāng)?shù)诙﨏E向上述第一CE發(fā)送第二報(bào)文時(shí),采用現(xiàn)有技術(shù)匹配目的MAC的方式,就可以在上述第一MAC地址表項(xiàng)中匹配到第一CE的MAC地址,進(jìn)而在該第一MAC地址表項(xiàng)中查到對(duì)應(yīng)的出端口(outport)號(hào),從而將第二報(bào)文從該出端口號(hào)對(duì)應(yīng)的端口發(fā)送出去,到達(dá)第一CE,而不會(huì)上報(bào)控制器,這樣控制器就不能學(xué)習(xí)到上述第二MAC地址表項(xiàng)。本實(shí)施例中,OF網(wǎng)絡(luò)中的控制器生成第一MAC地址表項(xiàng)后,要判斷OF交換設(shè)備的MAC地址表中是否存在相對(duì)應(yīng)的第二MAC地址表項(xiàng),如果存在第二MAC地址表項(xiàng),再將這一對(duì)MAC地址表項(xiàng)下發(fā),這樣可以使得控制器將往返的MAC地址表項(xiàng)都學(xué)習(xí)到,避免了控制器可能學(xué)習(xí)不到整個(gè)網(wǎng)絡(luò)中的部分MAC地址表項(xiàng)的情況,使得控制器可以對(duì)整個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行很好的控制。圖2為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例二的應(yīng)用結(jié)構(gòu)示意圖,該方法實(shí)施例應(yīng)用于OF網(wǎng)絡(luò)中,以控制器控制范圍內(nèi)包含三個(gè)OF交換設(shè)備為例,這些OF交換設(shè)備可以為OF交換機(jī)。具體的,如圖2所示,該應(yīng)用場(chǎng)景中包括:控制器201,第一OF交換設(shè)備202,第二OF交換設(shè)備203,第三OF交換設(shè)備204,以及第一CE205,第二CE206,第三CE207。進(jìn)一步地,上述S104之后,如果不存在上述第二MAC地址表項(xiàng),控制器接收上述OF交換設(shè)備發(fā)送的第二報(bào)文和上述第二報(bào)文的入端口信息,其中第二報(bào)文的源地址為第二CE的MAC地址,第二報(bào)文的目的地址為第一CE的MAC地址;第二報(bào)文的入端口為上述OF交換設(shè)備接收所述第二報(bào)文的端口。與處理上述第一報(bào)文的方式相同,控制器根據(jù)第二報(bào)文的該第二報(bào)文的入端口信息生成上述第二MAC地址表項(xiàng),其中,上述第二MAC地址表項(xiàng)的出端口為上述第二報(bào)文的入端口;進(jìn)而,控制器將上述第二MAC地址表項(xiàng)保存到上述OF交換設(shè)備的MAC地址表;最后,控制器向上述OF交換設(shè)備發(fā)送該第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng)。更進(jìn)一步地,在控制器學(xué)習(xí)生成獲取與上述第一OF交換設(shè)備對(duì)應(yīng)的上述第一MAC地址表項(xiàng)之后,該控制器將上述第一報(bào)文發(fā)送給上述第一OF交換設(shè)備,并指示該第一OF交換設(shè)備將該第一報(bào)文廣播給與該第一OF交換設(shè)備通信的其它OF交換設(shè)備,以使上述其它OF交換設(shè)備中的第二與上述第二CE通信的OF交換設(shè)備將該第一報(bào)文發(fā)送給上述第二CE;該控制器接收上述其它OF交換設(shè)備發(fā)送的第一報(bào)文,該第一報(bào)文中包含第一CE的MAC地址和第二CE的MAC地址,該第一報(bào)文為其它OF交換設(shè)備在未匹配到包含上述源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng)時(shí)發(fā)送的第一CE的MAC地址和第二CE的MAC地址的時(shí)發(fā)送的;控制器學(xué)習(xí)生成獲取上述第一MAC地址表項(xiàng),并將上述第一MAC地址表項(xiàng)加入與上述其它OF交換設(shè)備中各OF交換設(shè)備對(duì)應(yīng)的MAC地址表中;即與前述過程相同,上述第一報(bào)文廣播到其它OF交換設(shè)備后同樣未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng)上述第一CE的MAC地址和第二CE的MAC地址的,于是也將該第一報(bào)文和該第一報(bào)文的入端口信息上送控制器,以使控制器進(jìn)行MAC學(xué)習(xí),然后控制器將學(xué)習(xí)獲取生成的第一MAC地址表項(xiàng)分別加入到與各OF交換設(shè)備對(duì)應(yīng)的地址表中。需要說明的是,上述第一MAC地址表項(xiàng)可以泛指在發(fā)送上述第一報(bào)文的過程中,控制器學(xué)習(xí)到的MAC地址表項(xiàng);同理,下文中,第二MAC地址表項(xiàng)可以泛指在發(fā)送第二報(bào)文的過程中,控制器學(xué)習(xí)到的地址表項(xiàng);第三MAC地址表項(xiàng)可以泛指在發(fā)送第三報(bào)文的過程中,控制器學(xué)習(xí)到的MAC地址表項(xiàng);第四MAC地址表項(xiàng)可以泛指在發(fā)送第四報(bào)文的過程中,控制器學(xué)習(xí)到的MAC地址表項(xiàng);另外,對(duì)應(yīng)于不同的OF交換設(shè)備可以不同。參照?qǐng)D2,假設(shè)之前沒有任何報(bào)文交互,所有的地址表都是空的,需要說明的是,控制器會(huì)為管理范圍內(nèi)的所有OF交換設(shè)備維護(hù)一個(gè)MAC地址表;第一CE205向第二CE206發(fā)送第一報(bào)文的過程中,經(jīng)過第一OF交換設(shè)備202時(shí),第一OF交換設(shè)備202的端口a接收該第一報(bào)文,其中,記第一CE205的MAC地址為mac1,記第二CE206的MAC地址為mac2,該第一報(bào)文在第一OF交換設(shè)備202中未匹配到包含源MAC地址為mac1、目的MAC地址為mac2的MAC地址表項(xiàng),于是將該第一報(bào)文和該第一報(bào)文的入端口信息(端口a)上送控制器,控制器進(jìn)行MAC學(xué)習(xí),從該第一報(bào)文中獲取到該第一報(bào)文的源MAC地址為mac1、目的MAC地址為mac2,以及獲取上述端口a,并記入與第一OF交換設(shè)備202對(duì)應(yīng)的第一MAC地址表中,此時(shí),該第一MAC地址表如表1.1所示,表1.1源MAC目的MAC出端口號(hào)mac2mac1a這樣當(dāng)后續(xù)第一MAC地址表項(xiàng)下發(fā)給第一OF交換設(shè)備后,再有第二CE發(fā)送給第一CE的報(bào)文,該第一OF交換設(shè)備就知道將報(bào)文從端口a送出。本實(shí)施例中,由于上述地址表中只有第一MAC地址表項(xiàng),所以暫不發(fā)送,此時(shí)控制器會(huì)將該第一報(bào)文返回給上述第一OF交換設(shè)備202,并指示該第一OF交換設(shè)備202將該第一報(bào)文廣播出去,使與該第一OF交換設(shè)備相連的OF交換設(shè)備都能夠接收到該第一報(bào)文,上述指示可以是控制器在返回第一報(bào)文的同時(shí)發(fā)送一個(gè)指示消息來實(shí)現(xiàn);以圖2為例,第二OF交換設(shè)備203會(huì)從端口c接收到該第一報(bào)文,第三OF交換設(shè)備204會(huì)從端口e接收到該第一報(bào)文,那么,與上述第一OF交換設(shè)備202的處理方式一樣,先進(jìn)行匹配,當(dāng)沒有匹配到包含源MAC地址為mac1、目的MAC地址為mac2的MAC地址表項(xiàng)時(shí),將該第一報(bào)文上送給控制器201,以使控制器201進(jìn)行MAC學(xué)習(xí),并將獲取的第一MAC地址表項(xiàng)分別記入與第二OF交換設(shè)備203和第三OF交換設(shè)備204對(duì)應(yīng)的MAC地址表中,其中與第二OF交換設(shè)備203對(duì)應(yīng)的第二MAC地址表如表2.1所示,表2.1源MAC目的MAC出端口號(hào)mac2mac1c與第三OF交換設(shè)備204對(duì)應(yīng)的第三MAC地址表如表3.1所示,表3.1源MAC目的MAC出端口號(hào)mac2mac1e此時(shí)與第二OF交換設(shè)備203和第三OF交換設(shè)備204對(duì)應(yīng)的MAC地址表中都只包含一個(gè)MAC地址條目,因此不進(jìn)行下發(fā),都只是在控制器進(jìn)行維護(hù);在此之后,控制器會(huì)指示各OF交換設(shè)備將該第一報(bào)文從各端口廣播出去,以使該第一報(bào)文能夠到達(dá)第二CE206。上述S102中,控制器在上述第二CE向上述第一CE發(fā)送第二報(bào)文時(shí),學(xué)習(xí)獲取并生成第二地址表項(xiàng),具體為,上述控制器接收上述第二OF交換設(shè)備發(fā)送的該第二報(bào)文和該第二報(bào)文的入端口信息,該第二報(bào)文中包含的目的MAC地址為第一CE的MAC地址、源MAC地址為和第二CE的MAC地址,該第二報(bào)文為上述第二OF交換設(shè)備在未匹配到包含源地址為第二CE的MAC地址、目的地址為第一CE的MAC地址的MAC地址表項(xiàng)時(shí)發(fā)送的,此時(shí),第二CE的MAC地址為源MAC地址,第一CE的MAC地址為目的MAC地址;然后,該控制器學(xué)習(xí)獲取上述第二MAC地址表項(xiàng),并將該第二MAC地址表項(xiàng)加入到與上述第二OF交換設(shè)備對(duì)應(yīng)的第二地址表中,該第二地址表包括上述第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng)。參照?qǐng)D2,第二CE206向第一CE205發(fā)送第二報(bào)文的過程中,經(jīng)過第二OF交換設(shè)備203時(shí),第二OF交換設(shè)備203的端口d接收該第二報(bào)文,該第二報(bào)文在第二OF交換設(shè)備203中未匹配到包含源MAC地址為mac2、目的MAC地址為mac1的地址表項(xiàng),于是將該第二報(bào)文和該第二報(bào)文的入端口信息(端口d)上送控制器201,控制器201進(jìn)行MAC學(xué)習(xí),從該第二報(bào)文中獲取到該第二報(bào)文的源MAC地址為mac2、目的MAC地址為mac1,以及獲取該入端口信息,即端口d,并記入與第二OF交換設(shè)備203對(duì)應(yīng)的第二MAC地址表中,此時(shí),該第二MAC地址表如表2.2所示,表2.2源MAC目的MAC出端口號(hào)mac2mac1cmac1mac2d此時(shí),第二MAC地址表中包含了一對(duì)MAC地址表項(xiàng),于是將這一對(duì)MAC地址表項(xiàng)以流表的形式下發(fā)給上述第二OF交換設(shè)備;具體實(shí)現(xiàn)過程中,控制器向該第二OF交換設(shè)備下發(fā)該第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng)之后,接收上述第一OF交換設(shè)備發(fā)送的上述第二報(bào)文,上述第二報(bào)文中包含第一CE的MAC地址和第二CE的MAC地址,上述第二報(bào)文為上述第一OF交換設(shè)備在未匹配到包含源地址為第二CE的MAC地址、目的地址為第一CE的MAC地址的MAC地址表項(xiàng)時(shí)發(fā)送的;接著,該控制器學(xué)習(xí)獲取上述第二MAC地址表項(xiàng),并將上述第二MAC地址表項(xiàng)加入到與上述第一OF交換設(shè)備對(duì)應(yīng)的第一地址表中,上述第一地址表包括上述第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng);進(jìn)一步地,上述控制器下發(fā)上述第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng),具體為上述控制器向上述第一OF交換設(shè)備下發(fā)上述第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng),以使上述第一OF交換設(shè)備根據(jù)上述第一MAC地址表項(xiàng)將上述第二報(bào)文發(fā)送給上述第一CE。具體地,當(dāng)?shù)诙﨩F交換設(shè)備接收到上述第一MAC地址表項(xiàng)和第二MAC地址表項(xiàng)之后,該第二OF交換設(shè)備中的第二報(bào)文可以匹配到其中的第一MAC地址表項(xiàng),從而從端口c將該第二報(bào)文發(fā)出,通過第一OF交換設(shè)備的端口b將該第二報(bào)文發(fā)送給第一OF交換設(shè)備,第一OF交換設(shè)備未匹配到源MAC地址為mac2、目的MAC地址為mac1的MAC地址表項(xiàng),于是將該第二報(bào)文上送控制器,控制器進(jìn)行MAC學(xué)習(xí),從該第二報(bào)文中獲取到該第二報(bào)文的源MAC地址為mac2、目的MAC地址為mac1,以及獲取該第二報(bào)文發(fā)送給第一OF交換設(shè)備時(shí)的入端口號(hào)b,并記入與第一OF交換設(shè)備對(duì)應(yīng)的第一MAC地址表中,此時(shí),該第一MAC地址表如表1.2所示,表1.2源MAC目的MAC出端口號(hào)mac2mac1amac1mac2b此時(shí),第一MAC地址表中包含了一對(duì)地址表項(xiàng),于是將這一對(duì)地址表項(xiàng)以流表的形式下發(fā)給上述第一OF交換設(shè)備,于是控制器返回給該第一OF交換設(shè)備的第二報(bào)文可以匹配到其中的第一地址表項(xiàng),從而從端口a將該第二報(bào)文發(fā)送給第一CE。接著,第一CE205向第三CE207發(fā)送第三報(bào)文的過程中,經(jīng)過第一OF交換設(shè)備202時(shí),從第一OF交換設(shè)備202的端口a輸入,其中,記第一CE205的MAC地址為mac1,記第三CE207的MAC地址為mac3,該第三報(bào)文在第一OF交換設(shè)備202中未匹配到包含源MAC地址為mac1、目的MAC地址為mac3的MAC地址表項(xiàng),于是將該第三報(bào)文上送控制器,控制器進(jìn)行MAC學(xué)習(xí),從該第三報(bào)文中獲取到該第三報(bào)文的源MAC地址為mac1、目的MAC地址為mac3,以及獲取該第三報(bào)文發(fā)送給第一OF交換設(shè)備202時(shí)的入端口號(hào)a,并作為第三MAC地址表項(xiàng)記入與第一OF交換設(shè)備202對(duì)應(yīng)的第一MAC地址表中,此時(shí),該MAC地址表如表1.3所示,表1.3源MAC目的MAC出端口號(hào)mac2mac1amac1mac2bmac3mac1a但此時(shí)地址表中對(duì)于mac3到mac1這條MAC地址表項(xiàng)來說,還不存在相對(duì)的mac1到mac3的MAC地址表項(xiàng),因此暫時(shí)不下發(fā),僅在控制器進(jìn)行維護(hù)??刂破鲿?huì)將該第三報(bào)文返回給上述第一OF交換設(shè)備202,并指示該第一OF交換設(shè)備202將該第三報(bào)文廣播出去,使與該第一OF交換設(shè)備通信的OF交換設(shè)備都能夠接收到該第三報(bào)文,上述指示可以是控制器在返回第三報(bào)文的同時(shí)發(fā)送一個(gè)指示消息來實(shí)現(xiàn);以圖2為例,第二交換設(shè)備203和第三交換設(shè)備204都會(huì)接收到該第三報(bào)文,那么,與上述第一交換設(shè)備202的處理方式一樣,先進(jìn)行匹配,當(dāng)沒有匹配到包含源MAC地址為mac1、目的MAC地址為mac3的MAC地址表項(xiàng)時(shí),將該第三報(bào)文上送給控制器201,以使控制器201進(jìn)行MAC學(xué)習(xí),并作為第三MAC地址表項(xiàng)分別記入與第二OF交換設(shè)備203和第三OF交換設(shè)備204對(duì)應(yīng)的MAC地址表中,其中與第二OF交換設(shè)備203對(duì)應(yīng)的第二MAC地址表如表2.3所示,表2.3源MAC目的MAC出端口號(hào)mac2mac1cmac1mac2dmac3mac1c與第三OF交換設(shè)備204對(duì)應(yīng)的第三MAC地址表如表3.2所示,表3.2源MAC目的MAC出端口號(hào)mac2mac1emac3mac1e在第二地址表和第三地址表中對(duì)于mac3到mac1這條MAC地址表項(xiàng)來說,還不存在相對(duì)的mac1到mac3的MAC地址表項(xiàng),因此暫時(shí)不下發(fā),僅在控制器進(jìn)行維護(hù)。進(jìn)而,控制器會(huì)指示各OF交換設(shè)備將該第三報(bào)文從各端口廣播出去,以使該第三報(bào)文能夠到達(dá)第三CE207。再接下來,第三CE207向第一CE205發(fā)送第四報(bào)文的過程中,經(jīng)過第三OF交換設(shè)備204時(shí),從第三OF交換設(shè)備204的端口f輸入,該第四報(bào)文在第三OF交換設(shè)備204中未匹配到包含源MAC地址為mac3、目的MAC地址為mac1的MAC地址表項(xiàng),于是將該第四報(bào)文上送控制器201,控制器201進(jìn)行MAC學(xué)習(xí),從該第四報(bào)文中獲取到該第四報(bào)文的源MAC地址為mac3、目的MAC地址為mac1,以及獲取該第四報(bào)文發(fā)送給第三OF交換設(shè)備204時(shí)的入端口號(hào)f,并作為第四MAC地址表項(xiàng)記入與第三OF交換設(shè)備204對(duì)應(yīng)的第三MAC地址表中,此時(shí),該第三MAC地址表如表3.3所示,表3.3此時(shí),第三MAC地址表中包含了“mac1到mac3”和“mac3到mac1”這一對(duì)MAC地址表項(xiàng),于是將這一對(duì)MAC地址表項(xiàng),即第三MAC地址表項(xiàng)和第四MAC地址表項(xiàng)以流表的形式下發(fā)給上述第二OF交換設(shè)備。當(dāng)?shù)谌齇F交換設(shè)備接收到上述第三MAC地址表項(xiàng)和第四MAC地址表項(xiàng)之后,控制器返回給該第三OF交換設(shè)備的第四報(bào)文可以匹配到其中的第三MAC地址表項(xiàng),從而從端口e將該第四報(bào)文發(fā)出,通過第一OF交換設(shè)備的端口g將該第四報(bào)文發(fā)送給第一OF交換設(shè)備,第一OF交換設(shè)備未匹配到源MAC地址為mac3、目的MAC地址為mac1的MAC地址表項(xiàng),于是將該第四報(bào)文上送控制器,控制器進(jìn)行MAC學(xué)習(xí),從該第四報(bào)文中獲取到該第四報(bào)文的源MAC地址為mac3、目的MAC地址為mac1,以及獲取該第四報(bào)文發(fā)送給第一OF交換設(shè)備時(shí)的入端口號(hào)g,并作為第四MAC地址表項(xiàng)記入與第一OF交換設(shè)備對(duì)應(yīng)的第一MAC地址表中,此時(shí),該第一MAC地址表如表1.4所示,表1.4源MAC目的MAC出端口號(hào)mac2mac1amac1mac2bmac3mac1amac1mac3g此時(shí),第一MAC地址表中包含了“mac1到mac3”和“mac3到mac1”這一對(duì)MAC地址表項(xiàng),于是將這一對(duì)MAC地址表項(xiàng),即第三MAC地址表項(xiàng)和第四MAC地址表項(xiàng)以流表的形式下發(fā)給上述第一OF交換設(shè)備。如果采用現(xiàn)有技術(shù),當(dāng)OF交換設(shè)備接收到報(bào)文時(shí),只進(jìn)行目的MAC地址的匹配,那么當(dāng)?shù)谒膱?bào)文經(jīng)過上述第一OF交換設(shè)備時(shí),會(huì)在該第一OF交換設(shè)備中已有的上述第一MAC地址表項(xiàng)中匹配到目的MAC地址mac1,那么就會(huì)將該第四報(bào)文通過端口a直接發(fā)送給第一CE,而不會(huì)上送給控制器,這樣的話控制器就不會(huì)學(xué)習(xí)到上述表1.4中的第四MAC地址表項(xiàng),而采用本發(fā)明實(shí)施例,需要同時(shí)匹配到目的MAC和源MAC,那么第一OF交換設(shè)備就必須把該第四報(bào)文上送給控制器。于是控制器返回給該第一OF交換設(shè)備的第四報(bào)文可以匹配到其中的第三MAC地址表項(xiàng),從而從端口a將該第四報(bào)文發(fā)送給第一CE。本實(shí)施例中,OF網(wǎng)絡(luò)中的控制器生成第一MAC地址表項(xiàng)后,要判斷OF交換設(shè)備的MAC地址表中是否存在相對(duì)應(yīng)的第二MAC地址表項(xiàng),如果存在第二MAC地址表項(xiàng),再將這一對(duì)MAC地址表項(xiàng)下發(fā),如果不存在,等學(xué)習(xí)生成第二MAC地址表項(xiàng)之后,再將這一對(duì)地址表項(xiàng)下發(fā),這樣可以使得控制器將往返的MAC地址表項(xiàng)都學(xué)習(xí)到;進(jìn)一步的,本實(shí)施例中,使OF交換設(shè)備在接收到報(bào)文時(shí)同時(shí)匹配目的MAC地址和源MAC地址,以保證控制器可以學(xué)習(xí)到目的MAC地址相同但是源MAC地址不同的所有MAC地址表項(xiàng),更好的避免了控制器可能學(xué)習(xí)不到整個(gè)網(wǎng)絡(luò)中的部分MAC地址的情況,使得控制器可以對(duì)整個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行很好的控制。另外,如果采用現(xiàn)有技術(shù),控制器沒有學(xué)習(xí)到上述第二MAC地址表項(xiàng),那么下次第一CE向第二CE發(fā)送報(bào)文時(shí)可能還是匹配不到目的MAC,進(jìn)而再把報(bào)文上送給控制器,而采用本發(fā)明實(shí)施例后,當(dāng)?shù)谝籆E再給第二CE發(fā)送報(bào)文時(shí)就可以不同上送控制器,因而也可以緩解控制器的負(fù)擔(dān)。圖3為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例三的流程示意圖,該方法的執(zhí)行主體可以為上述第一OF交換設(shè)備或第二OF交換設(shè)備,如圖3所示,與前述控制器側(cè)相對(duì)應(yīng),該方法包括:S301、OF交換設(shè)備接收CE發(fā)送的報(bào)文,其中,該報(bào)文源地址為第一CE的MAC地址,該報(bào)文的目的地址為第二CE的MAC地址;所述報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口。S302、若該報(bào)文未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng),則OF交換設(shè)備將該報(bào)文和該報(bào)文的入端口信息發(fā)送給控制器,以使控制器生成MAC地址表項(xiàng),其中,該MAC地址表項(xiàng)的源地址為第二CE的MAC地址,該MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;該MAC地址表項(xiàng)的出端口為所述報(bào)文的入端口??刂破鱾?cè)的具體實(shí)施過程可參照前述方法實(shí)施例,在此不再贅述。進(jìn)一步地,在S302之后,該OF交換設(shè)備會(huì)接收到控制器發(fā)送的MAC地址表項(xiàng),即成對(duì)的地址表項(xiàng)。本實(shí)施例中,OF交換設(shè)備接收到CE發(fā)送的報(bào)文后,同時(shí)匹配該報(bào)文的目的MAC地址和源MAC地址,若沒有同時(shí)匹配到就將該報(bào)文和該報(bào)文的入端口信息上送給控制器,使控制器進(jìn)行MAC學(xué)習(xí),獲取對(duì)應(yīng)的地址表項(xiàng),并成對(duì)的下發(fā),以避免控制器會(huì)學(xué)習(xí)不到OF網(wǎng)絡(luò)中的一些地址表項(xiàng),從而使控制器能夠更好的控制整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流。圖4為本發(fā)明提供的控制器實(shí)施例一的結(jié)構(gòu)示意圖,如圖4所示,該控制器包括:接收模塊401、生成模塊402、保存模塊403、判斷模塊404和發(fā)送模塊405,其中,接收模塊401,用于接收開放流OF交換設(shè)備發(fā)送的第一報(bào)文和所述第一報(bào)文的入端口信息,其中第一報(bào)文的源地址為第一用戶邊緣設(shè)備CE的MAC地址,第一報(bào)文的目的地址為第二CE的MAC地址;第一報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口;生成模塊402,用于根據(jù)所述第一報(bào)文和所述第一報(bào)文的入端口信息生成第一MAC地址表項(xiàng),其中,所述第一MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述第一MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述第一MAC地址表項(xiàng)的出端口為所述第一報(bào)文的入端口;保存模塊403、用于將所述第一MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;判斷模塊404,用于判斷所述OF交換設(shè)備的MAC地址表中是否存在第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的源地址為第一CE的MAC地址,所述第二MAC地址表項(xiàng)的目的地址為第二CE的MAC地址;發(fā)送模塊405、用于如果存在所述第二MAC地址表項(xiàng),控制器向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。上述各模塊用于執(zhí)行前述方法實(shí)施例,具體實(shí)現(xiàn)方式類似,在此不再贅述。本實(shí)施例中,OF網(wǎng)絡(luò)中的控制器生成第一MAC地址表項(xiàng)后,要判斷OF交換設(shè)備的MAC地址表中是否存在相對(duì)應(yīng)的第二MAC地址表項(xiàng),如果存在第二MAC地址表項(xiàng),再將這一對(duì)MAC地址表項(xiàng)下發(fā),這樣可以使得控制器將往返的MAC地址表項(xiàng)都學(xué)習(xí)到,避免了控制器可能學(xué)習(xí)不到整個(gè)網(wǎng)絡(luò)中的部分MAC地址表項(xiàng)的情況,使得控制器可以對(duì)整個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行很好的控制。進(jìn)一步地,根據(jù)上述判斷模塊判斷的結(jié)果,上述接收模塊401,還用于如果不存在所述第二MAC地址表項(xiàng),控制器接收所述OF交換設(shè)備發(fā)送的第二報(bào)文和所述第二報(bào)文的入端口信息,其中第二報(bào)文的源地址為第二CE的MAC地址,第二報(bào)文的目的地址為第一CE的MAC地址;第二報(bào)文的入端口為所述OF交換設(shè)備接收所述第二報(bào)文的端口;生成模塊402,還用于根據(jù)所述第二報(bào)文和所述第二報(bào)文的入端口信息生成所述第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的出端口為所述第二報(bào)文的入端口;保存模塊403,還用于將所述第二MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;發(fā)送模塊404,還用于向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。圖5為本發(fā)明提供的交換設(shè)備實(shí)施例一的結(jié)構(gòu)示意圖,如圖5所示,該交換設(shè)備包括:接收模塊501和發(fā)送模塊502,其中:接收模塊501,用于接收用戶邊緣設(shè)備CE發(fā)送的報(bào)文,其中,所述報(bào)文源地址為第一用戶邊緣設(shè)備CE的MAC地址,所述報(bào)文的目的地址為第二CE的MAC地址;所述報(bào)文的入端口為所述OF交換設(shè)備接收所述報(bào)文的端口;發(fā)送模塊502,用于若所述報(bào)文未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng),則OF交換設(shè)備將所述報(bào)文和所述報(bào)文的入端口信息發(fā)送給控制器,以使控制器生成MAC地址表項(xiàng),其中,所述MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述MAC地址表項(xiàng)的出端口為所述報(bào)文的入端口。進(jìn)一步地,接收模塊501,還用于接收控制器發(fā)送的MAC地址表項(xiàng)。本實(shí)施例中,OF交換設(shè)備接收到CE發(fā)送的報(bào)文后,同時(shí)匹配該報(bào)文的目的MAC地址和源MAC地址,若沒有同時(shí)匹配到就將該報(bào)文和該報(bào)文的入端口信息上送給控制器,使控制器進(jìn)行MAC學(xué)習(xí),獲取對(duì)應(yīng)的地址表項(xiàng),并成對(duì)的下發(fā),以避免控制器會(huì)學(xué)習(xí)不到OF網(wǎng)絡(luò)中的一些地址表項(xiàng),從而使控制器能夠更好的控制整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流。圖6為本發(fā)明提供的控制器實(shí)施例二的結(jié)構(gòu)示意圖,如圖6所示,該控制器包括:接收器601、處理器602、存儲(chǔ)器603和發(fā)送器604,其中:接收器601,用于接收開放流OF交換設(shè)備發(fā)送的第一報(bào)文和所述第一報(bào)文的入端口信息,其中第一報(bào)文的源地址為第一用戶邊緣設(shè)備CE的MAC地址,第一報(bào)文的目的地址為第二CE的MAC地址;第一報(bào)文的入端口為所述OF交換設(shè)備接收所述第一報(bào)文的端口;處理器602,用于根據(jù)所述第一報(bào)文和所述第一報(bào)文的入端口信息生成第一MAC地址表項(xiàng),其中,所述第一MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述第一MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述第一MAC地址表項(xiàng)的出端口為所述第一報(bào)文的入端口;存儲(chǔ)器603,用于將所述第一MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;處理器602,還用于判斷所述OF交換設(shè)備的MAC地址表中是否存在第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的源地址為第一CE的MAC地址,所述第二MAC地址表項(xiàng)的目的地址為第二CE的MAC地址;發(fā)送器604,用于如果存在所述第二MAC地址表項(xiàng),控制器向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。本實(shí)施例中,OF網(wǎng)絡(luò)中的控制器生成第一MAC地址表項(xiàng)后,要判斷OF交換設(shè)備的MAC地址表中是否存在相對(duì)應(yīng)的第二MAC地址表項(xiàng),如果存在第二MAC地址表項(xiàng),再將這一對(duì)MAC地址表項(xiàng)下發(fā),這樣可以使得控制器將往返的MAC地址表項(xiàng)都學(xué)習(xí)到,避免了控制器可能學(xué)習(xí)不到整個(gè)網(wǎng)絡(luò)中的部分MAC地址表項(xiàng)的情況,使得控制器可以對(duì)整個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)流進(jìn)行很好的控制。進(jìn)一步地,接收器601,還用于如果不存在所述第二MAC地址表項(xiàng),控制器接收所述OF交換設(shè)備發(fā)送的第二報(bào)文和所述第二報(bào)文的入端口信息,其中第二報(bào)文的源地址為第二CE的MAC地址,第二報(bào)文的目的地址為第一CE的MAC地址;第二報(bào)文的入端口為所述OF交換設(shè)備接收所述第二報(bào)文的端口;這種情況下,處理器602,還用于根據(jù)所述第二報(bào)文和所述第二報(bào)文的入端口信息生成所述第二MAC地址表項(xiàng),其中,所述第二MAC地址表項(xiàng)的出端口為所述第二報(bào)文的入端口;存儲(chǔ)器603,將所述第二MAC地址表項(xiàng)保存到所述OF交換設(shè)備的MAC地址表;發(fā)送器604,用于向所述OF交換設(shè)備發(fā)送所述第一MAC地址表項(xiàng)和所述第二MAC地址表項(xiàng)。該控制器用于執(zhí)行前述方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。圖7為本發(fā)明提供的交換設(shè)備實(shí)施例二的結(jié)構(gòu)示意圖,如圖7所示,該交換設(shè)備包括:接收器701,發(fā)送器702,其中:接收器701,用于接收CE發(fā)送的報(bào)文,其中,所述報(bào)文源地址為第一用戶邊緣設(shè)備CE的MAC地址,所述報(bào)文的目的地址為第二CE的MAC地址;所述報(bào)文的入端口為所述OF交換設(shè)備接收所述報(bào)文的端口;發(fā)送器702,用于若所述報(bào)文未匹配到包含源地址為第一CE的MAC地址、目的地址為第二CE的MAC地址的MAC地址表項(xiàng),則OF交換設(shè)備將所述報(bào)文和所述報(bào)文的入端口信息發(fā)送給控制器,以使控制器生成MAC地址表項(xiàng),其中,所述MAC地址表項(xiàng)的源地址為第二CE的MAC地址,所述MAC地址表項(xiàng)的目的地址為第一CE的MAC地址;所述MAC地址表項(xiàng)的出端口為所述報(bào)文的入端口。進(jìn)一步地,上述接收器701,還用于接收控制器發(fā)送的MAC地址表項(xiàng)。該交換設(shè)備用于執(zhí)行前述方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。圖8為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例四的流程示意圖,如圖8所示,該方法包括:S801、OF交換設(shè)備接收CE發(fā)送的報(bào)文。S802、OF交換設(shè)備根據(jù)上述報(bào)文生成MAC地址表項(xiàng),其中上述MAC地址表項(xiàng)的目的地址為該報(bào)文的源地址;上述MAC地址表項(xiàng)的出端口為該OF交換設(shè)備接收所述報(bào)文的端口。本實(shí)施例中,當(dāng)OF交換設(shè)備接收到報(bào)文之后,同樣將該報(bào)文在本OF交換設(shè)備中進(jìn)行匹配,可以是匹配目的MAC地址,如果該報(bào)文沒有匹配到,不需要將該報(bào)文上送給控制器,而是OF交換設(shè)備自己進(jìn)行MAC學(xué)習(xí),獲取MAC地址表項(xiàng),這樣OF交換設(shè)備可以學(xué)習(xí)獲取到它通信過程中的所有MAC地址表項(xiàng),因?yàn)橹灰?jīng)過它的報(bào)文它都可以進(jìn)行學(xué)習(xí)。S803、OF交換設(shè)備保存該MAC地址表項(xiàng)。S804、OF交換設(shè)備向控制器發(fā)送上述MAC地址表項(xiàng)。當(dāng)OF交換設(shè)備生成MAC學(xué)習(xí)到地址表項(xiàng)后,上送給控制器,具體可以是每學(xué)習(xí)一條MAC地址表項(xiàng)就上送控制器,也可以是將需要經(jīng)過該OF交換設(shè)備轉(zhuǎn)發(fā)的MAC地址信息都學(xué)習(xí)到以后再上送控制器,使控制器將接收到的MAC地址表項(xiàng)加入該OF交換設(shè)備對(duì)應(yīng)的MAC地址表進(jìn)行維護(hù),并使控制器可以掌握整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流向,以進(jìn)行對(duì)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行很好的控制。本實(shí)施例中,OF交換設(shè)備根據(jù)接收到的報(bào)文生成MAC地址表項(xiàng)并進(jìn)行保存,這樣可以學(xué)習(xí)到它通信過程中的所有地址表項(xiàng),將學(xué)習(xí)生成的MAC地址表項(xiàng)上送給控制器,控制器將各OF交換設(shè)備上送的MAC地址表項(xiàng)進(jìn)行維護(hù),可以獲取整個(gè)網(wǎng)絡(luò)的MAC地址,以對(duì)整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行控制。進(jìn)一步地,上述S804中可以是上述OF交換設(shè)備通過OF消息向控制器發(fā)送該MAC地址表項(xiàng)。具體地,上述OF消息可命名為OFP_MAC_MOD,上述OF消息的格式可以為:structofp_mac_mod{(1)structofp_headerheader;(2)uint64_tdatapathid;/*交換設(shè)備的datapathid*/(3)uint8_ttable_id;/*該MAC地址表項(xiàng)所在的tableid*/(4)uint8_tcommand;/*OneofOFPFC_*.*/(5)uint16_tidle_timeout;/*MAC地址表項(xiàng)的過期時(shí)間*/(6)uint16_tpriority;(7)structofpmatchmatch;/*目的mac*/(8)structofp_instructioninstructions[0];/*Instruction:action:output到outport*/(9)};對(duì)上述代碼的主要內(nèi)容作出說明如下:第(1)行用于定義上述OF消息名;第(3)行用于攜帶上送該OF消息的OF交換設(shè)備;第(4)行用于攜帶該MAC地址表項(xiàng)的標(biāo)識(shí);第(6)行用于攜帶上述地址表項(xiàng)的老化周期;第(8)行用于攜帶上述MAC地址表項(xiàng)要匹配的內(nèi)容,在本實(shí)施例中匹配目的MAC;第(9)行用于攜帶匹配到目的MAC之后要進(jìn)行的動(dòng)作,在本實(shí)施例中指示將報(bào)文從哪個(gè)端口發(fā)送出去。本實(shí)施例中,OF交換設(shè)備根據(jù)接收到的報(bào)文生成MAC地址表項(xiàng)并進(jìn)行保存,這樣可以學(xué)習(xí)到它通信過程中的所有地址表項(xiàng),將學(xué)習(xí)生成的MAC地址表項(xiàng)通過OF消息上送給控制器,控制器將各OF交換設(shè)備上送的MAC地址表項(xiàng)進(jìn)行維護(hù),可以獲取整個(gè)網(wǎng)絡(luò)的MAC地址,以對(duì)整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行控制。圖9為本發(fā)明提供的MAC地址學(xué)習(xí)方法實(shí)施例五的流程示意圖,如圖9所示,該方法包括:S901、控制器接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng)。S902、控制器將上述MAC地址表項(xiàng)保存到上述OF交換設(shè)備的MAC地址表。與圖8所示實(shí)施例相對(duì)應(yīng),該控制器接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng),并保存到對(duì)應(yīng)的MAC地址表,并進(jìn)行維護(hù),它可以獲取整個(gè)網(wǎng)絡(luò)的MAC地址,以對(duì)整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行控制。圖10為本發(fā)明提供的交換設(shè)備實(shí)施例三的結(jié)構(gòu)示意圖,該交換設(shè)備可以是OF網(wǎng)絡(luò)中的任一OF交換設(shè)備,該交換設(shè)備包括:接收模塊110、生成模塊120、保存模塊130和發(fā)送模塊140接收模塊110,用于接收CE發(fā)送的報(bào)文;生成模塊120,用于根據(jù)所述報(bào)文生成MAC地址表項(xiàng),其中所述MAC地址表項(xiàng)的目的地址為所述報(bào)文的源地址;所述MAC地址表項(xiàng)的出端口為所述OF交換設(shè)備接收所述報(bào)文的端口;保存模塊130,用于保存所述MAC地址表項(xiàng);發(fā)送模塊140,用于向控制器發(fā)送向控制器發(fā)送所述MAC地址表項(xiàng)。進(jìn)一步地,發(fā)送模塊140,具體用于通過OF消息向控制器發(fā)送所述MAC地址表項(xiàng)。該交換設(shè)備用于執(zhí)行圖8所示的方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。本實(shí)施例中,OF交換設(shè)備根據(jù)接收到的報(bào)文生成MAC地址表項(xiàng)并進(jìn)行保存,這樣可以學(xué)習(xí)到它通信過程中的所有地址表項(xiàng),將學(xué)習(xí)生成的MAC地址表項(xiàng)通過OF消息上送給控制器,控制器將各OF交換設(shè)備上送的MAC地址表項(xiàng)進(jìn)行維護(hù),可以獲取整個(gè)網(wǎng)絡(luò)的MAC地址,以對(duì)整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行控制。圖11為本發(fā)明提供的控制器實(shí)施例三的結(jié)構(gòu)示意圖,如圖11所示,該控制器包括:接收模塊111和保存模塊112,其中:接收模塊111,用于接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng);保存模塊112,用于將所述MAC地址表項(xiàng)保存到所述OF交換設(shè)備對(duì)應(yīng)的MAC地址表。該控制器用于執(zhí)行圖9所示的方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。圖12為本發(fā)明提供的交換設(shè)備實(shí)施例四的結(jié)構(gòu)示意圖,如圖12所示,該交換設(shè)備可以是OF網(wǎng)絡(luò)中的任一OF交換設(shè)備,該交換設(shè)備包括:接收器121、處理器122、存儲(chǔ)器123和發(fā)送器124,其中:接收器121,用于接收CE發(fā)送的報(bào)文;處理器122,根據(jù)所述報(bào)文生成MAC地址表項(xiàng),其中所述MAC地址表項(xiàng)的目的地址為所述報(bào)文的源地址;所述MAC地址表項(xiàng)的出端口為所述OF交換設(shè)備接收所述報(bào)文的端口;存儲(chǔ)器123,用于保存所述MAC地址表項(xiàng);發(fā)送器124,用于向控制器發(fā)送所述MAC地址表項(xiàng)。該交換設(shè)備用于執(zhí)行圖8所示的方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。圖13為本發(fā)明提供的控制器實(shí)施例四的結(jié)構(gòu)示意圖,如圖13所示,該控制器包括:接收器131和存儲(chǔ)器132,其中:接收器131,用于接收OF交換設(shè)備發(fā)送的MAC地址表項(xiàng);存儲(chǔ)器132,用于將所述MAC地址表項(xiàng)保存到所述OF交換設(shè)備對(duì)應(yīng)的MAC地址表。該控制器用于執(zhí)行圖9所示的方法實(shí)施例,其實(shí)現(xiàn)原理類似,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1