TCP/IP詳解學習筆記(三)--網絡層筆記

1、IP協議

1.IP協議的一些特色

1.1 不可靠

意思是說不能保證IP數據報能成功地到達目的地。在傳輸過程當中若是發生了錯誤,IP層會直接丟棄該數據報,而後發送ICMP消息報給信源端。

1.2 無鏈接

IP並不維護任何關於後續數據報的狀態信息。也就是說IP的每一個數據包都是獨立的,不相互影響.
有可能AB數據包前後發送給一個主機,B有可能比A先到達這個主機。

2.IP數據報告首部

2.1 圖片格式

IP數據報首部格

IP數據報以大端字節序(又稱爲網絡字節序)的方式進行網絡傳輸,可是在存儲的時候又多是大端也有多是小端緩存

2.2 一些關鍵的首部字段

  1. 4位首部4字節數:首部4字節總數(最大15)
  2. 16位總字節數:IP數據報總長度
  3. 16位標識:主機每發送一個IP數據報文,則加1,主要標識數據包的發送順序;在數據包從新組裝時會用到這個值
  4. 3位標誌:
  5. 13位片偏移:
  6. 8位TTL:最大生存時間,實踐中通常是IP包每路由一次則減1;
  7. 16位首部校驗和:用於數據包的校驗,收到數據包後對首部二級制反碼求和,必須全是1,不然丟棄報文可是不發送ICMP報錯,由上層協議本身發現和處理;

3. IP數據報的轉發過程(路由過程)

舉例:服務器

  1. 數據包1:ip.dst = 192.168.1.3
  2. 數據包2:ip.dst = 192.168.2.3
  3. 主機 ip=192.168.1.2 MASK = 255.255.255.0

主機開始路由數據包1 和2:網絡

  1. 查看數據包的目的IP與本身的子網掩碼計算網絡號(數據包1的網絡號192.168.1.0 數據包2的網絡號爲192.168.2.0 ,主機的網絡號爲 192.168.1.0)
  2. 查看目的IP的網絡號是否在本身的網絡號範圍內(數據包1在 數據包2不在)
  3. 對於數據包1,查看本身ARP地址表有沒有192.168.1.2與mac映射(這個mac不必定是目的IP的mac,參看思科配置交換機的那個文檔)有的話直接修改二層包頭的源mac目的mac發送,沒有的話發送ARP廣播請求...而後進入二層數據交換的單播流程
  4. 對於數據包2,主機會發送給本身的默認網關192.168.1.1(若是沒修改的話),由默認網關來處理,而默認網關的掩碼爲255.255.0.0的話,那麼就會單播了。。不然繼續上報,知道TTL=0數據包被丟棄回覆目的IP不可達的ICMP消息;

4. 選路和動態選路

這個之後補充code

2、ARP協議

1. 功能介紹

ARP協議 主要功能爲獲取IP地址的對應的二層首部的MAC,IP=>MAC;blog

2. 查看arp 表arp -a

ARP -A

  1. 如上圖所顯示,三個字段IP,MAC,類型
  2. IP,....
  3. MAC,參看鏈路層協議首部
  4. 動態類型意味這發送到當前IP要使用的二層目的MAC時可變的;靜態就是固定值不會變,是協議的要求的
  5. MAC表條目的緩存具備時效,通常爲300秒;

3. arp 數據報(請求響應)格式

ARP 請求響應報文格式

須要注意的是請求時:接口

  1. 以太網目的地址:比特位全爲1的特殊地址,是廣播地址;全部的其餘網絡接口都會接收(環路風暴);

3、RARP 協議

1. 功能介紹

ARP協議 主要功能爲MAC獲取IP地址,MAC=》IP; 對於一些無硬盤磁盤等存儲結構的設備,會在系統啓動時發送一個RARP廣播,要求某個服務器回覆一個可用的IP圖片

4、ICMP(Internet Control Message Protocol)

1. 功能介紹

互聯網控制消息協議:它用於IP協議中發送控制消息,提供可能發生在通訊環境中的各類問題反饋。經過這些信息,使管理者能夠對所發生的問題做出診斷,而後採起適當的措施解決。ip

通常不多由程序會直接使用這個協議,主要是TCP,UDP,IP協議內自己在使用,可是有兩個經常使用的程序ping和traceroute在直接的用這個協議;路由

2. PING

用來檢測鏈路通斷,根據ICMP報文顯示錯誤,可是不少服務器禁ping,還可使用telnet...文檔

3. traceroute

顯示當前主機到目標主機的通訊鏈路,好比下面這個圖:

tracert

每行最後顯示的IP就是當前數據報走的網關;最後一個目的地就是你訪問的最終IP;

相關文章
相關標籤/搜索