傳輸層的TCP和UDP

2021-10-13 07:25:12 字數 2189 閱讀 9150

tcp(transmission control protocol)傳輸控制協議

udp(user datagram protocol)使用者資料報協議

tcp協議

■tcp是面向連線的,可靠的程序到程序通訊的協議

■tcp提供全雙工服務,即資料可在同一時間雙向傳輸

tcp是面向連線的,可靠的程序到程序通訊的協議,tcp提供全雙工服務,即資料可在同一時間雙向傳輸,每乙個tcp都有傳送快取和接收快取,用來臨時儲存資料。

udp協議

●無連線、不可靠的傳輸協議

●花費的開銷小

udp協議是無連線,不保證可靠性的傳輸層協議。傳送端不關心傳送的資料是否到達目標主機,資料是否出錯等,收到資料的主機也不會告訴傳送方是否接收到了資料,它的可靠性由上層協議來保障。傳輸資料更快,效率更高。

面向連線網路協議,是指通訊雙方之間在進行通訊之前要先建立連線。比如打**,雙方通話前需要先建立連線。

tcp報文段

●tcp將若干個位元組構成乙個分組,叫報文段

●tcp報文段封裝在ip資料報中

源埠號:傳送方程序的埠號。

目標埠號:接收端程序的埠號。接收端收到資料段後,根據這個埠號來確定把資料送給哪個應用程式的程序。

序號:傳送端將每個位元組進行編號,便於接收方正確重組。

當tcp從程序接收資料位元組時,把它們分片成資料段儲存在傳送快取中,並對每乙個位元組進行編號。當資料達到目的地後,接收端會按照這個序號把資料重新排列,保證資料正確。

確認號:對傳送方的確認訊息。

接收端響應訊息的時候會用它來告訴傳送端這個序號的資料段都已經收到,如果確認號是x,就是表示前x-1個資料段都已收到。

首部長度:用來表示tcp資料報頭長度,一般20位元組,但是首部長度最多可以擴大到60位元組(根據選項來擴充套件)。

控制位

urg: 緊急位。緊急指標有效位,配合緊急指標使用。

ack: 確認位。當ack=1時,確認序列號字段才有效,為0時,無效。

psh: 急迫位。標誌位為1時,要求接收方盡快將資料段送達應用層。

rst:重置位。當rst值為1時,通知重新建立tcp連線。

syn:同步(連線)位。同步序號位,tcp需要建立連線時將這個值設為1。

fin: 斷開位。當tcp完成資料傳輸需要斷開連線時,提出斷開連線的一方將這個值設為1。

校驗和:用來做差錯控制。字段檢驗的範圍包括首部和資料這兩部分。資料段在傳送時和到達目的地時會進行校驗和計算,若值不一致,會認為該資料被破壞,接收端將丟棄該資料。

緊急指標:和urg配合使用,當urg=1時有效。

選項:在tcp首部可以有多達40位元組的可選資訊。例如,最大報文段長度mss(maximum segment size)。mss告訴對方tcp:我的快取所能接收的報文段的資料字段最大是mss個位元組。

tcp握手協議 :

1.傳送syn報文(seq=x,syn=1)

2.傳送syn+ack報文(seq=y,ack=x+1,syn=1,ack=1)

3.傳送ack報文(seq=x+1,ack=y+1,ack=1)

tcp斷開協議 :

1.傳送fin/ack(fin=1,ack=1)

2.傳送ack報文(ack=1)

3.傳送fin/ack報文(fin=1,ack=1)

4.傳送ack報文(ack=1)

傳輸層協議TCP和UDP

tcp tcp允許乙個主機同時執行多個應用程序。每台主機可以擁有多個應用 埠,每對埠號 源和目標ip位址的組合唯一地標識了乙個會話。端 口分為知名埠和動態埠。有些網路服務會使用固定的埠,這類端 口稱為知名埠,埠號範圍為0 1023。如ftp http telnet snmp服務均使用知名埠。動態埠號...

傳輸層協議UDP和TCP

udp tcpudp是無連線的 udp提供不可靠服務 udp同時支援點到點和多點通訊 udp是面向報文的 udp首部8個位元組 tcp是面向連線的 tcp提供可靠服務 tcp只能進行點到點通訊 tcp是面向位元組流的 tcp首部20個位元組 連線建立 三次握手 注意 tcp報文首部syn和fin置位...

傳輸層協議TCP和UDP

本文力圖簡潔,讓讀者對tcp和udp有個初步的認知。閒話少說,現在開始吧。tcp和udp都是傳輸層的協議。tcp通過三次握手建立可靠連線,對未送達的訊息重新進行傳送。udp不建立連線而直接傳送,對未送達的訊息不管不顧,因而是不可靠的。三次握手 三次握手是發生在建立連線的時候,大致過程是這樣的。首先由...