❶ 網路層的傳輸單位到底是(數據包)還是(分組,包)
datagram是網路層中傳輸的單元;
packet 是封裝的基本單元還有RIP應該是應用層的 ;
因為在網路傳輸中,報文是具有完整意義的二進制數據整體;報文在傳輸層被拆分成較小的可傳輸的數據單元,並添加頭部,形成包,到達網路層後再次被添加頭部形成新的包。
這樣做的目的是,當數據經過網路節點時,在這里添加目的地址與源地址,包在到達數據鏈路層後被封裝成幀,最後才是物理層的比特,所以C才是對的,分別是包、幀、比特的單位;因為這是層層分割,層層傳遞的一個關系。
(1)傳輸層數據包有哪些擴展閱讀;
數據包的結構非常復雜,不是三言兩語能夠說清的,在這里主要了解一下它的關鍵構成就可以了,這對於理解TCP/IP協議的通信原理是非常重要的。數據包主要由「目的IP地址」、「源IP地址」、「凈載數據」等部分構成,包括包頭和包體,包頭是固定長度,包體的長度不定,各欄位長度固定,雙方的請求數據包和應答數據包的包頭結構是一致的,不同的是包體的定義。
❷ 在網路各個層中的數據包的名稱分別是什麼
數據幀、數據包、數據報以及數據段
OSI參考模型的各層傳輸的數據和控制信息具有多種格式,常用的信息格式包括幀、數據包、數據報、段、消息、元素和數據單元。
信息交換發生在對等OSI層之間,在源端機中每一層把控制信息附加到數據中,而目的機器的每一層則對接收到的信息進行分析,並從數據中移去控制信息,下面是各信息單元的說明:
數據幀(Frame):是一種信息單位,它的起始點和目的點都是數據鏈路層。
數據包(Packet):也是一種信息單位,它的起始和目的地是網路層。
數據報(Datagram):通常是指起始點和目的地都使用無連接網路服務的的網路層的信息單元。
段(Segment):通常是指起始點和目的地都是傳輸層的信息單元。
消息(message):是指起始點和目的地都在網路層以上(經常在應用層)的信息單元。
元素(cell)是一種固定長度的信息,它的起始點和目的地都是數據鏈路層。
元素通常用於非同步傳輸模式(ATM)和交換多兆位數據服務(SMDS)網路等交換環境。
數據單元(data
unit)指許多信息單元。常用的數據單元有服務數據單元(SDU)、協議數據單元(PDU)。
SDU是在同一機器上的兩層之間傳送信息。PDU是發送機器上每層的信息發送到接收機器上的相應層(同等層間交流用的)。
Packet(數據包):封裝的基本單元,它穿越網路層和數據鏈路層的分解面。通常一個Packet映射成一個Frame,但也有例外:即當數據鏈路層執行拆分或將幾個Packet合成一個Frame的時候。
數據鏈路層的PDU叫做Frame(幀);
網路層的PDU叫做Packet(數據包);
TCP的叫做Segment(數據段);
UDP的叫做Datagram。(數據報)——在網路層中的傳輸單元(例如IP)。一個Datagram可能被封裝成一個或幾個Packets,在數據鏈路層中傳輸
幀和數據包都是數據的傳輸形式。幀,工作在二層,數據鏈路層傳輸的是數據幀,包含數據包,並且增加相應MAC地址與二層信息;數據包,工作在三層,網路層傳輸的是數據包,包含數據報文,並且增加傳輸使用的IP地址等三層信息。
❸ 傳輸層(TCP,UDP)
tcp是一個面向連接,可靠的位元組流傳輸協議, TCP不提供廣播和多播,一般用於文件傳輸,收發郵件,遠程登錄等場景。
1、第一個4位元組:
(1)源埠,16位;發送數據的源進程埠
(2)目的埠,16位;接收數據的進程埠
2、第二個4位元組與第三個4位元組
(1)序號,32位;代表 當前TCP數據段第一個位元組占整個位元組流的相對位置 ;
(2)確認號,32位;代表接收端 希望接收的數據序號 ,為上次接收到數據報的序號+1,當ACK標志位為1時才生效。
3、第四個4位元組:
(1)數據偏移,4位;實際代表TCP首部長度,最大為60位元組。
(2)6個標志位,每個標志位1位;
SYN,為同步標志,用於數據同步;
ACK,為確認序號,ACK=1時確認號才有效;
FIN,為結束序號,用於發送端提出斷開連接;
URG,為緊急序號,URG=1是緊急指針有效;
PSH,指示接收方立即將數據提交給應用層,而不是等待緩沖區滿;
RST,重置連接。
(3)滑動窗口值,16位;標識接收方可接受的數據位元組數。
4、第五個4位元組
(1)校驗和,16位;用於檢驗數據完整性。
(2)緊急指針,16位;只有當URG標識位為1時,緊急指針才有效。緊急指針的值與序號的相加值為緊急數據的最後一個位元組位置。用於發送緊急數據。
參考: https://blog.csdn.net/qq_39584315/article/details/79387811
udp是一個無連接不可靠的數據報傳輸協議,一般用於即使通信,直播,視頻等形式。
校驗和
Ip校驗是針對ip頭部的,即僅校驗ip頭部。 TCP首部校驗和計算三部分:TCP首部+TCP數據+TCP偽首部。tcp校驗需要將ip偽首部、tcp報文頭、tcp數據分為16位的字,然後進行累加按位取反。Udp校驗與tcp校驗基本上是一致的。
偽首部
偽首部共有12位元組,包含IP首部的一些欄位,有如下信息:32位源IP地址、32位目的IP地址、8位保留位元組(置0)、8位傳輸層協議號(TCP是6,UDP是17)、16位報文長度(首部+數據)。
偽首部是為了增加校驗和的檢錯能力:通過偽首部的目的IP地址來檢查TCP報文是否收錯了、通過偽首部的傳輸層協議號來檢查傳輸層協議是否選對了。 雖然IP首部的校驗和會校驗IP,但數據包經過中間器件(路由器)的時候,這些中間器件可能會修改IP首部的內容,例如同時修改目的IP和IP首部校驗和。這樣一來將導致錯誤的接收方接收到該數據包。因此在TCP的偽首部加上IP地址,可以防止錯收報文。
為什麼是三次握手不是四次或兩次
可以按一下思路回答:
首先介紹tcp連接的特性:面向連接的可靠地位元組流傳輸協議。然後介紹tcp中的序列號和確認號(保證可靠和tcp分段傳輸)。然後介紹握手的目的:1.客戶端和服務端確認連接可通,自己能發出去對方能收到,對方能發出去,自己能收到。2.協商一個傳輸的初始序列號
為什麼不是四次:
伺服器的syn和ack可以整合到一次,提高效率。
為什麼不是兩次:
如果只有兩次,伺服器沒有收到客戶端的ack,伺服器無法知道伺服器到客戶端的傳輸是否可靠。2.客戶端和伺服器沒有就伺服器的初始序列號達成一致。
參考: https://www.hu.com/question/24853633
有幾個細節需要注意:
1、與SYN報文一樣,FIN報文段即使不攜帶數據,也要消耗一個序號。
2.當客戶端發送fin,服務端回復ack後,tcp連接處於半關閉狀態,即客戶端已經沒有數據要發送了,但是伺服器若發送數據,客戶端依然要接受。正是因為有半關閉狀態,不需要客戶端和伺服器同時斷開,因此才會有四次揮手。
3.當伺服器發出fin,只要收到了客戶端的ack,就進入CLOSED狀態,關閉tcp連接。而客戶端回復ack後,必須經過2*MSL(最長報文段壽命)的時間後,才會關閉tcp連接。
為什麼客戶端最後還要等待2MSL?
保證客戶端發送的最後一個ACK報文能夠到達伺服器,因為這個ACK報文可能丟失,站在伺服器的角度看來,我已經發送了FIN+ACK報文請求斷開了,客戶端還沒有給我回應,應該是我發送的請求斷開報文它沒有收到,於是伺服器又會重新發送一次,而客戶端就能在這個2MSL時間段內收到這個重傳的報文,接著給出回應報文,並且會重啟2MSL計時器。
分組可以發生在運輸層和網路層,運輸層中的TCP會分段,網路層中的IP會分片。IP層的分片更多的是為運輸層的UDP服務的,由於TCP自己會避免IP的分片,所以使用TCP傳輸在IP層都不會發生分片的現象。IP數據報分片後,只有第一片帶有UDP首部或ICMP首部,其餘的分片只有IP頭部,到了端點後根據IP頭部中的信息再網路層進行重組。而TCP報文段的每個分段中都有TCP首部,到了端點後根據TCP首部的信息在傳輸層進行重組。
對IP分片的數據報來說,如果需要重傳,即使只丟失一片數據也要重新傳整個數據報,這是因為IP層本身沒有超時重傳機制。這也是為什麼tcp要避免ip分片的原因。
MTU(最大傳輸單元)
MTU是鏈路層中的網路對數據幀的一個限制,依然以乙太網為例,MTU為1500個位元組。一個IP數據報在乙太網中傳輸,如果它的長度大於該MTU值,就要進行分片傳輸,使得每片數據報的長度小於MTU。分片傳輸的IP數據報不一定按序到達,但IP首部中的信息能讓這些數據報片按序組裝。IP數據報的分片與重組是在網路層進完成的。
路徑MTU
如果兩台主機之間的通信要通過多個網路,那麼每個網路的鏈路層就可能有不同的MTU。重要的是兩台通信主機路徑中的最小MTU。它被稱作路徑MTU。兩台主機之間的路徑MTU不一定是個常數。它取決於當時所選擇的路由。而選路不一定是對稱的(從A到B的路由可能與從B到A的路由不同),因此路徑MTU在兩個方向上不一定是一致的。
MSS(最大分段大小)
MSS是TCP里的一個概念(首部的選項欄位中)。MSS是TCP數據包每次能夠傳輸的最大數據分段,TCP報文段的長度大於MSS時,要進行分段傳輸。TCP協議在建立連接的時候通常要協商雙方的MSS值,每一方都有用於通告它期望接收的MSS選項(MSS選項只出現在SYN報文段中,即TCP三次握手的前兩次)。MSS的值一般為MTU值減去兩個首部大小(需要減去IP數據包包頭的大小20Bytes和TCP數據段的包頭20Bytes)所以如果用鏈路層乙太網,MSS的值往往為1460。而Internet上標準的MTU(最小的MTU,鏈路層網路為x2.5時)為576,那麼如果不設置,則MSS的默認值就為536個位元組。很多時候,MSS的值最好取512的倍數。TCP報文段的分段與重組是在運輸層完成的。
TCP的四種擁塞控制演算法:
1.慢開始
2.擁塞控制
3.快重傳
4.快恢復
參考: https://blog.csdn.net/qq_41431406/article/details/97926927
滑動窗口協議解決的是流量控制的的問題,接收端的緩存傳輸數據給應用層,但這個過程不一定是即時的,如果發送速度太快,會出現接收端數據overflow,流量控制解決的是這個問題。
該協議允許發送方在停止並等待確認前發送多個數據分組。由於發送方不必每發一個分組就停下來等待確認,因此該協議可以加速數據的傳輸,提高網路吞吐量。
TCP會話的雙方都各自維護一個發送窗口和一個接收窗口。各自的接收窗口大小取決於應用、系統、硬體的限制(TCP傳輸速率不能大於應用的數據處理速率)。各自的發送窗口則要求取決於對端通告的接收窗口。
窗口的概念
發送方的發送緩存內的數據都可以被分為4類:
1. 已發送,已收到ACK
2. 已發送,未收到ACK
3. 未發送,但允許發送
4. 未發送,但不允許發送
其中類型2和3都屬於發送窗口。
接收方的緩存數據分為3類:
1. 已接收
2. 未接收但准備接收
3. 未接收而且不準備接收
其中類型2屬於接收窗口。
滑動機制
1.發送窗口只有收到發送窗口內位元組的ACK確認,才會移動發送窗口的左邊界。
2.接收窗口只有在前面所有的段都確認的情況下才會移動左邊界。當在前面還有位元組未接收但收到後面位元組的情況下,窗口不會移動,並不對後續位元組確認。以此確保對端會對這些數據重傳。
3.遵循快速重傳、累計確認、選擇確認等規則。
參考: https://blog.csdn.net/yao5hed/article/details/81046945
TCP中有四種計時器(Timer),分別為:
1.重傳計時器:Retransmission Timer
2.堅持計時器:Persistent Timer
3.保活計時器:Keeplive Timer
4.時間等待計時器:Timer_Wait Timer
(1)重傳計時器
當TCP發送報文段時,就創建該特定報文的重傳計時器。可能發生兩種情況:
1.若在計時器截止時間到之前收到了對此特定報文段的確認,則撤銷此計時器。
2.若在收到了對此特定報文段的確認之前計時器截止時間到,則重傳此報文段,並將計時器復位。
(2)持久計時器
當接收端緩存填滿時,由於滑動窗口演算法,發送端會停止發送數據,直到接收端發送一個宣布非0窗口的ack,但這個確認可能會丟失,導致發送方和接收方都等待對方發送消息。
因此TCP為每一個鏈接使用一個持久計時器。當發送房收到窗口大小為0的確認時,就啟動持久計時器。當持久計時器期限到時,發送方就發送一個探測報文。這個報文段只有一個位元組的數據,雖然他有一個序號,但他的序號永遠不需要確認。若發送探測報文後仍沒有收到從接收端來的響應,發送端會將堅持計時器設定的值加倍和復位,直到這個值增大到門限值(通常是60秒)為止。
(3)保活計時器
保活計時器用來防止在兩個TCP之間的連接出現長時間的空閑。伺服器設置保活計時器,每當伺服器收到客戶的信息,就將計時器復位。通常設置為兩小時。若伺服器過了兩小時還沒有收到客戶的信息,他就發送探測報文段。若發送了10個探測報文段(每一個像個75秒)還沒有響應,就假定客戶除了故障,因而就終止了該連接。
這種連接的斷開當然不會使用四次握手,而是直接硬性的中斷和客戶端的TCP連接。
(4)時間等待計時器
時間等待計時器是在四次握手的時候使用的。發送最後一個ack的一端要等待2MSL(MSL=maxinum segment lifetime最長報文生存時間,2MSL就是兩倍的MSL),確保另一端接受到了ack。
參考: https://www.cnblogs.com/an2/p/9180861.html
❹ 【網路協議筆記】第四層:傳輸層(Transport)TCP協議簡介(1)
TCP有以下幾個知識點。
圖片備用地址
圖片備用地址
TCP的幾個要點:可靠傳輸、流量控制、擁塞控制、連接管理(建立和釋放連接)。
也正因為這幾點使得首部變得很復雜。
佔4位,取值范圍是0x0101 ~ 0x1111。
乘以4就是首部長度(Header Length)。所以取值范圍是5 ~ 60位元組,由於首部固定部分佔用20位元組,所以可選部分至多佔用40位元組(和網路層首部一樣)。
為什麼叫數據偏移?因為相對TCP報文向右偏移首部長度後就是數據部分。
UDP的首部中有個16位的欄位記錄了整個UDP報文段的長度(首部 + 數據)。
但是,TCP的首部中僅僅有個4位的欄位記錄了TCP報文段的首部長度,並沒有欄位記錄TCP報文段的數據長度。
分析:UDP首部中佔16位的長度欄位是冗餘的,純粹是為了保證首部是32bit對齊。
TCP/UDP的數據長度,完全可以由IP數據包的首部推測出來,傳輸層的數據長度 = 網路層的總長度 - 網路層的首部長度 - 傳輸層的首部長度。
佔6位,目前全為0。
與UDP一樣,TCP檢驗和的計算內容:偽首部 + 首部 + 數據。偽首部佔用12位元組,僅在計算檢驗和時起作用,並不會傳遞給網路層。
圖片備用地址
一共佔6位或9位。
有些資料中,TCP首部的保留(Reserved)欄位佔3位,標志(Flags)欄位佔9位。Wireshark中也是如此。是因為標志位中的前3位是無用的,所以兩種說法都不能說是錯的。
圖片備用地址
圖片備用地址
意思:緊急。當URG=1時,緊急指針欄位才有效。表明當前報文段中有緊急數據,應優先盡快傳送。
緊急指針存放的是長度值,表示TCP的前多少位元組是需要緊急優先處理的。
意思:確認。當ACK=1時,確認號欄位才有效。
意思:推。一般用在互動式網路中。PUSH標志位所表達的是發送方通知接收方傳輸層應該盡快的將這個報文段交給應用層。
意思:重置。當RST=1時,表明連接中出現嚴重差錯,必須釋放連接,然後再重新建立連接。
意思:同步。當SYN=1 & ACK=0時,表明這是一個建立連接的請求。若對方同意建立連接,則回復SYN=1 & ACK=1。
請求方再發送SYN=0 & ACK=1時表明開始傳輸數據。這也是三次握手的流程。
意思:完成。表明數據已經發送完畢,要求釋放連接。
佔4位元組。首先,傳輸的每一個位元組都會有一個編號(連續的位元組編號也是連續的)。
在建立連接後,序號代表這一次傳給對方的TCP數據部分的第一個位元組的編號。
佔4位元組。在建立連接後,確認號代表期望對方下一次傳過來的TCP數據部分的第一個位元組的編號。
佔2位元組。這個欄位有流量控制功能,用以告知對方下一次允許發送的數據大小(位元組為單位)。
ARQ(Automatic Repeat-reQuest), 自動重傳請求。
圖片備用地址
無差錯情況
A發送數據M1到B,B收到數據M1後向A發送確認信號M1;
A收到確認信號M1後,繼續向B發送數據M2,B接收後向A發送確認信號M2。
超時重傳
A發送數據M1到B,A在發送數據途中丟包或B發現數據M1有錯誤直接丟掉,導致B無法向A發送確認信號M1;
A在一定時間間隔後發現沒有收到B發送的確認信號M1,A會繼續向B發送數據M1;
B收到數據M1後向A發送確認信號M1,A收到確認信號M1後,繼續向B發送M2數據。
通過確認與超時重傳機制實現可靠傳輸,在發送完一個分組後,必須暫時保留已發送的分組的副本。
分組和確認分組都必須進行編號。超時計時器的重傳時間應當比數據在分組傳輸的平均往返時間更長一些。
圖片備用地址
確認丟失
A發送數據M1到B,B接收到數據M1後,向A發送確認信號M1;
B在向A發送確認信號M1中途丟包,此時A在一定時間間隔後發現沒有收到B發送的確認信號M1,A會繼續向B發送數據M1;
B收到數據M1後會丟棄重復的數據M1(之前已經收到數據M1,只是A不知道),繼續向A發送確認信號M1;
A收到確認信號M1後,繼續開始發送M2數據。
確認遲到
A發送數據M1到B,B接收到數據M1後,向A發送確認信號M1;
B在向A發送確認信號M1時,由於網路延遲等原因導致A在一定時間段內未收到確認信號;
A會繼續向B發送數據M1,B收到數據M1後丟棄重復的數據M1,並向A發送確認信號M1;
A收到確認信號M1後,繼續開始發送M2數據,M2數據剛發送出去,此時A剛好接收到B在第一次發送的確認信號M1,
但由於之前已經成功接收並處理了第二次的確認信號M1,所以A在收到確認信號後什麼也不做。
出現差錯或丟失的時候,發送方會將自己備份的副本再重傳一次,直到收到接收的確認信息。
當接收方收到重復的數據時,會直接丟棄,但是會給發送方請確認自己已經收到了。
上面的停止等待協議每發送一組數據就必須等到接收方回復確認後,再發起第二組數據,如果出現超時重傳的話,效率更低。
因此為了提高傳輸的效率,改進了等待傳輸協議。
連續ARQ協議和滑動窗口協議的機制是以接收方回復確認為單位,每次連續發送一個滑動窗口指定的數據組。
圖片備用地址
A發送數據給B時,一次性發送M1~M4(A和B建立連接時,B告訴A自己的緩存池可以容納多少位元組數據,
A根據這個緩存池的大小構建一個同大小的發送窗口–也可以理解為發送緩存池),此時A開始等待確認,B收到全部數據後會向A發送確認信號M4(以最後一個編號為准);
A收到確認信號後,繼續向B發送M5 M8(A把之前構建的窗口滑動並鎖定到對應大小的數據段上,即M5 M8),以此往復直到數據傳輸完畢。
如果接收窗口最多能接收4個包(窗口大小),但發送方只發了2個包,接收方如何確定後面還有沒有2個包?
答案:接收方會在等待一定時間後發現沒有第3個包,就會返回收到2個包的確認信號給發送方。
滑動窗口是由發送方維護的類似指針的變數,在每收到一個接收方的確認消息後,
該指針向前移動並發送數據,到窗口指定大小的數據組時停下,等待接收方的確認。
圖片備用地址
累積確認機制: 發送方不對收到的分組逐個發送確認,而是對按序到達的最後一個分組發送確認,
這樣就表示:到這個分組為止的所有分組都已正確收到了。
優點:容易實現,即使確認丟失也不必重傳。
缺點:不能向發送方反映出接收方已經正確收到的所有分組的信息。
Go-back-N(回退 N): 為了解決上述同一窗口中數據組不能完整確認的問題,連續ARQ協議採用了回退機制。
比如說:發送方發送了前5個分組,而中間的第3個分組丟失了。這時接收方只能對前兩個分組發出確認。
發送方無法知道後面三個分組的下落,而只好把後面的三個分組都再重傳一次。這就叫做 Go-back-N(回退 N),表示需要再退回來重傳已發送過的N個分組。
結論:當通信線路質量不好時,連續ARQ協議會帶來負面的影響。可能還不如傳統的停止等待協議。
TCP連接的每一端都必須設有兩個窗口——一個發送窗口和一個接收窗口。
TCP的可靠傳輸機制用位元組的序號進行控制。TCP所有的確認都是基於序號而不是基於報文段。
TCP兩端的四個窗口經常處於動態變化之中。
TCP連接的往返時間RTT也不是固定不變的。需要使用特定的演算法估算較為合理的重傳時間。
滑動窗口是面向位元組流的,為了方便記住每個分組的序號,
現在假設有一個1200位元組的數據,分12組,每一組數據是100個位元組,代表一個數據段的數據(每一個數據都有自己的TCP首部),每一組給一個編號(1~12)。
圖片備用地址
圖片備用地址
TCP通信時,如果發送序列中間某個數據包丟失,TCP會通過重傳最後確認的分組後續的分組,這樣原先已經正確傳輸的分組也可能重復發送,降低了TCP性能。
SACK(Selective Acknowledgment,選擇確認)技術 ,使TCP只重新發送丟失的包,不用發送後續所有的分組,
而且提供相應機制使接收方能告訴發送方哪些數據丟失,哪些數據已經提前收到等。
在建立TCP連接時,就要在TCP首部的選項中加上「允許SACK」的選項,而雙方必須都事先商定好。
原來首部中的「確認號欄位」的用法仍然不變。只是以後在TCP報文段的首部中都增加了SACK選項,以便報告收到的不連續的位元組塊的邊界。
圖片備用地址
Kind:佔1個位元組,值為5代表這是SACK選項。
Length:佔1個位元組,表明SACK選項一共佔用多少位元組。
Left Edge:佔4個位元組,左邊界。
Right Edge:佔4個位元組,右邊界。
圖片備用地址
上圖的著色模塊代表已接收數據,空白代表未接收數據。左右邊界意思是會把未接收完畢的TCP數據包的已接收數據進行左右標記。
由於TCP的選項不能超過40個位元組,去除Kind和Length佔用的2個位元組,還剩下38個位元組給左右邊界使用。
一組邊界佔用8個位元組(左右邊界各佔4個位元組),所以邊界不能超過4組。也能夠因此推斷出SACK選項的最大佔用位元組數是4 * 8 + 2 = 34。
思考:超過選項邊界的數據怎麼辦?
超過邊界的數據需要重新傳輸,但這已經很大程度提高了傳輸效率。
重傳機制是TCP中最重要和最復雜的問題之一。TCP每發送一個報文段,就對這個報文段設置一次計時器。
只要計時器設置的重傳時間到但還沒有收到確認,就要重傳這一報文段。那麼這個重傳時間到底應該設置多少呢?建議跳過,有興趣的可以去查閱相關資料。
圖片備用地址
為什麼選擇在傳輸層就將數據分割成多個段,而不是等到網路層再分片傳遞給數據鏈路層?
-->網路層沒有可靠傳輸協議,丟包無法只發送一個報文段,所以需要分割成多個段。
如果在傳輸層不分段,一旦出現數據丟失,整個傳輸層的數據都得重傳
如果在傳輸層分段了,一旦出現數據丟失,只需要重傳丟失的那些段即可
歡迎大家的意見和交流
email: [email protected]
❺ 簡要說明TCP/IP參考模型五個層次的名稱,各層的傳輸格式和使用的設備是什麼
TCP/IP參考模型是ARPANET及其後繼的網際網路使用的參考模型。其將協議分為:網路接入層、網際互連層、傳輸層以及應用層。
1.應用層:對應OSI參考模型的上層,為用戶提供所需的各種服務,如FTP,Telnet,DNS,SMTP等。
2.傳輸層:傳輸層對應於OSI參考模型的傳輸層,為應用層實體提供端到端通信功能,確保數據包的順序傳輸和數據的完整性。該層定義了兩個主要協議:傳輸控制協議(TCP)和用戶數據報協議(UDP)。
TCP協議提供可靠的,面向連接的數據傳輸服務;而UDP協議提供不可靠的無連接數據傳輸服務。
3.互聯網互聯層:互聯網互聯層對應OSI參考模型的網路層,主要解決從主機到主機的通信問題。它包含通過網路邏輯傳輸的協議設計數據包。重點是重新給主機一個IP地址來完成主機的定址,它還負責在各種網路中路由數據包。
該層有三個主要協議:Internet協議(IP),Internet組管理協議(IGMP)和Internet控制消息協議(ICMP)。 IP協議是Internetworking層中最重要的協議。它提供可靠的無連接數據報傳送服務。
4.網路接入層:網路接入層(即主機 - 網路層)對應於OSI參考模型中的物理層和數據鏈路層。它負責監視主機和網路之間的數據交換。
實際上,TCP / IP本身並沒有定義該層的協議,但參與互連的每個網路都使用自己的物理層和數據鏈路層協議,然後與TCP / IP的網路接入層連接。地址解析協議(ARP)在此層(OSI參考模型的數據鏈路層)上工作。
(5)傳輸層數據包有哪些擴展閱讀:
OSI參考模型與TCP/IP參考模型的異同點:
1. OSI參考模型和TCP / IP參考模型都使用分層結構,但OSI使用的七層模型和TCP / IP是四層結構。
2. TCP / IP參考模型的網路介面層實際上沒有真正的定義,但是是概念性描述。 OSI參考模型不僅分為兩層,而且每層的功能都非常詳細。即使在數據鏈路層,也分離媒體訪問子層以解決區域網中共享媒體的問題。
3. TCP / IP的網路互連層等同於OSI參考模型的網路層中的無連接網路服務。
4. OSI參考模型基本上類似於TCP / IP參考模型的傳輸層功能。它負責為用戶提供真正的端到端通信服務,並且還從高層屏蔽底層網路的實現細節。
不同之處在於TCP / IP參考模型的傳輸層基於網路互連層,網路互連層僅提供無連接網路服務,因此面向連接的功能完全在TCP協議中實現,當然, TCP / IP的傳輸層還提供UDP等無連接服務;
相反,OSI參考模型的傳輸層基於網路層,它提供面向連接和無連接的服務,但傳輸層僅提供面向連接的服務。
5.在TCP / IP參考模型中,沒有會話層和表示層。事實證明,這兩層的功能可以完全包含在應用層中。
6. OSI參考模型具有高抽象能力,適用於描述各種網路。 TCP / IP是首先開發TCP / IP模型的協議。
7. OSI參考模型的概念明顯不同,但它過於復雜;雖然TCP / IP參考模型在服務,介面和協議之間的區別中不清楚,但功能描述和實現細節是混合的。
8. TCP / IP參考模型的網路介面層不是真實層; OSI參考模型的缺點是層數太多,劃分意義不大但增加了復雜性。
9.盡管OSI參考模型是樂觀的,但由於缺乏時間安排,該技術尚不成熟且難以實施;相反,雖然TCP / IP參考模型有許多令人不滿意的地方,但它非常成功。