1. 程式人生 > >IP地址,同一網段,子網掩碼,預設閘道器,新增路由

IP地址,同一網段,子網掩碼,預設閘道器,新增路由

自己在學習網路通訊的這個過程中,漸漸的對網路的一些基本知識,有了一種瞭解,突然想把這裡的一些基本的問題,進行下總結,也給自己留個筆記。

(1)IP 

首先來說說ip地址吧,IP地址是指網際網路協議地址(Internet Protocol Address,又譯為網際協議地址),是IP Address的縮寫。IP地址的作用很簡單,就像是我們每個人的家庭住址都有個門牌號碼一樣,你在整個的網際網路環境下,別人怎麼能夠找到你呢,肯定找不到,然後就要知道你的唯一標識。這就產生了IP地址的概念,而IP地址主要分為兩類,一類是IPV4,用4個位元組32位來表示地址,而IPV6用128個位來表示IP地址。現在普遍使用的是IPv4地址。今天也會重點說下IPV4.

IPV4地址是一個32位的二進位制數,通常被分割為4個“8位二進位制數”(也就是4個位元組)。IP地址通常用“點分十進位制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之間的十進位制整數。例:點分十進IP地址(100.4.5.6),實際上是32位二進位制數(01100100.00000100.00000101.00000110),

IP地址編址方案:IP地址編址方案將IP地址空間劃分為A、B、C、D、E五類,其中A、B、C是基本類,D、E類作為多播和保留使用。將IP地址分成了網路號和主機號兩部分,設計者就必須決定每部分包含多少位。網路號的位數直接決定了可以分配的網路數(計算方法2^網路號位數-2);主機號的位數則決定了網路中最大的主機數(計算方法2^主機號位數-2)。

IP地址的範圍如下:

類別 網路號 /佔位數 主機號 /佔位數用途 
A 1~126 / 8         0~255 0~255 1~254 / 24 國家級 
B 128~191 0~255 / 16 0~255 1~254 / 16 跨過組織 
C 192~223 0~255 0~255 / 24            1~254 / 8 企業組織

我們在日常的生活中使用的IP地址主要是C類。

(2)同一網段

所謂的同一個網段,就是兩個IP地址的網路標識完全相同,一般會有這樣的結論,就是如果兩個ip 的前三個位元組相同,那麼就是同一個網段,但是這個並不是準確的,這個要結合子網掩碼來看,因為我們C類地址的子網掩碼預設是255.255.255.0 如果使用這個子網掩碼的話,應該剛才的結論就是對的,如果不是,就可能不正確了。判斷是否是同一個網段,就要計算下。
例子:兩個ip 地址分別是211.95.165.24和211.95.164.78他們的子網掩碼是255.255.254.0,那麼這倆個IP是否在同一個子網裡呢。 子網掩碼255.255.254.0,現在分別將上述兩個IP地址分別與掩碼做與運算,如下所示:  211.95.165.24 11010011 01011111 10100101 00011000 255.255.254.0 11111111 11111111 111111110 00000000 與的結果是: 11010011 01011111 10100100 00000000 211.95.164.78 11010011 01011111 10100100 01001110 255.255.254.0 11111111 11111111 111111110 00000000 與的結果是: 11010011 01011111 10100100 00000000
可以看出,得到的結果(這個結果就是網路地址)都是一樣的,因此可以判斷這兩個IP地址在同一個子網。

(3)子網掩碼

子網掩碼這個概念是不能單獨存在的,他是伴隨著IP地址而存在的,他的目的是來對IP地址中的網路位和主機位進行區分的,對於這個A類B類C類的IP地址預設的子網掩碼如下所示: 255.0.0.0    255.255.0.0255.255.255.0  在使用預設子網掩碼的時候,劃分出的網路位數和主機位數很好看了,就不用再過多的說明了。
but 隨著互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網路號佔位太多,而主機號位太少,所以其能提供的主機地址也越來越稀缺,而且IPV4就是有4段數字,每一段最大不超過255。由於網際網路的蓬勃發展各項資料顯示全球IPv4位址可能在2005至2010年間全部發完(實際情況是在2011年2月3日IPv4位地址分配完畢)。這個時候讓我們想到了變數的作用域的作用,大家想下,我們在學校裡上學,不是也有不同班級裡的名字有重複的情況嗎,而且我們在不同學校裡的也有相同的高一一班啊,但是也沒有亂啊,而是大家都能區分開的,這就是變數的作用域的意思,我們在一個小範圍內部不重複就可以了,比如一個班級裡,如果有兩個人名,而且把人名作為唯一的標識,那麼肯定就會出現重複識別不了的問題,但是如果兩個班級內重複就無所謂了。
通常都對一個高類別的IP地址進行再劃分,以形成多個子網,提供給不同規模的使用者群使用。
這裡主要是為了在網路分段情況下有效地利用IP地址,通過對主機號的高位部分取作為子網號,從通常的網路位界限中擴充套件或壓縮子網掩碼,用來建立某類地址的更多子網。但建立更多的子網時,在每個子網上的可用主機地址數目會比原先減少。
最後做三道理:


1.我們看一個考試中常見的題型:一個主機的IP地址是202.112.14.137,掩碼是255.255.255.224,要求計算這個主機所在網路的網路地址和廣播地址。
這個很好做,我的方法不一定是最簡單的,先看子網掩碼,一看不是那種預設的子網掩碼,224到256還差了32個,
255.255.255.224的掩碼所容納的IP地址有256-224=32個(包括網路地址和廣播地址),那麼也就是說它的主機號佔了5位。或者直接計算224的二進位制表示形式是 11100000    所以他是把主機位的前三位擴充套件成了網路位。  所以這個主機的所在的網路的網路地址是   202.112.14+128(137二進位制形式的前三位有效   再把低位全部置0------100 00000)
然後再計算廣播地址,202.112.14+159(137二進位制形式的前三位有效   再把低位全部置0------100 11111)
2.還有一種題型,要你根據每個網路的主機數量進行子網地址的規劃和計運算元網掩碼。這也可按上述原則進行計算。給你分配一個C類IP段,192.168.72.0      比如一個子網要有10臺主機,那麼對於這個子網需要的子網掩碼地址是多少:
這個要考慮清楚,雖然是10個主機,但是你得加上 3 ,1個是全0  一個是全1  一個是閘道器地址。
所以現在就有13個地址,所以只能選擇三個二進位制位不夠,4個二進位制位,那就是主機位佔4位,那麼高四位變成了 網路位。子網掩碼就是11111111.11111111.11111111.11110000=255.255.255.240。

   
如果一個子網有14臺主機,不少人常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給閘道器分配地址。這樣就錯誤了,因為:

14+1+1+1=17

17大於16,所以我們只能分配具有32個地址(32等於2的5次方)空間的子網。這時子網掩碼為:255.255.255.224
3.根據子網數進行計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
1)將子網數目轉化為二進位制來表示
2)取得該二進位制的位數,為 N
3)取得該IP地址的類子網掩碼,將其主機地址部分的前N位置1 即得出該IP地址劃分子網的子網掩碼。
如欲將B類IP地址168.195.0.0劃分成27個子網:
1)27=11011
2)該二進位制為五位數,N = 5
3)將B類地址的子網掩碼255.255.0.0的主機地址前5位置1(B類地址的主機位包括後兩個位元組,所以這裡要把第三個位元組的前5位置1),得到 255.255.248.0
即為劃分成27個子網的B類IP地址 168.195.0.0的子網掩碼(實際上是劃成了32-2=30個子網)。

(4)預設閘道器

四. 預設閘道器(地址)
什麼是閘道器?
  (可以聯想下海關?什麼是海關?)
連線兩個不同的網路的裝置都可以叫閘道器裝置;閘道器的作用就是實現兩個網路之間進行通訊與控制。
閘道器裝置可以是 互動機(三層及以上才能跨網路)、路由器、啟用了路由協議的伺服器、代理伺服器、防火牆等
閘道器地址就是閘道器裝置的IP地址。
假設我們有兩個網路:
網路A的IP地址範圍為“192.168.1.1~192.168.1.254”,子網掩碼為255.255.255.0
網路B的IP地址範圍為“192.168.2.1~192.168.2.254”,子網掩碼為255.255.255.0
要實現這兩個網路之間的通訊,則必須通過閘道器。
如果網路A中的主機發現資料包的目的主機不在本地網路中,就把資料包轉發給它自己的閘道器,再由閘道器轉發給網路B的閘道器,網路B的閘道器再轉發給網路B的某個主機(如附圖所示)。網路A向網路B轉發資料包的過程。

只有設定好閘道器的IP地址,TCP/IP協議才能實現不同網路之間的相互通訊。
預設閘道器 
一臺主機可以有多個閘道器。預設閘道器的意思是一臺主機如果找不到可用的閘道器,就把資料包發給預設指定的閘道器,由這個閘道器來處理資料包。現在主機使用的閘道器,一般指的是預設閘道器。
擴充套件:自動設定預設閘道器
自動設定就是利用DHCP(Dynamic Host Configuration Protocol, 動態主機配置協議)伺服器來自動給網路中的計算機分配IP地址、子網掩碼和預設閘道器 。
一旦網路的預設閘道器發生了變化時,只要更改了DHCP伺服器中預設閘道器的設定,那麼網路中所有的計算機均獲得了新的預設閘道器的IP地址。這種方法適用於網路規模較大、TCP/IP引數有可能變動的網路。

(5)新增路由

這個時候,是很重要的,就是我們使用windows下的wireshark抓包工具的時候,比方說我們公司自己的軟體,軟體在架構上就分為了三個,客戶端,伺服器,閘道器。 而這三個同時部署在一個電腦上的時候,我就我無法用wireshark抓包工具抓取他們之間的互動協議,那麼原因是什麼呢,因為wireshark抓取的是網絡卡上的東西,那麼由於是IP內部之間的傳輸,所以不會經過網絡卡,只有向外傳輸的時候,才會經過網絡卡用wireshark能夠抓取到,所以我們想要它經過網絡卡,那這樣就好辦了,就是你指定如果這個包是發往本地IP的,你就讓他費點勁去找閘道器,然後讓閘道器把它再發配回來就好了,因為你自己的閘道器是知道你自己在哪裡的,這樣就經過了網絡卡,然後閘道器再送回來又經過了網絡卡,這樣就滿足了要求,但是會出現兩條一樣的指令。原因如下圖。

新增路由的指令如下: route add 192.168.72.109    mask  255.255.255.255      192.168.72.253   意思是說發往這個192.168.72.109的內容先發送到閘道器 192.168.72.253  而這個子網掩碼的作用 限定了網路號,現在就是隻有傳送給192.168.72.109這個號碼的才會傳送給閘道器。 而如果你這樣新增路由, route add 172.16.0.0   mask  255.255.255.0   192.168.72.253 那就是你只要是傳送給172.16.0...網路號的就都會送給網關了。