TCP/IP——內外網IP+子網掩碼作用+PING(網絡總結)


目錄:

1、如何區分內網IP和外網IP? 保留字段

2、子網掩碼是起什么作用的? 將DNS和IP異或,表示哪段起作用

3、ping到底起什么作用? ping本地。ping遠程

 

 

下面針對上面三個問題分別講解:

一、 公網IP和內網IP的概念解析 

(1)   tcp/ip協議中,專門保留了三個IP地址區域作為私有地址,其地址范圍如下 : 
  1.    10.0.0.0/8:10.0.0.0~10.255.255.255 
  2.    172.16.0.0/12:172.16.0.0~172.31.255.255 
  3.    192.168.0.0/16:192.168.0.0~192.168.255.255
    使用保留地址的網絡只能在內部進行通信,而不能與其他網絡互連。因為本網絡中的保留地址同樣也可能被其他網絡使用,如果進行網絡互連,那么尋找路由時就會因為地址的不唯一而出現問題。但是這些使用保留地址的網絡可以通過將本網絡內的保留地址翻譯轉換成公共地址的方式實現與外部網絡的互連。這也是保證網絡安全的重要方法之一。
  但是有一些寬帶運營商盡管也使用了非私有地址分配給用戶使用,但是由於路由設置的原因,Internet上的其他用戶並不能訪問到這些ip。我們將這兩種情況下應用的ip稱為內網IP。 
   如果自己機器上網絡接口的ip地址落在上述保留地址的范圍內,則可以肯定自己處於內網模式下。 
   內網IP對Internet的訪問必須通過代理的方式,NAT(網絡地址轉換)技術是基於TCP層面的代理,能夠相當好地使用於各種IP服務應用,因此被廣泛應用。
   之所以說相當好,是因為NAT要求整個服務的連接是從內網向外網主動發起的,而外網的用戶無法直接(主動)向內網的服務發起連接請求,除非在NAT的(所有)網關上針對服務的端口作了端口映射。NAT方式要求最外圍的網關至少有一個公網的IP,通過下面的鏈接內網用戶可以獲知自己訪問Internet時使用的公網IP。 
 
(2) 什么是內網、內網  
   公網、內網是兩種Internet的接入方式。
   內網接入方式:上網的計算機得到的IP地址是Inetnet上的保留地址,保留地址有如下3種形式:
       10.x.x.x
       172.16.x.x至172.31.x.x
       192.168.x.x
      內網的計算機以NAT(網絡地址轉換)協議,通過一個公共的網關訪問Internet。內網的計算機可向Internet上的其他計算機發送連接請求,但Internet上其他的計算機無法向內網的計算機發送連接請求。
      公網接入方式:上網的計算機得到的IP地址是Inetnet上的非保留地址。公網的計算機和Internet上的其他計算機可隨意互相訪問。

(3)如何檢測公網和內網

  請用上面介紹的查看IP地址的辦法,檢查一下您的電腦里有沒有這個IP地址。如果有,您就是通過公網接入Internet,否則,就是通過內網接入Internet。
請注意:
1、如果您的瀏覽器里設置了使用代理服務器,請清除代理服務器設置,並刷新本頁面,之后再檢測。
2、有些學校或大型的機關單位雖然分配公網IP給用戶,但學校或單位為了安全起見,會封閉校外對校內的訪問請求。這部分用戶雖然有公網IP地址,但依然要用內網動態域名來建網站。如果您通過校園網或機關單位的網絡上網,並檢測到自己有公網IP,請您在本機調試好網站后,把防火牆打開,請外網的朋友通過IP地址來訪問您的網站。如果能訪問,就是公網;如果不能訪問,就是內網。
 

二、子網掩碼

      無論在WINXP中還是LINUX中,每個網卡都得配置一個IP地址,與IP地址一起設置的必定還有子網掩碼、默認網關、DNS服務器地址等。其實這四個要素中,必須要設置的只有IP地址和子網掩碼,默認網關、DNS服務器地址有時可以不設。

  根據TCP/IP知識,IP地址分為A、B、C三大類,A類IP的第一個字節范圍是1-126,B類IP的第一個字節范圍是128-191,C類IP的第一個字節范圍是192-223,所以看到192.X.X.X肯定是C類IP地址,這個時候,不需要子網掩碼,因為大家根據IP地址的第一個字節的范圍就能夠推導出該IP屬於A類還是B或C類。這時IP叫有類IP。

 

一、子網掩碼的第一個作用是分割網絡
  但由於計算機數量不斷增加,人們發展IP地址數量很快要不夠用了,而有類IP的IP分類方法會造成許多IP地址的浪費,如某公司申請到一個A類IP地址范圍,其有效IP數量可達2^24-2,即1600萬之多,而公司中不可能有什么多電腦。於是人們想把着能不能把一個大的網絡分割為若干個小網絡。那如何來區別不同IP地址是否在同一網絡呢?這里就需要使用子網掩碼了,子網掩碼與IP地址一樣也是一個32位的二進制數,每個IP都規定一定子網掩碼,把IP地址與子網掩碼進行二進位的或,得到的就是網絡號,如果網絡號相同就表示二台電腦在同一網段,可以直接通訊,不需要路由器幫忙。這時的IP地址由於需要靠子網掩碼來計算網絡號,已經不再存在A、B、C類網絡的概念了,這時的網絡叫無類網絡

  我們也可以這樣理解,需要靠IP地址的第一個字節數據的范圍來區別網絡號的稱有類網絡,靠子網掩碼來計算得到網絡號的叫無類網絡。目前我的WINXP和LINUX在指定IP的同時都必須要指定一個子網掩碼,所以都屬於無類網絡。

二、子網掩碼的第二個作用是計算網絡號:
例1:A電腦IP地址為192.168.1.1,子網掩碼為255.255.255.0;B電腦IP地址為192.168.1.2,子網掩碼為255.255.225.0。大家都知道這二台電腦在同一網段,相互能PING通。

例2:A電腦的IP地址為192.168.1.1,子網掩碼為255.255.255.0;B電腦的IP地址為192.168.2.1,子網掩碼為255.255.0.0。大家分析一下二台電腦能相互PING通嗎?
分析:這個問題需要大家理解子網掩碼在網絡通訊時的作用。不能簡單的認為A電腦處在192.168.1.0網段,B電腦處在192.168.0.0網段,所以不能PING通。正確的分析應該如下:
⑴ 每台電腦事先會把自己IP和自己的子網掩碼進行“與”操作,得到自己的網段號,如A電腦處在192.168.1.0網段,B電腦處在192.168.0.0網段。
⑵ B電腦向A電腦發數據包時,會把A電腦的IPB電腦的子網掩碼進行“”操作,得到網絡號是192.168.0.0,B電腦會認為A電腦與自己在同一網段,所以數據包會順利發出。
⑶ A電腦由於與B電腦在同一網段,肯定能收到B電腦發出的數據包,由於PING操作要求A電腦回應一個響應包。這樣A電腦會把B電腦的IP與A電腦的子網掩碼進行“與”操作,得到網絡號192.168.2.0,A電腦發現網絡號與自己所處的192.168.1.0不在同一網段,由於A電腦目前沒有設置默認網關,所以對該數據包將進行丟棄操作,結果B電腦當然就無法收到A電腦的回應包,所以B電腦上會顯示“Request timed out”,即網絡超時。
⑷ 如果在A電腦上去PINGB電腦,根據前面的分析,A電腦會認為B電腦與A電腦不在網段,而A電腦又沒有設置默認網關,所以會顯示“Destination host unreachable”,即目標主機不可達。

 

三、Ping

(1)ping(網絡診斷工具) 

   Ping是Windows、Unix和Linux系統下的一個命令。ping也屬於一個通信協議,是TCP/IP協議的一部分。利用“ping”命令可以檢查網絡是否連通,可以很好地幫助我們分析和判定網絡故障。應用格式:Ping空格IP地址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。
 
  PING (Packet Internet Groper),因特網包探索器,用於測試網絡連接量的程序。Ping發送一個ICMP(Internet Control Messages Protocol)即因特網信報控制協議;回聲請求消息給目的地並報告是否收到所希望的ICMP echo (ICMP回聲應答)。它是用來檢查網絡是否通暢或者網絡連接速度的命令。作為一個生活在網絡上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:利用網絡上機器IP地址的唯一性,給目標IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩台網絡機器是否連接相通,時延是多少。
 
  ping指的是端對端連通,通常用來作為可用性的檢查, 但是某些病毒木馬會強行大量遠程執行ping命令搶占你的網絡資源,導致系統變慢,網速變慢。嚴禁ping入侵作為大多數防火牆的一個基本功能提供給用戶進行選擇。通常的情況下你如果不用作服務器或者進行網絡測試,可以放心的選中它,保護你的電腦。
(2)工作流程編輯
 
  我們以下面一個網絡為例:有A、B、C、D四台機子,一台路由RA,子網掩碼均為255.255.255.0,默認網關為192.168.0.1
1.在同一網段內
 
  在主機A上運行“Ping 192.168.0.5”后,都發生了些什么呢? 首先,Ping命令會構建一個固定格式的ICMP請求數據包,然后由ICMP協議將這個數據包連同地址“192.168.0.5”一起交給IP層協議(和ICMP一樣,實際上是一組后台運行的進程),IP層協議將以地址“192.168.0.5”作為目的地 址,本機IP地址作為源地址,加上一些其他的控制信息,構建一個IP數據包,並想辦法得到192.168.0.5的MAC地址(物理地址,這是數據鏈路層協議構建數據鏈路層的傳輸單元——幀所必需的),以便交給數據鏈路層構建一個數據幀。關鍵就在這里,IP層協議通過機器B的IP地址和自己的子網掩碼,發現它跟自己屬同一網絡,就直接在本網絡內查找這台機器的MAC,如果以前兩機有過通信,在A機的ARP緩存表應該有B機IP與其MAC的映射關系,如果沒有,就發一個ARP請求廣播,得到B機的MAC,一並交給數據鏈路層。后者構建一個數據幀,目的地址是IP層傳過來的物理地址,源地址則是本
機的物理地址,還要附加上一些控制信息,依據以太網的介質訪問規則,將它們傳送出去。
主機B收到這個數據幀后,先檢查它的目的地址,並和本機的物理地址對比,如符合,則接收;否則丟棄。接收后檢查該數據幀,將IP數據包從幀中提取出來,交給本機的IP層協議。同樣,IP層檢查后,將有用的信息提取后交給ICMP協議,后者處理后,馬上構建一個ICMP應答包,發送給主機A,其過程和主機A發送ICMP請求包到主機B一模一樣。
 
2.不在同一網段內
在主機A上運行“Ping 192.168.1.4”后,開始跟上面一樣,到了怎樣得到MAC地址時,IP協議通過計算發現D機與自己不在同一網段內,就直接將交由路由處理,也就是將路由的MAC取過來,至於怎樣得到路由的MAC,跟上面一樣,先在ARP緩存表找,找不到就廣播。路由得到這個數據幀后,再跟主機D進行聯系,如果找不到,就向主機A返回一個超時的信息。
 
 
 
 
 
 
參考資料:
  1. 內網/外網IP的區分  http://blog.163.com/sunzs20113@126/blog/static/3706880920098243261254/

  2. 公網IP和內網IP的概念解析  http://blog.chinaunix.net/uid-20562990-id-1923609.html

 


免責聲明!

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



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