衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TCPIP協議運輸層的詳細資料說明

Wildesbeast ? 來源:今日頭條 ? 作者:錢塘客小民 ? 2020-02-24 16:04 ? 次閱讀

運輸層向它上面的應用層提供通信服務. 兩個主機進行通信就是兩個主機中的應用進程互相通信. 從運輸層的角度看,通信的真正端點并不是主機而是主機的進程.運輸層提供應用進程間的邏輯通信. 運輸層之間的通信好像是沿水平方向傳輸數據.但事實上這兩個運輸層之間并沒有一條水平方向的物理連接.要傳送的數據是沿著圖中的虛線向(經過多個層次)傳送的.

5.1 運輸層協議概述

5.1.1 進程之間的通信

網絡層是為了主機之間提供邏輯通信,而運輸層為應用進程之間提供端到端的邏輯通信.

運輸層向高層用戶屏蔽了下面網絡核心的細節,它使應用進程看見的就是好像在兩個運輸層實體之間有一條端到端的邏輯通信信道.

當運輸層采用面向連接的TCP協議時,盡管下面的網絡是不可靠的,但這種邏輯通信信道就相當于一條全雙工的可信信道.

采用UDP協議時,這種邏輯通信信道仍然是一條不可靠信道.

5.1.2 運輸層的兩個主要協議.

UDP(User Datagram Protocol)[RFC 768]

TCP(Transmission Control Protocol)[RFC793] UDP在傳送數據之間不需要先建立連接. TCP 提供面向連接的服務.

5.1.3 運輸層的端口.

通過端口解決通信的目的地.雖然通信的終點是應用進程,但我們只要把要傳送的報文交到目的主機的某一個合適的目的端口,剩下的工作(即最后交付給目的進程)就由TCP來完成.在協議棧層間的抽象的協議端口是軟件端口,軟件端口是應用層的各種協議進程與運輸試題進行層間交換的一種地址. 端口號只具有本地意義.

5.2 UDP

5.2.1 UDP概述

無連接

盡最大努力交付.

面向報文.

沒有擁塞控制.

支持1對1,1對n,n-1和n-n交互通信.

首部開銷小. 只有8個字節.

5.2.2 UDP的首部格式

源端口

目的端口

長度

校驗和

5.3 TCP

5.3.1 TCP最主要的特點 TCP 是TCP/IP體系中非常復雜的一個協議.

面向連接的運輸層協議.也就是說,應用程序在使用TCP協議之前,必須先建立TCP連接.在傳送數據完畢后,必須釋放已經建立的TCP連接.

每一條TCP連接只能有兩個端點(endpoint),每一條TCP連接只能是點對點.

TCP提供可靠交付的服務.

TCP提供全雙工通信.TCP允許通信雙方的應用進程在任何時候都能發送數據.TCP連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據.在發送時,應用程序在把數據傳送給TCP的緩存后,就可以做自己的事,而TCP在合適的時候吧數據發送出去.在接受時,TCP把收到的數據放在緩存,上層的應用進程在合適的時候讀取緩存中的數據.

面向字節流. TCP中的流(stream指的是流入到進程或從進程流出的字節序列. 雖然應用程序和TCP的交互是一次一個數據塊(大小不等),但TCP把應用程序叫下來的數據看成僅僅是一連串的無結構的字節流. TCP并不知道所傳送的字節流的含義.TCP不保證接收方應用程序鎖收到的數據塊和發送方應用程序所發出的數據塊具有對應大小的關系(例如,發送方應用程序交給發送方的TCP供10個數據塊,但接收方的TCP可能只用了4個數據塊就把收到的字節流交付給了上層的應用程序).但接收方應用程序收到的字節流必須和發送方應用程序發送的字節流完全一樣.當然接收方的應用程序必須有能力識別收到的字節流,把它還原成有意義的應用層數據.

5.3.2 TCP的連接

TCP把連接作為最基本的抽象. 每一條TCP連接有兩個端點. TCP 連接的端點叫做套接字(socket)或者插口. 根據RFC793的定義:端口號拼接到(conatenated with)IP地址即構成了套接字.

5.4 可靠傳輸的工作原理

理想的傳輸條件有以下兩個特點:

傳輸信道不產生差錯.

不管發送方以多快的速度發送數據,接收方總是來得及處理收到的數據. 在以上理想傳輸條件下,不需要采取任何措施就能夠實現可靠傳輸

5.4.1 停止等待協議

無差錯情況.

出現差錯情況.

確認丟失和確認遲到

信道利用率

5.4.1 連續ARQ協議

滑動窗口協議比較復雜,是TCP協議的精髓所在.

5.5 TCP報文段的首部格式.

TCP雖然是面向字節流的,但TCP傳送的數據單元確實報文段.一個TCP報文段分為首部和數據兩個部分.

首部不頂部分個字段的意義

源端口和目的端口

序號

確認號

數據便宜

保留

緊急URG

確認ACK

推送PSH

復位RST

同步SYN

終止FIN

窗口

校驗和

緊急指針

選項

5.6 TCP可靠傳輸的實現

5.6.1 以字節為單位的滑動窗口

5.6.2 超時重傳時間的選擇

TCP采用自適應算法,記錄一個報文段發出的時間,以及受到相應的確認的時間.這兩個時間之差就是報文段的往返時間RTT.TCP保留了RTT的一個加權平均往返時間RTTs.

5.6.3選擇確認SACK

5.7TCP的流量控制

5.7.1 利用滑動窗口實現流量控制.

流量控制(flow control)就是讓發送方的發送速率不要太快,要讓接收方來得及接受. 發送方的發送窗口不能超過接收方給出的接受窗口的數值.

5.9TCP的運輸連接管理

連接建立,數據傳送 連接釋放. TCP連接建立過程中要解決以下三個問題:

要使每一方能夠確知對方的存在.

要允許雙方協商一些參數(如最大窗口值,是否使用窗口擴大選項和時間戳選項及服務質量等)

能夠對運輸實體資源(如緩存大小,連接表中的項目等)進行分配. TCP連接的建立采用客戶服務器方式.主動發起連接建立的應用進程叫做客戶(client).而被動等待連接建立的應用進程叫做服務器(server).

5.9.1 TCP連接的建立

為什么A還要發送一次確認呢,這主要是為了防止已失效的連接請求報文段突然又傳送到了B,而產生錯誤. A發出的第一個連接請求報文沒有丟失,滯留在網絡上,延誤到連接釋放以后的某個時間才到達B.本來這個是早已失效的報文段.但是B收到此失效的連接請求報文段后,就誤認為是A有發出一次新的連接請求.于是就向A發出確認報文段,同意建立連接.假定不采用三次握手,那么只要B發出確認,新的連接就建立了. 由于現在A并沒有發出建立連接的請求,因此不會理財B的確認.也不會向B發送數據.但是B卻以為新的運輸連接已經建立了,并一直等待A發送數據.B的許多資源就這樣白白浪費的.

5.9.2TCP的連接釋放

數據傳輸結束后,通信的雙方都可釋放連接.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IP
    IP
    +關注

    關注

    5

    文章

    1718

    瀏覽量

    149965
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1378

    瀏覽量

    79302
  • UDP
    UDP
    +關注

    關注

    0

    文章

    327

    瀏覽量

    34043
收藏 人收藏

    評論

    相關推薦

    TCP運輸協議的超時重傳原理實現

    1、TCP運輸協議的超時重傳原理是什么tcp是一種面向連接的可靠的運輸協議,在TCP/IP
    發表于 04-14 16:17

    CAD電氣制圖的詳細資料說明

    本文檔的主要內容詳細介紹的是CAD電氣制圖的詳細資料說明
    發表于 02-18 08:00 ?42次下載
    CAD電氣制圖的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    ADC和DAC的設計經驗詳細資料說明

    本文檔的主要內容詳細介紹的是ADC和DAC的設計經驗詳細資料說明
    發表于 03-12 08:00 ?31次下載
    ADC和DAC的設計經驗<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    51單片機中IIC協議詳細資料說明

    本文檔的主要內容詳細介紹的是51單片機中IIC協議詳細資料說明
    發表于 06-26 17:43 ?7次下載
    51單片機中IIC<b class='flag-5'>協議</b>的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    電機驅動的詳細資料說明

    本文檔的主要內容詳細介紹的是電機驅動的詳細資料說明
    發表于 05-06 11:42 ?37次下載
    電機驅動的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    使用LabVIEW設計掃雷游戲的詳細資料說明

    本文檔的主要內容詳細介紹的是使用LabVIEW設計掃雷游戲的詳細資料說明免費下載。
    發表于 05-21 08:00 ?61次下載
    使用LabVIEW設計掃雷游戲的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    LTE基本原理和關鍵技術的詳細資料說明

    本文檔的主要內容詳細介紹的是LTE基本原理和關鍵技術的詳細資料說明包括了:1.LTE關鍵技術,2.LTE物理簡介,3. LTE協議棧介紹,
    發表于 07-08 08:00 ?19次下載

    如何使用GPRS模塊發送數據的詳細資料說明

      本文檔的主要內容詳細介紹的是如何使用GPRS模塊發送數據的詳細資料說明包括了:Kingcom_G系列TCPIP應用流程指 ,模塊開機建議初始化流程
    發表于 11-29 18:19 ?11次下載

    電工口訣的詳細資料說明

    本文檔的主要內容詳細介紹的是電工口訣的詳細資料說明
    發表于 12-12 08:00 ?0次下載
    電工口訣的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    AD快捷鍵的詳細資料說明

    本文檔的主要內容詳細介紹的是AD快捷鍵的詳細資料說明
    發表于 03-17 08:00 ?0次下載

    WIFI模塊通過TCP協議發送HTTP的詳細資料說明

    本文檔的主要內容詳細介紹的是WIFI模塊通過TCP協議發送HTTP的詳細資料說明
    發表于 08-14 10:45 ?42次下載

    數字信號處理的詳細詳細資料說明

    本文檔的主要內容詳細介紹的是數字信號處理的詳細詳細資料說明
    發表于 03-04 08:00 ?0次下載
    數字信號處理的<b class='flag-5'>詳細</b>的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    電網距離保護的詳細資料說明

    本文檔的主要內容詳細介紹的是電網距離保護的詳細資料說明
    發表于 04-10 08:00 ?2次下載
    電網距離保護的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    LabVIEW的程序實例詳細資料說明

    本文檔的主要內容詳細介紹的是LabVIEW的程序實例詳細資料說明
    發表于 02-05 14:05 ?145次下載
    LabVIEW的程序實例<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    Bluetooth藍牙的詳細資料說明

    本文檔的主要內容詳細介紹的是Bluetooth藍牙的詳細資料說明
    發表于 02-26 11:14 ?26次下載
    百家乐发牌盒子| 百家乐官网押注方法| 太阳城百家乐官网下载网址| 百家乐官网园会员注册| 百家乐官网投注综合分析法| 百家乐官网博乐36bol在线| 十六浦百家乐官网的玩法技巧和规则| 金牌百家乐官网的玩法技巧和规则| 百家乐摇色子网站| OG百家乐大转轮| 大发888博彩论坛贴吧| 大发8888娱乐场下载| 棋牌真钱游戏| 百家乐官网秘诀| 百家乐视频多开| 威尼斯人娱乐城 活动| 云博娱乐城官网注册| 电子百家乐官网博彩正网| 巴黎人百家乐官网的玩法技巧和规则| 蓝盾百家乐赌场| 大发888官网游| 百家乐官网娱乐城地址| 金杯百家乐官网的玩法技巧和规则| 赌百家乐大小点桌| 德州扑克保险| 澳门百家乐官网怎么看小路| 百家乐长龙有几个| 百家乐不锈钢| 远安县| 百家乐官网最佳打| 百家乐最新首存优惠| 大发888手机版下载官方网站| 百家乐官网庄闲客户端| 百家乐玩法与规则| 大发888游戏平台hgdafa888gw | 百家乐官网如何破解| 属龙人与属虎人做生意| 大发888官方网| 百家乐官网也能赢钱么| 百家乐单机游戏免费| 皇冠现金网哪个最好|