IP地址分類和路由表


IP地址

ip地址是ip協議提供的一種統一的地址格式,它為互聯網上的網絡設備分配一個用來通信的地址。目前有ipv4和ipv6兩種。

ipv4

ipv4 是一個32位數二進制數,占4個字節大小,由於用一個大整數不方便記憶和使用,於是采用了點分10進制表示方法,及將其拆分為4個字節,每個字節為一個0-255的10進制數字,並用.分隔。

ip地址又分為公網地址和私網地址,公網地址需要向因特網信息中心請求,可以直接在互聯網上使用。私網地址只能在組織內部的局域網中使用。不能超過該范圍。

子網掩碼(mask)

子網掩碼的作用主要用來划分一個ip地址的網絡號和主機號,划分的方式是將子網掩碼進行位與運算,得到的結果就是網絡號。一般的子網掩碼為255.255.255.0,或者255.255.0.0形式,也有其他的子網掩碼。假如ip地址為120.78.239.100的ip地址的子網掩碼為255.0.0.0,則相與計算之后的結果為120.0.0.0,這個結果便是網絡號。主機號則為后面三位0的位置。

網關(GATEWAY)

網關又稱為網間連接器,協議轉化器,在網絡層上是實現網絡互聯。網關實質上是一個網絡通向其他網絡的IP地址。兩個處於不同網絡段的主機是無法進行通信的,通信需要經過網關和硬件層面上的路由器實現。如果網絡A中的主機發現數據包的目的主機不在本地網絡中,就把數據包轉發給它自己的網關,再由網關通過具有路由功能的設備(路由器,具有路由協議的設備,代理服務器)轉發給網絡B的網關,網絡B的網關再轉發給網絡B中的對應主機。

ipv6

IPv4地址使用四字節描述,所能組合的個數也是有限的,所以ipv4地址在現代互聯網的試用下幾乎消耗殆盡,開始無法滿足人們對ip地址的需求,於是出現了ipv6地址協議,ipv6使用了128位二進制數表示,基本解決了IP地址短缺的情況,但是目前還存在諸多的協議問題。

ipv6使用冒號表示法:將4個16進制數分為一組,一共8組,並采用冒號分割的表示的方式。形如fd23:34ab:babe:cd89:4c2b:0:0:23de的表示形式,地址中連續的0也可以省略,但僅可省略一處,省略處使用兩個::分割即可,即fd23:34ab:babe:cd89:4c2b::23de0.0.0.0.0.0.0.1
也等價於::1

ip地址的分類

ip地址根據不同的段划分為ABCDE5類,

A類

第一字節為網絡位,子網掩碼為255.0.0.0,且IP地址第一個字節第一位必須為0,即

  二進制表示 十進制表示
起始 00000001 00000000 00000000 00000000 0.0.0.0
結束 01111111 11111111 11111111 11111111 127.255.255.255

 

第一字節為網絡位,除去127本地回環地址,網絡ID共有126個,每個網絡號有 256^3 - 2 = 1677714個主機號(減去一位主機號和廣播號)

B類

前兩個字節為網絡號,即子網掩碼255.255.0.0,且前兩位必須為10打頭,即

  二進制表示 十進制表示
起始 10000000 00000000 00000000 00000000 128.0.0.0
結束 10111111 11111111 11111111 11111111 191.255.255.255

 

前兩位為網絡號,所以網絡ID有214=16384個網絡,每一網絡中的主機個數為:2562 -2 = 65534

C類

前三個字節為網絡位,子網掩碼為255.255.255.0,前三位為110

  二進制表示 十進制表示
起始 11000000 00000000 00000000 00000000 192.0.0.0
結束 11011111 11111111 11111111 11111111 223.255.255.255

 

前三位為網絡號,所以網絡號共有2^21 = 2097152個,每個網絡號中有256-2=254個主機號

D類

多播地址,最高位前4位為1110,那么地址范圍為

  二進制表示 十進制表示
起始 11100000 00000000 00000000 00000000 224.0.0.0
結束 11101111 11111111 11111111 11111111 239.255.255.255

E類

實驗用地址

主要關注A、B、C三類地址,在這些地址中,還包括了一些私有地址范圍

類別 最大網絡數 IP地址范圍 單網段最大主機數 私有地址范圍
A類 126 0.0.0.0-127.255.255.255 167777214 10.0.0.0-10.255.255.255
B類 16384 128.0.0.0-191.255.255.255 65534 172.16.0.0-172.31.255.255
C類 2097152 192.0.0.0-223.255.255.255 254 192.168.0.0-192.168.255.255

 

除了以上部分私有地址,還包括部分特殊的地址。

  • 255.255.255.255為限制廣播地址,該地址只能在本網絡內部。
  • 127.x.x.x的地址為我們電腦的本地回環,這個地址只能在本地主機上使用。
  • 169.254.x.x 是在window中使用DHCP動態獲取IP失敗后,將會被隨機分配一個這樣的臨時地址。

路由Routing簡介

兩個網絡之間的通信就需要路由,也就是需要路由器,通過路由器去轉發這些需要跨網絡的數據包,在路由器上維護着路由表,他知道根據什么的路徑可以將數據包發往目的地址。

在本機上可以常看這個路由表的信息,cmd命令行中使用route print,Linux中使用route -n查看。

 

 每一行消息就是一條路由表信息,都與該主機上網卡中的配置關聯,網卡配置文件的路徑為 /etc/sysconfig/network-scripts ,以上兩條路由信息,從最后字段iface可以看出由配置文件中的ifcfg-ens33路由產生。Destination表示目標網段,Geteway表示去往目的地應該使用經過的網關,網關只有在Flag字段中帶有G標記才有意義,否則就是0.0.0.0,因為第二條記錄是一個本地網絡,所以可以直接直接到達。

 

 

 文件中包括以下幾行內容,IP地址,掩碼和網關配置,與路由表中的信息匹配。

路由表如何工作的

假如我們需要在本機上需要連接百度服務器和或本地網絡中的一個192.168.236.200的主機,通過ping命令可以看到百度的IP地址為:39.156.69.79。

 

 如果想要到達百度服務器,如何知道如何進行路由。查看路由表,將目的的ip地址與Genmask做按位與操作,首先會匹配掩碼更長的,也就是上面的255.255.255.0, 如果長度相同,根據Metric值匹配的順序,按位與后將結果與Destination字段值比較,如果相同,則使用該條路由。訪問百度服務器時候,優先匹配第二條信息,位於過后顯然結果不同,所以比較第一條,結果剛好相同,而該條記錄的網關為192.168.236.2,則該消息將會到該網關的路由表中繼續查詢匹配,由此經過若干節點到達百度的服務器。

而當我們使用ping訪問本地網絡中的一個主機時,第二條路由信息將會被匹配,表示在同一網段的,直接轉發即可。

路由器

路由器的所有端口都可以綁定一個ip地址,每一個ip地址位於不同的網絡中,由此路由器可以將兩個網絡進行連接。連入的一個網絡的設備可以動態和靜態分配ip地址。動態分配一般有DHCP動態路由協議完成,會自動分配一個ip地址給該設備,或者通過路由協議動態計算,並不斷更新路由表完成。也可以由用戶手動指定一個ip地址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM