传输层的TCP和UDP
傳輸層的TCP和UDP
- TCP和UDP協(xié)議
- TCP報(bào)文段
- TCP的三次握手
- TCP的四次斷開
- TCP的常用端口號(hào)及其功能
- UDP的常用端口號(hào)及其功能
TCP和UDP協(xié)議
TCP(Transmission Control Protocol)傳輸控制協(xié)議
UDP(User Datagram Protocol)用戶數(shù)據(jù)報(bào)協(xié)議
TCP協(xié)議
■TCP是面向連接的,可靠的進(jìn)程到進(jìn)程通信的協(xié)議
■TCP提供全雙工服務(wù),即數(shù)據(jù)可在同一時(shí)間雙向傳輸
TCP是面向連接的,可靠的進(jìn)程到進(jìn)程通信的協(xié)議,TCP提供全雙工服務(wù),即數(shù)據(jù)可在同一時(shí)間雙向傳輸,每一個(gè)TCP都有發(fā)送緩存和接收緩存,用來臨時(shí)存儲(chǔ)數(shù)據(jù)。
UDP協(xié)議
●無連接、不可靠的傳輸協(xié)議
●花費(fèi)的開銷小
UDP協(xié)議是無連接,不保證可靠性的傳輸層協(xié)議。發(fā)送端不關(guān)心發(fā)送的數(shù)據(jù)是否到達(dá)目標(biāo)主機(jī),數(shù)據(jù)是否出錯(cuò)等,收到數(shù)據(jù)的主機(jī)也不會(huì)告訴發(fā)送方是否接收到了數(shù)據(jù),它的可靠性由上層協(xié)議來保障。傳輸數(shù)據(jù)更快,效率更高。
面向連接網(wǎng)絡(luò)協(xié)議,是指通信雙方之間在進(jìn)行通信之前要先建立連接。比如打電話,雙方通話前需要先建立連接。
無連接網(wǎng)絡(luò)協(xié)議,是指通信雙方不需要事先建立一條通信線路,而是把每個(gè)帶有目的地址的包送到網(wǎng)絡(luò)線路上,有系統(tǒng)自主選定路線進(jìn)行傳輸。比如qq,微信發(fā)送信息。
TCP報(bào)文段
TCP報(bào)文段
●TCP將若干個(gè)字節(jié)構(gòu)成一個(gè)分組,叫報(bào)文段
●TCP報(bào)文段封裝在IP數(shù)據(jù)報(bào)中
源端口號(hào):發(fā)送方進(jìn)程的端口號(hào)。
目標(biāo)端口號(hào):接收端進(jìn)程的端口號(hào)。接收端收到數(shù)據(jù)段后,根據(jù)這個(gè)端口號(hào)來確定把數(shù)據(jù)送給哪個(gè)應(yīng)用程序的進(jìn)程。
序號(hào):發(fā)送端將每個(gè)字節(jié)進(jìn)行編號(hào),便于接收方正確重組。
當(dāng)TCP從進(jìn)程接收數(shù)據(jù)字節(jié)時(shí),把它們分片成數(shù)據(jù)段存儲(chǔ)在發(fā)送緩存中,并對(duì)每一個(gè)字節(jié)進(jìn)行編號(hào)。當(dāng)數(shù)據(jù)達(dá)到目的地后,接收端會(huì)按照這個(gè)序號(hào)把數(shù)據(jù)重新排列,保證數(shù)據(jù)正確。
確認(rèn)號(hào):對(duì)發(fā)送方的確認(rèn)消息。
接收端響應(yīng)消息的時(shí)候會(huì)用它來告訴發(fā)送端這個(gè)序號(hào)的數(shù)據(jù)段都已經(jīng)收到,如果確認(rèn)號(hào)是X,就是表示前X-1個(gè)數(shù)據(jù)段都已收到。
首部長度:用來表示TCP數(shù)據(jù)包頭長度,一般20字節(jié),但是首部長度最多可以擴(kuò)大到60字節(jié)(根據(jù)選項(xiàng)來擴(kuò)展)。
控制位:
URG: 緊急位。緊急指針有效位,配合緊急指針使用。
ACK: 確認(rèn)位。當(dāng)ACK=1時(shí),確認(rèn)序列號(hào)字段才有效,為0時(shí),無效。
PSH: 急迫位。標(biāo)志位為1時(shí),要求接收方盡快將數(shù)據(jù)段送達(dá)應(yīng)用層。
RST:重置位。當(dāng)RST值為1時(shí),通知重新建立TCP連接。
SYN:同步(連接)位。同步序號(hào)位,TCP需要建立連接時(shí)將這個(gè)值設(shè)為1。
FIN: 斷開位。當(dāng)TCP完成數(shù)據(jù)傳輸需要斷開連接時(shí),提出斷開連接的一方將這個(gè)值設(shè)為1。
窗口大小:說明本地可接受數(shù)據(jù)段的數(shù)目。這個(gè)值的大小是可變的,當(dāng)網(wǎng)絡(luò)通暢時(shí)接收端響應(yīng)消息會(huì)將這個(gè)窗口值變大以加快傳輸速度,當(dāng)網(wǎng)絡(luò)不穩(wěn)定時(shí)減小這個(gè)值可保證網(wǎng)絡(luò)數(shù)據(jù)的可靠傳輸,TCP中的流量控制就是依靠變化窗口大小來實(shí)現(xiàn)的。比如下載速度從一開始的幾KB逐漸升到幾MB的過程。控制網(wǎng)速用的。
校驗(yàn)和:用來做差錯(cuò)控制。字段檢驗(yàn)的范圍包括首部和數(shù)據(jù)這兩部分。數(shù)據(jù)段在發(fā)送時(shí)和到達(dá)目的地時(shí)會(huì)進(jìn)行校驗(yàn)和計(jì)算,若值不一致,會(huì)認(rèn)為該數(shù)據(jù)被破壞,接收端將丟棄該數(shù)據(jù)。
緊急指針:和URG配合使用,當(dāng)URG=1時(shí)有效。
選項(xiàng):在TCP首部可以有多達(dá)40字節(jié)的可選信息。例如,最大報(bào)文段長度MSS(Maximum Segment Size)。MSS告訴對(duì)方TCP:我的緩存所能接收的報(bào)文段的數(shù)據(jù)字段最大是MSS個(gè)字節(jié)。
TCP的三次握手
TCP握手協(xié)議 :
1.發(fā)送SYN報(bào)文(seq=x,SYN=1)
2.發(fā)送SYN+ACK報(bào)文(seq=y,ACK=x+1,SYN=1,ACK=1)
3.發(fā)送ACK報(bào)文(seq=x+1,ACK=y+1,ACK=1)
TCP的四次斷開
TCP斷開協(xié)議 :
1.發(fā)送FIN/ACK(FIN=1,ACK=1)
2.發(fā)送ACK報(bào)文(ACK=1)
3.發(fā)送FIN/ACK報(bào)文(FIN=1,ACK=1)
4.發(fā)送ACK報(bào)文(ACK=1)
TCP的常用端口號(hào)及其功能
UDP的常用端口號(hào)及其功能
總結(jié)
以上是生活随笔為你收集整理的传输层的TCP和UDP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显卡elpida内存:游戏新世界的秘密武
- 下一篇: VRRP——虚拟路由器冗余协议