日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(*长期更新)软考网络工程师学习笔记——Section 8 传输层

發(fā)布時(shí)間:2024/2/28 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (*长期更新)软考网络工程师学习笔记——Section 8 传输层 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 一、傳輸層的基本協(xié)議
  • 二、面向連接服務(wù)和無連接服務(wù)
  • 三、TCP
    • (一)TCP的基本概念
    • (二)TCP的三種機(jī)制
    • (三)TCP的報(bào)文首部格式
    • (四)TCP三次握手
    • (五)TCP釋放連接
  • 四、UDP
    • (一)UDP的基本概念
    • (二)UDP首部結(jié)構(gòu)
    • (三)協(xié)議端口號(hào)
      • 1、系統(tǒng)端口
      • 2、登記端口
      • 3、客戶端使用端口
  • 結(jié)語

一、傳輸層的基本協(xié)議

傳輸層依靠的基本協(xié)議是TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議),傳輸層的相關(guān)知識(shí)由這兩部分協(xié)議展開。

二、面向連接服務(wù)和無連接服務(wù)

面向連接服務(wù),分為三步:建立連接、使用連接和釋放連接,即首先要建立一條通信線路,然后在正式傳輸數(shù)據(jù)時(shí),數(shù)據(jù)分組就不再需要攜帶目的地址,可靠性高,但它相比無連接服務(wù)其效率低,例如TCP協(xié)議。
無連接服務(wù),由系統(tǒng)選定路線進(jìn)行傳輸,收發(fā)方只有在傳輸數(shù)據(jù)時(shí)才處于激活狀態(tài),其下層資源動(dòng)態(tài)分配,相比面向連接服務(wù),它更加靈活、通信比較迅速且開銷小,但可靠性低,不能防止報(bào)文出錯(cuò),例如IP協(xié)議、UDP協(xié)議。

三、TCP

(一)TCP的基本概念

TCP是一種可靠的、面向連接服務(wù)的字節(jié)流服務(wù),源主機(jī)在傳輸數(shù)據(jù)時(shí)要先與目標(biāo)主機(jī)建立連接,然后被編號(hào)的數(shù)據(jù)段按順序進(jìn)行收發(fā),且同時(shí)對每個(gè)數(shù)據(jù)段進(jìn)行確認(rèn),從而保證了可靠性,若沒有收到確認(rèn)則會(huì)再次發(fā)送。

(二)TCP的三種機(jī)制

TCP是建立在無連接服務(wù)的IP基礎(chǔ)上,通過三種機(jī)制實(shí)現(xiàn)面向連接服務(wù):
1、使用序號(hào)對數(shù)據(jù)報(bào)標(biāo)記,便于接收服務(wù)向高層傳遞數(shù)據(jù)之前調(diào)整錯(cuò)序的數(shù)據(jù)報(bào)。
2、通過使用確認(rèn)、校驗(yàn)和定時(shí)器系統(tǒng)提供可靠性。
3、使用窗口機(jī)制調(diào)整數(shù)據(jù)流量,即可變大小的滑動(dòng)窗口協(xié)議減小接收方緩沖區(qū)滿而造成丟失數(shù)據(jù)報(bào)文的可能性,從而實(shí)現(xiàn)流量控制。

(三)TCP的報(bào)文首部格式

TCP的報(bào)文首部格式有以下:

1、源端口
字段長度為16位,用于標(biāo)識(shí)源端和目標(biāo)端的應(yīng)用進(jìn)程,端口號(hào)取值范圍為0-65535。
2、序列號(hào)
又稱為報(bào)文段序號(hào),字段長度為32位。
3、確認(rèn)號(hào)
字段長度為32位,即對方下一個(gè)報(bào)文段的第一個(gè)數(shù)據(jù)字段的序號(hào)。
4、報(bào)頭長度
又稱為數(shù)據(jù)偏移字段,字段長度為4位,單位32位,沒有選項(xiàng)字段的TCP頭部長度為20字節(jié),最多可以有60字節(jié)的TCP頭部長度。
5、保留字段
字段長度為6位,通常設(shè)置為0。
6、標(biāo)記
當(dāng)請求方發(fā)出同步SYN連接請求后,等待對方回答同步SYN、確認(rèn)ACK,這樣防止建立錯(cuò)誤的連接。
(1)緊急URG:緊急有效,需要盡快傳送;
(2)確認(rèn)ACK:建立連接后的報(bào)文回應(yīng),ACK置1;
(3)推送PSH:接收方應(yīng)將該報(bào)文盡快交給上層協(xié)議,無需等待緩存滿;
(4)復(fù)位RST:重新連接;
(5)同步SYN:發(fā)起連接,即當(dāng)TCP實(shí)體要建立連接時(shí),其段頭中的SYN標(biāo)志置1;
(6)終止FIN:釋放連接。
7、窗口大小
字段長度為16位,該字段用于進(jìn)行流量控制(通過可變大小的滑動(dòng)窗口協(xié)議),作為接收方讓發(fā)送方設(shè)置其發(fā)送窗口的依據(jù),該值為期望下一次接收的字節(jié)數(shù)。
8、校驗(yàn)和
字段長度為16位,對整個(gè)TCP報(bào)文段進(jìn)行校驗(yàn)和計(jì)算,并由目標(biāo)端進(jìn)行驗(yàn)證。
9、緊急指針
字段長度為16位,它是一個(gè)偏移量,和序號(hào)字段中的值相加表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號(hào)。
10、選項(xiàng)
字段長度可變,可變至40字節(jié),為保證報(bào)文長度是32位的倍數(shù),因此還需要填充0。

(四)TCP三次握手

TCP協(xié)議使用三次握手機(jī)制建立連接,其目的是使數(shù)據(jù)段的發(fā)送和接收同步,同時(shí)也向其它主機(jī)表明其一次可接收的數(shù)據(jù)量(窗口大小)并建立邏輯連接,雙方通信前源主機(jī)和目標(biāo)主機(jī)都處于CLOSED狀態(tài)。
1、第一次握手
源主機(jī)發(fā)送一個(gè)SYN=1的TCP數(shù)據(jù)段,同時(shí)標(biāo)明初始序號(hào)ISN,ISN是一個(gè)隨時(shí)間變化的隨機(jī)值,即SYN=1,SEQ=x,源主機(jī)進(jìn)入SYN-SENT狀態(tài)。
2、第二次握手
目標(biāo)主機(jī)收到SYN包后,發(fā)回確認(rèn)數(shù)據(jù)報(bào)文,即ACK=1,同時(shí)確認(rèn)序號(hào)字段,表明目標(biāo)主機(jī)期待收源主機(jī)下一個(gè)數(shù)據(jù)段的序號(hào),即ACK=x+1。
數(shù)據(jù)段中另外設(shè)置SYN=1,并包含目標(biāo)主機(jī)的段初始序號(hào)y,即ACK=1,確認(rèn)序號(hào)ACK=x+1,SYN=1,自身序號(hào)SEQ=y,此時(shí)目標(biāo)主機(jī)進(jìn)入SYN-RCVD狀態(tài),源主機(jī)進(jìn)入ESTABLISHED狀態(tài)。
3、第三次握手
源主機(jī)再回送一個(gè)確認(rèn)數(shù)據(jù)段,同樣帶有遞增的發(fā)送序號(hào)和確認(rèn)序號(hào),即ACK=1,確認(rèn)序號(hào)ACK=y+1,自身序號(hào)SEQ+1。經(jīng)過三次握手后,源主機(jī)就可以與目標(biāo)主機(jī)互相收發(fā)數(shù)據(jù)。

(五)TCP釋放連接

TCP釋放連接分為四步,此時(shí)源主機(jī)和目標(biāo)主機(jī)都處于ESTABLISHED狀態(tài)。
1、第一步
源主機(jī)發(fā)送一個(gè)釋放報(bào)文,FIN=1,自身序號(hào)SEQ=x,源主機(jī)進(jìn)入FIN-WAIT狀態(tài)。
2、第二步
目標(biāo)主機(jī)接收到報(bào)文后發(fā)送確認(rèn)報(bào)文,即ACK=1,確認(rèn)序號(hào)ACK=x+1,自身序號(hào)SEQ=y,目標(biāo)主機(jī)進(jìn)入CLOSE-WAIT狀態(tài),此時(shí)TCP連接處于半關(guān)閉狀態(tài),源主機(jī)已經(jīng)停止發(fā)送數(shù)據(jù),但目標(biāo)主機(jī)仍可發(fā)送數(shù)據(jù)。源主機(jī)在接收到ACK報(bào)文后等待目標(biāo)主機(jī)發(fā)出FIN報(bào)文。
3、第三步
目標(biāo)主機(jī)確認(rèn)沒有數(shù)據(jù)后,發(fā)出釋放報(bào)文,即FIN=1,ACK=1,確認(rèn)序號(hào)ACK=x+1,自身序號(hào)SEQ=z,此時(shí)目標(biāo)主機(jī)進(jìn)入LAST-ACK狀態(tài)。
4、第四步
源主機(jī)接收到釋放報(bào)文后,對目標(biāo)主機(jī)發(fā)送確認(rèn)報(bào)文,即ACK=1,確認(rèn)序號(hào)ACK=z+1,自身序號(hào)SEQ=x+1,等待一段時(shí)間確定確認(rèn)報(bào)文到達(dá)后,源主機(jī)進(jìn)入CLOSED狀態(tài),目標(biāo)主機(jī)在接收到確認(rèn)報(bào)文后,也進(jìn)入CLOSED狀態(tài)。

