<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > nginx適配Overlay以及測試工具

nginx適配Overlay以及測試工具

發(fā)布人:天翼云開(kāi)發(fā)者 時(shí)間:2025-01-17 來(lái)源:工程師 發(fā)布文章

本文分享自天翼云開(kāi)發(fā)者社區《nginx適配Overlay以及測試工具》,作者:pan

 

Overlay與Underlay介紹

Overlay網(wǎng)絡(luò )和Underlay網(wǎng)絡(luò )是一組相對概念,Overlay網(wǎng)絡(luò )是建立在Underlay網(wǎng)絡(luò )上的邏輯網(wǎng)絡(luò )。而Overlay網(wǎng)絡(luò )是通過(guò)網(wǎng)絡(luò )虛擬化技術(shù),在同一張Underlay網(wǎng)絡(luò )上構建出的一張或者多張虛擬的邏輯網(wǎng)絡(luò ),如下圖所示。

詳細資料可查看https://zhuanlan.zhihu.com/p/43660513511.jpg


ELB使用的技術(shù)方案

天翼云ELB使用VXLAN隔離,需要進(jìn)行VXLAN的解析與封裝。VXLAN技術(shù)是一種大二層的虛擬網(wǎng)絡(luò )技術(shù),主要原理是引入一個(gè)UDP格式的外層隧道作為數據鏈路層,而原有數據報文內容作為隧道凈荷加以傳輸。

ELB使用dpvs以及nginx做7層http和https的代理以及分發(fā)。報文流向為客戶(hù)端(內網(wǎng)或者公網(wǎng))->ELB(內部為dpvs->nginx)->RS(真正的http服務(wù)端)。因為ELB和RS處于同一VXLAN中,那么nginx轉發(fā)的報文就需要封裝VXLAN,又因為RS需要知道真實(shí)的客戶(hù)端IP,nginx也需要獲取客戶(hù)端IP并轉發(fā)的時(shí)候增加X(jué)-Forwarded-For。

dpvs收到報文會(huì )解析VXLAN,同時(shí)轉發(fā)到nginx,因為dpvs采用FULLNAT的模式,nginx如果要獲取真實(shí)ip,二者之間采用了Proxy Protocol。Proxy protocol,是一個(gè)Internet協(xié)議,通過(guò)為tcp添加一個(gè)很小的頭信息,來(lái)方便的傳遞客戶(hù)端信息(協(xié)議棧、源IP、目的IP、源端口、目的端口等)。因為nginx還需要知道VXLAN的id,對Proxy Protocol進(jìn)行了改造,增加了vni字段,如下圖。 12.jpgnginx就需要在原生代碼基礎上,增加vni字段的讀取。同時(shí)連接upstream時(shí),因為需要封裝vni,通過(guò)SO_BINDTODEVICE綁定到具體網(wǎng)卡,完成VXLAN封裝。

 

如何測試

因為相比Proxy Protocol多一個(gè)字段,通過(guò)curl無(wú)法自測,通過(guò)一個(gè)python工具來(lái)測試,源碼為https://github.com/codejudas/py-proxy-protocol/。但是需要修改,增加一個(gè)vni字段,在代碼中涉及vni的地方均添加字段即可,如下圖。13.jpg 然后修改測試下面的socket.py,測試結果如圖: 14.jpg 

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: nginx 虛擬化

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>