【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

一. 以太網基礎:

1. 常見傳輸介質:

(1)同軸電纜(有線電視):算法

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(2)雙絞線(局域網網線):緩存

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(3)光纖(廣域網網線):服務器

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

右圖中爲光纖接口類型:網絡

  • ① ST
  • ② FC
  • ③ SC
  • ④ LC
    (4)串口電纜 (幀中繼網絡):

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

2. 換算單位:

①最小的單位爲:位(bit),表示形式爲 0 和 1數據結構

②第二小的單位:字節(Byte),一個標準英文字母佔一個字節位置,8 個 bit;一個標準漢字佔二個字節位置,16 個 bit架構

③比 比 TB 還大的單位有:還有 PB、EB、ZB、YB 、NB、DB,通常人不常使用併發

  • 1TB=1024GB;
  • 1GB=1024MB;
  • 1MB=1024KB;
  • 1KB=1024Byte;
  • 1Byte=8bit

3. 以太網 MAC 地址:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

MAC 地址總共爲 48bits,前 24bit 爲各個廠商的惟一標識;後 24bits 爲每一個廠商爲此網卡提供的惟一的身份標識。
例如:E8-4E-56-19-01-72tcp

4. cmd 命令:

  • Net view—查看當前局域網中有哪些主機
  • Hdwwiz----安裝系統硬件、、、、
  • Nslookup---查看 DNS 解析
  • route add 10.253.251.0 mask 255.255.255.0 -p 192.254.1.1—配置靜態路由
  • route delete 10.253.251.0 mask 255.255.255.0 -p 192.254.1.1—刪除靜態路由
  • route print------查看路由
  • nslookup wwww.baidu.com-------------------查看域名對應的 IP
  • 保存日誌:ping –t 10.1.1.1 > D:\ping.txt
  • 清空 dns 緩存:ipconfig /flushdns
  • 清空 arp 緩存:ARP-D
  • 釋放 IP/獲取 IP:ipconfig /release;ipconfig /renew
  • 腳本生成:
    ping 192.168.1.1 -n 10
    ping www.baidu.com -n 10
    ping www.163.com -n 10
    pause
  • ping:
    • -t 連續 ping
    • -l 定義包大小
    • -n 定義發送的次數

      5. 接口地址:

      (1)一個接口能夠借用環回口的接口地址:ide

      [Huawei-GigabitEthernet0/0/1]ip address unnumbered interface LoopBack 0

      (2)一個接口能夠配置一個主 IP 地址和多個從 IP 地址:oop

注:此功能適用於一臺交換機一條鏈路上來但存在多個網關的狀況,子接口只能用於 802.1q封裝

[Huawei-GigabitEthernet0/0/1]ip add 172.16.1.1 24
[Huawei-GigabitEthernet0/0/1]ip add 172.16.2.1 24 sub
[Huawei-GigabitEthernet0/0/1]ip add 172.16.3.1 24 sub

6. 系統管理:

(1 ) 文件管理命令:
  • dir:查看 flash 中的文件

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • pwd:顯示當前所處目錄

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • more:查看文本文檔

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • cd:切換目錄(cd .. 回到父路徑)

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • mkdir:建立新的目錄 rmdir:刪除一個目錄

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • copy:複製文件

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • move:移動文件

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • rename:重命名文件

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • 刪除文件命令:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • Display startup:查看啓動配置

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • Startup saved-configuration:配置下次啓動的配置文件

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • Compare configuration:比較當前配置與下次啓動的配置
    (2 ) 系統管理命令:
  • startup system-software vrp5.5.cc:配置下次啓動的系統

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

7. 網絡三層架構:

網絡三層架構爲核心層分佈層(匯聚層)接入層

8. CSMA/CD :

載波偵聽多路訪問/衝突檢測技術:共享式網絡(HUB)中存在衝突域,全部的主機共享一根總線型鏈路(例如接 Hub 集線器),當同一時刻兩臺或兩臺以上的主機同時發送數據會產生數據衝突,解決數據衝突的技術爲 CSMA/CD(Carrier Sense Multiple Access/CollisionDetection)。

