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