四、UDP

(一)UDP的基本概念

用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是一種不可靠的、無連接服務(wù)的數(shù)據(jù)報(bào)服務(wù),它在IP層之上提供了端口尋址能力,數(shù)據(jù)附加源端口號(hào)和目標(biāo)端口號(hào)等UDP報(bào)頭字段后,直接發(fā)往目的主機(jī),在傳送數(shù)據(jù)較少且較小的情況下,UDP比TCP顯得更加高效。

(二)UDP首部結(jié)構(gòu)

UDP的首部格式有以下:

1、源端口號(hào)
字段長度為16位,與TCP中的端口號(hào)字段作用相同,用于標(biāo)識(shí)源端的應(yīng)用進(jìn)程,在需給對方回信時(shí)用,不需要時(shí)為0。
2、目標(biāo)端口號(hào)
字段長度為16位,與TCP中的端口號(hào)字段作用相同,用于標(biāo)識(shí)目標(biāo)端的應(yīng)用進(jìn)程,在需目標(biāo)交付報(bào)文時(shí)用到。
3、長度字
字段長度為16位,用于標(biāo)明UDP頭部和UDP數(shù)據(jù)的總長度字節(jié)。
4、校驗(yàn)和
該字段為可選項(xiàng),長度為16位,用于校驗(yàn)UDP頭部和UDP數(shù)據(jù),有錯(cuò)時(shí)就丟棄。

(三)協(xié)議端口號(hào)

協(xié)議端口號(hào)是用于標(biāo)識(shí)目標(biāo)主機(jī)進(jìn)程的方法,TCP/IP協(xié)議中使用16位的端口號(hào)來標(biāo)識(shí)端口,即端口號(hào)的取值為0-65535。
協(xié)議端口號(hào)可分為系統(tǒng)端口、登記端口和客戶端使用端口三種。

1、系統(tǒng)端口

常用的系統(tǒng)端口協(xié)議號(hào)有以下:

協(xié)議號(hào)英文名稱用途
20FTP-DATAFTP數(shù)據(jù)傳輸
21FTPFTP控制
22SSHSSH登錄
23telnet遠(yuǎn)程登錄
25SMTP簡單郵件傳輸協(xié)議
53DNS域名解析
67DHCPDHCP服務(wù)器開啟,用于監(jiān)聽和接收客戶請求信息
68DHCP客戶端開啟,用于接收DHCP服務(wù)器的消息回復(fù)
69TFTP簡單FTP
80HTTP超文本傳輸
110POP3郵局協(xié)議
143IMAP交互式郵件存取協(xié)議
161SNMP簡單網(wǎng)管協(xié)議
162SNMP(trap)SNMP Trap報(bào)文
443HTTPS加密的超文本傳輸服務(wù)

2、登記端口

該端口是為沒有熟知端口號(hào)的應(yīng)用程序使用的,端口號(hào)范圍為1024-49151。

3、客戶端使用端口

該端口在客戶端進(jìn)程運(yùn)行時(shí)動(dòng)態(tài)使用,使用完后,進(jìn)程會(huì)釋放端口,端口號(hào)范圍為49152-65535。

結(jié)語

記錄一下,這是2021年的最后一篇文章,希望2022新的一年,大家事業(yè)沖沖沖!!!

總結(jié)

以上是生活随笔為你收集整理的(*长期更新)软考网络工程师学习笔记——Section 8 传输层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。