1. 程式人生 > >內網IP 外網IP 網絡卡 路由器通訊過程(全)

內網IP 外網IP 網絡卡 路由器通訊過程(全)

       這幾天上了計算機網路的課,對於老師講的內容也是懵懵懂懂,一個慌神就沒跟上,啥ip 啥NAT一臉矇蔽。課後oogle補了點東西算是大致有了點了解,不過網上的總結都是零零散散而且點到即止。蒐集了好多大佬的總結,終於算是得出自己的一些感悟。故此在這總結一番,希望看到的博友也有一些收穫。
話不多說 照例先列個目錄:
外網ip
內網ip
內卡
閘道器
路由器

IP地址:
IPV4就是4段,每段8位,用十進位制數字表示,每段數字範圍為0~255。如192.134.11.3。IP地址可以視為網路標識號碼與主機標識號碼兩部分,因此IP地址可分兩部分組成,一部分為網路地址,另一部分為主機地址

。IP地址分為A、B、C、D、E5類,它們適用的型別分別為:大型網路;中型網路;小型網路;多目地址;備用。常用的是B和C兩類。
預設子網掩碼就是來區別網路地址和主機地址的
未來還有IPV6 這裡就不討論了
IPv4專用地址如下:
A類 0.0.0.0-127.255.255.255 (最後一個是廣播地址
預設子網掩碼:255.0.0.0 (意思就是第一段是網路號 後三段是主機地址)
B類 128.0.0.0-191.255.255.255
預設子網掩碼:255.255.0.0
C類 192.0.0.0-223.255.255.255
預設子網掩碼:255.255.255.0
廣播地址就是它可以給該網段的所有電腦群發信息
IP地址中的每一個位元組都為1的IP地址(“255.255.255.255
”)是當前子網的廣播地址;
每一個位元組都為0的地址(“0.0.0.0”)對應於當前主機;

IP地址中凡是以“11110”開頭的E類IP地址都保留用於將來和實驗使用。

IP地址中不能以十進位制“127”作為開頭,該類地址中數字127.0.0.1127.255.255.255用於迴路測試,如:127.0.0.1可以代表本機IP地址,用“http://127.0.0.1”就可以測試本機中配置的Web伺服器。
特殊的IP地址
127.0.0.1 表示 本機迴環地址

以下列出留用的內部私有地址
**A類 10.0.0.0–10.255.255.255
B類 172.16.0.0–172.31.255.255
C類 192.168.0.0–192.168.255.255**

其它的IP你就認為是外網IP好了。
這裡寫圖片描述
這裡寫圖片描述
問:
如果我用路由器,那麼路由器下的IP比如192.168.1.101是不是就是內網IP,而路由器分配的100.64.0.30這個IP是外網IP?是不是外部只能訪問到路由器,如果不用埠對映是訪問不到192.168.1.101這個IP?”
答:
前2個猜測都正確。第3個感覺不精確,應該是用NAT這種技術。(
要想和閘道器外的主機通訊,必須用NAT,PROXY或者隧道技術進行地址轉換
掩碼)(具體看路由器 下文)
總結:
1. 外網IP是整個因特網的地址,唯一的,沒有重複的
2. 內網ip是區域網內的IP地址,只能使用區域網內部資源,如果要使用因特網的資源則需要有外網IP作為出口,不同的內網可以重複使用IP,例如A網有192.168.0.1,B網同樣可以有,不衝突。
3. 一臺路由器下可以有多個計算機 而且這些計算機各有各的內網IP地址 內網電腦訪問外部需要通過路由器 共用一個路由器的外部IP地址 有個NAT的協議記錄了 內網電腦ip和埠號對應著的外網ip和埠號。一個內網內兩臺電腦同時訪問百度 NAT會把內網ip解析成外網ip然後訪問百度,對百度來說是一個ip的兩個埠訪問了自己。然後把兩個訪問結果返回給路由器 路由器根據埠號(也就是對映到NAT上找到對應的計算機)返回給內網不通過的計算機
4. 內網IP地址是動態分配的 外網IP地址是固定的
5. 127.0.0.1127.255.255.255用於迴路測試地址
6. “255.255.255.255是廣播地址
7. 0.0.0.0表示未分配的時候 本機地址
8. 子網掩碼不能單獨存在,它必須結合IP地址一起使用
9. 所有的網路空間計算都必須“減2”,這是因為要扣除兩個保留地址:“0”為網路號,“255”為廣播。地址1-254分配給主機。
10. 給廣播地址發小弟 該網路段的所有計算機都可以接收到 比如給192.168.1.255傳送資訊 那麼192.168.1.255.ip開頭的網路段都可以接收到你傳送的訊息
11. 廣播地址只有UDP有 TCP中沒有廣播地址 這點內容下次部落格會講
網絡卡:

幾乎每臺電腦都有一個網絡卡 它也有一個唯一的識別符號 那就是MAC地址 不只是電腦 路由器等也有。MAC是實體地址 是鏈路層傳遞的目標
那就有個問題 網絡卡的作用是什麼?
它就是為了計算機聯網服務的。具體的我來解釋一下它的工作流程吧。
當一個計算機需要聯網的時候需要一個IP地址。(與外界通訊的基石,相當於收發郵寄的地址,沒有地址如何傳送和接受?)
那請問IP是怎麼分配的呢 這個時候就需要DHCP(動態主機配置協議) 路由器都是自帶這個協議的 所以一般都是就近原則找本臺計算機所連線的路由器來分配。那怎麼通知到DHCP伺服器(路由器)呢? 這個時候網絡卡就派上用場了 :
實際上是應用層的DHCP發現報文(請求的資訊) 然後被一個UDP的報文封裝 然後再被IP的資料報封裝 如下圖:
這裡寫圖片描述
(UDP是傳輸層負責資料操作 IP負責網路層負責資料的運輸)
然後網絡卡把該資料幀包裝成乙太網幀傳送出去 可是傳送信件總需要知道對方的MAC地址才可以,這個時候不知道的情況下要廣播 是廣播到同一個子網內的所有電腦然後把資訊通過交換機傳遞給所有連線到交換機的裝置 然後找到DHCP伺服器 這個時候
1. DHCP伺服器(路由器)會動態分配給計算機一個IP地址,但是這個地址是內網IP地址 俗稱私有地址 (具體的下面介紹)
2. 網絡卡傳送確認信出去告訴DHCP伺服器我就要這個IP了
3. 網絡卡接收到一個確認信 包括IP 192.168.1.3(後兩位隨意) 閘道器路由器是192.168.1.1 DNS伺服器的地址是202.102.224.69
以上步驟都是自動完成的
閘道器路由器其實就是路由器 相當於大門 把守著通往網際網路的大門
DNS伺服器就是可以根據域名轉換得IP地址的一個伺服器
比如我們要上百度網但是隻知道IP域名 我們得需要知道百度的IP地址 可是我們怎麼知道呢 就是通過閘道器路由器去尋找DNS伺服器 解析得到百度的地址
那問題又來了 實際傳輸的是在資料鏈路層 需要知道MAC地址才可以傳遞 這個時候該怎麼辦?
ARP就出來了 它是地址解析協議 可以通過ip找到對應的MAC地址 然後計算機又廣播出去找到了路由器的MAC地址把資訊傳送出去(順便記錄該mac在記憶體中下次不用反覆查詢) 出來區域網的事就交給路由器了 路由器反覆周折找到DNS的伺服器 返回百度的ip地址 然後 通過建立TCP連線通過TCP 的GET等請求得到百度資訊
這裡寫圖片描述
後來出現了 無線網絡卡。。這就不多解釋了

閘道器
那麼閘道器到底是什麼呢?閘道器實質上是一個網路通向其他網路的IP地址。比如有網路A和網路B,網路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。在沒有路由器的情況下,兩個網路之間是不能進行TCP/IP通訊的,即使是兩個網路連線在同一臺交換機(或集線器)上,TCP/IP協議也會根據子網掩碼(255.255.255.0)判定兩個網路中的主機處在不同的網路裡。而要實現這兩個網路之間的通訊,則必須通過閘道器。如果網路A中的主機發現資料包的目的主機不在本地網路中,就把資料包轉發給它自己的閘道器,再由閘道器轉發給網路B的閘道器,網路B的閘道器再轉發給網路B的某個主機。網路B向網路A轉發資料包的過程也是如此。所以說,只有設定好閘道器的IP地址,TCP/IP協議才能實現不同網路之間的相互通訊。那麼這個IP地址是哪臺機器的IP地址呢?閘道器的IP地址是具有路由功能的裝置的IP地址,具有路由功能的裝置有路由器、啟用了路由協議的伺服器(實質上相當於一臺路由器)、代理伺服器(也相當於一臺路由器)。
做閘道器的伺服器有一個閘道器(伺服器/路由器)的IP地址,其它內網電腦的IP可根據它來隨意設定,前提是IP前三個數要跟它一樣,第四個可從0-255中任選但要跟伺服器的IP不同
預設的閘道器IP地址就是 192.168.1.1 這是路由器在內網的ip地址 區域網內的ip地址就要192.168.1帶頭 後面一個欄位0到255 。如果路由器還連線了外網 那路由器就會獲得另一個ip地址 那就是所謂的外網ip

路由器:
為啥叫閘道器 因為它是大門通往外界的一大關
每個路由器都會被分配一個外網ip地址 區別於內網ip地址
問:一個路由器有多少個地址?
:一般家用路由器本身內部可以設兩個IP地址,一個LAN口的閘道器IP地址,另外一個是WAN口的IP地址,這個地址按照電信運營商給你的靜態IP或者ADSL撥號方式獲取。

為什麼會需要內網ip地址?
因為不同區域網內的內網ip可以重複 可以緩解地址壓力 不然都不夠分了
路由器會把資料鏈路層的外衣脫掉 找到ip資料包的地址 可以知道是向內網請求還是外網請求了 (根據上文提到的ip地址範圍)

比如是向外網發出請求
1. 就會用自己的外網地址把源地址給替換掉就是內網地址
2. 就會建立個新的埠號 把TCP資料包裡面的源埠也替換掉
完成了這兩步就ok了這樣 外部網路就以為是路由器傳送出來的請求 當路由器接收到結果後 就檢視路由表 確定到底轉發到那個埠 然後再把結果返回給對應的電腦 這個就是網路地址轉換 叫NAT
這樣就做到了用一個外網IP就支援了局域網內多個電腦上網需求這樣實現了內網訪問外網 。
那外網如何訪問內網呢?
也是通過NAT 通知外網 我在這裡 然後 外網訪問路由器ip和埠 對應將請求傳送給內部對應的電腦
要想檢視自己電腦的IP地址即內網ip:
1. 即按住選單鍵+R進入執行
2. 輸入cmd進入命令列
3. ipconfig檢視IP地址
附上自己的查詢結果
這裡寫圖片描述
根據結果知道我的預設閘道器是192.168.2.1
我的電腦ip也就是192.168.2.226
我要是想廣播的話 改成 192.168.2.255即可 同一個網路號的機器都可以收到我的訊息
如何檢視本路由器的IP地址?
https://ip.cn/
這個網站就可以 附上我的:
這裡寫圖片描述
強調 預設閘道器是內網路由器IP

子網包括網路地址和子網掩碼

問:請問如何根據IP地址和子網掩碼得到網路地址?
答:將IP地址轉換為二進位制 32位 子網掩碼也轉換為32位 每一位進行與操作 得到的32位就是網路地址 只要網路地址相同就認為是在同一個網段 。
問:子網掩碼作用?
答: 區別網路地址和主機號 前面全是1111組成的是網路地址 主機號是後面000組成的 根據網段判斷該網段可以容納多少主機號根據子網掩碼二進位制前面11的個數 後面第一個0開始 才是主機號
強調 : 全0和全1都不能代表主機號 因為 全0代表自己主機 全1代表廣播地址
以上都是個人蒐集和總結的 如有問題還請指出

最近想搭建一個本地伺服器 區別於阿里雲那些遠端伺服器 本地伺服器只是本地有效 意思就是一個路由器下同一個網段內有效
本地伺服器就是區域網內兩臺電腦通訊 經過路由器轉達 但是不經過外網
需要下載tomcat 這個之後再弄吧 先有個概念 本地伺服器分配的ip是內網ip而不是公網ip

相關推薦

IP IP 路由器通訊過程

       這幾天上了計算機網路的課,對於老師講的內容也是懵懵懂懂,一個慌神就沒跟上,啥ip 啥NAT一臉矇蔽。課後oogle補了點東西算是大致有了點了解,不過網上的總結都是零零散散而且點到即止。蒐集了好多大佬的總結,終於算是得出自己的一些感悟。故此在這總結一

工程師如何避免走彎路

網絡工程師 系統集成 如何 天臺 種類 之前說完網絡工程師進階之路 中的網管之後,很多同學表示對網絡工程師的人生感到絕望,但大家先把準備好的刀子收一下,在天臺的同學也請等一等。<img src=\‘#\‘" //pic1.zhimg.com/v2-9ee18e

socket 編程高速入門教你編寫基於UDP/TCP的服務client通信

unix fflush ins tracking ng- main ack ndt accept 由於UNIX和Win的socket大同小異,為了方便和大眾化,這裏先介紹Winsock編程。 socket 網絡編程的難點在入門的時候就是對基本函數的了解和使用,由於

攻防第一次作業201421450010

ping 目錄 -1 nis 進入目錄 del har 文件夾 基本命令 姓名:陳書揚 學號:201421450010 指導教師:高見 1、虛擬機安裝與調試 安裝windows和linux(kali)兩個虛擬機,均采用NAT網絡模式,查看主機與兩個虛擬機器的IP地址

KVM虛擬化的四種簡單模型介紹及實現

_for only 應該 code eth tun x86_64 信息 dock KVM中的四種簡單網絡模型,分別如下:1、隔離模型:虛擬機之間組建網絡,該模式無法與宿主機通信,無法與其他網絡通信,相當於虛擬機只是連接到一臺交換機上。2、路由模型:相當於虛擬機連接到一臺路由

KVM虛擬化的四種簡單模型介紹及實現

str drive 51cto -c water -a return dfa 模型 接上篇,介紹NAT網絡模型和橋接模型。 三、NAT模型 NAT模型其實就是SNAT的實現,路由中虛擬機能將報文發送給外部主機,但是外部主機因找不到通往虛擬機的路由因而無法回應請求。但是外部

《國家空間安全戰略》全文

生活 奮鬥 組織建設 規範 法律法規 電視 組織 信息技術 道路 作為一名偽安全從業者,緊隨大趨勢,大政策是十分有必要的,今天我這篇文章貼出,國家網信辦發布的《國家網絡空間安全戰略全文。 12月27日,經中央網絡安全和信息化領導小組批準,國家互聯網信息辦公室發布《國

python3爬蟲學習——使用requests1

返回 hub origin 存儲 python3 中文 json head flat reuqests庫中有很多便捷的方法,比如以GET方式獲得網頁,在requests庫中就是方法get(),上代碼 import requests r = requests.get(‘ht

Linux中USB無線實現AP模式hostapd交叉編譯環境下

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

工程師高手養成記,你湊齊了嗎?

路由 依靠 shell 51cto 安全 連接 園區網 分布式 路由器 多數網工都聽過很多教程,看過很多書,尤其是剛畢業的網工,剛剛考完CCIE或HCIE,鬥誌昂揚,但在聽到需求後卻無從下手。 那些老師沒講過的知識? 老師講過OSPF骨幹區域和Normal區域,講過各種L

命令——traceroute、tracertwindows

unix 就是 咨詢 通信 地址 fff 數值 默認值 com traceroute 路由追蹤 語法:traceroute 參數 ip / 域名1、檢測是否安裝 traceroute rpm -qa | grep traceroute2、可以用 yum apt 進

基於Exynos4412 cortex A9開發板的無線驅動移植過程

移植無線網絡卡的驅動: 準備工作: 1.無線網絡卡 2.首先在這個官網上[www.realtek.com.tw](無線網絡卡),下載相應網絡卡的驅動,本次下載的名稱為: 0001RTL8188

嘗試探索基於Linux C的抓包過程

        其實想探究網絡卡抓包問題已經有好久了。前幾天找了時間算是基本上了解了那部分的一些基本東西,在這裡只是贅述罷了。 抓包首先便要知道經過網絡卡的資料其實都是通過底層的鏈路層(MAC),在Linux系統中我們獲取網絡卡的資料流量其實是直接從鏈路層收發資料幀。至於如

OpenStack虛機的建立過程

OpenStack最基本和常用的操作就是啟動虛機。虛機啟動的過程中涉及很多內容,其中非常重要的一個環節就是建立並繫結虛機的虛擬網絡卡。虛機的建立和管理是Nova的任務,虛機網路的建立和管理是Neutron的任務,而虛機網絡卡,作為連線虛機和虛機網路的橋樑,其建立

程式碼學習-Linux核心收包過程(NAPI)

 本文通過學習RealTek8169/8168/8101網絡卡的驅動程式碼(drivers/net/r8169.c),梳理一下Linux下網絡卡的收包過程。 在下水平相當有限,有不當之處,還請大家斧正^_^ 驅動的初始化 如下的rtl8169_init_module函式是

Linux學習路線及編程經典書籍轉載

網絡體系結構 https swe htm 推薦 pro 高效編程 可用 是我 linux學習資源整理:https://zhuanlan.zhihu.com/p/22654634 Linux初學者(學習資料):https://zhuanlan.zhihu.com/p/217

Java Socket編程學習筆記

out 消息 服務端 soc stream ron () tro throws 0.前言   其實大概半年前就已經看過網絡編程Socket的知識了(傳統IO),但是因為長時間的不使用導致忘的一幹二凈,最近正好準備校招,又重新看了網絡編程這一章,  是傳統IO(BIO)

kali系統——安全v6筆記總結

堅持 pen 掃描 回溯 自己 是你 定義 bili 自主 kali:(Kali Linux)是一個***測試,安全審計(Security Auditing)平臺,繼承了多款漏洞檢測,安全掃描,漏洞利用等安全工具。基於Linux操作系統——Debian,前身為Back Tr

kali系統——安全v6筆記總結

方法 upd set udp tar 發現 lsof sources 安裝 1、kali的SSH配置與使用SSH——安全的shell,常用於遠程連接 【服務端口】tcp/22 在kali中SSH默認不開啟netstat -tnlp | grep":22&qu

kali系統——安全v6筆記總結

ado 我們 bcf sha 網絡安全 ef6 筆記 proc oss kali系統利用ms12-020漏洞***測試1、首先我們要準備一個windos7系統的虛擬機,打開系統開啟3389端口,並啟動共享。2、打開工具Metasploit,第一次啟動最好用圖形化方式,之後可