工做原理:
  1. 終端設備不停地檢測共享線路的狀態。若是線路空閒,則能夠發送數據;若是線路不空閒,則等待一段時間後繼續檢測(檢測時間由退避算法決定)。
  2. 若是有另一個設備同時發送數據,兩個設備發送的數據會產生衝突。
  3. 終端設備檢測到衝突以後,立刻中止發送本身的數據,併發送特殊阻塞信息,以強化衝突信號,使線路上其餘站點可以儘早檢測到衝突。
  4. 終端設備檢測到衝突後,等待一段時間後再進行數據發送(延時時間由退避算法決定)

注:CSMA/CD 的工做原理可簡單總結爲:先聽後發、邊發邊聽、衝突停發、隨機延遲後重發。

9. Wireshark:

(1)過濾源 ip、目的 ip。在 wireshark 的過濾規則框 Filter 中輸入過濾條件。如查找目的地址爲 192.168.101.8 的包,ip.dst==192.168.101.8;查找源地址爲 ip.src==1.1.1.1

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(2)端口過濾。如過濾 80 端口,在 Filter 中輸入,tcp.port==80,這條規則是把源端口和目的端口爲 80 的都過濾出來。使用 tcp.dstport==80 只過濾目的端口爲 80 的,tcp.srcport==80 只過濾源端口爲 80 的包;

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(3)協議過濾比較簡單,直接在 Filter 框中直接輸入協議名便可,如過濾 HTTP 的協議;

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

10. 時間值:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

11. 接口類型:

100Base-FX是在光纖上實現的100 Mbps以太網標準,其中F指示光纖,IEEE標準爲802.3u。快速以太網目前制定的三種有關傳輸介質的標準之一,另外兩種是 100BASE-T四、100BASE-TX。

相似這樣的在百度百科上均可以查到。BASE 是基帶寬度。-fx 是線纜類型,f 是光纖,T 是雙絞線。也就是說,-後面這些都是線纜類型。

具體,100Base-TX 和 100Base-T 是從屬關係。

100Base-T 簡稱快速以太網技術,其協議標準是 IEEE 802.3u,其中的 T 表明雙絞線、光纖
傳輸介質。

100Base-T 定義了 3 種不一樣的物理層協議,分別是:100Base-TX、100Base-T4 和 100Base-FX。

其中,標識符分三段,

  • 第一段,100 是傳輸速度;
  • 第二段,Base 表明「基帶」,信令的一種;
  • 第三段,是關於網絡段類型的闡述,
    • 「TX」屬於雙絞線網絡段類型,具備兩對高質量雙絞線,基於 ANSI(美國國家標準化組織)制定的數據級雙絞線物理介質標準;
    • 「T4」也屬於雙絞線網絡段類型,它是具備 4 對電話線路級雙絞線;
    • 「FX」屬於光纖鏈路網絡段類型。

其中,「TX」和「FX」均爲 ANSI 制定的物理介質標準,統稱爲「100Base-X」。

COMBO 口麼也是千兆口,可是須要配模塊,能夠用光模塊,也能夠用電口。

光口就是能夠接光纖,電口就是跟 GE 同樣了,因此叫 COMBO 口。

二. 分層模型:

爲了下降網絡設計的複雜度,將協議進行了分層設計。

互聯網模型大致上分爲:

  • OSI 七層模型
  • TCP/IP 模型
  • IPX/SPX 模型
  • SNA 模型

    1. OSI 七層 模型:

    開放式系統互聯參考模型,國際標準化組織 ISO 於 1948 年提出了 OSI 模型。

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

七層→應用層:OSI 參考模型中最靠近用戶的一層,爲應用層序提供網絡服務;

六層→表示層:提供各類用於應用層數據的變法和轉換功能,確保儀的系統的應用層發送的數據可以被另外一個系統的應用層識別。(數據表示、加密,圖片、文檔、文字);

五層→會話層:負責創建、管理和終止表示層實體之間的通訊回話,該層的通訊有不一樣設備中的應用程序之間的服務和請求相應。(通訊設備可能存在多個會話);

四層→傳輸層:提供面向鏈接(TCP)或非面向鏈接(UDP)的數據傳遞以及進行重傳前的差錯檢測;

三層→網絡層:提供邏輯地址,供路由器肯定路徑;

二層→數據鏈路層:將比特組合成字節,再將字節組合成針,使用鏈路層地址(以太網使用 MAC 地址)來訪問介質,並進行差錯檢測。

一層→物理層:在設備之間傳輸比特流,規定了電平、速度、和電纜針腳;

