Internet要求每一個入網主機都分配一個ip地址,這個地址是唯一的。這個就是ip地址(后來的外網ip)。但是,IP地址是上個世紀八十年代發明的,理論上從0.0.0.0到256.256.256.256,理論上一共可以容納4294967296台計算機(但並不是所有的ip都可以使用)。當時認為足以為世界上每台計算機分到一個ip了。可惜世事難料,信息產業發展迅速,接入Internet的計算機迅速增長,導致IP地址不夠用了,咋辦?
於是,一批科學家想到了一個辦法,因為大多數人上網只是作為客戶端,那么可以幾台計算機共享一個IP, 於是產生了NAT技術(網絡地址轉換),幾台計算機組成一個小的專用網,這個專用網分得一個IP,專用網內部有自己的IP分配。當內部計算機與外部通信時,數據包經過路由時會替換IP頭,達到地址轉換的目的。不同的專用網內IP可以相同。這樣就推遲了IP地址的損耗。
然而,NAT技術導致了很多問題,這都是后話了。
內網專用IP為:
10.x.x.x
192.168.x.x
外網IP是指你所在的專用網(俗稱局域網)在Internet上的IP地址。
內網IP是指你的計算機在專用網上的IP地址。
就像我的電腦的ip(內網)是192.168.1.189,而公司的網絡即局域網專用網(外網)是183.194.37.2,一個局域網可映射出多個內網IP,且同一局域網下的主機可互相訪問。


拓展:
1、IP地址
IP地址組成:兩個標識碼,即網絡ID和主機ID。如上圖,我的電腦的C類IP地址192.168.0為網絡號,后面的105為我的主機號(根據DHCP協議自動分配),該局域網下的所有ip地址 網絡號相同,主機號不同。192.168.0.105C類IP地址由3字節的網絡地址和1字節的主機地址組成。同一局域網段最多只能有256-2=254台計算機連網,即192.168.0.1-192.168.0.254,因為0不能作為ip地址,而255作為廣播地址不能被使用。


2、子網掩碼
子網掩碼默認為“255.255.255.0”,是一個32位地址,用於屏蔽IP地址的一部分以區別網絡標識和主機標識,並說明判斷該IP地址是在局域網上,還是遠程網上。它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址划分成網絡地址和主機地址兩部分。
題型一、比如我們知道子網掩碼為:255.255.255.224,某一主機ip地址為:202.112.14.137,則可得出
1、該子網掩碼包含256-224=32個ip地址(包含了網絡地址、廣播地址和網關地址),最多連入29台計算機
那么網絡為:
從0開始划分: 0,32,64,96,128,160,192,224,256
2、網絡地址為:202.112.14.128(128是小於137又是32的倍數)
3、廣播地址為:202.112.14.159(128+32-1=159)
題型二、一個子網只需要連入10台計算機,問怎么設計子網掩碼?
10台計算機,說明至少需要使用13個ip地址,少於16=2的4次方,故256-16=240,則子網掩碼設計為:255.255.255.240
題型三、已知某一ip地址和接入網段的計算機數目,求網絡地址和廣播地址?
10.145.129.20/21
網絡地址:10.145.128.0
廣播地址:10.145.135.255
100.102.10.20/27(推測出子網掩碼255.255.255.224)
網絡地址: 100.102.10.0
廣播地址: 100.102.10.31
3、默認網關
網關是路由器和設備之間的橋梁,充當着轉換轉發數據包的角色,在使用不同的鏈路層,不同的通信協議,甚至體系結構完全不同的兩種系統時,網關是一個翻譯器。與網橋單純進行轉發外,該對數據包重新package,以適應目的系統的需求。
家庭路由器的LAN接口(地址)就是你所在網絡的網關(地址),家庭路由器一般使用192.168.1.1和192.168.0.1作為LAN接口的地址。
每個子網都有一個網關地址、網絡地址和廣播地址。而網關相當於就是同一網段中路由器的ip地址,另一個網段中的數據包發送給我,需要經過我家的路由器進行路由選擇,方能將數據包發送給我。因為其中數據包在不同的鏈路層進行傳輸,所以需要路由器代為轉發,就像郵遞員或者送外賣的,他們手上有顧客的目的ip地址。
詳細拓展:
熟悉網絡的朋友都知道WAN是英文Wide Area Network的首字母所寫,即代表廣域網;而LAN則是Local Area Network的所寫,即本地(或叫局域網)。那么我們不妨給路由器上的WAN口和LAN口取一個中文名稱,分別是廣域網端口和本地網端口。從名稱中不難發現,WAN口主要用來連接外部網絡,如ADSL、LAN、光纖等各種接進線路;而LAN口用來連接內部網絡,主要與局域網中的交換機、集線器或PC相連。在家里使用時,路由器WAN口使用的IP地址為網絡運營商所提供的靜態或動態公網IP地址,而LAN口所使用的IP地址則是局域網中分配的內網IP地址。因此,每一個路由器都會擁用一個私有IP地址,這樣既可讓路由器充當局域網中的網關,也便於網管對路由器進行治理。寬帶路由器的路由功能就體現在wan口IP地址和lan口IP地址之間的數據路由上,通常我們根據網絡運營商所提供的接入方式來設置WAN口的網絡參數,通常有靜態IP地址、動態IP地址或PPPOE等方式,它與網絡運營商的接入設備處於同一個外網。而將LAN口的IP地址則設置為本地局域網內的IP地址,通常是我們自己可以在寬帶路由器上自行設定的IP地址,LAN口下所連接的計算機組成一個“本地網”,路由器的LAN口IP地址是這個網絡的網關。
再詳細說說數據在同一個路由器上wan口和lan口數據是如何走的。其實這個過程就是NAT的一個過程。NAT技術的出發點事為了解決IPv4地址不足的問題,提高現有IPv4地址利用率,但他們的實現機制不一樣。VLSM和CIDR也是這個目的,他們是通過調整子網掩碼長度。而NAT技術通過允許組織內部網絡使用非全局可路由IP地址的用通過地址轉換為全局可路由的IP地址來訪問Internet,以降低對公網IP地址的需求。
NAT就運行在位於內外網之間的路由設備上,在內外網用戶之間通信時對數據包中的地址進行轉換。
主要用於三種情形:(1)無足夠的公網IP地址可用時(2)重構網絡IP地址部署(3)實現簡單的TCP負載均衡。
我們這里用家庭網絡來做舉例,家庭內部網絡的機器都是接lan口,通過lan口向外部網絡發送數據包,首先發送一個請求到默認網關,其實就是cpu上的lan口,這里我們這么理解,一般的路由器上的網關就是指cpu上的lan口,它一般通過交換芯片擴展出4個lan口,這些lan口就是平時使用的那幾個lan口。路由器在分析下面發送來的數據包后,檢查數據包中的內網IP地址時會檢查設備本身的NAT地址轉換表。在找到相應條目后,把源地址也就是本來的內網IP地址換成wan口的IP地址,目的地址不變,發送到外網上去。外部網絡接受到數據包后,會解析出數據包中的路由器wan口IP地址,將響應數據包返回到這個wan口IP地址,發送回路由器。路由器將這個返回數據包中目的地址(wan口IP)NAT轉換為內網IP,最終共完成整個數據包的發送和接受。
擴展:關於局域網下設置固定ip和隨機分配ip

IPv6和IPv4,最大的區別是什么?
IPv6(Internet Protocol Version 6),即互聯網第六代協議,用於替代IPv4的下一代互聯網協議,號稱可以為世界上的每一粒沙子編上一個網址。
IPv6和IPv4最大的不同的是,ip地址數量不同。IPv4的地址是32位,總數有43億個ip,而IPv6的地址是128位,即43億的4次方,地址極為豐富。
目前IPv4采用的上網方式是共用公網IP,如公司購買一個公網ip,可在局域網下映射多個內網ip。而換成IPv6后,連路燈都有獨立ip。
