《一本書讀懂TCP/IP》讀後感——第五章TCP/IP網路規則 (一)

BeforeEasy發表於2017-04-03

5.1關鍵規則之一:以態網編碼規則
5.2關鍵規之二:ipv4地址的定義
5.3關鍵規則之三: ip封包規則
5.4關鍵規則之四:地址解析協議
5.5關鍵規則之五:ip包的轉發規則
5.6關鍵規則之六:報文控制協議

5.1關鍵規則之一:以態網編碼規則

乙太網屬於ISO/OSI的第二層——資料鏈路層協議

以態網向下是物理層,向上是ip層

乙太網幀中包含48位的MAC地址

 

1.乙太網幀

最常用的標準是RFC894封裝

目的地址是48位的目的MAC地址

原地址是48位的出發地MAC地址

型別來區分是資料資訊還是握手訊號

資料部分是乙太網承載的資料資訊,根據上面的型別欄位推斷出資料是何種型別後,再根據這種型別的格式要求進行拆包和分析

CRC校驗:用於檢查整個幀傳送過程中是否出現了錯誤,發出資料分組時,一邊傳送一邊逐位進行CRC檢驗。接收站接收後,對資料逐位進行CRC檢驗,如果接收端形成的校驗和與幀的校驗和相同,則表示傳輸幀未被破壞,反之要求重發

2.MAC地址

全稱是Media Access Control “媒體訪問控制”,可以理解為訊號在通訊線路介質傳送中的一種最基本的管理和控制能力,這裡的管理是指,避免傳送發生錯誤,而控制,是指讓訊號按既定策略傳送和轉換。媒體訪問控制其實就是對物理層傳送的0和1進行最基本的管理和控制,通過MAC層將物理層獲取的訊號送到更高層去處理,讓更高層專注於路由傳輸和應用,無需操心底層的傳送過程。

乙太網的每一個節點都具有一個MAC地址,有IEEE統一管理,由裝置商固化在裝置中,是唯一的。用ipconfig/all回車後,出現的實體地址就是MAC地址

。MAC地址是網路卡自身的唯一標識,與網路無關,無論把這個網路卡接入到網路的什麼地方,MAC地址都不變



5.2關鍵規之二:ipv4地址的定義

IPV4地址是32位二進位制數字可轉化為四個0到255之間的數字

ip地址需要和子網掩碼配合使用才有意義

公有ip地址分為ABCDE5類

私有ip地址分為ABC3類

 

1.IPv4

比如一個IP地址:

211.99.34.33

255.255.255.248

第一部分是主機地址,後面的叫子網掩碼

211.99.34.33是從211.99.34.32開始到211.99.34.39結束的整個子網網段中的一個ip地址。

該網段的第一個ip地址叫做,子網地址,最後一個ip地址,叫做廣播地址

假如子網掩碼是M.N.P.Q,套入公式(256-M)(256-N)(256-P)(256-Q)得到的結果是這個網段一共多少IP地址。比如上例是8,只要把最後一個圓點後的數字從0-255分組,每8個一組,看33在哪一組即可。

子網掩碼還有簡單的寫法:就是在IP地址後加/n

該網段有x個IP地址,2的y次方等於x,那麼n等於32-y

 

A類B類和C類是最常用的單播ip地址,D類地址用於組播,E類地址被保留,用於擴充套件和實驗開發與研究

2.公共地址和私有地址

IP地址中保留了三個區域作為私有地址

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

這三個ip地址段不會被網際網路的公用伺服器使用

 
3.如何用子網掩碼得到網路號/主機號/主機數

將ip地址與子網掩碼轉換成二進位制,將二進位制形式的ip地址與子網掩碼做與運算,將答案化為十進位制便得到網路號,將二進位制資訊的子網掩碼取反,

將取反後的子網掩碼與ip地址做與運算,將答案化為十進位制便得到主機號,主機號數為2的主機號位數次方-2

4.無類域間路由

傳統的路由定址模式是根據標準的ABC類地址的網路地址,尋找目標網路和主機的,由於分類,所以稱為有類域間路由,無類別域間路由選擇(CIDR)基本思想是取消IP地址的分類結構,

將多個地址框聚合在一起,生成一個更大的網路,以包含更多的主機

5.可變長子網掩碼

實際應用中IP地址也可以細分,將一個網路分為多個子網,在分層時不再把IP地址看成由單純的一個網路號和一個主機號組成,