2. TCP/IP 四層模型:

TCP/IP 時 20 世紀 70 年代中期美國國防部爲 APPANET 開發的網絡體系協議,全部協議基於此類標準進行開發,此協議爲全部廠商制定網絡設備提供了一套完整的系統標準。

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

注:也有人將 TCP/IP 分爲 5 層模型。

3. OSI 與 與 TCP/IP 對比圖:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

三. 數據封裝:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  1. 數據在高層稱之爲:數據單元
  2. 到達傳輸層,再數據單元前封裝協議頭,稱之爲:數據段
  3. 到達網絡層,封裝 IP 頭部,稱之爲:數據包
  4. 到達網絡接口層,封裝 MAC 地址,稱之爲:數據幀
  5. 最終傳輸到物理介質,稱之爲:比特流

    1. 四層傳輸層協議:

    傳輸層定義了主機應用程序之間端到端的連通性。傳輸層中最爲常見的兩個協議分別是:

    • 傳輸控制協議 TCP(Transmission Control Protocol)
    • 用戶數據包協議(User Datagram Protocol)

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(1 )TCP:

① TCP 報文:
Transmission Control Protocol,傳輸控制協議,TCP 是一種面向鏈接的傳輸層協議,提供可靠地傳輸服務。

注:由於存在 Options 選項,因此 TCP 頭長度不固定,最小爲 20 字節,最大爲 60 字節

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • Source Port :2Byte,源端口號
  • Destination Port :2Byte,目標端口號
  • Sequence Number :4Byte,序列號,在 TCP 傳送的數據流中,每個字節都有一個序號,每發送一次數據包都會攜帶一個序列號
  • Acknowledge Number :4Byte,確認序列號,若是收到對端的一個數據包,會查看包中的序列號,並將序列號+對端 ACK 值的總和做爲確認序列號返回給對端,表示此序列號的數據包已經收到,並期待收到下一個標識數據包的序列號是多少
  • Header Length :頭部長度
  • Resv :6Byte,保留位,供日後應用,默認爲 0
  • URG :緊急比特 URG,當 URG=1 時,註解此報文應儘快傳送,而不要按原本的列隊次序來傳送。與「緊急指針」字段共同應用,緊急指針指出在本報文段中的緊急數據的最後一個字節的序號,使接管方能夠知道緊急數據共有多長
  • ACK :確認比特 ACK,默認爲 0,若是 ACK=1 時,確認序列號有效位,代表該數據包包含確認信息
  • PSH :急迫比特 PSH,默認爲 0,當 PSH=1 時,表示通知接收端當即將數據提交給用戶進程,不要在緩存中停留,等待更多的數據
  • RST :復位比特 RST,默認爲 0,當 RST=1 時,註解呈現嚴重錯誤,必須開釋鏈接,而後再重建傳輸鏈接。
  • SYN: :同步比特 SYN, 當爲 1 時,表示對端請求創建鏈接,TCP 三次握手第一次時 SYN爲 1
  • FIN: :終止比特 FIN,爲 1 時,表示數據發送完畢,請求斷開鏈接
  • Window: :2Byte,滑動窗口大小,,默示報文段發送方的接管窗口,單位爲字節。此窗口告訴對方,「在未收到個人確認時,你能夠或許發送的數據的字節數至多此窗口的大小。」
  • Checksum: :校驗和
  • Urgent Pointer: :緊急指針,當 URG=1 時,註解此報文應儘快傳送,而不要按原本的列隊次序來傳送。與「URG」字段共同應用,緊急指針指出在本報文段中的緊急數據的最後一個字節的序號,使接管方能夠知道緊急數據共有多長
  • Options : 選項值,那些須要使用同步動做的程式如 Telnet 要處理好終端的交互模式就會使用到 option 來指定資料封包的大小由於 telnet 使用的資料封包都不多但又須要即時迴應。Option 的長度爲 0,或 32bit 的整倍數,若是不足則填充到滿

② TCP 三次握手 :

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

a) 主機 A 想要訪問服務器 A,發送 SYN 數據報文:

  • SYN 位置爲 1
  • Sequence Number 爲 a

b) 服務器 A 收到主機發送的 SYN 報文後,回覆 ACK 確認報文:

  • SYN 位置爲 一、ACK 位置爲 1
  • Acknowledge Number 爲 a+1
  • Sequence Number 爲 b- ACK 位置爲 1
  • Acknowledge Number 爲 b+1
  • Sequence Number 爲 a+1

