

計算機網絡體系結構分層

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
計算機網絡體系結構分層
不難看出,TCP/IP 與 OSI 在分層模塊上稍有區別。OSI 參考模型注重“通信協議必要的功能是什么”,而 TCP/IP 則更強調“在計算機上實現協議應該開發哪種程序”。
1. TCP/IP 的具體含義
從字面意義上講,有人可能會認為 TCP/IP 是指 TCP 和 IP 兩種協議。實際生活當中有時也確實就是指這兩種協議。然而在很多情況下,它只是利用 IP 進行通信時所必須用到的協議群的統稱。具體來說,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都屬于 TCP/IP 協議。他們與 TCP 或 IP 的關系緊密,是互聯網必不可少的組成部分。TCP/IP 一詞泛指這些協議,因此,有時也稱 TCP/IP 為網際協議群。
互聯網進行通信時,需要相應的網絡協議,TCP/IP 原本就是為使用互聯網而開發制定的協議族。因此,互聯網的協議就是 TCP/IP,TCP/IP 就是互聯網的協議。

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
網際協議群
2. 數據包
包、幀、數據包、段、消息
以上五個術語都用來表述數據的單位,大致區分如下:
每個分層中,都會對所發送的數據附加一個首部,在這個首部中包含了該層必要的信息,如發送的目標地址以及協議相關信息。通常,為協議提供的信息為包首部,所要發送的內容為數據。在下一層的角度看,從上一層收到的包全部都被認為是本層的數據。

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
數據包首部
網絡中傳輸的數據包由兩部分組成:一部分是協議所要用到的首部,另一部分是上一層傳過來的數據。首部的結構由協議的具體規范詳細定義。在數據包的首部,明確標明了協議應該如何讀取數據。反過來說,看到首部,也就能夠了解該協議必要的信息以及所要處理的數據。包首部就像協議的臉。
3. 數據處理流程
下圖以用戶 a 向用戶 b 發送郵件為例子:

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
數據處理流程
TCP/IP 中有兩個具有代表性的傳輸層協議,分別是 TCP 和 UDP。
1. 端口號
數據鏈路和 IP 中的地址,分別指的是 MAC 地址和 IP 地址。前者用來識別同一鏈路中不同的計算機,后者用來識別 TCP/IP 網絡中互連的主機和路由器。在傳輸層也有這種類似于地址的概念,那就是端口號。端口號用來識別同一臺計算機中進行通信的不同應用程序。因此,它也被稱為程序地址。
1.1 根據端口號識別應用
一臺計算機上同時可以運行多個程序。傳輸層協議正是利用這些端口號識別本機中正在進行通信的應用程序,并準確地將數據傳輸。

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
通過端口號識別應用
1.2 通過 IP 地址、端口號、協議號進行通信識別

太厲害了,終于有人能把TCP/IP 協議講的明明白白了

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
通過端口號、IP地址、協議號進行通信識別
1.3 端口號的確定
1.4 端口號與協議
2. UDP
3. TCP
3.1 三次握手(重點)
下面來看看三次握手的流程圖:

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
三次握手
3.2 四次揮手(重點)
下面來看看四次揮手的流程圖:

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
四次揮手
上面是一方主動關閉,另一方被動關閉的情況,實際中還會出現同時發起主動關閉的情況,
具體流程如下圖:

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
同時揮手
3.3 通過序列號與確認應答提高可靠性

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
序列號和確認應答
3.4 重發超時的確定
3.5 以段為單位發送數據
3.6 利用窗口控制提高速度

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
3.7 滑動窗口控制

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
滑動窗口
3.8 窗口控制中的重發控制
在使用窗口控制中, 出現丟包一般分為兩種情況:

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
部分確認應答丟失

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
高速重發控制
1. IP 地址
1.1 IP 地址概述

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
1.2 IP 地址由網絡和主機兩部分標識組成

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
IP地址的主機標識

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
IP地址的網絡標識
1.3 IP 地址的分類
1.4 廣播地址
1.5 IP 多播

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
1.6 子網掩碼

太厲害了,終于有人能把TCP/IP 協議講的明明白白了

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
2. 路由
2.1 IP 地址與路由控制

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
路由控制表與 IP 包發送
3. IP 分包與組包
3.1 路徑 MTU 發現
4. IPv6
4.1 IPv6 的特點
4.2 IPv6 中 IP 地址的標記方法
4.3 IPv6 地址的結構

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
4.4 全局單播地址

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
全局單播地址
4.5 鏈路本地單播地址

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
鏈路本地單播地址
4.6 唯一本地地址

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
唯一本地地址
4.7 IPv6 分段處理
4.8 IP 首部(暫略)
5. IP 協議相關技術
5.1 DNS
5.2 ARP
5.3 ICMP
5.4 DHCP
5.5 NAT
5.6 IP 隧道

太厲害了,終于有人能把TCP/IP 協議講的明明白白了
夾著 IPv4 網絡的兩個 IPv6 網絡