1.2【基本路由原理】(三層轉發原理)2

三層轉發原理:服務器

 
IPV4 頭部:
長度(20B~60B)
 
##【頭部結構】:
 
第一行(32bit):版本 (4bit) 首部長度(4bit) TOS(8bit)總長度(16bit)
第二行(32bit):標識(16bit) 標誌(3bit)偏移地址(13bit)
第三行(32bit):TTL(8bit)協議標識(8bit)校驗和(16bit)
第四行(32bit):源IP
第五行(32bit):目的IP
//標準的頭部是包含前5行,每一行4個字節,共20個字節
第六行(32bit):填充字段 (40B)  填充時須要按照4的倍數填充
 
 
***************************************************************
若是把首部長度所有填充爲1的話,
是15,表示15行,IP頭部長度是15*4=60B;
通常狀況下是5,標準頭部,表示5行,IP頭部長度是5*4=20B;
填充選項:
 
 ****************************************************************************
TOS:服務質量:給IP包打標籤,經過這個字段給IP包進行分級,
經過不一樣的分級,能夠標識IP包的優先性,針對不一樣的級別執行優先轉發。
**************************************************************************
偏移地址:分片
************************************************************************
TTL:生存時間:1.防止三層的環路問題,(不是路由的環路是ip包的 環路)        2.能夠限制IP包的轉發距離
 
二層爲何會有廣播風暴會有環?
由於在二層的幀頭裏面是沒有防環機制的,須要加協議,好比生成樹來防止環路。
TTL值是8個比特,25 5環,減到0,IP包會被丟掉
 
TTL值減到0,IP包會被丟掉,對仍是不對?不對
TRACE的原理:
能夠作一個追蹤,首先將TTL設爲1,而後設爲2,設爲3,這樣把網絡上通過轉發的全部設備的IP地址拿過來。
 
*PC1->1:(類比快遞)
1.發送TTL=1報文,校驗IP包的完整性checksum,TTL-1=0;
2.TTL=0,須要判斷一下目標IP地址是否是本地的IP?;
3.若是不是本地的IP,須要說明 這個IP包是須要轉發的,可是TTL=0,須要被丟棄;
4.丟棄之後會告訴發送源什麼緣由形成丟包的,會回送ICMP超時應答,丟棄的緣由:TTL超時應答。
經過應答, 能夠獲取到這臺設備的IP地址
 
//trace/ping 這兩個是工具,不是協議
 
PING-ICMP
TRACE:
tracert(ICMP)
traceroute(UDP)
 
能夠 經過tracert能夠把其餘設備的IP給撈過來:經過TTL值。
//看書:6-ICMP
TTL超時 代碼:110
 
*PC1->2
TTL=2
 
*PC1->3
TTL=3,IP包不須要轉發,接收。
 
3可能會給源PC1回送ICMP端口不可達的報文-tracerout(IP的上層 封裝的是UDP的協議,UDP端口號大於30000,UDP進程下沒有開這個 端口號,會回送端口不可達的報文)代碼:33
 
3可能會給源PC1回送reply信息-tracert;代碼:00
 
 
ping返回TTL值:靠ICMP的Reply:看對端的TTL值信息。
ping網關:255
ping百度:55
時間:有一個定時器
 
*****************************************************************************
協議標識
是爲了標識上層的協議:[1=icmp 6=tcp 17=udp 88=eigrp 89=ospf
47=GRE]
*****************************************************************************
校驗和
只針對包頭作校驗,而不包括所傳遞的數據
*****************************************************************************
分片
爲何會有分片?
要傳遞的數據大於MTU值最大傳輸單元1500B;
MTU標識接口一次發送的IP數據包 的長度能夠到達多少個字節;
IP 3000,按MTU的大小值來進行分片;
 
標識字段-用來標識同一個IP包,到目的能夠進行重組;
 
標誌位(3bit)
DF = 0:IP包能夠被分片; 1:IP包不能被分片;默認是0
MF =  3745
 
************************************************************************
## 實驗???
關於DF分片的實驗
1.實驗現象
Packet sent with the DF bit set
MMMMMM
 
ping 3.3.3.3 size 1500 df-bit re100
 
df-bit不能被分片 
 
2.實驗過程:
 
3.實驗分析:
R2收到之後須要轉發,IP包的長度須要大於出接口的MTU值,須要分片。可是IP包裏面IP包置位了
(ping 3.3.3.3 255.255.255.255 siza 1500 df-bit),說明IP包不能被分片,丟包。
 
這時,丟棄者就會像發送源回送一個ICMP差錯應答,緣由就是IP包不能被分片,同時回送的IP包裏面還包括這臺設備出接口的MTU值 代碼:34
 
