思科CCNA認(rèn)證學(xué)習(xí)筆記(二)圖解TCP的三次握手四次斷開

本文實(shí)例講述了思科CCNA認(rèn)證TCP的三次握手四次斷開。分享給大家供大家參考,具體如下:
學(xué)習(xí)OSI參考模型的傳輸層時(shí),了解 TCP(傳輸控制協(xié)議)是面向連接的可靠傳輸協(xié)議,UDP( 用戶數(shù)據(jù)報(bào)文協(xié)議)是非面向連接的不可靠傳輸協(xié)議,當(dāng)然兩者各有優(yōu)缺點(diǎn),比如學(xué)生上課這個(gè)活動(dòng),TCP協(xié)議相當(dāng)于面授,UDP協(xié)議相當(dāng)于遠(yuǎn)程授課、網(wǎng)上授課,面授的好處學(xué)生聽不懂直接告訴老師,老師再講一遍,直到學(xué)生聽懂,這種學(xué)習(xí)方法很可靠。而遠(yuǎn)程授課學(xué)生和老師不方便溝通,學(xué)生有問(wèn)題發(fā)過(guò)去了,老師卻沒(méi)看見,學(xué)習(xí)方式不可靠,但是講課的花費(fèi)的時(shí)間比面授少一些。
那么在網(wǎng)絡(luò)中如何讓實(shí)現(xiàn)這種可靠的傳輸呢?必定是有一個(gè)種面向可靠連接的機(jī)制——三次握手 四次斷開
TCP報(bào)頭
在了解三次握手和四次揮手之前,先知道TCP報(bào)頭里包含了哪些東西。
1、TCP報(bào)頭中的源端口號(hào)和目的端口號(hào)同IP數(shù)據(jù)報(bào)中的源IP與目的IP唯一確定一條TCP連接。TCP在發(fā)送數(shù)據(jù)前必須在彼此間建立連接,這里連接意思是:雙方需要內(nèi)保存對(duì)方信息
2、報(bào)文主要段的意思
- 序號(hào):表示發(fā)送的數(shù)據(jù)字節(jié)流,確保TCP傳輸有序,對(duì)每個(gè)字節(jié)編號(hào)
- 確認(rèn)序號(hào):發(fā)送方期待接收的下一序列號(hào),接收成功后的數(shù)據(jù)字節(jié)序列號(hào)加 1。只有ACK=1時(shí)才有效。
- ACK:確認(rèn)序號(hào)的標(biāo)志,ACK=1表示確認(rèn)號(hào)有效,ACK=0表示報(bào)文不含確認(rèn)序號(hào)信息
- SYN:連接請(qǐng)求序號(hào)標(biāo)志,用于建立連接,SYN=1表示請(qǐng)求連接
- FIN:結(jié)束標(biāo)志,用于釋放連接,為1表示關(guān)閉本方數(shù)據(jù)流
三次握手
所謂三次握手(Three-Way Handshake)即建立TCP連接,就是指建立一個(gè)TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送3個(gè)包以確認(rèn)連接的建立。如圖:
注:其中SYN 同步序列號(hào)請(qǐng)求、seq 序列號(hào)——記錄發(fā)送的次數(shù)、ctl 狀態(tài)
過(guò)程圖解:
- 連接開始時(shí),連接建立方(Client)發(fā)送SYN包,并包含了自己的初始序號(hào)a;
- 連接接受方(Server)收到SYN包以后會(huì)回復(fù)一個(gè)SYN包,其中包含了對(duì)上一個(gè)a包的回應(yīng)信息ACK,回應(yīng)的序號(hào)為下一個(gè)希望收到包的序號(hào),即a+1,然后還包含了自己的初始序號(hào)b;
- 連接建立方(Client)收到回應(yīng)的SYN包以后,回復(fù)一個(gè)ACK包做響應(yīng),其中包含了下一個(gè)希望收到包的序號(hào)即b+1。
四次斷開
所謂四次斷開(Four-Way Wavehand)即終止TCP連接,就是指斷開一個(gè)TCP連接時(shí),需要客戶端和服務(wù)端總共發(fā)送4個(gè)包以確認(rèn)連接的斷開。如圖:
過(guò)程圖解:
- 首先進(jìn)行關(guān)閉的一方(即發(fā)送第一個(gè)FIN)將執(zhí)行主動(dòng)關(guān)閉,而另一方(收到這個(gè)FIN)執(zhí)行被動(dòng)關(guān)閉。
- 當(dāng)服務(wù)器收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)。
- 同時(shí)TCP服務(wù)器還向應(yīng)用程序(即丟棄服務(wù)器)傳送一個(gè)文件結(jié)束符。接著這個(gè)服務(wù)器程序就關(guān)閉它的連接,導(dǎo)致它的TCP端發(fā)送一個(gè)FIN。
- 客戶必須發(fā)回一個(gè)確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1。
為什么建立連接是三次握手,而關(guān)閉連接卻是四次揮手呢?
這是因?yàn)榉?wù)端在LISTEN狀態(tài)下,收到建立連接請(qǐng)求的SYN報(bào)文后,把ACK和SYN放在一個(gè)報(bào)文里發(fā)送給客戶端。而關(guān)閉連接時(shí),當(dāng)收到對(duì)方的FIN報(bào)文時(shí),僅僅表示對(duì)方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù),己方也未必全部數(shù)據(jù)都發(fā)送給對(duì)方了,己方是否現(xiàn)在關(guān)閉發(fā)送數(shù)據(jù)通道,需要上層應(yīng)用來(lái)決定,因此,己方 ACK 和 FIN 一般都會(huì)分開發(fā)送。
相關(guān)文章
思科CCNA認(rèn)證學(xué)習(xí)筆記(一)網(wǎng)絡(luò)基礎(chǔ)知識(shí)
這篇文章主要介紹了思科CCNA認(rèn)證網(wǎng)絡(luò)基礎(chǔ)知識(shí),包括網(wǎng)絡(luò)基礎(chǔ)概念、交換機(jī)與路由器基本功能、OSI模型原理等,需要的朋友可以參考下2020-02-05CCNA認(rèn)證考試思科Cisco交換機(jī)配置基本命令小結(jié)
這篇文章主要介紹了CCNA認(rèn)證考試思科Cisco交換機(jī)配置基本命令,整理總結(jié)了CCNA認(rèn)證考試中思科交換機(jī)VLAN、網(wǎng)關(guān)、vtp、Telnet等各種配置、查看、保存相關(guān)操作技巧與注意事項(xiàng),2020-02-02CCNA認(rèn)證考試學(xué)習(xí)筆記之思科(Cisco)路由器常用命令總結(jié)
這篇文章主要介紹了CCNA認(rèn)證考試學(xué)習(xí)筆記之思科(Cisco)路由器常用命令,整理總結(jié)了CCNA認(rèn)證考試思科Cisco路由器配置、設(shè)置、靜態(tài)路由、動(dòng)態(tài)路由、訪問(wèn)控制列表等常用命令及2020-02-02思科網(wǎng)絡(luò)技術(shù)學(xué)院教程 CCNA1 網(wǎng)絡(luò)基礎(chǔ) CCNA認(rèn)證必備知識(shí) PDF清晰掃描版
本書是思科網(wǎng)絡(luò)技術(shù)學(xué)院第2學(xué)期的配套書面教程,對(duì)于學(xué)習(xí)網(wǎng)絡(luò)和考取思科認(rèn)證的朋友們來(lái)講是一本非常好的書.2012-05-25CCNA認(rèn)證考試學(xué)習(xí)筆記之EIGRP增強(qiáng)型內(nèi)部網(wǎng)關(guān)路由協(xié)議詳解
這篇文章主要介紹了CCNA認(rèn)證考試學(xué)習(xí)筆記之EIGRP增強(qiáng)型內(nèi)部網(wǎng)關(guān)路由協(xié)議,詳細(xì)記錄了思科CCNA認(rèn)證考試中EIGRP增強(qiáng)型內(nèi)部網(wǎng)關(guān)路由協(xié)議的具體概念、功能、組成、配置方法與相2020-02-01CCNA認(rèn)證指南(640-802)(崔北亮) 中文PDF版 86.1MB
本書是專為備考思科CCNA認(rèn)證的人員量身定做的沖刺指南。全書緊貼640-802考試大綱,全面而系統(tǒng)地分析和介紹了CCNA考試中涵蓋的各個(gè)知識(shí)點(diǎn)。對(duì)每個(gè)知識(shí)點(diǎn)在考試中的重要程度2016-10-19CCNA學(xué)習(xí)指南路由和交換認(rèn)證 中文PDF版 193MB
本書旨在幫助考生全面掌握考試內(nèi)容;本書通過(guò)大量示例、動(dòng)手實(shí)驗(yàn)、書面試驗(yàn)、真實(shí)場(chǎng)景分析,全面介紹了互聯(lián)網(wǎng)和TCP/IP等的背景知識(shí)、子網(wǎng)劃分、VLSM、思科IOS、命令行界面2016-10-18CCNA基礎(chǔ)教程:給出IP算子網(wǎng) 中文PDF版
本文檔主要講述的是CCNA基礎(chǔ)教程:給出IP算子網(wǎng);希望對(duì)大家會(huì)有幫助;感興趣的朋友可以過(guò)來(lái)看看2016-10-19- 本文檔主要講述的是CCNA 安全筆記;希望對(duì)大家會(huì)有幫助;感興趣的朋友可以過(guò)來(lái)看看2016-10-19
CCNA 實(shí)驗(yàn)手冊(cè)之Packet_Tracer使用教程 中文PDF版
Packet Tracer是Cisco公司針對(duì)CCNA認(rèn)證開發(fā)的一個(gè)用來(lái)設(shè)計(jì)、配置和故障排除網(wǎng)絡(luò)的模擬軟件。Packer Tracer模擬器軟件比Boson功能強(qiáng)大,比Dynamips操作簡(jiǎn)單,非常適合網(wǎng)絡(luò)設(shè)2016-10-16