網路層的IP協議(一)
TCP/IP的核心是網際網路層,這一層類比於OSI參考模型中的第三層,即網路層。該層成熟的技術主要有IP和ICMP兩種協議。
IP協議共有兩個版本,分別為IPv4和IPv6.
網路層的主要作用是實現終端節點之間的通訊,這種端點之間的通訊業稱為點對點通訊(end to end)。網路層的下一層資料鏈路層主要是負責節點之間的包傳遞,當跨越多個數據鏈路時,就需要網路層接入。網路層可以跨越不同的資料鏈路,即使不是同一個資料鏈路,網路層也能實現互相通訊。
主機的定義:配置有IP地址,但是不進行路由控制的裝置。路由器是即具備IP地址,也具備路由控制的功能。
此處網路層的IP協議主要是告訴資料鏈路層,資料中轉的方向。資料鏈路層只管把資料送到特定的目標地址。
2.IP的基礎知識
IP地址不因資料鏈路層的改變而發生改變。
3.路由控制
①:HOP 翻譯為跳,指代網路中的一個區間,IP的資料包是在一個個跳間進行轉發。因此IP路由也成為多跳路由。在每一個區間內據定了包在下一跳中轉發的路徑。
②:跳的詳細概念,是指利用資料鏈路層以下分層的功能傳輸資料幀的一個區間。乙太網等資料鏈路層中使用MAC地址進行傳輸資料,此時的一跳,就是指從源MAC到目的MAC之間傳輸的區間,即它不經過其他路由器而能直接到達的相鄰主句或者路由器網絡卡之間的一個區間,一跳的區間內,電纜可以通過網橋或者交換機相連,不需要通過路由器或者閘道器。
③:多跳路由是指路由器或主機轉發IP資料包時至指定下一個路由器或者主句,而不是把到目的地址的所有路徑記錄下來。這個意思類似於我們坐車從A到B,A與B的距離很遠,中間要中專幾次。我們先從車站打聽,去B應該做什麼方向的車,然後到達中專站C以後,再接著打聽,直到我們到達目的地。這裡的“打聽”由路由器的設計功能完成。
④:路由控制表,即上文中所謂的“打聽”動作的設計完成。所有主機都圍著一張路由控制表,該表記錄IP資料在下一步轉發給那個路由器,IP包,根據這個路由表,在各個資料鏈路上傳輸。
⑤:資料鏈路抽象化,由於不同的資料鏈路種類的資料幀和特性不同,因此IP的重要作用之一是將這些資料鏈路統一抽象化,資料鏈路地址抽象為IP地址。
資料鏈路層彼此之間一個重要區別就是MTU不同(最大傳輸單位),乙太網的MTU為1500位元組(1.5KB,儲存和網路計算單位,非1024!)。FDDI的是4352B,ATM是9180B。
IP為了解決這個問題,使用分片處理,即將上層發下來的大的資料包分割成多個較小的IP包,然後進行傳輸,之後再在IP層進行組合,傳給上一層。從IP的上層看,完全忽略了各個資料鏈路上的MTU。
⑥:面向無連線型的IP協議。IP在發包之前,不需要建立與對端目標之間的連線,上層只要有資料,就會立刻被組裝成IP包傳送出去。
採用無連線型的協議主要目的在於:簡化協議和提高速率。
⑦:IP地址的基礎知識
IPv4地址由32位數字表示。TCP/IP協議要求這樣的IP地址分配給每個參與通訊的主機。記錄時,採用每8位一組,中間用.隔開,例如:172.20.3.210
由這種規定可知,最大情況下,IP協議允許4G(43億)主機裝置接入網路,實際上這是不夠用的。並且實際能接入網路的裝置比這個數字少很多
地址組成:網路地址和主機地構成。網路地址和主機地址分類一般有兩類約定:即分類區別和子網掩碼區別。
例如192.168.1.xx 中,192.168.1是網路標識,xx是主機標識。同一網段內,主機標識不能重複,不同網段內,網路標識不能重複。
這樣,路由器一看到某個IP的網路標識位,即可往某個網段進行轉發。
⑧IP地址分類:
分為A、B、C、D四類,根據IP地址的第1-4位進行區分。
A類IP地址首部以0開始,第1位到第8位是其網路標識。因此0.0.0.0-127.0.0.0是A類的網路地址,A類地址的後24位是主機標識,因此A類IP的網段最多可容納2^24個主機。
B類IP地址是前兩位是10的的地址,1-16位是網路標識,因此,128.0.0.0-191.255.0.0是B類IP的網路地址,後16位為主機標識,一個網段最多容納65534個裝置(注意)
C類地址是前三位為110的地址,第1-24為網路標識,後8位為主機標識,即192.0.0.0-239。255.255.0是其網路標識,可容納上線為254個裝置。
D類地址:前四位為1110的地址,第1-32位是網路標識,即224.0.0.0 –239.255.255.255是D類網路標識,其沒有主機標識,主要用於多播。
注意事項:IP地址主機標識要注意的是bit標識的主機地址不可以全部為0或者全部為1,因為全部為0的地址通常是對應的網路地址不可知或者IP地址不可知的情況下使用,全為1的主機地址通常用於廣播。
其他型別:
廣播地址
廣播地址用於同一鏈路中相互連線的主機之間傳送資料,將IP地址中的主機地址全部設定為1,就是廣播地址,例如:172.20.255.255就是廣播地址。
兩種廣播:
本地廣播和直接廣播。
本地廣播是在本網路內的廣播,例如網路地址是192.168.0.0的裝置的廣播地址是192.168.0.255,這個廣播地址對應的IP包會被所有路由器遮蔽,因此不會達到其他鏈路上面。
不同網路間的廣播叫做直接廣播,例如網路地址位192.168.0.0的主機向192.168.1.255的目標地址傳送資料。收到這個包的路由器,會將資料轉發給192.168.1.0,從而使得本網段內的主機都能收到資料。但是由於直接廣播通常存在安全性問題,大部分路由器設定為不轉發這種廣播。