是否分片只看出接口的MTU值,和入接口是沒有關係的,入方向收包是不檢查MTU的,只在出方向轉發的時候纔會檢查MTU,
因此,R3回覆的時候,fa0/0沒有改變MTU,3返回的包沒有問題。
 
4.實驗結論:不能被分片形成丟包的
 
5.抓包分析:
在R2的f0/0上抓包分析
 
 看Request裏面,DF位,置1
 看回送的數據包,DF位,置0
 

 注意:在校園網裏面就,保證MTU的一致性
實際上,在IPv4裏面
PPPOE   MTU值改爲1492,爲何?
標準的IP頭【IP+上層協議+數據】,由於後續須要增長一些頭部,PPPOE須要增長PPOE的頭部和PP的頭部,佔了8個字節,若是按1500來添的話就會形成分片。
MPLS往裏插標籤,IPsec裏添加ESP 都會形成分片;
丟了一片就會形成不通或者時通時不通,因此要保證整個網絡MTU的一致性。
 
MTU一致性的測試方法:PMTUD(Path MTU Discovery,路徑MTU發現)
方法:發個1500B或2000B報文,將DF比特位置位,通過一臺設備若是出接口MTU值小於1500B會丟包;
丟包會回送一個ICMP的差錯應答,告訴你由於什麼緣由丟包,同時這個報文裏面會攜帶丟棄者的MTU值,能夠經過這種方法得到整個轉發路徑上面的最小設備的MTU值。
 
1->2
獲取1300,用1300發
1->3
獲取1000,用1000發
1->4
獲取最小MTU,用最小MTU去封裝數據報文
 
 

 
這也是校園網的一種排查思路。
 

************************************************************************
偏移地址:用來標識分片的起始位置,經過起始位置知道哪片是第一片,哪片是第二片,而後作一個重組
 
//看書:分片-在UDP章,TCP不會被分片,由於TCP有MSS,能夠自動分段,避免分片
若是用UDP封裝數據的話,不少時候會限制填充的數據長度,這個數據長度是512B
 
rip 裏的response報文能夠傳送多少條路由?
 
 跳數的話:最大15跳,16不可達;
 
25條路由:rip每條路由的長度是20個字節,20*25=500B
rip經過UDP承載的,UDP頭部長度:8B  rip頭部長度:4B
500+8=4=512B;
 
爲何rip的每一個response報文最多隻能傳送25條路由?
是由於它已經限定了UDP報文的長度,用UDP傳送數據的話,不少協議會將最大填充數值固定在512B,不能太大,太大就會形成IP分片;爲了不分片
***************************************************************************
ARP:地址解析協議
用於解析MAC地址,實際上,在LAN網中才有ARP,在WAN中是沒有ARP的,由於不須要,WAN網中沒有MAC
1.ARP的報文類型
兩種:request     reply
2.ARP的報文長度:
28B
3.ARP的報文結構:
 硬件類型
 協議類型
 硬件長度
 協議長度
  OP字段[1=request  2=reply]
  發送方 MAC
  發送方IP
  目的方MAC
  目的方IP
4.ARP是靠什麼協議來承載的?
ARP算是2.5層協議,不算2層,也不算3層(ARP沒有IP頭部)
5.ARP報文長度是28B,它知足最小MTU值嗎?
  最小MTU是46B,ARP須要填充0來知足最小MTU的長度
6.ARP和RARP有什麼區別?
   ARP:將IP解析成MAC
   RARP:將MAC解析成IP(無盤工做站:只有服務器纔有硬盤,PC沒有硬盤,使用網卡啓動加載系統:網卡會發送一個RARP廣播報文,通告本身的MAC地址,服務器收到後會給你回送一個IP,PC獲取IP後能夠從服務器加載系統,對服務器,網絡性能要求比較高)
全部的request報文都是廣播;
           reply報文都是單播;
7.ARP的類型:
普通ARP(獲取MAC地址)、
代理ARP、
免費ARP(1.IP地址衝突檢查 2.通告MAC地址)
(本身發本身一個ARP請求,若是收到一個ARP應答,表示網絡 中有跟我同樣的IP地址,就會報錯;
免費ARP也會去刷新MAC地址);
 
8.收到一個ARP請求後,在本地會 生成ARP的映射表
show arp
arp -a  看到綁定關係
 
在思科路由器裏面ARP表項的老化時間是多長?
4個小時
 
【實驗驗證】接收到下面哪一個報文會刷新ARP的4個小時的老化時間?
一、ARP request ?
二、免費ARP ?
只有免費ARP纔會刷新ARP的time out這個定時器
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">網絡



相關文章
相關標籤/搜索