計算機通過網路介面裝置比如網路介面卡與網路進行通訊,網路介面裝置具有唯一的實體地址,用於接收發向該位址的資料。像乙太網網絡卡這樣的裝置對於上層協議層的細節是一點也不了解的,它不知道ip位址,它只是監聽是否收到了資料幀,發現其中目標位址與自己實體地址相符的幀,並把這個幀傳遞給上層協議棧。
這種物理定址方式適合單個區域網網段。由不間斷介質連線在一起的若干臺計算機利用實體地址就可以實現所需的功能。
但是,在路由式網路中,不能利用實體地址實現資料傳輸,因為根據實體地址進行傳輸所需的過程不能跨越路由介面來執行。即使這樣是可行的,根據實體地址傳輸資料也是非常麻煩的,因為內建在網絡卡裡的固定實體地址不能在位址空間上引入邏輯結構
因此,tcp/ip隱藏了實體地址,以一種邏輯化的定址方式對網路進行組織。這個邏輯定址方案由網際層的ip協議維護。arp是另一種網際層協議,它維護乙個**,用於把ip位址對映到實體地址。這個arp表連線了ip位址與網絡卡實體地址。
傳送資料的過程:
如果目的位址與源位址是同乙個網段,源計算機就把資料報直接傳送給目的計算機。ip位址被arp解析為實體地址,資料被直接傳送到目的網路介面卡
如果目的位址與源位址不在乙個網段上,就執行如下過程。
直接將資料報傳送到閘道器。閘道器是位於區域網網段的乙個裝置,能夠把資料報**到其他網段。閘道器位址被arp解析為實體地址,資料被傳送到閘道器的介面卡
資料報通過閘道器被路由到較高階別,再次重複上述過程。如果目的位址在這個新網段,資料就被傳送到目的,否則資料報就會被傳送到另乙個閘道器。
ip協議提供了一種分層的、與硬體無關的定址系統,具有在複雜的路由式網路中傳遞資料所需的服務。每個網路介面卡都有乙個唯一的ip位址
每個ip資料報都以乙個ip報頭開始。源計算機構造這個報頭的目的是tcp軟體利用ip報頭中封裝的資訊處理資料。ip報頭的最小長度是20位元組。報頭字段如下:
ip位址是乙個32位的位址,被分為4個8位段(八位組)。人們不習慣使用32位的二進位制位址或8位的二進位制八位組,所以ip位址最常用的表達形式是「點分十進位制形式」。在這種形式裡,每個八位組都以相應的十進位制數值表示,4個十進位制數值以句號分割。
ip位址一部分是網路id,另一部分是主機id。劃分網路id和主機id最初方案是使用位址分類。最近出現的cidr無類別定址降低了位址分類的重要性,但作為理解tcp/ip定址的乙個出發點,位址分類還是值得討論的。
位址分類系統把ip位址劃分到不同的位址類。絕大多數ip位址屬於以下幾類
怎麼判斷二進位制位址的前幾個位說明了位址屬於哪一類?
全0的主機id表示網路本身。比如ip位址129.152.0.0是指網路id為129.152的b類網路。
全1的主機id表示廣播。廣播是向網路中全部主機傳送的訊息。ip位址129.152.255.255就是網路id為129.152的b類網路的廣播位址
以十進位制127開頭的位址是環迴位址。目的位址為環迴位址的訊息是由本地軟體傳送的,其目的在於測試tcp軟體是否工作正常
rfc1597保留了一些ip位址範圍用於私有網路,其設想是,這些私有網路不會連線到internet,所以不必要求是唯一的。目前,這些私有位址範圍經常用於「網路位址轉換」裝置背後的受保護網路。
由於私有位址範圍不必與其餘位址同步,所以整個位址範圍對於任何網路都是可用的,網路管理員利用這些私有位址可以獲得更大的子網空間和可用位址範圍。
網段上每台主機在記憶體中都儲存著乙個被稱為arp表或arp快取的**,其中包含網段上其他主機ip與其實體地址對應關係。當主機需要向網段上的其他主機傳送資料時,它會檢視arp快取來獲得目的的實體地址。如果要接收資料的位址當前並不存在於arp快取,主機就會傳送乙個名為arp請求幀的廣播。
arp請求幀包含未解析的ip位址,還包含傳送這個請求的主機ip和實體地址。網段上的其他主機接收到這個arp請求,未解析ip位址的主機會向發出請求的主機傳送主機的實體地址。這個新的ip位址與實體地址的對應關係就會新增到請求主機的arp快取裡。
一般來說,arp快取裡的條目在一定時間之後會過期,條目就會被從表裡刪除。當主機需要向這個條目所包含的ip位址傳送資料時,解析過程會再次重複
rarp的含義是逆向arp,也就是arp的逆過程。當我們知道ip位址而不是實體地址時,可以使用arp;而在知道實體地址而不知道ip位址時,則應使用rarp。
傳送到遠端計算機的資料通常會經過乙個或多個路由器,這些路由器在把資料傳輸到最終目的地的過程中可能發生多種問題。路由器利用internet控制訊息協議(icmp)訊息把問題通知給源ip。icmp還有用於其他除錯和排錯的功能。
下面列出了最常見的icmp訊息:
第3章IP 網際協議
ip是tcp ip協議族中最為核心的協議。所有的tcp udp icmp及igmp資料都以ip資料報格式傳輸。ip僅提供最好的傳輸服務。無連線的意思是ip並不維護任何關於後續資料報的狀態資訊。ip首部 目前版本號是4。首部長度指的是首部佔32bit字的數目,包括任何選項。其是乙個4位元字段,因此首部...
網際層協議 IP
與ip協議配套使用的四個協議 位址解析協議arp 逆位址解析協議rarp 網際網路控制報文協議icmp 網際網路組管理協議igmp 一 ip分組格式 ip資料報格式 首部長度 hlen,分組頭的長度 單位為32位元 其最小值是5 固定的20個位元組 最大值為15 20 40 60位元組 即ip首部長...
TCP IP入門知識 網際層
bootp 用來遠端啟動計算機或者其他網路裝置的協議。點分十進位制 基數為10,而且用4個數字來表示二進位制的ip位址的形式,這個4個數字分別表示二進位制位址的4個八位組,這4個數字之間用句點分開 209.121.131.12 internet控制訊息協議 icmp 網際層的重要協議,路由器用它來告...