網段劃分 & 特殊網段(localhost&0.0.0.0&1.1.1.1&127.0.0.1)

一般情況下,不同網段是說:不在同一局域網的IP地址段,如:192.168.111.0/24是一個網段,192.168.2.0/24是另一個網段,兩個網段間要互訪的話,一般有一臺叫路由器的設備負責解析.

不同網段就是使用了不同類型的IP地址或網絡號!比如A類地址58.61.70.2和B類地址127.56.21.11就是不在一個網段,又比如同一類IP地址也可以不在同一網段,比如C類地址192.168.1.1和C類地址192.168.2.1就不在同一網段.這主要是看他們的網絡位!!
不同網段之間的計算機是通過交換機或路由器連接的!


IPv4的地址由四段數字組成(以後將擴充更改),常分爲三類IP:
A類:0.0.0.0   到  127.255.255.255
B類:128.0.0.0 到  191.255.255.255
C類:192.0.0.0 到  223.255.255.255
A   255.0.0.0     11111111.00000000.00000000.00000000
B   255.255.0.0   11111111.11111111.00000000.00000000
C   255.255.255.0 11111111.11111111.11111111.00000000

A類的默認子網掩碼 255.0.0.0 一個子網最多可以容納1677萬多臺電腦   2^(8*3) -- 0的個數
B類的默認子網掩碼 255.255.0.0 一個子網最多可以容納6萬臺電腦
C類的默認子網掩碼 255.255.255.0 一個子網最多可以容納254臺電腦
如IP:188.188.0.111,188.188.5.222,子網掩碼都設爲255.255.254.0,在同一網段嗎?
先將這些轉換成二進制
188.188.0.111 10111100.10111100.00000000.01101111
188.188.5.222 10111100.10111100.00000101.11011110
255.255.254.0 11111111.11111111.11111110.00000000
分別AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
網絡標識不一樣,即不在同一網段。
子網掩碼決定的是一個子網的計算機數目,計算機公式是2的m次方,其中,我們可以把m看作後面0的個數。如255.255.255.0轉換成二進制,那就是11111111.11111111.11111111.00000000,後面有8個0,那m就是8,255.255.255.0這個子網掩碼可以容納2的8次方(臺)電腦,也就是256臺,但是有兩個IP是不能用的,那就是最後一段不能爲0和255,減去這兩臺,就是254臺.



ping127.0.0.1和ping本機的過程是不一樣的
ip輸出函數先檢查地址是不是環回地址
1.如果是環回地址 直接交給環回驅動程序處理 返回ip輸入函數
2.如果不是環回地址 檢查是不是廣播或者多播地址
3.如果不是廣播或者多播地址 才檢查是不是本機地址 如果是本機地址 則交給環回驅動程序處理,環回驅動程序返回給ip輸入函數
從上面可以看出 ping127.0.0.1 數據包是不經過網卡的 ping本機則是需要經過網卡的

127.0.0.1是回送地址,指本地機,一般用來測試使用。回送地址(127.x.x.x)是本機回送地址(Loopback Address),即主機IP堆棧內部的IP地址,主要用於網絡軟件測試以及本地機進程間通信,無論什麼程序,一旦使用回送地址發送數據,協議軟件立即返回,不進行任何網絡傳輸。
收到127.0.0.1的響應表示主機的ip配置正確。此響應來自網絡層。但是此響應並不代表地址、掩碼、和網關配置正確。它也不能說明有關網絡協議族下層的任何狀態。此方法只是測試網絡層的ip聯通性。
在進行網絡編程時,會將服務器的IP地址設置爲127.0.0.1。然後綁定端口,開始監聽。

IP地址中的A類地址127.0.0.0,被保留用於環回(Loopback)地址,用來測試TCP/IP和本機進程間的通信。因此,發送給網絡地址爲127的數據包是永遠送不到TCP/IP網絡上的。 .

127.0.0.1屬於{127,}集合中的一個,而所有網絡號爲127的地址都被稱之爲迴環地址,所以迴環地址!=127.0.0.1,它們是包含關係,即迴環地址包含127.0.0.1。 
迴環地址:所有發往該類地址的數據包都應該被loop back。 

1)傳給環回地址(127.0.0.1)的任何數據均作爲IP輸入.
2)傳給廣播地址或多播地址的數據報復制一份傳給環回接口,然後送到以太網上.這是因爲廣播傳送和多播傳送的定義包含主機本身.
3)任何傳給該主機IP地址的數據均送到環回接口.

用途: 
* 迴環測試,通過使用ping 127.0.0.1 測試某臺機器上的網絡設備,操作系統或者TCP/IP實現是否工作正常。 
* DDos攻擊防禦:網站收到DDos攻擊之後,將域名A記錄到127.0.0.1,即讓攻擊者自己攻擊自己。 
* 大部分Web容器測試的時候綁定的本機地址。
        
        可以理解爲本機有三塊網卡,一塊網卡叫做 loopback(這是一塊虛擬網卡),另外一塊網卡叫做 ethernet (有線網卡),另外一塊網卡叫做 wlan(無線網卡)。本機 IP 是真實網卡的 IP,具體來說有線無線各有一個,而 127.0.0.1 是那塊叫做 loopback 的虛擬網卡的 IP


