本申請涉及通信,特別涉及一種通信方法及裝置。
背景技術:
1、當前接入控制器(access?controller,ac)產品使用向量包處理引擎(vectorpacket?processing,vpp)作為數據轉發(fā)面。并且,ac控制面、門戶網站服務器等業(yè)務運行在vpp以外,其作為獨立進程運行在linux系統(tǒng)上。
2、在上述業(yè)務運行中需要與系統(tǒng)外進行tcp/ip協(xié)議的通信,在數據面采用vpp進行轉發(fā)以及協(xié)議面通信采用linux內核通信的情況下,若vpp不接管協(xié)議面通信的接口,則需要在linux內核和vpp上分別部署安全通信策略,同時在vpp上設置管理口以實現局域網的管理,這會導致系統(tǒng)復雜,且實現成本以及維護成本均較高;若vpp接管協(xié)議面通信的接口,則需要在linux內核上對vpp所有接口進行映射,并且vpp與linux內核之間要進行arp鄰居、路由表的同步,linux內核向外發(fā)送報文時,報文在完成linux協(xié)議棧轉發(fā)和封裝之后到達vpp中會重新轉發(fā)和封裝,這造成了資源浪費。
技術實現思路
1、本申請實施例的目的在于提供一種通信方法及裝置。
2、第一方面,本申請實施例提供了一種通信方法,包括:
3、通過操作系統(tǒng)內核對待發(fā)送數據進行網絡層封裝,得到第一發(fā)送報文;
4、將第一發(fā)送報文傳輸至目標處理模塊,所述目標處理模塊與所述操作系統(tǒng)內核之間通信連接;
5、通過所述目標處理模塊對所述第一發(fā)送報文進行數據鏈路層封裝,得到第二發(fā)送報文;
6、通過網卡發(fā)送所述第二發(fā)送報文,所述網卡設置在所述目標處理模塊。
7、在一種可能的實施方式中,所述通過操作系統(tǒng)內核對待發(fā)送數據進行網絡層封裝,得到第一發(fā)送報文,包括:
8、獲得第一虛擬接口對應的互聯網協(xié)議地址,所述第一虛擬接口為預先創(chuàng)建的;
9、通過所述操作系統(tǒng)內核,基于所述互聯網協(xié)議地址對所述待發(fā)送數據進行網絡層封裝,得到第一發(fā)送報文。
10、在一種可能的實施方式中,所述基于所述互聯網協(xié)議地址對所述待發(fā)送數據進行網絡層封裝,包括:
11、基于所述互聯網協(xié)議地址,生成直連路由,所述直連路由用于映射所述第一虛擬接口與所述目標處理模塊上的網絡層接口;
12、基于所述互聯網協(xié)議地址和所述直連路由,對所述待發(fā)送數據進行網絡層封裝。
13、在一種可能的實施方式中,所述將第一發(fā)送報文傳輸至目標處理模塊,包括:
14、基于所述直連路由,通過所述第一虛擬接口以及與所述第一虛擬接口對應的網絡層接口,將所述第一發(fā)送報文由所述操作系統(tǒng)內核傳輸至所述目標處理模塊。
15、在一種可能的實施方式中,所述將所述第一發(fā)送報文由所述操作系統(tǒng)內核傳輸至所述目標處理模塊,包括:
16、在所述第一發(fā)送報文為多個時,確定隊列數量,所述隊列數量設置于所述操作系統(tǒng)內核;
17、按照所述隊列數量,將所述第一發(fā)送報文由所述操作系統(tǒng)內核傳輸至所述目標處理模塊。
18、在一種可能的實施方式中,所述通過所述目標處理模塊對所述第一發(fā)送報文進行數據鏈路層封裝,得到第二發(fā)送報文,包括:
19、基于物理地址,通過所述目標處理模塊對所述第一發(fā)送報文進行數據鏈路層封裝,得到第二發(fā)送報文;
20、其中,所述物理地址為網卡的地址。
21、在一種可能的實施方式中,所述的通信方法還包括:
22、通過所述網卡獲得接收報文;
23、通過所述接收報文對應的第一虛擬接口,將所述接收報文傳輸至所述操作系統(tǒng)內核。
24、在一種可能的實施方式中,所述的通信方法還包括:
25、通過所述操作系統(tǒng)內核上設置的第二虛擬接口,控制所述操作系統(tǒng)內核對應的虛擬局域網,其中,所述第二虛擬接口與所述目標處理模塊上的網絡層接口對應。
26、第二方面,本申請實施例還提供了一種通信裝置,包括:
27、第一封裝模塊,其配置為通過操作系統(tǒng)內核對待發(fā)送數據進行網絡層封裝,得到第一發(fā)送報文;
28、第一傳輸模塊,其配置為將第一發(fā)送報文傳輸至目標處理模塊,所述目標處理模塊與所述操作系統(tǒng)內核之間通信連接;
29、第二封裝模塊,其配置為通過所述目標處理模塊對所述第一發(fā)送報文進行數據鏈路層封裝,得到第二發(fā)送報文;
30、發(fā)送模塊,其配置為通過網卡發(fā)送所述第二發(fā)送報文,所述網卡設置在所述目標處理模塊。
31、在一種可能的實施方式中,所述第一封裝模塊具體配置為:
32、獲得第一虛擬接口對應的互聯網協(xié)議地址,所述第一虛擬接口為預先創(chuàng)建的;
33、通過所述操作系統(tǒng)內核,基于所述互聯網協(xié)議地址對所述待發(fā)送數據進行網絡層封裝,得到第一發(fā)送報文。
34、本申請實施例中,針對待發(fā)送數據,通過操作系統(tǒng)內核進行網絡層封裝以及通過目標處理模塊進行數據鏈路層封裝,并通過目標處理模塊上設置的網卡發(fā)送封裝后得到的第二發(fā)送報文,無需在操作系統(tǒng)內核和目標處理模塊上分別部署安全通信策略,以及無需在操作系統(tǒng)內核和目標處理模塊上進行重復封裝,在降低實現成本以及維護成本的同時,避免了資源浪費。
1.一種通信方法,包括:
2.根據權利要求1所述的通信方法,所述通過操作系統(tǒng)內核對待發(fā)送數據進行網絡層封裝,得到第一發(fā)送報文,包括:
3.根據權利要求2所述的通信方法,所述基于所述互聯網協(xié)議地址對所述待發(fā)送數據進行網絡層封裝,包括:
4.根據權利要求3所述的通信方法,所述將第一發(fā)送報文傳輸至目標處理模塊,包括:
5.根據權利要求4所述的通信方法,所述將所述第一發(fā)送報文由所述操作系統(tǒng)內核傳輸至所述目標處理模塊,包括:
6.根據權利要求1所述的通信方法,所述通過所述目標處理模塊對所述第一發(fā)送報文進行數據鏈路層封裝,得到第二發(fā)送報文,包括:
7.根據權利要求1所述的通信方法,還包括:
8.根據權利要求1-7中任一所述的通信方法,還包括:
9.一種通信裝置,包括:
10.根據權利要求9所述的通信裝置,所述第一封裝模塊具體配置為: