1.OSI(國際標準化組織)網絡層次7層
網絡層次 | 操作對象 | 說明 | 設備 | 協議 |
應用層 | 報文 | 提供訪問網絡的接口 | - | FTP、Telnet、DNS、SMTP、POP3、HTTP |
表示層 | 對上層數據加密、壓縮、格式轉換,保證主機應用層信息被另一個主機理解 | - | - | |
會話層 | 管理主機之間的會話進程 | - | - | |
傳輸層 | - | 第一個端到端的層,負責將上層數據分段並提供端到端的可靠/不可靠傳輸 | 網關 | TCP、UDP |
網絡層 | IP數據報 | 負責對子網的數據包進行路由選擇 | 路由器 | IP、ICMP、ARP、RARP |
數據鏈路層 | 幀 | 將網絡層的數據可靠地傳輸到相鄰節點的目標網絡層,將數據封裝成幀 | 網橋、交換機 | 以太網協議 |
物理層 | - | 爲上層協議提供傳輸數據的可靠物理媒介,確保原始數據可在各種物理媒介上傳輸 | 中繼器、集線器 | - |
2. IP地址劃分
(1)網絡地址
IP地址=網絡號+主機號
網絡地址是主機號全爲0,它代表整個網絡
(2)廣播地址
網絡地址是主機號全爲1,該網絡內所有主機都能收到
(3)組播地址
D類爲組播地址
地址類別 | 說明 | 範圍 |
A類 | 0開頭,第一字節爲網絡號 | 0.0.0.0 ~ 127.255.255.255 |
B類 | 10開頭,前兩個字節爲網絡號 | 128.0.0.0 ~ 191.255.255.255 |
C類 | 110開頭,前三個字節爲網絡號 | 192.0.0.0 ~ 223.255.255.255 |
D類 | 1110開頭 | 224.0.0.0 ~ 239.255.255.255 |
E類 | 11110開頭 | 240.0.0.0 ~ 255.255.255.255 |
(4)特殊地址
IP地址 | 用途 |
255.255.255.255 | 受限廣播地址,只用於本地網絡,路由器不轉發 |
0.0.0.0 | 常用於尋找自己的IP地址 |
127.0.0.0/8 | 迴環地址,對本機測試,常用127.0.0.1 |
3. 子網掩碼以及網絡劃分
(1)子網掩碼
用於標誌兩個IP是否屬於一個子網,32位,爲1表示網絡位,爲0表示主機位。
若兩個IP與子網掩碼按位與操作後的結果相同,表示在同一網段。
例如C類地址IP:192.168.0.25 掩碼:255.255.255.0
例如B類地址IP:128.168.0.25 掩碼:255.255.0.0
(2)網絡劃分
- 方法一、利用子網數來計算
例如:將IP:168.195.0.0 劃分爲27個子網
step1. 將子網數轉位二進制 27=11011;
step2. 取得改數二進制的位數 N=5
step3. 取得該IP的類子網掩碼,將其主機地址前N位置1.
B類子網掩碼爲:255.255.0.0 將主機號前5位置1後爲 255.255.11111000.0,即255.255.248.0
- 方法二、利用主機數來計算
例如:B類IP:168.195.0.0對其進行網絡劃分,使得子網主機700臺
step1. 將主機數轉化爲2進制,700=1010111100
step2. 獲得主機數二進制位數 N=10
step3. 使用子網掩碼255.255.255.255向右移動N位,補0
255.255.11111100.00000000 即 255.255.252.0
- 方法三、根據每一個子網的主機數量來計算
例如:一個子網有10臺主機
step1. 10 + 1+ 1 + 1 = 13 (其中三個1分別代表網關地址、網絡地址、廣播地址)
step2. 13 < 2^4 = 16 使用4位
step3. 255.255.255.240 (256 - 16 = 240)
4. 協議
協議 | 名稱 | 所屬網絡層次 | 說明 | 工作流程 |
ARP/RARP協議 | Address Resolution Protocol(地址解析協議) Reverse Address Resolution Protocol(逆地址解析協議) |
網絡層 | 根據IP地址獲取物理地址的一個TCP/IP協議 / 而RARP是根據mac地址獲取自己的IP,這個IP是由RARP服務器發送的 | 例如主機A獲取主機B的物理地址:主機A查看路由表,得到主機B的IP,根據B的IP查看自己的ARP緩存,如果有找到B的mac地址;如果沒有則廣播到網絡上所有主機。各個主機收到ARP請求後,查看請求中的IP地址和自己是否一致,不一致則丟棄。主機B收到後查看IP發現一致,則將A的IP和mac地址保存至自己的ARP緩存,然後向A發送自己的mac地址。A接受回覆後得到B的mac地址,二者可以發送IP通信。 |
NAT協議 | Network Address Translation(網絡地址轉換協議) | 網絡層 | 接入廣域網技術,將私有IP轉化爲合法IP的技術。解決IP地址不足,有效避免網絡外部攻擊 | - |
TCP/IP協議 | Transmission Control Protocol(傳輸控制協議) ------------------ Internet Protocol(網絡協議) |
傳輸層 --- 網絡層 |
文件頭:[20個字節] 面向連接的通訊協議,只能用於端到端通訊,完成三次握手、四次揮手。採用“帶重傳的肯定確定”技術實現傳輸可靠性,使用“滑動窗口”進行流量控制 --------------------- 接收低層數據,並將其發送至高層;接收高層數據,發送至低層 [不可靠傳輸] |
消息說明: ACK(Acknowledge,確定) SYN(Synchronize,請求同步) FIN(Finally,結束) 三次握手: (客戶端)向(服務器)發送[SYN]請求連接,(服務器)回覆(客戶端)一個[SYN+ACK]表示自己準備好了,(客戶端)再向(服務器)發送[ACK]表示我知道你準備好了 四次揮手: (客戶端)向(服務器)發送[FIN]表示我沒有數據了,但是不着急斷了這個socket,如果你還有數據,你可以繼續發。(服務器)向(客戶端)發送[ACK]表示你的請求我看到了,但是我還沒準備好,你等之後的消息吧。(服務器)發送完所有數據後,向(客戶端)發送[FIN]表示我這邊準備完了,可以斷開連接了,(客戶端)向(服務器)發送[ACK]表示那就斷開吧。 |
UDP協議 | User Datagram Protocol(用戶數據報協議) | 傳輸層 | 文件頭:[2字節] 面向無連接,可實現廣播發送,它與TCP的區別就在於TCP是面向連接,提供可靠的字節流服務,而UDP面向無連接,提供不可靠的數據報服務 |
- |
路由選擇協議 | RIP(Routing Information Protocol,路由信息協議) ------------------ OSPF(Open Shortest Path First,開放式最短路徑優先協議) |
應用層 | RIP底層是貝爾曼福特算法,度量標準(Metric)是跳數,一般<=15跳,若》15跳會丟包 --------------------- OSPF底層是迪傑斯特拉算法,Metric是帶寬、延遲 |
- |
DNS協議 | Domain Name System(域名解析協議) | 應用層 | 將URL轉化爲IP地址 | - |
DHCP協議 | Dynamic Host Configuration(動態主機設置協議) | 應用層 | 局域網網絡協議,使用了UDP協議,用途是給內部網絡自動分配IP,給用戶作爲對所有計算機中央管理的手段 | - |
HTTP協議 | Hyper Text Transfer(超文本傳輸協議) | 應用層 | 所有WWW文件都必須遵守 請求: 1.GET:請求讀取由URL標誌的信息 2.POST:給服務器添加信息 3.PUT:在給定URL下存儲文檔 4.DELETE:刪除指定URL標誌資源 |
- |
5.例子
瀏覽器輸入“www.baidu.com”之後執行:
- 應用層:查詢DNS,獲取域名對應的IP,獲取IP後,瀏覽器向目標IP發送HTTP請求。
- 傳輸層:建立連接,進行三次握手,並把HTTP會話分成報文段,分別添加源和目的端口,確保可靠性。
- 網絡層:路由尋址,查找路由表確定如何到達服務器,通過ARP獲取目標網關的MAC地址。
- 數據鏈路層:傳輸數據
- 物理層:輸出bit
- 服務器端經過物理層→數據鏈路層→網絡層→傳輸層→應用層,解析請求報文,發送HTTP響應報文。
- 客戶端解析HTTP響應報文
- 瀏覽器開始顯示HTML
其中,第一步在應用層中DNS查詢如下:
(1)檢查本地hosts文件是否有這個網址的映射,如果有,就調用這個IP地址映射,解析完成。
(2)如果沒有,則查找本地DNS解析器緩存是否有這個網址的映射,如果有,返回映射,解析完成。
(3)如果沒有,則查找填寫或分配的首選DNS服務器,稱爲本地DNS服務器。服務器接收到查詢時:如果要查詢的域名包含在本地配置區域資源中,返回解析結果,查詢結束,此解析具有權威性。
如果要查詢的域名不由本地DNS服務器區域解析,但服務器緩存了此網址的映射關係,返回解析結果,查詢結束,此解析不具有權威性。
(4)如果本地DNS服務器也失效:如果未採用轉發模式(迭代),本地DNS就把請求發至13臺根DNS,根DNS服務器收到請求後,會判斷這個域名(如.com)是誰來授權管理,並返回一個負責該頂級域名服務器的IP,本地DNS服務器收到頂級域名服務器IP信息後,繼續向該頂級域名服務器IP發送請求,該服務器如果無法解析,則會找到負責這個域名的下一級DNS服務器的IP給本地DNS服務器,循環往復直至查詢到映射,將解析結果返回本地DNS服務器,再由本地DNS服務器返回解析結果,查詢完成。如果採用轉發模式(遞歸),則此DNS服務器就會把請求轉發至上一級DNS服務器,如果上一級DNS服務器不能解析,則繼續向上請求。最終將解析結果依次返回本地DNS服務器,本地DNS服務器再返回給客戶機,查詢完成。