異網路廠商對接BGP,MTU惹的禍

2021-08-30 08:38:52 字數 1108 閱讀 8571

大部分異廠商,bgp故障,檢視bgp報文互動,經常看到update報文0更新,都是mtu惹的禍

mtu 乙太網mtu1500 ,ip資料報16位最大為65535,傳輸當然需要分片

網路是比較複雜的,每個網路的mtu值是不同的。我們假設,如果接受/傳送端都是乙太網1500,我們假設傳送的時候,資料報會以1500來封裝,然而,不幸的是,傳輸中有一段x.25網,它的mtu是576,這會發生什麼呢?這個資料報會被再次分片,如果ip包被設定了「不允許分片標誌」,那資料報將被丟棄,然後收到乙份icmp不可達差錯,告訴你,需要分片!

測試方法

這個網路中最小的mtu值,被稱為路徑mtu,我們應該有一種有效的手段,來發現這個值,最笨的方法或許是用traceroute檢視所有節點,然後乙個節點乙個節點ping 大字段1500  即根據所有傳輸列出的節點ping  *.*.*.*  size 1500  以下回到bgp

bgp協議是傳輸層tcp協議,tcp協議有乙個最大報文段長度mss,最大值的限制,bgp建立連線雙方都要告知各自的mss,也就是說,它說是與tcp的syn標誌在一起的。當然,對於傳輸來講,總是希望mss越大越好,但是mss最氣嗎有個限制,乙太網就是  mtu-ip頭-tcp頭=1500-20-20,也就是為什麼bgp最常見的mss為1460了,為了避免分片,ip層本身沒有超時重傳機制------由更高層(比如tcp)來負責超時和重傳。當來自tcp報文段的某一片丟失後,tcp在超時後會重發整個tcp報文段,該報文段對應於乙份ip資料報(而不是乙個分片),沒有辦法只重傳資料報中的乙個資料分片。即:即使只丟失一片資料也要重新傳整個資料報!---------

bgp 的tcp 重傳,一旦update報文資料過大,超過了mss,則在傳輸層會對tcp包進行分段,例如剛才1460,tcp是如何實現分段的呢?

因為每個tcp資料報在組成前其大小就已經被mss限制了,所以tcp資料報的長度是不可能大於mss的,當然由它形成的ip包的長度也就不會大於mtu,自然也就不用ip分片了。大部分鄰居建立不起來都是mtu惹的禍!說道mtu每個廠商都不一樣,但是乙太網1500比較正常的,聽說最奇葩的就是mx960,mtu分三種:一種ip層面mtu,一種鏈路層面mtu,一種埠mtu,具體怎麼想各位客官,自己協商,因為mtu的故障不僅僅是bgp,更關鍵的是tcp 層面影響上層的故障和相關 http層面故障

基於python的BP神經網路及異或實現過程解析

bp神經網路是最簡單的神經網路模型了,三層能夠模擬非線性函式效果。難點 neural networks created on 2019.9.24 author vince import math import logging import numpy import random import mat...

雲網融合時代的網路廠商 整合商終將擁抱數位化轉型

今天開始進入了21世紀的第三個十年了。時間過得真快,十年前自己剛剛接觸交換機。元旦假期在家正好有空寫幾句。未來十年的重要關鍵字是 雲網融合 客戶和廠商都面臨數位化時代的挑戰和機遇。我認為有幾個機會點和變革方向值得重點關注 sdwan廠商進入企業網內部。邏輯是大廠的路由器都可以被sdwan cpe替換...

使用帶隱藏層的神經網路擬合異或操作

一 介紹 多層神經網路非常好理解,就是在輸入和輸出中間多加些神經元,每一層可以加多個,也可加很多層。下面通過乙個例子將異或資料進行分類。二 例項描述 通過構建異或規律的資料集作為模擬樣本,構建乙個簡單的多層神經網路來擬合其樣本特徵完成分類任務。1 異或規則 當兩個數相同時,輸出為0,不相同時輸出為1...