c) 主機 A 收到回覆後,發送 ACK 報文確認

  • ACK 位置爲 1
  • Acknowledge Number 爲 b+1
  • Sequence Number 爲 a+1

③ TCP 四次揮 手:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

a) 主機 A 傳輸完數據,想要斷開與服務器 A 的鏈接,會發送一個 FIN、ACK 報文:

  • Fin 位置爲 一、ACK 位置爲 1
  • Sequence Number 爲 a
  • Acknowledge Number 爲 b(爲前期主機 A 發送的實際數據 Sequence Number 傳輸的數值+1)

注:此處的 ACK 置位表示前期實際的數據已經接收到

b) 服務器 A 收到主機 A 發送的 FIN 數據包,回覆 ACK 報文:

  • ACK 位置爲 1
  • Acknowledge Number 爲 a+1
  • Sequence Number 爲 b

c) 若是服務器 A 也傳輸完數據,會發送一個 FIN、ACK 報文:

  • Fin 位置爲 一、ACK 位置爲 1
  • Sequence Number 爲 b+1
  • Acknowledge Number 爲 a+1

d) 主機 A 收到服務器 A 的 FIN 數據包,發送 ACK 確認報文,seq 爲 a+1,ack 爲 b+1,(表示已收到服務器 A 的 FIN 序列號爲 b 的數據包)

注 1 :爲何創建鏈接協議是三次握手,而關閉鏈接倒是四次握手呢?

這是由於服務端的 LISTEN 狀態下的 SOCKET 當收到 SYN 報文的建連請求後,它能夠把 ACK 和 SYN(ACK 起應答做用,而 SYN 起同步做用)放在一個報文裏來發送。但關閉鏈接時,當收到對方的 FIN 報文通知時,它僅僅表示對方沒有數據發送給你了;但未必你全部的數據都所有發送給對方了,因此你能夠未必會立刻會關閉 SOCKET,也即你可能還須要發送一些數據給對方以後,再發送 FIN 報文給對方來表示你贊成如今能夠關閉鏈接了,因此 TCP 傳輸是一種全雙工的模式,兩端的傳輸都是相互分開的,TCP 斷開也是相互獨立的,它這裏的 ACK 報文和 FIN 報文多數狀況下都是分開發送的。

注 2 :爲何 TIME_WAIT 狀態還須要等 2MSL 後才能返回到 CLOSED 狀態?

這是由於雖然雙方都贊成關閉鏈接了,並且握手的 4 個報文也都協調和發送完畢,按理能夠直接回到 CLOSED 狀態(就比如從 SYN_SEND 狀態到 ESTABLISH 狀態那樣);可是由於咱們必需要假想網絡是不可靠的,你沒法保證你最後發送的 ACK 報文會必定被對方收到,所以對方處於 LAST_ACK 狀態下的 SOCKET 可能會由於超時未收到 ACK 報文,而重發 FIN 報文,因此這個 TIME_WAIT 狀態的做用就是用來重發可能丟失的 ACK 報文。

④ TCP 可靠傳輸:

TCP 在傳輸過程當中使用序列號和確認號進行包的確認

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

a) 發送端首次發送數據包,Seq 序列號爲一個生成數值,ACK 爲 1(首次發送)

b) 接收端接收到數據包,並但願獲得下一個數據包(Seq+1),此時數據包中的的 Seq 爲 1用於確認收到發送端 ACK 爲 1 的數據包,並將本端發送包的中 ACK 置爲 Seq+1,表示期待接收到下個數據包的序列號

c) 發送端收到接收端的 TCP 確認包好,查看包中的 ACK 爲 11,表示下個包的序列號,此時發送下一個包,並將 ACK 變爲 2,表示第二次發送。

⑤滑動窗口機制:

滑動窗口,在 TCP 創建以後傳輸數據時,用於管理數據流控的標識符。接收端在接收數據時會創建一個緩存區,並將緩衝區的大小標識符值放於 TCP 頭部的 Window 中,表示接收端目前緩存區能夠接收的最大數據位多少。滑動窗口的做用用於接收端告訴發送端本身能夠一次性接收的數據大小爲多少。

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

a) 主機 A 想服務器發起鏈接,傳輸數據給服務器 A

