1. 程式人生 > >計算機網路第5章 運輸層(上)

計算機網路第5章 運輸層(上)

《計算機網路(第七版)-謝希仁》 第5章 運輸層(上)

運輸層協議的特點,程序之間的通訊和埠等概念,UDP協議和TCP協議等相關基礎概念。

運輸層協議的概述

程序之間的通訊

運輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是使用者功能中的最低層。

從運輸層的角度看,通訊的真正端點並不是主機而是主機中的程序。也就是說,端到端的通訊是應用程序之間的通訊。

運輸層有一個很重要的功能:複用(multiplexing)分用(demultiplexing)

網路層為主機之間提供邏輯通訊,而運輸層為應用程序之間提供端到端的邏輯通訊。運輸層還要對收到的報文進行差錯檢測

運輸層的兩個主要協議

  • 使用者資料報協議 UDP (User Datagram Protocol)
  • 傳輸控制協議 TCP (Transmission Control Protocol)

兩個對等運輸實體在通訊時傳送的資料單位叫做運輸協議資料單元 TPDU (Transport Protocol Data Unit)。但在TCP/IP體系中,則根據所使用的協議是TCP或 UDP,分別稱之為TCP報文段(segment)或UDP使用者資料報

UDP在傳送資料之前不需要先建立連線。遠地主機的運輸層在收到UDP報文後,不需要給出任何確認。雖然UDP不提供可靠交付,但在某些情況下UDP卻是一種最有效的工作方式。

TCP則提供面向連線的服務。在傳送資料之前必須先建立連線,資料傳送結束後要釋放連線。由於TCP要提供可靠的、面向連線的運輸服務,因此不可避免地增加了許多的開銷,這不僅使協議資料單元的首部增大很多,還要佔用許多的處理機資源。

應用層協議

運輸層的埠

複用:應用層所有的應用程序都可以通過運輸層再傳送到IP層(網路層)

分用:運輸層從IP層收到傳送給各應用程序的資料後,必須分別交付指明的各應用程序

運輸層使用協議埠號(protocol port number),或通常簡稱為埠(port)軟體埠

  1. 伺服器端使用的埠號

    • 熟知埠號(well-known port number) 或系統埠號,數值為 0 〜 1023

常用埠號

  • 登記埠號,數值為1024〜49151

    1. 客戶端使用的埠號

數值為49152〜65535,僅在客戶程序執行時才動態選擇,因此又叫做短暫埠號。

使用者資料報協議UPD

UDP 概述

  • UDP是無連線的,即傳送資料之前不需要建立連線
  • UDP使用盡最大努力交付,即不保證可靠交付
  • UDP是面向報文的,傳送方的UDP對應用程式交下來的報文,在新增首部後就向下交付IP層。UDP對應用層交下來的報文,既不合並,也不拆分,而是保留這些報文的邊界。
  • UDP**沒有擁塞控制**
  • UDP**支援一對一、一對多、多對一和對多的互動通訊**
  • UDP的首部開銷小,只有8個位元組,比TCP的20個位元組的首部要短

UDP的首部格式

使用者資料報UDP有兩個欄位:資料欄位和首部欄位。首部欄位有8個位元組,由四個欄位組成,每個欄位的長度都是兩個位元組。

  • 源埠 源埠號,在需要對方回信時選用,不需要時可用全0。
  • 目的埠 目的埠號。這在終點交付報文時必須使用。
  • 長度 UDP使用者資料報的長度,其最小值是8 (僅有首部)。
  • 檢驗和 檢測UDP使用者資料報在傳輸中是否有錯。有錯就丟棄。

UDP的首部格式

偽首部既不向下傳送也不向上遞交,而僅僅是為了計算檢驗和。

UDP的檢驗和是把首部和資料部分一起都檢驗。

計算UPD檢驗和

傳輸控制協議TCP概述

最主要特點

  • TCP是面向連線的運輸層協議
  • 每一條TCP連線只能有兩個端點(endpoint),每一條TCP連線只能是點對點的(一對一)
  • TCP提供可靠交付的服務。通過TCP連線傳送的資料,無差錯、不丟失、不重複,並且按序到達
  • TCP提供全雙工通訊
  • 面向位元組流。TCP中的“流”(stream)指的是流入到程序或從程序流出的位元組序列

TCP的連線

TCP連線的端點叫做套接字(socket)或插口,埠號拼接到(concatenated with) IP地址即構成了套接字。

socket

可靠傳輸的工作原理

停止等待協議

停止等待協議

  • A在傳送完一個分組後,必須暫時保留已傳送的分組的副本
  • 分組和確認分組都必須進行編號這樣才能明確是哪一個傳送出去的分組收到 了確認,而哪一個分組還沒有收到確認。
  • 超時計時器設定的重傳時間應當比資料在分組傳輸的平均往返時間更長一些。(不確定因素:經過哪些網路、時延、網路擁塞等)

確認丟失和確認遲到

通道利用率

停止等待協議的優點是簡單,但缺點是通道利用率太低。

停止等待協議

當使用流水線傳輸時,就要使用下面介紹的連續ARQ協議滑動視窗協議

連續ARQ協議

ARQ協議

接收方一般都是採用累積確認的方式,在收到幾個分組後,對按序到達的最後一個分組傳送確認。

優點是:容易實現,即使確認丟失也不必重傳。

缺點:不能向傳送方反映出接收方己經正確收到的所有分組的資訊。

TCP報文段的首部格式

一個TCP報文段分為首部和資料兩部分,報文段首部的前20個位元組是固定的,後面有4n位元組是根據需要而增加的選項,因此TCP首部的最小長度是20位元組。

TCP報文段首部

  • 源埠和目的埠

  • 序號佔4位元組

    序號範圍是[0, 2^32^ - 1],共2^32^ (即4294967296)個序號。序號增加到2^32^ - 1後,下一個序號就又回到0。也就是說,序號使用mod 2^32^運算。

    TCP是面向位元組流的。在一個TCP連線中傳送的位元組流中的每一個位元組都按順序編號。整個要傳送的位元組流的起始序號必須在連線建立時設定。首部中的序號欄位值則指的是本報文段所傳送的資料的第一個位元組的序號。

    例如,一報文段的序號欄位值是301,而攜帶的資料共有100 位元組。這就表明:本報文段的資料的第一個位元組的序號是301,最後一個位元組的序號是400。顯然,下一個報文段(如果還有的話)的資料序號應當從401開始,即下一個報文段 的序號欄位值應為401。這個欄位的名稱也叫做“報文段序號”。

  • 確認號 佔4位元組,是期望收到對方下一個報文段的第一個資料位元組的序號。

    若確認號 = N,則表明:到序號N-1為止的所有資料都已正確收到

  • 資料偏移 佔4位,它指出TCP報文段的資料起始處距離TCP報文段的起始處有多遠,實際上是指出TCP報文段的首部長度。

    “資料偏移”的單位是32位字(即以4字 節長的字為計算單位)。由於4位二進位制數能夠表示的最大十進位制數字是15,因此資料偏移的最大值是60位元組,這也是TCP首部的最大長度(即選項長度不能超過40位元組)

  • 保留 佔6位,保留為今後使用,但目前應置為0

  • 緊急URG (URGent) 當URG = 1時,表明緊急指標欄位有效。它告訴系統此報文段中有緊急資料,應儘快傳送(相當於高優先順序的資料)

  • 確認ACK (ACKnowledgment) 僅當ACK = 1時確認號欄位才有效。當ACK = 0時,確認號無效。TCP規定,在連線建立後所有傳送的報文段都必須把ACK置1。

  • 推送PSH (PuSH) 傳送方TCP把PSH置1,並立即建立一個報文段傳送出去。接收方TCP收到PSH=1的報文段,就儘快地(即“推送”向前)交付接收應用程序,而不再等到整個快取都填滿了後再向上交付。

  • 復位RST (ReSeT) 當RST = 1時,表明TCP連線中出現嚴重差錯,必須釋放連線,然後再重新建立運輸連線。

  • 同步SYN (SYNchronization) 在連線建立時用來同步序號,SYN置為1就表示這是一個連線請求或連線接受報文

  • 終止FIN(FINis) 用來釋放一個連線。當FIN = 1時,表明此報文段的傳送方的資料已傳送完畢,並要求釋放運輸連線。

  • 視窗 佔2位元組。視窗值是[0, 2^16^ - 1]之間的整數。視窗指的是傳送本報文段的 一方的接收視窗(而不是自己的傳送視窗)。

    視窗值告訴對方:從本報文段首部中的確認號算起,接收方目前允許對方傳送的資料量(以位元組為單位)。之所以要有這個限制,是因為接收方的資料快取空間是有限的。總之,視窗值作為接收方讓傳送方設定其傳送視窗的依據。

    視窗欄位明確指出了現在允許對方傳送的資料量。視窗值經常在動態變化著。

  • 檢驗和 佔2位元組。檢驗和欄位檢驗的範圍包括首部和資料這兩部分。在計算檢驗和時,要在TCP報文段的前面加上12位元組的偽首部。

  • 緊急指標 佔2位元組。緊急指標僅在URG = 1時才有意義,它指出本報文段中的緊急資料的位元組數(緊急資料結束後就是普通資料),即使視窗為零時也可傳送緊急資料

  • 選項長度可變,最長可達40位元組。當沒有使用“選項“時,TCP的首部長度是20位元組。

    最大報文段長度MSS (Maximum Segment Size)、視窗擴大選項、時間戳選項、選擇確認(SACK)等。

相關推薦

計算機網路5 運輸()

《計算機網路(第七版)-謝希仁》 第5章 運輸層(上) 運輸層協議的特點,程序之間的通訊和埠等概念,UDP協議和TCP協議等相關基礎概念。 運輸層協議的概述 程序之間的通訊 運輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是

計算機網路5 運輸(下)

《計算機網路(第七版)-謝希仁》 第5章 運輸層(下) TCP協議 相關內容詳細介紹 TCP可靠傳輸的實現 假定資料傳輸只在一個方向進行 以位元組為單位的滑動視窗 傳送視窗表示:在沒有收到B的確認的情況下,A 可以連續把視窗內的資料都發送出

讀書筆記 ---- 《計算機網路—謝希仁7版》---- 5 運輸

網路層(上篇):https://blog.csdn.net/pcwl1206/article/details/83999363 網路層(下篇):https://blog.csdn.net/pcwl1206/article/details/84098381 第5章:運輸層 5.1&nb

讀書筆記之《計算機網路》--- 運輸

本章目錄 運輸層協議概述 使用者資料報協議UDP 傳輸控制協議TCP概述 可靠傳輸的工作原理 TCP報文段首部格式 TCP可靠傳輸的實現 TCP流量控制 TCP擁塞控制 TCP的運輸連線管理 運輸層協議概述 兩個主機進行通訊其實就是兩個主機中的應用程序互相通

計算機網路 自頂向下方法 運輸

Tags:計算機網路 第三章 運輸層 3.1 概述和運輸層服務 3.1.1 運輸層和網路層的關係 網路層提供了 主機 之間的邏輯通訊。而運輸層為執行在 不同主機上的程序 提供邏輯通訊。 運輸層協議只工作在端系統上。 運輸協議能提供

計算機網路複習( 運輸

5.運輸層 5.1運輸層協議概述 5.1.1程序之間的通訊 使用者功能中的最低層。 運輸層功能:複用和分用。 網路層為主機之間提供邏輯通訊,運輸層為應用程序之間提供端到端的邏輯通訊。 運輸層進行差錯檢測。 5.1.2運輸層的兩個主要

計算機網路原理知識點(:運輸)

** *第五層:運輸層* ** 1. 概述: (1)真正資料通訊的意思其實是: 在主機的程序中, 由A主機的程序與B主機的程序進行資料交換的 過程而不是主機之間的資料交換. 很顯然,

計算機網路教程運輸課後習題答案

第五章   傳輸層5—01         試說明運輸層在協議棧中的地位和作用,運輸層的通訊和網路層的通訊有什麼重要區別?為什麼運輸層是必不可少的?答:運輸層處於面向通訊部分的最高層,同時也是使用者功能中的最低層,向它上面的應用層提供服務     運輸層為應用程序之間提供端到

計算機網路 網路

網路層概述 網路層其實還可以分為:資料平面和控制平面,資料平面主要是執行轉發的功能;而控制平面主要是路由選擇功能。 基於IP地址的路由轉發過程 傳送一個數據報,先要訪問DNS伺服器,把域名轉換成IP地址。 IP資料報中包含源地址和目的地址,在區域網中用ARP地址轉換協

期末複習計算機網路網路

網路層1.網路層提供的兩種服務 虛電路服務 資料報服務 TCP/IP體系中的網路層向上值提供簡單靈活的,無連線的,盡最大努力交付的資料報服務 網路層不提供服務質量承諾,不保證分組交付的時限,所傳送的分組可能出錯,丟失,重複和失序。程序之間通訊的可靠性由運輸層負責。2.三個協

計算機網路 3 資料鏈路 知識小結

1. 網路介面卡的作用及工作在哪一層? 網路介面卡即網路介面卡,簡稱網絡卡 作用 實現聯網計算機和網路電纜之間的物理連線 工作層數 物理層和資料鏈路層 2. 資料鏈路層的三個基本問題(封裝成幀,透明傳輸,差錯檢測)為何必須解決? 封裝成幀:

計算機網路4 網路(下)

《計算機網路(第七版)-謝希仁》 第4章 網路層(下) 網際控制報文協議、路由選擇協議、IPv6 網際控制報文協議ICMP 為了更有效地轉發IP資料報和提高交付成功的機會,在網際層使用了網際控制報文協議ICMP(Internet Control Mes

計算機網路4及第5課後習題答案

第4章 5.書中我們使用了術語面向連線服務來描述運輸層,使用了術語連線服務來描述網路層,為何有這樣微妙的差異? 答: 面向連線服務主要特點有:面向連線服務要經過三個階段,資料傳輸前,先建立連線,連線建立後再傳輸資料;資料傳送完之後,釋放連結。面向連線服務,可以確保資料傳輸的

5 面向物件

文章目錄 類和物件 定義類 定義屬性 定義方法 定義構造器 物件、引用和指標 物件的 this 引用 使用 this 呼叫構造方法

計算機網路複習 第二 物理

1. 常用編碼方式     A:不歸0碼:正電平代表1,負電平代表0     B : 歸0制:正脈衝代表1,負脈衝代表0 ,每個都會迴歸0     C :曼切斯特編碼:利用中心位置的跳變來代表0或1    

計算機網路:第二 物理

2.1 物理層的基本概念 確定與傳輸媒體的介面有關的一些特性 機械特性 電氣特性 功能特性 過程特性 2.2.1 資料通訊系統的模型 資料通訊系統: 源系統(傳送端、傳送方) 傳輸系統(傳輸網路) 目的系統(接收端

計算機網路

計算機網路面臨的安全性威脅 一個安全的計算機網路應設法達到: 保密性 端點鑑別 資訊的完整性 執行的安全性 資料加密模型 密碼學分為密碼編碼學和密碼分析學(未知情況下破解)。 兩類密碼體制: 對稱金鑰密碼體制:加密金鑰與

計算機網路6

域名系統DNS 域名 原先的頂級域名 域名伺服器有四大類: 根域名伺服器 頂級域名伺服器 許可權域名伺服器 本地域名伺服器 檔案傳送協議FTP FTP提供互動式的訪問,允許客戶指明檔案的型別與格式,並允許檔案具有存取許可權。

計算機網路

運輸層的兩個主要協議: 使用者資料報協議UDP 傳輸控制協議TCP 運輸層的埠分為兩大類: 伺服器端使用的埠號: (1) 系統埠號–0~1023 (2) 登記埠號–1024~49151 客戶端使用的埠號–49152~65535

計算機網路

網路層提供的兩種服務 網際協議IPv4 如果想要將網路互相連線起來,則需要一些中間裝置: 1. 物理層————-轉發器 2. 網路層————-路由器 3. 資料鏈路層——網橋 4. 網路層以上——閘道器 IP地址分類 IP地址具有以下一些重要特點: