計(jì)算機(jī)網(wǎng)絡(luò)知識點(diǎn)詳細(xì)圖文說明!

一、計(jì)算機(jī)網(wǎng)絡(luò)概述

1.1 計(jì)算機(jī)網(wǎng)絡(luò)的分類

按照網(wǎng)絡(luò)的作用范圍:廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、局域網(wǎng)(LAN);

按照網(wǎng)絡(luò)使用者:公用網(wǎng)絡(luò)、專用網(wǎng)絡(luò)。

1.2 計(jì)算機(jī)網(wǎng)絡(luò)的層次結(jié)構(gòu)

TCP/IP四層模型與OSI體系結(jié)構(gòu)對比:

1.3 層次結(jié)構(gòu)設(shè)計(jì)的基本原則

  • 各層之間是相互獨(dú)立的;
  • 每一層需要有足夠的靈活性;
  • 各層之間完全解耦。

1.4 計(jì)算機(jī)網(wǎng)絡(luò)的性能指標(biāo)

速率:bps=bit/s 時(shí)延:發(fā)送時(shí)延、傳播時(shí)延、排隊(duì)時(shí)延、處理時(shí)延 往返時(shí)間RTT:數(shù)據(jù)報(bào)文在端到端通信中的來回一次的時(shí)間。

二、物理層

物理層的作用:連接不同的物理設(shè)備,傳輸比特流。該層為上層協(xié)議提供了一個(gè)傳輸數(shù)據(jù)的可靠的物理媒體。簡單的說,物理層確保原始的數(shù)據(jù)可在各種物理媒體上傳輸。

物理層設(shè)備:

  • 中繼器【Repeater,也叫放大器】:同一局域網(wǎng)的再生信號;兩端口的網(wǎng)段必須同一協(xié)議;5-4-3規(guī)程:10BASE-5以太網(wǎng)中,最多串聯(lián)4個(gè)中繼器,5段中只能有3個(gè)連接主機(jī);
  • 集線器:同一局域網(wǎng)的再生、放大信號(多端口的中繼器);半雙工,不能隔離沖突域也不能隔離廣播域。

信道的基本概念:信道是往一個(gè)方向傳輸信息的媒體,一條通信電路包含一個(gè)發(fā)送信道和一個(gè)接受信道。

  1. 單工通信信道:只能一個(gè)方向通信,沒有反方向反饋的信道;
  2. 半雙工通信信道:雙方都可以發(fā)送和接受信息,但不能同時(shí)發(fā)送也不能同時(shí)接收;
  3. 全雙工通信信道:雙方都可以同時(shí)發(fā)送和接收。

三、數(shù)據(jù)鏈路層

3.1 數(shù)據(jù)鏈路層概述

數(shù)據(jù)鏈路層在物理層提供的服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的服務(wù)是將源自網(wǎng)絡(luò)層來的數(shù)據(jù)可靠地傳輸?shù)较噜徆?jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。

該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯(cuò)、重發(fā)等。

有關(guān)數(shù)據(jù)鏈路層的重要知識點(diǎn):

  1. 數(shù)據(jù)鏈路層為網(wǎng)絡(luò)層提供可靠的數(shù)據(jù)傳輸;
  2. 基本數(shù)據(jù)單位為幀;
  3. 主要的協(xié)議:以太網(wǎng)協(xié)議;
  4. 兩個(gè)重要設(shè)備名稱:網(wǎng)橋和交換機(jī)。

封裝成幀:“幀”是數(shù)據(jù)鏈路層數(shù)據(jù)的基本單位:

透明傳輸:“透明”是指即使控制字符在幀數(shù)據(jù)中,但是要當(dāng)做不存在去處理。即在控制字符前加上轉(zhuǎn)義字符ESC。

3.2 數(shù)據(jù)鏈路層的差錯(cuò)監(jiān)測

差錯(cuò)檢測:奇偶校驗(yàn)碼、循環(huán)冗余校驗(yàn)碼CRC

  1. 奇偶校驗(yàn)碼–局限性:當(dāng)出錯(cuò)兩位時(shí),檢測不到錯(cuò)誤。
  2. 循環(huán)冗余檢驗(yàn)碼:根據(jù)傳輸或保存的數(shù)據(jù)而產(chǎn)生固定位數(shù)校驗(yàn)碼。

3.3 最大傳輸單元MTU

最大傳輸單元MTU(Maximum Transmission Unit),數(shù)據(jù)鏈路層的數(shù)據(jù)幀不是無限大的,數(shù)據(jù)幀長度受MTU限制.

路徑MTU:由鏈路中MTU的最小值決定。

3.4 以太網(wǎng)協(xié)議詳解

MAC地址:每一個(gè)設(shè)備都擁有唯一的MAC地址,共48位,使用十六進(jìn)制表示。

以太網(wǎng)協(xié)議:是一種使用廣泛的局域網(wǎng)技術(shù),是一種應(yīng)用于數(shù)據(jù)鏈路層的協(xié)議,使用以太網(wǎng)可以完成相鄰設(shè)備的數(shù)據(jù)幀傳輸:

局域網(wǎng)分類:

Ethernet以太網(wǎng)IEEE802.3:

  1. 以太網(wǎng)第一個(gè)廣泛部署的高速局域網(wǎng)
  2. 以太網(wǎng)數(shù)據(jù)速率快
  3. 以太網(wǎng)硬件價(jià)格便宜,網(wǎng)絡(luò)造價(jià)成本低

以太網(wǎng)幀結(jié)構(gòu):

  1. 類型:標(biāo)識上層協(xié)議(2字節(jié))
  2. 目的地址和源地址:MAC地址(每個(gè)6字節(jié))
  3. 數(shù)據(jù):封裝的上層協(xié)議的分組(46~1500字節(jié))
  4. CRC:循環(huán)冗余碼(4字節(jié))
  5. 以太網(wǎng)最短幀:以太網(wǎng)幀最短64字節(jié);以太網(wǎng)幀除了數(shù)據(jù)部分18字節(jié);數(shù)據(jù)最短46字節(jié);

MAC地址(物理地址、局域網(wǎng)地址)

  1. MAC地址長度為6字節(jié),48位;
  2. MAC地址具有唯一性,每個(gè)網(wǎng)絡(luò)適配器對應(yīng)一個(gè)MAC地址;
  3. 通常采用十六進(jìn)制表示法,每個(gè)字節(jié)表示一個(gè)十六進(jìn)制數(shù),用 – 或 : 連接起來;
  4. MAC廣播地址:FF-FF-FF-FF-FF-FF。

四、網(wǎng)絡(luò)層

網(wǎng)絡(luò)層的目的是實(shí)現(xiàn)兩個(gè)端系統(tǒng)之間的數(shù)據(jù)透明傳送,具體功能包括尋址和路由選擇、連接的建立、保持和終止等。數(shù)據(jù)交換技術(shù)是報(bào)文交換(基本上被分組所替代):采用儲(chǔ)存轉(zhuǎn)發(fā)方式,數(shù)據(jù)交換單位是報(bào)文。

網(wǎng)絡(luò)層中涉及眾多的協(xié)議,其中包括最重要的協(xié)議,也是TCP/IP的核心協(xié)議——IP協(xié)議。IP協(xié)議非常簡單,僅僅提供不可靠、無連接的傳送服務(wù)。IP協(xié)議的主要功能有:無連接數(shù)據(jù)報(bào)傳輸、數(shù)據(jù)報(bào)路由選擇和差錯(cuò)控制。

與IP協(xié)議配套使用實(shí)現(xiàn)其功能的還有地址解析協(xié)議ARP、逆地址解析協(xié)議RARP、因特網(wǎng)報(bào)文協(xié)議ICMP、因特網(wǎng)組管理協(xié)議IGMP。具體的協(xié)議我們會(huì)在接下來的部分進(jìn)行總結(jié),有關(guān)網(wǎng)絡(luò)層的重點(diǎn)為:

  1. 網(wǎng)絡(luò)層負(fù)責(zé)對子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由選擇。此外,網(wǎng)絡(luò)層還可以實(shí)現(xiàn)擁塞控制、網(wǎng)際互連等功能;
  2. 基本數(shù)據(jù)單位為IP數(shù)據(jù)包;
  3. 包含的主要協(xié)議:
  • IP協(xié)議(Internet Protocol,因特網(wǎng)互聯(lián)協(xié)議);
  • ICMP協(xié)議(Internet Control Message Protocol,因特網(wǎng)控制報(bào)文協(xié)議);
  • ARP協(xié)議(Address Resolution Protocol,地址解析協(xié)議);
  • RARP協(xié)議(Reverse Address Resolution Protocol,逆地址解析協(xié)議)。
  1. 重要的設(shè)備:路由器。

路由器相關(guān)協(xié)議

4.1 IP協(xié)議詳解

IP網(wǎng)際協(xié)議是 Internet 網(wǎng)絡(luò)層最核心的協(xié)議。虛擬互聯(lián)網(wǎng)絡(luò)的產(chǎn)生:實(shí)際的計(jì)算機(jī)網(wǎng)絡(luò)錯(cuò)綜復(fù)雜;物理設(shè)備通過使用IP協(xié)議,屏蔽了物理網(wǎng)絡(luò)之間的差異;當(dāng)網(wǎng)絡(luò)中主機(jī)使用IP協(xié)議連接時(shí),無需關(guān)注網(wǎng)絡(luò)細(xì)節(jié),于是形成了虛擬網(wǎng)絡(luò)。

IP協(xié)議使得復(fù)雜的實(shí)際網(wǎng)絡(luò)變?yōu)橐粋€(gè)虛擬互聯(lián)的網(wǎng)絡(luò);并且解決了在虛擬網(wǎng)絡(luò)中數(shù)據(jù)報(bào)傳輸路徑的問題。

其中,版本指IP協(xié)議的版本,占4位,如IPv4和IPv6;首部位長度表示IP首部長度,占4位,最大數(shù)值位15;(歡迎關(guān)注公眾號:網(wǎng)絡(luò)工程師阿龍)總長度表示IP數(shù)據(jù)報(bào)總長度,占16位,最大數(shù)值位65535;TTL表示IP數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)中的壽命,占8位;協(xié)議表明IP數(shù)據(jù)所攜帶的具體數(shù)據(jù)是什么協(xié)議的,如TCP、UDP。

4.2 IP協(xié)議的轉(zhuǎn)發(fā)流程

4.3 IP地址的子網(wǎng)劃分

A類(8網(wǎng)絡(luò)號+24主機(jī)號)、B類(16網(wǎng)絡(luò)號+16主機(jī)號)、C類(24網(wǎng)絡(luò)號+8主機(jī)號)可以用于標(biāo)識網(wǎng)絡(luò)中的主機(jī)或路由器,D類地址作為組廣播地址,E類是地址保留。

4.4 網(wǎng)絡(luò)地址轉(zhuǎn)換NAT技術(shù)

用于多個(gè)主機(jī)通過一個(gè)公有IP訪問訪問互聯(lián)網(wǎng)的私有網(wǎng)絡(luò)中,減緩了IP地址的消耗,但是增加了網(wǎng)絡(luò)通信的復(fù)雜度。

NAT 工作原理:

從內(nèi)網(wǎng)出去的IP數(shù)據(jù)報(bào),將其IP地址替換為NAT服務(wù)器擁有的合法的公共IP地址,并將替換關(guān)系記錄到NAT轉(zhuǎn)換表中;

從公共互聯(lián)網(wǎng)返回的IP數(shù)據(jù)報(bào),依據(jù)其目的的IP地址檢索NAT轉(zhuǎn)換表,并利用檢索到的內(nèi)部私有IP地址替換目的IP地址,然后將IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到內(nèi)部網(wǎng)絡(luò)。

4.5 ARP協(xié)議與RARP協(xié)議

地址解析協(xié)議 ARP(Address Resolution Protocol):為網(wǎng)卡(網(wǎng)絡(luò)適配器)的IP地址到對應(yīng)的硬件地址提供動(dòng)態(tài)映射??梢园丫W(wǎng)絡(luò)層32位地址轉(zhuǎn)化為數(shù)據(jù)鏈路層MAC48位地址。

ARP 是即插即用的,一個(gè)ARP表是自動(dòng)建立的,不需要系統(tǒng)管理員來配置。圖片

RARP(Reverse Address Resolution Protocol)協(xié)議指逆地址解析協(xié)議,可以把數(shù)據(jù)鏈路層MAC48位地址轉(zhuǎn)化為網(wǎng)絡(luò)層32位地址。

4.6 ICMP協(xié)議詳解

網(wǎng)際控制報(bào)文協(xié)議(Internet Control Message Protocol),可以報(bào)告錯(cuò)誤信息或者異常情況,ICMP報(bào)文封裝在IP數(shù)據(jù)報(bào)當(dāng)中。圖片

ICMP協(xié)議的應(yīng)用:

  • Ping應(yīng)用:網(wǎng)絡(luò)故障的排查;
  • Traceroute應(yīng)用:可以探測IP數(shù)據(jù)包在網(wǎng)絡(luò)中走過的路徑。

4.7網(wǎng)絡(luò)層的路由概述

關(guān)于路由算法的要求:正確的完整的、在計(jì)算上應(yīng)該盡可能是簡單的、可以適應(yīng)網(wǎng)絡(luò)中的變化、穩(wěn)定的公平的。

自治系統(tǒng)AS:指處于一個(gè)管理機(jī)構(gòu)下的網(wǎng)絡(luò)設(shè)備群,AS內(nèi)部網(wǎng)絡(luò)自治管理,對外提供一個(gè)或多個(gè)出入口,其中自治系統(tǒng)內(nèi)部的路由協(xié)議為內(nèi)部網(wǎng)關(guān)協(xié)議,如RIP、OSPF等;自治系統(tǒng)外部的路由協(xié)議為外部網(wǎng)關(guān)協(xié)議,如BGP。

靜態(tài)路由:人工配置,難度和復(fù)雜度高;

動(dòng)態(tài)路由:

  1. 鏈路狀態(tài)路由選擇算法LS:向所有隔壁路由發(fā)送信息收斂快;全局式路由選擇算法,每個(gè)路由器計(jì)算路由時(shí),需構(gòu)建整個(gè)網(wǎng)絡(luò)拓?fù)鋱D;利用Dijkstra算法求源端到目的端網(wǎng)絡(luò)的(歡迎關(guān)注公眾號:網(wǎng)絡(luò)工程師阿龍)最短路徑;Dijkstra(迪杰斯特拉)算法
  2. 距離-向量路由選擇算法DV:向所有隔壁路由發(fā)送信息收斂慢、會(huì)存在回路;基礎(chǔ)是Bellman-Ford方程(簡稱B-F方程);

4.8 內(nèi)部網(wǎng)關(guān)路由協(xié)議之RIP協(xié)議

路由信息協(xié)議 RIP(Routing Information Protocol)【應(yīng)用層】,基于距離-向量的路由選擇算法,較小的AS(自治系統(tǒng)),適合小型網(wǎng)絡(luò);RIP報(bào)文,封裝進(jìn)UDP數(shù)據(jù)包。

RIP協(xié)議特性:

  1. RIP在度量路徑時(shí)采用的是跳數(shù)(每個(gè)路由器維護(hù)自身到其他每個(gè)路由器的距離記錄);
  2. RIP的費(fèi)用定義在源路由器和目的子網(wǎng)之間;
  3. RIP被限制的網(wǎng)絡(luò)直徑不超過15跳;
  4. 和隔壁交換所有的信息,30主動(dòng)一次(廣播)。

4.9 內(nèi)部網(wǎng)關(guān)路由協(xié)議之OSPF協(xié)議

開放最短路徑優(yōu)先協(xié)議 OSPF(Open Shortest Path First)【網(wǎng)絡(luò)層】,基于鏈路狀態(tài)的路由選擇算法(即Dijkstra算法),較大規(guī)模的AS ,適合大型網(wǎng)絡(luò),直接封裝在IP數(shù)據(jù)包傳輸。

OSPF協(xié)議優(yōu)點(diǎn):

  1. 安全;
  2. 支持多條相同費(fèi)用路徑;
  3. 支持區(qū)別化費(fèi)用度量;
  4. 支持單播路由和多播路由;
  5. 分層路由。

RIP與OSPF的對比(路由算法決定其性質(zhì)):圖片

4.10外部網(wǎng)關(guān)路由協(xié)議之BGP協(xié)議

BGP(Border Gateway Protocol)邊際網(wǎng)關(guān)協(xié)議【應(yīng)用層】:是運(yùn)行在AS之間的一種協(xié)議,尋找一條好路由:首次交換全部信息,以后只交換變化的部分,BGP封裝進(jìn)TCP報(bào)文段.

五、傳輸層

第一個(gè)端到端,即主機(jī)到主機(jī)的層次。傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯(cuò)控制和流量控制問題。

傳輸層的任務(wù)是根據(jù)通信子網(wǎng)的特性,最佳的利用網(wǎng)絡(luò)資源,為兩個(gè)端系統(tǒng)的會(huì)話層之間,提供建立、(歡迎關(guān)注公眾號:網(wǎng)絡(luò)工程師阿龍)維護(hù)和取消傳輸連接的功能,負(fù)責(zé)端到端的可靠數(shù)據(jù)傳輸。在這一層,信息傳送的協(xié)議數(shù)據(jù)單元稱為段或報(bào)文。

網(wǎng)絡(luò)層只是根據(jù)網(wǎng)絡(luò)地址將源結(jié)點(diǎn)發(fā)出的數(shù)據(jù)包傳送到目的結(jié)點(diǎn),而傳輸層則負(fù)責(zé)將數(shù)據(jù)可靠地傳送到相應(yīng)的端口。

有關(guān)網(wǎng)絡(luò)層的重點(diǎn):

  1. 傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯(cuò)控制和流量控制問題;
  2. 包含的主要協(xié)議:TCP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議)、UDP協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議);
  3. 重要設(shè)備:網(wǎng)關(guān)。

5.1 UDP協(xié)議詳解

UDP(User Datagram Protocol: 用戶數(shù)據(jù)報(bào)協(xié)議),是一個(gè)非常簡單的協(xié)議,

UDP協(xié)議的特點(diǎn):

  • UDP是無連接協(xié)議;
  • UDP不能保證可靠的交付數(shù)據(jù);
  • UDP是面向報(bào)文傳輸?shù)模?/li>
  • UDP沒有擁塞控制;
  • UDP首部開銷很小。

UDP數(shù)據(jù)報(bào)結(jié)構(gòu):

首部:8B,四字段/2B【源端口 | 目的端口 | UDP長度 | 校驗(yàn)和】 數(shù)據(jù)字段:應(yīng)用數(shù)據(jù)圖片

5.2 TCP協(xié)議詳解

TCP(Transmission Control Protocol: 傳輸控制協(xié)議),是計(jì)算機(jī)網(wǎng)絡(luò)中非常復(fù)雜的一個(gè)協(xié)議。圖片

TCP協(xié)議的功能:

  1. 對應(yīng)用層報(bào)文進(jìn)行分段和重組;
  2. 面向應(yīng)用層實(shí)現(xiàn)復(fù)用與分解;
  3. 實(shí)現(xiàn)端到端的流量控制;
  4. 擁塞控制;
  5. 傳輸層尋址;
  6. 對收到的報(bào)文進(jìn)行差錯(cuò)檢測(首部和數(shù)據(jù)部分都檢錯(cuò));
  7. 實(shí)現(xiàn)進(jìn)程間的端到端可靠數(shù)據(jù)傳輸控制。

TCP協(xié)議的特點(diǎn):

  • TCP是面向連接的協(xié)議;
  • TCP是面向字節(jié)流的協(xié)議;
  • TCP的一個(gè)連接有兩端,即點(diǎn)對點(diǎn)通信;
  • TCP提供可靠的傳輸服務(wù);
  • TCP協(xié)議提供全雙工通信(每條TCP連接只能一對一);

5.2.1 TCP報(bào)文段結(jié)構(gòu):

最大報(bào)文段長度:報(bào)文段中封裝的應(yīng)用層數(shù)據(jù)的最大長度。

TCP首部:

  • 序號字段:TCP的序號是對每個(gè)應(yīng)用層數(shù)據(jù)的每個(gè)字節(jié)進(jìn)行編號
  • 確認(rèn)序號字段:期望從對方接收數(shù)據(jù)的字節(jié)序號,即該序號對應(yīng)的字節(jié)尚未收到。用ack_seq標(biāo)識;
  • TCP段的首部長度最短是20B ,最長為60字節(jié)。但是長度必須為4B的整數(shù)倍

TCP標(biāo)記的作用:

5.3 可靠傳輸?shù)幕驹?/h3>

基本原理:

  • 不可靠傳輸信道在數(shù)據(jù)傳輸中可能發(fā)生的情況:比特差錯(cuò)、亂序、重傳、丟失
  • 基于不可靠信道實(shí)現(xiàn)可靠數(shù)據(jù)傳輸采取的措施:

差錯(cuò)檢測:利用編碼實(shí)現(xiàn)數(shù)據(jù)包傳輸過程中的比特差錯(cuò)檢測 確認(rèn):接收方向發(fā)送方反饋接收狀態(tài) 重傳:發(fā)送方重新發(fā)送接收方?jīng)]有正確接收的數(shù)據(jù) 序號:確保數(shù)據(jù)按序提交 計(jì)時(shí)器:解決數(shù)據(jù)丟失問題;

停止等待協(xié)議:是最簡單的可靠傳輸協(xié)議,但是該協(xié)議對信道的利用率不高。

連續(xù)ARQ(Automatic Repeat reQuest:自動(dòng)重傳請求)協(xié)議:滑動(dòng)窗口+累計(jì)確認(rèn),大幅提高了信道的利用率。

5.3.1TCP協(xié)議的可靠傳輸

基于連續(xù)ARQ協(xié)議,在某些情況下,重傳的效率并不高,會(huì)重復(fù)傳輸部分已經(jīng)成功接收的字節(jié)。

5.3.2 TCP協(xié)議的流量控制

流量控制:讓發(fā)送方發(fā)送速率不要太快,TCP協(xié)議使用滑動(dòng)窗口實(shí)現(xiàn)流量控制。

5.4 TCP協(xié)議的擁塞控制

擁塞控制與流量控制的區(qū)別:流量控制考慮點(diǎn)對點(diǎn)的通信量的控制,而擁塞控制考慮整個(gè)網(wǎng)絡(luò),是全局性的考慮。擁塞控制的方法:慢啟動(dòng)算法+擁塞避免算法。

慢開始和擁塞避免:

  1. 【慢開始】擁塞窗口從1指數(shù)增長;
  2. 到達(dá)閾值時(shí)進(jìn)入【擁塞避免】,變成+1增長;
  3. 【超時(shí)】,閾值變?yōu)楫?dāng)前cwnd的一半(不能<2);
  4. 再從【慢開始】,擁塞窗口從1指數(shù)增長。

快重傳和快恢復(fù):

  1. 發(fā)送方連續(xù)收到3個(gè)冗余ACK,執(zhí)行【快重傳】,不必等計(jì)時(shí)器超時(shí);
  2. 執(zhí)行【快恢復(fù)】,閾值變?yōu)楫?dāng)前cwnd的一半(不能<2),并從此新的ssthresh點(diǎn)進(jìn)入【擁塞避免】。

5.5 TCP連接的三次握手(重要)

TCP三次握手使用指令:

面試常客:為什么需要三次握手?

  1. 第一次握手:客戶發(fā)送請求,此時(shí)服務(wù)器知道客戶能發(fā);
  2. 第二次握手:服務(wù)器發(fā)送確認(rèn),此時(shí)客戶知道服務(wù)器能發(fā)能收;
  3. 第三次握手:客戶發(fā)送確認(rèn),此時(shí)服務(wù)器知道客戶能收。

建立連接(三次握手):

第一次:客戶向服務(wù)器發(fā)送連接請求段,建立連接請求控制段(SYN=1),表示傳輸?shù)膱?bào)文段的第一個(gè)數(shù)據(jù)字節(jié)的序列號是x,此序列號代表整個(gè)報(bào)文段的序號(seq=x);客戶端進(jìn)入 SYN_SEND (同步發(fā)送狀態(tài));

第二次:服務(wù)器發(fā)回確認(rèn)報(bào)文段,同意建立新連接的確認(rèn)段(SYN=1),確認(rèn)序號字段有效(ACK=1),服務(wù)器告訴客戶端報(bào)文段序號是y(seq=y),表示服務(wù)器已經(jīng)收到客戶端序號為x的報(bào)文段,準(zhǔn)備接受客戶端序列號為x+1的報(bào)文段(ack_seq=x+1);服務(wù)器由LISTEN進(jìn)入SYN_RCVD (同步收到狀態(tài));

第三次:客戶對服務(wù)器的同一連接進(jìn)行確認(rèn).確認(rèn)序號字段有效(ACK=1),客戶此次的報(bào)文段的序列號是x+1(seq=x+1),客戶期望接受服務(wù)器序列號為y+1的報(bào)文段(ack_seq=y+1);當(dāng)客戶發(fā)送ack時(shí),客戶端進(jìn)入ESTABLISHED 狀態(tài);當(dāng)服務(wù)收到客戶發(fā)送的ack后,也進(jìn)入ESTABLISHED狀態(tài);第三次握手可攜帶數(shù)據(jù);

5.6 TCP連接的四次揮手(重要)

釋放連接(四次揮手)

第一次:客戶向服務(wù)器發(fā)送釋放連接報(bào)文段,發(fā)送端數(shù)據(jù)發(fā)送完畢,請求釋放連接(FIN=1),傳輸?shù)牡谝粋€(gè)數(shù)據(jù)字節(jié)的序號是x(seq=x);客戶端狀態(tài)由ESTABLISHED進(jìn)入FIN_WAIT_1(終止等待1狀態(tài));

第二次:服務(wù)器向客戶發(fā)送確認(rèn)段,確認(rèn)字號段有效(ACK=1),服務(wù)器傳輸?shù)臄?shù)據(jù)序號是y(seq=y),服務(wù)器期望接收客戶數(shù)據(jù)序號為x+1(ack_seq=x+1);服務(wù)器狀態(tài)由ESTABLISHED進(jìn)入CLOSE_WAIT(關(guān)閉等待);客戶端收到ACK段后,由FIN_WAIT_1進(jìn)入FIN_WAIT_2;

第三次:服務(wù)器向客戶發(fā)送釋放連接報(bào)文段,請求釋放連接(FIN=1),確認(rèn)字號段有效(ACK=1),表示服務(wù)器期望接收客戶數(shù)據(jù)序號為x+1(ack_seq=x+1);表示自己傳輸?shù)牡谝粋€(gè)字節(jié)序號是y+1(seq=y+1);服務(wù)器狀態(tài)由CLOSE_WAIT 進(jìn)入 LAST_ACK (最后確認(rèn)狀態(tài));