b) 服務器 A 回覆 ACK 信息,同時攜帶窗口大小爲 3

c) 主機 A 收到 ACK 確認信息後,發現窗口大小爲 3,因而連續發送窗口大小爲 3 的容量的數據包給服務器 A

d) 服務器 A 收到數據包後,內存滿,此時讀取一個數據包,內存剩餘爲 1,此時發送 ACK確認,窗口大小爲 1

e) 主機 A 收到後,發送窗口大小爲 1 的數據包給服務器 A

(2 )UDP :

User Datagram Protocol,用戶數據包協議,UDP 是一種面向無鏈接的傳輸層協議,傳輸可靠性沒有保證。當應用程序對傳輸可靠性不高時,可是對傳輸速度和延遲要求較高時,可使用 UDP 協議來替代 TCP 協議在傳輸層控制數據的轉發。

UDP 頭部僅佔 8Byte,傳輸數據時沒有確認機制。UDP 適合於實時數據傳輸,如語音和視頻通訊。相比於 TCP,UDP 的傳輸效率更高、開銷更小、可是沒法保障數據傳輸的可靠性,保證數據的完整性是依靠應用層的服務對數據提供保證的。

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • Source port:源端口號
  • Destination port:目標端口號
  • Length:長度
  • Checksum:校驗和
(3 ) 端口號:

主機使用端口號表示不一樣的網絡服務。其中:0-1023 爲知名端口號;1024-65535 爲動態端口號

常見協議端口號:
名稱 端口號
FTP TCP20(傳輸端口)/TCP21(控制端口)
HTTP TCP80
Telnet TCP23
SSH TCP22
HTTPS TCP443
BGP TCP179
PPTP TCP1723
TFTP UDP69
RIP UDP520

2. 三層網絡層封裝:

(1 )IPv4 包格式:

Version :4bit,表示 IP 協議版本號。目前的版本號是 4,即 IPv4。版本號規定了數據報的格式。版本不一樣,其數據報格式也有所不一樣,如 IPv6 的報文結構就和 IPv4 的結構不一樣。

IHL : 4bit,報文頭長度 HLEN,表示報文頭長度(行數)。報文每行長度爲固定 4Byte,因此報文頭長度以 4 Byte 爲單位計算。除 IP 選項(IP Options)和填充(Padding)字段能夠不存在外,其餘各字段必須存在。這些必須存在的字段是 5 個 4 Byte,共 20 Byte 長。所以,報文頭長度值通常是 5 。又因爲報文頭長度必須是 32bit的整數倍,因此當一個含有 IP 選項字段的 IP 數據報不是 32bit 的整數倍時,由填充字段用 0 補足,因爲存在 Option 選項,因此 IHL 不固定,爲 20 到 60 字節

TOS :8bit,Type of Service,服務類型,指示對本數據報的處理方式。它主要用來指示數據報的優先權及傳輸類型。QoS 技術就是使用此字段對數據進行標記優先級的。

Total Length :16bit,數據包總長度,以 Byte 爲單位表示整個 IP 數據報長度,包括報文頭及其攜帶的數據,能夠表示最大值爲 65535,因此三層 MTU 最大爲65535

Identifier :16bit,標識字段,是發送者賦予數據報的標識符,接收者利用這個信息和源地址判斷收到的分組屬於哪一個數據報,以便進行重組。所以,在分片時,該域必須不加修改地複製到各分片的報文頭中。

Flags :3bit,標誌位,只有低兩位有效。第一 bit 爲 0 時表示該分片是最後一片,若是該位是 1 表示後面還有分片。第二 bit 爲 0 時表示能夠對數據報進行分片,若是該位是 1 表示數據報不能分片。當該位設置爲 1 而幀長度不匹配又必須分片時,設備就會將數據報丟棄並返回錯誤信息。

Fragment Offset: :片偏移,指示本分片數據在初始數據報數據區中的偏移量,偏移量以8 Byte 爲單位,重組時分片順序由片偏移提供。

Time To Live :生存時間,簡稱 TTL,8bit,用來控制數據報在網絡中存在的時間。目前TTL 的值並不表明時間,而是表明經由路由器的個數。數據報每通過一臺路由器時,路由器將 TTL 值減 1,一旦 TTL=0,系統就丟棄該數據報,並返回錯誤信息。這樣避免了路由出現環路時數據報在路由器之間無休止地循環。