127.0.0.1 是一個環回地址。並不表示“本機”。0.0.0.0纔是真正表示“本網絡中的本機”。     //未知的ip0.0.0.0
在實際應用中,一般我們在服務端綁定端口的時候可以選擇綁定到0.0.0.0,這樣我的服務訪問方就可以通過我的多個ip地址訪問我的服務。 
比如我有一臺服務器,一個外放地址A,一個內網地址B,如果我綁定的端口指定了0.0.0.0,那麼通過內網地址或外網地址都可以訪問我的應用。但是如果我之綁定了內網地址,那麼通過外網地址就不能訪問。 所以如果綁定0.0.0.0,也有一定安全隱患,對於只需要內網訪問的服務,可以只綁定內網地址。

DoS攻擊是指故意的攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,目的是讓目標計算機或網絡無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰,而在此攻擊中並不包括侵入目標服務器或目標網絡設備。這些服務資源包括網絡帶寬,文件系統空間容量,開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網絡帶寬的速度多快都無法避免這種攻擊帶來的後果。
 


ip_1.1.1.1
代表受限廣播地址 可以作爲目的地址 但不可作爲源地址 



0.0.0.0代表什麼?

參考RFC文檔: 
0.0.0.0/8 - Addresses in this block refer to source hosts on “this” 
network. Address 0.0.0.0/32 may be used as a source address for this 
host on this network; other addresses within 0.0.0.0/8 may be used to 
refer to specified hosts on this network

根據RFC文檔描述,它不只是代表本機,0.0.0.0/8可以表示本網絡中的所有主機,0.0.0.0/32可以用作本機的源地址,地址塊0.0.0.0/32僅含有一個地址,被保留用於某主機需要發送一個IPv4分組,但不知道自己地址的情況下。通常用於主機正在啓動,主機爲了獲取自己的地址,向引導DHCP服務器發送一個IPv4分組,以全0的地址作爲源地址,受限廣播地址作爲目的地址。

在路由器配置中可用0.0.0.0/0表示默認路由,作用是幫助路由器發送路由表中無法查詢的包。當到達了一個知道如何到達目的地址的路由器時,這個路由器就會根據最長前綴匹配來選擇有效的路由。子網掩碼匹配目的IP地址而且又最長的網絡會被選擇。用無類別域間路由標記表示的IPv4默認路由是0.0.0.0/0。因爲子網掩碼是/0,所以它是最短的可能匹配。 當查找不到匹配的路由時,自然而然就會轉而使用這條路由。如果設置了全零網絡的路由,路由表中無法查詢的包都將送到全零網絡的路由中去。嚴格說來,0.0.0.0/0已經不是一個真正意義上的IP地址了。它表示的是這樣一個集合:所有未知的主機和目的網絡。這裏的“未知”是指在本機的路由表裏沒有特定條目指明如何到達綜合起來可以說0.0.0.0/0表示整個網絡。它的作用是幫助路由器發送路由表中無法查詢的包。如果設置了全零網絡的路由,路由表中無法查詢的包都將送到全零網絡的路由中去。

IPV4中,0.0.0.0地址被用於表示一個無效的,未知的或者不可用的目標。 
* 在服務器中,0.0.0.0指的是本機上的所有IPV4地址,如果一個主機有兩個IP地址,192.168.1.1 和 10.1.2.1,並且該主機上的一個服務監聽的地址是0.0.0.0,那麼通過兩個ip地址都能夠訪問該服務。 
* 在路由中,0.0.0.0表示的是默認路由,即當路由表中沒有找到完全匹配的路由的時候所對應的路由。
用途總結:
當一臺主機還沒有被分配一個IP地址的時候,用於表示主機本身。(DHCP分配IP地址的時候)
用作默認路由,表示”任意IPV4主機”。
用來表示目標機器不可用。
用作服務端,表示本機上的任意IPV4地址。 



localhost
相比127.0.0.1,localhost具有更多的意義。localhost是個域名,而不是一個ip地址。之所以我們經常把localhost與127.0.0.1認爲是同一個是因爲我們使用的大多數電腦上都講localhost指向了127.0.0.1這個地址。 

在ubuntu系統中,/ets/hosts文件中都會有如下內容:
127.0.0.1 localhost
127.0.1.1 jason-Lenovo-V3000
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
上面第一行是幾乎每臺電腦上都會有的默認配置。 
但是localhost的意義並不侷限於127.0.0.1。
localhost是一個域名,用於指代this computer或者this host,可以用它來獲取運行在本機上的網絡服務。 
在大多數系統中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。
127.0.0.1 localhost
::1 localhost

[[email protected] /etc]# cat hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

所以,在使用的時候要注意確認IPV4還是IPV6
 
還有個地址段169.254.0.0/16,可以看成一個B類私網地址,專門用來在DHCP獲取失敗時自動配置的接口地址
RFC3927 中的IP衝突檢測機制還是很完善的,考慮了多個設備在同時local link時的情況;考慮到每到主機都必須要有一個IP地址,169.254.X.X跟IPV6的fe80開頭的地址是作用是一樣的。
3927指出,在IP網絡裏,每臺主機都需要一個IP地址,通常情況下是通過DHCP服務器自動分配,但某些特殊情況下,DHCP分配失敗或者沒有DHCP服務器時,機器可以自己分配一個IP來完成這個工作。 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章