计算机网络基础知识,仅此一篇足矣
第一部分 整體概述
HTTP 請求消息
URL: Uniform Resource Locator,統(tǒng)一資源定位符。
FTP: File Transfer Protocol, 文件傳送協(xié)議。 這是一種在上傳、下載文件時使用的協(xié)議。使用 FTP 協(xié)議來傳送文件的程序也被叫作 FTP。
常見的URL分類
日常用的最多的是HTTP: Hypertext Transfer Protocol,超文本傳送協(xié)議, 但也有其他一些,如下圖:
http協(xié)議
HTTP 協(xié)議定義了客戶端和服務(wù)器之間交互的消息內(nèi)容和步驟。
大致過程如下,客戶端請求,服務(wù)器返回相應(yīng)的數(shù)據(jù)。
如何訪問服務(wù)器中,特定的資源?看下邊的URL圖解
主要方法
有了整體的大致流程,也有了拆分URL的圖解,就看下有哪些方法吧,瀏覽器訪問屬于GET.
URI: Uniform Resource Identifier,統(tǒng)一資源標(biāo)識符。
?
?
?
第二部分 IP地址
該部分摘錄自《IP地址詳解》,詳情請參看原文。
IP地址分類
IP地址(Internet Protocol Address),縮寫為IP Adress,是一種在Internet上的給主機(jī)統(tǒng)一編址的地址格式,也稱為網(wǎng)絡(luò)協(xié)議(IP協(xié)議)地址。它為互聯(lián)網(wǎng)上的每一個網(wǎng)絡(luò)和每一臺主機(jī)分配一個邏輯地址,常見的IP地址,分為IPv4與IPv6兩大類,當(dāng)前廣泛應(yīng)用的是IPv4,目前IPv4幾乎耗盡,下一階段必然會進(jìn)行版本升級到IPv6;如無特別注明,一般我們講的的IP地址所指的是IPv4。
IP地址分A、B、C、D、E五類,其中A、B、C這三類是比較常用的IP地址,D、E類為特殊地址。
IP 地址是一串 32 比特的數(shù)字,按照 8 比特(1 字節(jié))為一組分成 4 組,分別用十進(jìn)制表示 然后再用圓點隔開。
在計算機(jī)二進(jìn)制中,1個字節(jié) = 8位 = 8bit(比特)
Ip地址匯總
注:?為何減去2?
在計算機(jī)網(wǎng)絡(luò)中,主機(jī)ID全部為0的地址為網(wǎng)絡(luò)地址,而主機(jī)ID全部為1的地址為廣播地址,這2個地址是不能分配給主機(jī)用的。
公網(wǎng)和私網(wǎng)IP地址
公網(wǎng)IP地址
公有地址分配和管理由Inter NIC(Internet Network Information Center 因特網(wǎng)信息中心)負(fù)責(zé)。各級ISP使用的公網(wǎng)地址都需要向Inter NIC提出申請,有Inter NIC統(tǒng)一發(fā)放,這樣就能確保地址塊不沖突。
私網(wǎng)IP地址
創(chuàng)建IP尋址方案的人也創(chuàng)建了私網(wǎng)IP地址。這些地址可以被用于私有網(wǎng)絡(luò),在Internet沒有這些IP地址,Internet上的路由器也沒有到私有網(wǎng)絡(luò)的路由表。
A類:10.0.0.0 255.0.0.0,保留了1個A類網(wǎng)絡(luò)。 B類:172.16.0.0 255.255.0.0~172.31.0.0 255.255.0.0,保留了16個B類網(wǎng)絡(luò)。 C類:192.168.0.0 255.255.255.0~192.168.255.0 255.255.255.0,保留了256個C類網(wǎng)絡(luò)。 PS:私網(wǎng)地址訪問Internet需要做NAT或PAT網(wǎng)絡(luò)地址轉(zhuǎn)換?
?
子網(wǎng)掩碼
引子
IP地址在設(shè)計時就考慮到地址分配的層次特點,將每個IP地址都分割成網(wǎng)絡(luò)號和主機(jī)號兩部分,以便于IP地址的尋址操作。
如何確定:IP地址的網(wǎng)絡(luò)號和主機(jī)號各是多少位呢?
那就了解下子網(wǎng)掩碼
定義
子網(wǎng)掩碼(subnet mask)是每個使用互聯(lián)網(wǎng)的人必須要掌握的基礎(chǔ)知識,只有掌握它,才能夠真正理解TCP/IP協(xié)議的設(shè)置。
子網(wǎng)掩碼——屏蔽一個IP地址的網(wǎng)絡(luò)部分的“全1”比特模式。對于A類地址來說,默認(rèn)的子網(wǎng)掩碼是255.0.0.0;對于B類地址來說默認(rèn)的子網(wǎng)掩碼是255.255.0.0;對于C類地址來說默認(rèn)的子網(wǎng)掩碼是255.255.255.0。
利用子網(wǎng)掩碼可以把大的網(wǎng)絡(luò)劃分成子網(wǎng),即VLSM(可變長子網(wǎng)掩碼),也可以把小的網(wǎng)絡(luò)歸并成大的網(wǎng)絡(luò)即超網(wǎng)。
規(guī)則
子網(wǎng)掩碼的長度也是32位,左邊是網(wǎng)絡(luò)位,用二進(jìn)制數(shù)字“1”表示,1的數(shù)目等于網(wǎng)絡(luò)位的長度;右邊是主機(jī)位,用二進(jìn)制數(shù)字“0”表示,0的數(shù)目等于主機(jī)位的長度。
目的: 是為了讓掩碼與ip地址做按位與運算時用0遮住原主機(jī)數(shù),而不改變原網(wǎng)絡(luò)段數(shù)字,而且很容易通過0的位數(shù)確定子網(wǎng)的主機(jī)數(shù)
為何要用子網(wǎng)掩碼?
子網(wǎng)掩碼可以分離出IP地址中的網(wǎng)絡(luò)地址和主機(jī)地址,那為什么要分離呢?
因為兩臺計算機(jī)要通訊,首先要判斷是否處于同一個廣播域內(nèi),即網(wǎng)絡(luò)地址是否相同。
如果網(wǎng)絡(luò)地址相同,表明接受方在本網(wǎng)絡(luò)上,那么可以把數(shù)據(jù)包直接發(fā)送到目標(biāo)主機(jī),
否則就需要路由網(wǎng)關(guān)將數(shù)據(jù)包轉(zhuǎn)發(fā)送到目的地。
設(shè)IP地址為192.168.10.2,子網(wǎng)掩碼為255.255.255.240,那么子網(wǎng)掩碼是怎樣來區(qū)分網(wǎng)絡(luò)地址和主機(jī)地址的呢。
主機(jī)地址為:0.0.0.2(將掩碼取反,然后與運算)
子網(wǎng)掩碼和ip地址的關(guān)系
子網(wǎng)掩碼是用來判斷任意兩臺計算機(jī)的IP地址是否屬于同一子網(wǎng)絡(luò)的根據(jù)。
And按位與運算: 與運算是計算機(jī)中一種基本的邏輯運算方式,符號表示為&,也可以表示為 and。 參加運算的兩個數(shù)據(jù),按二進(jìn)制位進(jìn)行“與”運算。 運算規(guī)則:0&0=0;0&1=0;1&0=0;1&1=1; 即:兩位同時為“1”,結(jié)果才為“1”,否則為0?
?
網(wǎng)絡(luò)地址計算小技巧:IP地址和子網(wǎng)掩碼做與運算,把IP地址的主機(jī)位直接歸0,就快速得到網(wǎng)絡(luò)地址。所以只要一看到IP地址和子網(wǎng)掩碼,就能馬上確認(rèn)網(wǎng)絡(luò)地址。
子網(wǎng)掩碼的表示方法
①、點分十進(jìn)制表示法
二進(jìn)制轉(zhuǎn)換十進(jìn)制,每8位用點號隔開
例如:子網(wǎng)掩碼二進(jìn)制11111111.11111111.11111111.00000000,表示為255.255.255.0
②、CIDR斜線記法
IP地址/n
例1:192.168.1.100/24,其子網(wǎng)掩碼表示為255.255.255.0,二進(jìn)制表示為11111111.11111111.11111111.00000000
例2:172.16.198.12/20,其子網(wǎng)掩碼表示為255.255.240.0,二進(jìn)制表示為11111111.11111111.11110000.00000000
不難發(fā)現(xiàn),例1中共有24個1,例2中共有20個1,所以n是這么來的。運營商ISP常用這樣的方法給客戶分配IP地址。
注:n為1到32的數(shù)字,表示子網(wǎng)掩碼中網(wǎng)絡(luò)號的長度,通過n的個數(shù)確定子網(wǎng)的主機(jī)數(shù)=2^(32-n)-2(-2的原因:主機(jī)位全為0時表示本網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,主機(jī)位全為1時表示本網(wǎng)絡(luò)的廣播地址,這是兩個特殊地址)。
做子網(wǎng)劃分后的IP地址:網(wǎng)絡(luò)號+子網(wǎng)號+子網(wǎng)主機(jī)號
舉個栗子:
如:192.168.1.100/25,其子網(wǎng)掩碼表示:255.255.255.128
子網(wǎng)
該部分暫時沒有做太多說明,如需請查閱更多資源
子網(wǎng)劃分是通過借用IP地址中若干位【主機(jī)地址】來充當(dāng)子網(wǎng)的【網(wǎng)絡(luò)地址】,從而將原網(wǎng)絡(luò)劃分為若干子網(wǎng)。
劃分子網(wǎng)時,隨著子網(wǎng)地址借用主機(jī)位數(shù)的增多,子網(wǎng)的數(shù)目隨之增加,但每個子網(wǎng)中的可用主機(jī)數(shù)逐漸減少。
如C類地址,原有8位主機(jī)位,2^8-2即254個主機(jī)地址,默認(rèn)子網(wǎng)掩碼255.255.255.0。(全0或全1不可用)
借用1位主機(jī)位,產(chǎn)生2^1-2=0個子網(wǎng),每個子網(wǎng)有2^7-2個主機(jī)地址; 借用2位主機(jī)位,產(chǎn)生2^2-2=2個子網(wǎng),每個子網(wǎng)有2^6-2個主機(jī)地址; ……計算子網(wǎng)掩碼
根據(jù)子網(wǎng)數(shù)
根據(jù)子網(wǎng)數(shù),計算子網(wǎng)掩碼
1)將子網(wǎng)數(shù)目轉(zhuǎn)化為二進(jìn)制來表示 2)取得該二進(jìn)制的位數(shù),為 N 3)取得該IP地址的類子網(wǎng)掩碼,將其主機(jī)地址部分的前N位置1 即得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。如欲將B類IP地址168.195.0.0劃分成27個子網(wǎng):
1)27=11011
2)該二進(jìn)制為五位數(shù),N = 5
3)將B類地址的子網(wǎng)掩碼255.255.0.0的主機(jī)地址前5位置1(B類地址的主機(jī)位包括后兩個字節(jié),所以這里要把第三個字節(jié)的前5位置1),得到 255.255.248.0
即為劃分成27個子網(wǎng)的B類IP地址 168.195.0.0的子網(wǎng)掩碼(實際上是劃成了32-2=30個子網(wǎng))。
10101000 11000011 00000000 00000000
11111111 11111111 00000000 00000000
11111111 11111111 11111000 00000000
11111111 11111111 11111000 00000000
根據(jù)主機(jī)數(shù)
1. 根據(jù)主機(jī)數(shù)計算子網(wǎng)掩碼 2. 根據(jù)子網(wǎng)掩碼計算子網(wǎng)數(shù) 3. 根據(jù)子網(wǎng)掩碼計算主機(jī)數(shù) 4. 根據(jù)子網(wǎng)掩碼確定子網(wǎng)絡(luò)的起止地址根據(jù)主機(jī)數(shù)計算子網(wǎng)掩碼
把B類地址172.16.0.0劃分成若干子網(wǎng)絡(luò),每個子網(wǎng)絡(luò)能容納500臺主機(jī),它的子網(wǎng)掩碼是多少?
①把500轉(zhuǎn)換成二進(jìn)制表示111110100
②統(tǒng)計一下這個二進(jìn)制的數(shù)共有9位
③將子網(wǎng)掩碼255.255.255.255從后向前的9位變成0
④這就得到了所要的子網(wǎng)掩碼(11111111.11111111.11111110.00000000)255.255.254.0。
根據(jù)子網(wǎng)掩碼計算子網(wǎng)數(shù)
A類IP地址,子網(wǎng)掩碼為255.224.0.0,它所能劃分的最大有效子網(wǎng)數(shù)是多少?
①將子網(wǎng)掩碼轉(zhuǎn)換成二進(jìn)制表示11111111.11100000.00000000.00000000
②統(tǒng)計一下它的網(wǎng)絡(luò)位共有11位
③A類地址網(wǎng)絡(luò)位的基礎(chǔ)數(shù)是8,二者之間的位數(shù)差是3
④最大有效子網(wǎng)數(shù)就是2的3次方,即最多可以劃分8個子網(wǎng)絡(luò)。
2的位數(shù)差次方
根據(jù)子網(wǎng)掩碼計算主機(jī)數(shù)
A類IP地址,子網(wǎng)掩碼為255.252.0.0,將它劃分成若干子網(wǎng)絡(luò),每個子網(wǎng)絡(luò)中可用主機(jī)數(shù)有多少?
①將子網(wǎng)掩碼轉(zhuǎn)換成二進(jìn)制表示11111111.11111100.00000000.00000000
②統(tǒng)計一下它的主機(jī)位共有18位
③最大可用主機(jī)數(shù)就是2的18次方減2(除去全是0的網(wǎng)絡(luò)地址和全是1廣播地址),即每個子網(wǎng)絡(luò)最多有262142臺主機(jī)可用。
2的主機(jī)號長度次方
根據(jù)子網(wǎng)掩碼確定子網(wǎng)絡(luò)的起止地址
B類IP地址172.16.0.0,子網(wǎng)掩碼為255.255.192.0,它所能劃分的子網(wǎng)絡(luò)起止地址是多少?
11111111 11111111 11000000 00000000 [255.255.192.0]
11111111 11111111 00000000 00000000 [255.255.255.0]
①利用子網(wǎng)掩碼計算,最多可以劃分4個子網(wǎng)絡(luò),【差兩位,2的2次方=4】
②利用子網(wǎng)掩碼計算,每個子網(wǎng)絡(luò)可容納16384臺主機(jī)(包括網(wǎng)絡(luò)地址和廣播地址)【2的14次方-2】
③用16384除以256(網(wǎng)段內(nèi)包括網(wǎng)絡(luò)地址和廣播地址的全部主機(jī)數(shù)),結(jié)果是64
④具體劃分網(wǎng)絡(luò)起止方法如下:
172.16.0.0~172.16.63.255
172.16.64.0~172.16.127.255
172.16.128.0~172.16.191.255
172.16.192.0~172.16.255.255
總結(jié)
以上是生活随笔為你收集整理的计算机网络基础知识,仅此一篇足矣的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个线程池 bug 引发的 GC 思考!
- 下一篇: 这份美团架构师讲解的JVM知识,让我疫情