Protocol :8bit,協議,表示該數據報攜帶的數據是由哪一個上層協議封裝的,也就是指示傳輸層的協議類型。如最多見的協議類型是 TCP 或 UDP。

Header Checksum :16bit,頭校驗和,用於保證 IP 頭數據的完整性。

Address: :分爲源 IP 地址和目的 IP 地址,各佔 32bit,代表數據的來源及其到達的 76EE的地。

Padding: :當 IP 報文頭長度不是 32bit 的整數倍時,填充 0 來湊齊 32bit 整數倍,沒有實際意義。

Data: :來自第 4 層的數據段。

注:標識(Identification)標誌(Flags)片偏移(Fragment Offset)這 3 個字段與 IP 報文的傳輸有關。IP 數據報是網絡層的數據單元,它須要被封裝在第二層的數據幀中來傳輸。互聯網是由各類二層規範不一樣的網絡互聯起來的產物,這些不一樣的網絡的幀格式及幀長度各不相同。例如,以太網的幀和令牌環的幀在結構和長度上都不相同。IP 數據報在某個二層網絡中可以被徹底封裝,到另外一個二層網絡中就未必能夠。所以,IP 數據報有可能被分割,稱爲"分片(Fragmenting)",當數據到達目的地時還要對分片進行重組。上述 3 個字段正是用於對分片和重組進行控制的。

(2 )IPv4 地址 有類 分類:
  • A 類:1-126/8 A 類私網地址:10.0.0.0/8
  • B 類:128-191/16 B 類私網地址:172.16.0.0/16-172.31.255.255/16
  • C 類:192-223/24 C 類私網地址:192.168.0.0/16-192.168.255.255/24
  • D 類:224-239(組播地址)
  • E 類:240-255(保留實驗)

其中:127.0.0.0-127.255.255.255.255 爲迴環地址。

(3)分片 :

一般要傳輸的IP報文的大小超過最大傳輸單位MTU(Maximum Transmission Unit)時就會產生 IP 分片狀況。IP 分片一般發生在網絡環境中。好比說,在以太網(Ethernet)環境中可傳輸最大 IP 報文大小(MTU)爲 1500 字節。而傳輸的報文大小要比 1500 字節(不包括以太協議的首部和尾部 18 個字節)大,這個時候就須要利用到分片技術,經分片後才能傳輸此報文。另外,使用 UDP 很容易致使 IP 分片,而很難強迫 TCP 發送一個須要進行分片的報文。並在 IP 數據包中採用 identification 標號flags 置位符Fragment Offset 偏移量 用來標識此分片數據包。

網絡層外面還會加上數據鏈路層的封裝,通過數據鏈路層封裝以後,纔是一個數據包最終的大小。要注意,MTU 只是限制了一個數據包通過網絡層的封裝後,不要超過 1500 字節,一個數據包最終是多少,是不能一律而論的,不一樣的數據鏈路層會在「網絡層 1500 字節」的基礎上加上不一樣的頭部,好比:以太網會在網絡層的基礎上加上 14 字節頭部和 4 字節的FCS 尾部,因此,一個以太網數據幀最終的大小是 1518 字節,當數據鏈路層爲 HDLC 時,它會在網絡層前面加上 4 字節的 HDLC 的頭部和 4 字節的 FCS 校驗,因此,一個 HDLC 鏈路的數據包是 1508 字節,當數據鏈路層爲 PPP 時,它會在網絡層前面加上 4 字節的 PPP 的頭部和 4 字節的 FCS 校驗,因此,一個 PPP 鏈路的數據包是 1508 字節。

須要注意的是,MTU 只會影響到數據發出方向,對收入的數據,是沒有 MTU 限制的,可是,咱們建議將鏈路兩端的 MTU 設置爲同樣大小的,由於網絡通信都是有來有回的,一個大與接口 MTU 的數據收進來,若是又要從這個接口返回去,則入向收到的是一個完整的包,而出向會對這個數據分片,雖然不會影響通訊,但這種雙向數據結構不匹配的通信模型並非很合理。

注:三層中的 Total Length 爲 16bit,因此最大能夠表示 65535 字節,因此三層的最大數爲655535 字節,二層最大表示的數爲 1518,因此實際數據包的大小爲 1518

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

