网络学习-IP基础
????????MAC地址本質上是某個設備接口的身份識別號,他表示的是“我是誰”,而不是“我在那里”。MAC地址本身并不帶有任何位置信息。如果使用MAC地址首先全球通信,那么傳遞信息的網絡設備就需要每時每刻知道所有在用的MAC地址以及它們的位置信息,這是不可能的。事實上,真正用來實現全球范圍內通信的地址是“IP地址”。
? ? ? ? 和MAC地址一樣,IP地址是網絡設備的接口屬性,而不是網絡設備本身的屬性。當我們說給某臺設備分配一個IP地址時,實質上是指給這臺設備的某個接口分配一個IP地址,設備有多個接口時,每個接口都需要一個IP地址。
? ? ? ? 需要使用IP地址的接口通常是路由器而計算機接口,交換機通常不需要IP地址的(這里的交換機指的是不具備三層轉發功能的二層交換機)。
IP地址分類
? ? ? ? IP地址被劃分為5類,A,B,C,D,E五類。
五類地址中,D類屬于組播IP地址,E類屬于特殊實驗目的。A,B,C三類都是單播IP地址(除特殊地址)。IP地址中的網絡號用于表示主機所在網絡,主機號用于表示網絡號所定義的網絡范圍內某個特定的主機接口。
三類地址的結構差異:
?每個網段與預留兩個特殊地址:
(1).主機號全為0,用于標識一個網絡。
(2).主機位全是1,用于給該網段中的所有主機發送數據的廣播地址。
子網掩碼
用于表示一個IP地址中的網絡號和主機號,子網掩碼中的1的個數就是這個IP地址的網絡號位數,而0的個數就是主機號的位數。將子網掩碼和IP地址進行與運算得到的就是該IP地址所在的網絡地址。
?特殊IP地址
一,私網地址
私網地址就是不需要連接到Internet中無需使用公網IP,只要同一網絡中的網絡設備的IP地址不發生沖突即可,A,B,C三類地址中各自預留的一些私網地址。如下:
A類,10.0.0.0-10.255.255.255
B類,172.16.0.0-172.31.255.255
C類,192.168.0.0-192.168.255.255
這些IP只能用于私網地址,Internet上的網絡設備不會接收,發送和轉發源IP或目的IP為上述范圍內的報文。
二,其他特殊IP
(1),255.255.255.255
? ? ? ? 有線廣播地址,可以作為一個IP Packet的目的地址使用。路由器在收到目的IP地址為該地址的IP Packet后,會停止對該IP Packet的轉發。
(2),0.0.0.0
如果把這個地址作為一個網絡地址來對待,他的意思是“任何網絡”的網絡地址。如果把這個地址作為一個主機接口地址來對待,他的意思便是“這個網絡上這個主機接口”的IP地址。例如,當一個主機接口在啟動過程中尚未獲得自己的IP地址時,就可以向網絡發送目的IP為255.255.255.255,源IP為0.0.0.0的DHCP請求報文,希望DHCP服務器在收到自己的請求后,能夠給自己分配一個可用IP地址。
(3).127.0.0.0/8
環回地址,這個地址可以作為IP Packet的目的IP使用。環回地址可以用來測試設備自身的軟件系統。
(4).169.254.0.0/16
本地鏈路地址,如果一個設備獲取IP地址的方式設置成自動獲取的方式,但是該設備在網絡上又沒有可用的DHCP服務器,那么該設備會使用169.254.0.0/16中的某個地址進行臨時通信。
IP轉發原理
? ? ? ? 路由器的工作內容主要分為兩個方面:一方面通過運行路由協議來建立并維護自己的路由表,另一方面根據自己的路由表對IP報文(IP Packet,IP包)進行轉發。
? ? ? ? 路由器的接口有如下的行為特點:
(1).當一個單播幀進入路由器的一個接口,這個接口會將幀的目的MAC地址和自己的MAC地址作比較。如果這兩個地址不相同,接口會直接丟棄;如果相同,路由器會對幀的載荷數據做處理。
(2).當一個廣播幀進入路由器的一個接口以后,這個接口會直接對幀的載荷數據進行處理。
IP轉發過程:
為方便描述,做如下假設:(1).路由器的每個接口都是以太網接口。(2).從線路上進入路由器的某個接口的幀是一個單播幀,該幀取名X。(3).X幀的目的MAC地址與這個接口的MAC地址是相同的。(4).X幀的類型字段為0X0800,也就是說X幀的載荷數據是一個IP包,該包取名P。(5).P是一個單播幀,也就是說P的目的IP地址是一個單播幀。
(1).X幀從線路上進入路由器的某個接口以后,由于X幀的目的MAC地址與這個接口的MAC地址相同,所以該接口會將X的載荷數據P提取出來。
(2).由于X的類型字段是0X0800,所以P會被上送至IP模塊進行轉發。
(3).IP轉發模塊收到P以后,會根據P的目的IP地址查詢自己的路由表,查表后會有以下兩種操作:一,P會被直接丟棄。二,確定P的出接口,以及P的下一跳IP地址。
(4).IP模塊確定P的出接口以及下一跳的IP地址。
(5).出接口將P封裝成一個單播幀,取名Y。Y的載荷數據還是P,類型字段還是0X0800,但是Y的源MAC地址是出接口的MAC地址,目的MAC地址是下一跳IP地址所對應的MAC地址。如果此時路由器能從ARP緩存表中查詢到P的下一跳IP地址所對應的MAC地址,則直接將這個MAC地址作為Y的目的MAC地址,如果查詢不到,則首先通過ARP請求。
(6). 出接口將Y發送出去。
????????以上是IP轉發的整體過程,第三步中可以看出路由器對幀進行了解封裝和再封裝,此時目的地址收到的幀已經不是源地址發出的幀,但是幀的數據載荷P沒有改變,路由器既是不同二層網絡的分界點,又是他們的結合點,即路由器阻斷了二層(數據鏈路層)通信,實現了三層(網絡層)通信。
IP報文格式
版本:
? ? ? ? 該字段長度為4bit,表示IP報文的版本信息。0x4表示是IPv4,0x6表示是IPv6
包頭部長度
? ? ? ? 該字段長度為4bit,用來表示IP包的頭部長度。“包頭部長度字段”的值x4=包頭部的字節數。
DS域
? ? ? ? 該字段長度為8bit,用來表示服務等級,區分報文轉發優先級。
總長度
? ? ? ? 該字段長度為16bit,用來表示整個IP報文的長度。一個IP報文的最大長度是65536(2的16次方)個字節。IP包頭部加上載荷數據等于總長度。
標識,標志,分段偏移
? ? ? ? 他們都用于IP報文的分片和重組,標識字段長度為16bit,標志字段長度為3bit,分段偏移字段為13bit。
存活時間
? ? ? ? 該字段8bit,也成為TTL,每當IP報文經過一臺路由器,該字段的值就減一,減為0時報文會被丟棄。
協議
? ? ? ? 該字段8bit,用來表示載荷數據的類型,0x01表示ICMP;0x02表示IGMP;0x06表示TCP;0x11表示UDP報文;0x59表示OSPF報文。
頭部檢驗和
? ? ? ? 該字段16bit,用來對IP頭部進行差錯校驗。
源,目IP
? ? ? ? 這兩個字段都是32bit,用來表示IP報文的發出設備接口地址和目的接口地址。
選項/長度填充
? ? ? ? 該字段長度可變,可以實現拓展功能。
?
?
?
總結
- 上一篇: 如何迅速提升网站流量
- 下一篇: vue小花样——鼠标指针图片样式替换