而是把主機號再分成一個子網號和一個主機號,這就是可變長子網掩碼(VLSM)的概念

 

6.VLSM 和CIDR的區別

使用VISM劃分子網時,將原來分類ip地址中的主機位按照需要劃出一部分作為網路位使用,

也稱向主機借幾位來劃分子網;而在使用CIDR聚合地址時,則是將原來分類IP地址中的網路位劃分出一部分作為主機位使用。

CIDR是把幾個標準網路合成一個大的網路;VLSM是把一個標準網路分成幾個小型網路。CIDR是標準子網掩碼網左邊移了;VLSM是標準子網掩碼網右邊移了。



5.3 關鍵規則之三:IP封包規則

       IP包的格式是有嚴格定義的,一個包的大小從32位元組到65535位元組都有可能。

         當IP包離開傳送端進入網路,傳送者就無法再對其實時控制了。

一個IP包包含各個欄位:

版本號:IP協議的版本號。IPv4 還是 IPv6

包頭長度:IP包頭長度,IPv4以32位為一個單位

TOS:表示傳送優先順序

位元組總長度:以位元組為單位,整個IP包的總長度。減掉包頭長度,就可以得出IP包中資料部分的起始地址和長度

標識:“我是第幾個包”。大的報文常要被拆分成幾個小包傳送。

片偏移:“我在最早那個資料包中的位置”,一個IP包在傳送過程中可能再次被拆分。

TTL:“我能跨越多少臺路由器”,防止陷入死迴圈的IP包永遠在路由器之間。到限制時將會被路由器銷燬。

協議:1表示ICMP,2表示IGMP,6表示TCP,17表示UDP

頭檢驗:判斷IP包頭是否被正確的傳輸

源地址:“我從哪裡來”用4個位元組標識

目的地址:“我要到哪裡去”4個位元組標識

選項:“我還有什麼要攜帶”,是該資料包可選資訊的可變長列表

資料:“我說攜帶的貨物”,是IP包攜帶的真實的資料資訊。


5.4 關鍵規則之四:地址解析協議

地址解析協議提供了一種從IP地址到相應硬體地址的動態對映機制,這種對映關係自動發生

在一個乙太網內,連線了幾臺到幾百臺甚至更多的主機,要把資訊從主機a送到主機b一般通過IP層做互通。但對於一臺主機而言,其底層的硬體和IP地址沒有直接關聯,也就是,當資訊到達b,b 的底層硬體無法識別這個包的目的地。底層硬體只知道MAC地址

主機將先通過MAC地址瞭解整個乙太網。當一臺主機剛剛連入乙太網時,首先,主機a傳送一種型別為ARP的乙太網幀,這個幀攜帶了a的MAC地址,IP地址,目的地b的IP地址,而把目的地B的MAC地址設定為16進位制的“00000000”,意思是本包要發給所有乙太網中的主機。也就是,乙太網中的廣播包

每個主機都會收到,然後檢視自己的IP地址是否符合,結果只有b的IP地址一樣,於是將自己的MAC地址傳送給a(因為a已經將自己的MAC地址傳送了,所以資訊會直接找到a)。a收到b的回信後,就將真正的資料送到b。

MAC地址和IP地址的對映關係被每臺主機儲存下來,形成了“地址對映表”。


5.5. 關鍵規則之五:IP包的轉發規則

         路由器根據IP包的目的地址和路由表尋找下一跳的路徑,並將該IP包傳送到正確的路口,這就是IP包的轉發

         路由器通過路由協議獲得路由表。路由協議分為靜態路由和動態路由協議

         動態路由協議分為內部閘道器協議和外部閘道器協議

IP包必須遵守道路交通管理法的規定,在IP節點進行下一路徑的選擇。若節點未明確規定下一跳路徑,則按照“預設路徑”所指引的方向行進。這就是IP包的轉發規則。

         主機可以自己判斷目的IP地址是否屬於這個乙太網,如果不屬於同一個乙太網段,主機將首先將包傳送至“預設閘道器”

 

5.6 關鍵規則之六:報文控制協議

報文控制協議用於報告錯誤資訊和其他應注意的情況。ICMP報文通常由IP層或較高層協議(TCP或UDP)來引發

某些ICMP報文可以使得差錯資訊返回給使用者程式。

 ICMP(Internet Control MessageProtocol 網際網路報文控制協議),也是IP層協議的組成部分,專門用來報告錯誤資訊和其他應注意的情況


相關文章