第四次:客戶向服務(wù)器發(fā)送確認(rèn)段,確認(rèn)字號段有效(ACK=1),表示客戶傳輸?shù)臄?shù)據(jù)序號是x+1(seq=x+1),表示客戶期望接收服務(wù)器數(shù)據(jù)序號為y+1+1(ack_seq=y+1+1);客戶端狀態(tài)由FIN_WAIT_2進(jìn)入TIME_WAIT,等待2MSL時(shí)間,進(jìn)入CLOSED狀態(tài);服務(wù)器在收到最后一次ACK后,由LAST_ACK進(jìn)入CLOSED;

為什么需要等待2MSL?

  1. 最后一個(gè)報(bào)文沒有確認(rèn);
  2. 確保發(fā)送方的ACK可以到達(dá)接收方;
  3. 2MSL時(shí)間內(nèi)沒有收到,則接收方會(huì)重發(fā);
  4. 確保當(dāng)前連接的所有報(bào)文都已經(jīng)過期。

六、應(yīng)用層

為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問網(wǎng)絡(luò)服務(wù)的接口。應(yīng)用層重點(diǎn):

  1. 數(shù)據(jù)傳輸基本單位為報(bào)文;
  2. 包含的主要協(xié)議:FTP(文件傳送協(xié)議)、Telnet(遠(yuǎn)程登錄協(xié)議)、DNS(域名解析協(xié)議)、SMTP(郵件傳送協(xié)議),POP3協(xié)議(郵局協(xié)議),HTTP協(xié)議(Hyper Text Transfer Protocol)。

6.1 DNS詳解

DNS(Domain Name System:域名系統(tǒng))【C/S,UDP,端口53】:解決IP地址復(fù)雜難以記憶的問題,存儲(chǔ)并完成自己所管轄范圍內(nèi)主機(jī)的 域名 到 IP 地址的映射。

域名解析的順序:

  • 【1】瀏覽器緩存,
  • 【2】找本機(jī)的hosts文件,
  • 【3】路由緩存,
  • 【4】找DNS服務(wù)器(本地域名、頂級域名、根域名)->迭代解析、遞歸查詢。
  1. IP—>DNS服務(wù)—>便于記憶的域名
  2. 域名由點(diǎn)、字母和數(shù)字組成,分為頂級域(com,cn,net,gov,org)、二級域(baidu,taobao,qq,alibaba)、三級域(www)(12-2-0852)

6.2 DHCP協(xié)議詳解

DHCP(Dynamic Configuration Protocol:動(dòng)態(tài)主機(jī)設(shè)置協(xié)議):是一個(gè)局域網(wǎng)協(xié)議,是應(yīng)用UDP協(xié)議的應(yīng)用層協(xié)議。作用:為臨時(shí)接入局域網(wǎng)的用戶自動(dòng)分配IP地址。

6.3 HTTP協(xié)議詳解

文件傳輸協(xié)議(FTP):控制連接(端口21):傳輸控制信息(連接、傳輸請求),以7位ASCII碼的格式。整個(gè)會(huì)話期間一直打開。

HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)【TCP,端口80】:是可靠的數(shù)據(jù)傳輸協(xié)議,瀏覽器向服務(wù)器發(fā)收報(bào)文前,先建立TCP連接,HTTP使用TCP連接方式(HTTP自身無連接)。

HTTP請求報(bào)文方式:

  1. GET:請求指定的頁面信息,并返回實(shí)體主體;
  2. POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請求;
  3. DELETE:請求服務(wù)器刪除指定的頁面;
  4. HEAD:請求讀取URL標(biāo)識的信息的首部,只返回報(bào)文頭;
  5. OPETION:請求一些選項(xiàng)的信息;
  6. PUT:在指明的URL下存儲(chǔ)一個(gè)文檔。

6.3.1 HTTP工作的結(jié)構(gòu)

6.3.2 HTTPS協(xié)議詳解

HTTPS(Secure)是安全的HTTP協(xié)議,端口號443?;贖TTP協(xié)議,通過SSL或TLS提供加密處理數(shù)據(jù)、驗(yàn)證對方身份以及數(shù)據(jù)完整性保護(hù)。

鏈接