identification 標號:16bit,ID 域對於每一個分片都是一致的,這樣才能在從新組裝的時候識別出來自同一個 IP 報文的分片。在 IP 頭裏面,16 位識別號惟一記錄了一個 IP 包的 ID(ipid),具備同一個 ID 的 IP 分片將會從新組裝。

flags 置位符:3bit,標誌着該分片後面是否還有新的分片。

Fragment Offset 偏移量:13bit,記錄了某 IP 片相對整個包的位置。

(3 )三層 MTU :

①三層 最大 包 長:

三層網絡 IPv4 報文實際可表示長度爲 655535 字節,而最大長度爲 1500Byte(稱爲 MTU)

②三層最小包長:

最小包長爲 46Byte,不夠使用墊片填充。

注: :存在最小數據包大小的緣由爲若是 A 主機發送的數據幀很小,很快完成數據幀的發送,二兩臺衝突主機相距很遠,再主機 A 發送的數據幀傳輸到 B 的前一刻,B 開始發送數據幀,這樣,當 A 的數據幀到達 B 時,B 檢測到衝突,因而發送衝突信號。假如 B 的衝突信號傳輸到 A 以前,A 的數據幀已經發送完畢,那麼 A 將檢測不到衝突而誤認爲已發送成功,所以必須有最小包長的限制。當一個包不足 64Byte(數據封裝到二層時)時,將使用 bit 填充數據部分到 64Byte。

(4 ) 協議號:

網絡層數據包的包格式裏面有個很重要的字段叫作協議號,協議號是存在於 IP 數據報的首部的 20 字節的固定部分,佔有 8bit.該字段是指出此數據報所攜帶的是數據是使用何種協議,以便目的主機的 IP 層知道將數據部分上交給哪一個處理過程。也就是協議字段告訴 IP 層應當如何交付數據。

協議號用於表示三層網絡層上層爲什麼種網絡協議。

常見協議號:
協議名稱 協議號
ICMP 1
IGMP 2
TCP 6
EGP 8
IGP 9
UDP 17
IPv6 41
GRE 47
NARP 54
OSPF 89
VRRP 112
L2TP 115

3. 二層數據幀封裝:

數據幀封裝分爲兩種幀格式封裝,一種爲Ethernet_II定義格式;一種爲IEEE802.3定義格式。

注:如何區分數據包使用哪一種格式:

① 當數據包的長度大於或等於 1536Byte 時爲 Ethernet_II 協議封裝。

② 當數據報的長度小於或等於 1500Byte 時爲 IEEE802.3 協議封裝。

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(1 )Etherne_II 幀格式:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • 6Byte 的目標 MAC 地址
  • 6Byte 的源 MAC 地址
  • 2Byte 的 Type 類型(0x0800 爲 IP;0x0806 爲 ARP;0x8847 爲 MPLS)
  • 46Byte-1500Byte 的 Data
  • 4Byte 的 FCS 校驗
    (2 )IEEE802.3 幀格式:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

  • 6Byte 的目標 MAC 地址
  • 6Byte 的源 MAC 地址
  • 2Byte 的 Length 長度表示符
  • 3Byte 的 LLC 鏈路控制子層:
    • 1Byte 的 D.SAP
    • 1Byte 的 S.SAP
  • 5Byte 的 S.NASP
    • 3Byte 的 Org Code
    • 2Byte 的 Type
  • 38Byte—1492Byte 的 Data 數據
  • 4Byte 的 FCS 校驗位

注:IEEE802.3 幀長度值小於等於 1500

IEEE802.3 數據幀抓包:

【網絡技術聯盟站】網絡工程師深刻篇之網絡基礎知識

(3 )二層 MTU :

在 Ethernet_II 封裝數據幀中:

  • 數據幀最小爲 64Byte

46Byte 的數據單元+2Byte 的 Type+6Byte 的 D_MAC+6Byte 的 S_MAC+4Byte 的 FCS 校驗位

  • 數據幀最大爲 1518Byte
    1500Byte 的數據單元+2Byte 的 Type+6Byte 的 D_MAC+6Byte 的 S_MAC+4Byte 的 FCS 校驗位
    (4 )Type 標識:
    Type類型 Type標識
    IPv4 0x0800
    IPv6 0x86DD
    ARP 0x0806
    MPLS 0x8847
    802.1Q 0x8100
相關文章
相關標籤/搜索