計算機網(wǎng)絡謝希仁版運輸層知識點總結
《計算機網(wǎng)絡謝希仁版運輸層知識點總結》由會員分享,可在線閱讀,更多相關《計算機網(wǎng)絡謝希仁版運輸層知識點總結(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
運輸層 運輸層之間的通信是進程與進程之間的,通過端口的 一、 運輸層協(xié)議概述 1、從通信和信息處理的角度看,運輸層向它上面的應用層提供通信服務,它屬于面向通信部分的最高層,同時也是用戶功能中的最低層。 2、當網(wǎng)絡的邊緣部分中的兩個主機使用網(wǎng)絡的核心部分的功能進行端到端的通信時,只有位于網(wǎng)絡邊緣部分的主機的協(xié)議棧才有運輸層,而網(wǎng)絡核心部分中的路由器在轉發(fā)分組時都只用到下三層的功能。 3、兩個主機進行通信實際上就是兩個主機中的應用進程互相通信。 4、運輸層的一個很重要的功能就是復用和分用。通過端口實現(xiàn)。 5、網(wǎng)絡層為主機之間提供邏輯通信,運輸層為應用進程之間提供端到端的邏輯通信 6、當運輸層采用面向連接的 TCP 協(xié)議時,盡管下面的網(wǎng)絡是不可靠的(只提供盡最大努力服務),但這種邏輯通信信道就相當于一條全雙工的可靠信道。當運輸層采用無連接的 UDP 協(xié)議時,這種邏輯通信信道是一條不可靠信道。 7、兩個對等運輸實體在通信時傳送的數(shù)據(jù)單位叫作運輸協(xié)議數(shù)據(jù)單元 TPDU 8、UDP 在傳送數(shù)據(jù)之前不需要先建立連接。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 是一種最有效的工作方式;TCP 則提供面向連接的服務。 9、運輸層的 UDP 用戶數(shù)據(jù)報與網(wǎng)際層的IP數(shù)據(jù)報的區(qū)別:IP 數(shù)據(jù)報要經(jīng)過互連網(wǎng)中許多路由器的存儲轉發(fā),但 UDP 用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的。 10、硬件端口與軟件端口的區(qū)別:在協(xié)議棧層間的抽象的協(xié)議端口是軟件端口。路由器或交換機上的端口是硬件端口。硬件端口是不同硬件設備進行交互的接口,而軟件端口是應用層的各種協(xié)議進程與運輸實體進行層間交互的一種地址。 11、端口用一個 16 位端口號進行標志。 12、端口號只具有本地意義,即端口號只是為了標志本計算機應用層中的各進程。在因特網(wǎng)中不同計算機的相同端口號是沒有聯(lián)系的。 13、端口的分類:熟知端口和登記端口號合稱為服務器端使用的端口號 n 熟知端口,數(shù)值一般為 0~1023。 n 登記端口號,數(shù)值為1024~49151,為沒有熟知端口號的應用程序使用的。使用這個范圍的端口號必須在 IANA 登記,以防止重復。 n 客戶端口號或短暫端口號,數(shù)值為49152~65535,留給客戶進程選擇暫時使用。 二、用戶數(shù)據(jù)報協(xié)議 UDP 1、UDP只是在 IP 的數(shù)據(jù)報服務之上增加了端口的功能和差錯檢測的功能。 2、UDP 的主要特點 n UDP 是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。 n UDP 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。 n UDP 是面向報文的。 n UDP 支持一對一、一對多、多對一和多對多的交互通信。 n UDP 的首部開銷小,只有 8 個字節(jié)。 n UDP沒有擁塞控制,很適合多媒體通信的要求 3、發(fā)送方 UDP 對應用程序交下來的報文,在添加首部后就向下交付 IP 層。UDP 對應用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。 4、UDP 的首部格式(每個部分各兩個字節(jié)) 源端口(不需要回送時可填0),目的端口,長度(包括數(shù)據(jù)部分,最小為8字節(jié)),檢驗和(檢查用戶數(shù)據(jù)報是否有差錯) 5、IP數(shù)據(jù)報首部檢驗和與UDP數(shù)據(jù)報檢驗和的區(qū)別:IP數(shù)據(jù)報只檢驗首部,UDP則把首部和數(shù)據(jù)報部分一起檢驗了。 6、偽首部與檢驗和:為了計算檢驗和在UDP首部之前再加入12字節(jié)的偽首部。偽首部不能向上遞交也不用向下傳送。接收方將UDP數(shù)據(jù)報與偽首部按二進制反碼求和,正確的結果應為全0,否則丟棄這個數(shù)據(jù)報。 7、偽首部包括源IP,目的IP,一個全0字節(jié),一個協(xié)議字段,2字節(jié)的UDP長度 三、傳輸控制協(xié)議 TCP 1、TCP 最主要的特點 n TCP 是面向連接的運輸層協(xié)議。 n 每一條 TCP 連接只能有兩個端點,每一條 TCP 連接只能是點對點的(一對一)。 n TCP 提供可靠交付的服務。 n TCP 提供全雙工通信。 n 面向字節(jié)流。 2、TCP 連接是一條虛連接而不是一條真正的物理連接。 3、TCP 連接的端點:不是主機,不是主機的IP 地址,不是應用進程,也不是運輸層的協(xié)議端口,而是套接字(socket)或插口,是端口號拼接到IP 地址后面構成的。 套接字 socket = (IP地址: 端口號) 192.168.1.1:80 TCP 連接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)} 4、同一個IP地址可以有多個不同的TCP連接,而同一個端口號也可以出現(xiàn)在多個不同的TCP連接中。 四、可靠傳輸?shù)墓ぷ髟? 1、理想傳輸條件的兩個特點:傳輸信道不產(chǎn)生差錯,無論發(fā)送發(fā)以多快的速度發(fā)送,接送方總來的及接受數(shù)據(jù)。在這種條件下不需要采取何種措施就可以實現(xiàn)可靠傳輸。 2、停止等待協(xié)議:每發(fā)送完一個分組就停止發(fā)送,等待對方確認。確認后再發(fā)下一個分組 3、為了在出現(xiàn)差錯時能夠繼續(xù)通信:在發(fā)送完一個分組后,必須暫時保留已發(fā)送的分組的副本;分組和確認分組都必須進行編號;超時重傳,超時計時器的重傳時間應當比數(shù)據(jù)在分組傳輸?shù)钠骄禃r間更長一些。 4、確認丟失和確認遲到 5、使用確認和重傳機制,我們就可以在不可靠的傳輸網(wǎng)絡上實現(xiàn)可靠的通信。 6、可靠傳輸協(xié)議又稱為自動重傳請求ARQ 7、信道利用率: TD:分組發(fā)送時間;RTT:分組往返時間;TA:發(fā)送確認分組所需的時間 8、停止等待協(xié)議的優(yōu)點是簡單,但缺點是信道利用率太低。 9、提高信道利用率的措施:采用流水線傳輸:發(fā)送方可連續(xù)發(fā)送多個分組,不必每發(fā)完一個分組就停頓下來等待對方的確認 10、連續(xù) ARQ 協(xié)議:TCP 連接的每一端都必須設有兩個窗口——一個發(fā)送窗口和一個接收窗口。發(fā)送窗口內(nèi)的數(shù)據(jù)可以連續(xù)發(fā)送出去,不需要等待對方的確認,接收方采用累積確認,對按序到達的最后一個分組確認,表示:到這個分組為止的所有分組都已正確收到了。 發(fā)送方每接收到一個確認,就把發(fā)送窗口向前滑動一個分組單位。 五、TCP 報文段的首部格式 1、源端口和目的端口字段——各占 2 字節(jié)。端口是運輸層與應用層的服務接口。運輸層的復用和分用功能都要通過端口才能實現(xiàn)。 2、序號字段——占 4 字節(jié)。TCP 連接中傳送的數(shù)據(jù)流中的每一個字節(jié)都編上一個序號。序號字段的值則指的是本報文段所發(fā)送的數(shù)據(jù)的第一個字節(jié)的序號。 3、確認號字段——占 4 字節(jié),是期望收到對方的下一個報文段的數(shù)據(jù)的第一個字節(jié)的序號。 4、數(shù)據(jù)偏移(即首部長度)——占 4 位,它指出 TCP 報文段的數(shù)據(jù)起始處距離 TCP 報文段的起始處有多遠,以四個字節(jié)為單位,其實就是首部長度,最大60字節(jié)。 5、確認 ACK —— 只有當 ACK = 1 時確認號字段才有效。 6、復位 RST (ReSeT) —— 當 RST = 1 時,表明 TCP 連接中出現(xiàn)嚴重差錯(如由于主機崩潰或其他原因),必須釋放連接,然后再重新建立運輸連接。 7、同步 SYN —— 同步 SYN = 1 表示這是一個連接請求或連接接受報文 8、終止 FIN (FINis) —— 用來釋放一個連接。FIN = 1 表明此報文段的發(fā)送端的數(shù)據(jù)已發(fā)送完畢,并要求釋放運輸連接。 9、窗口字段 —— 占 2 字節(jié),用來讓對方設置發(fā)送窗口的依據(jù),單位為字節(jié)。 10、檢驗和 —— 占 2 字節(jié)。檢驗和字段檢驗的范圍包括首部和數(shù)據(jù)這兩部分。檢驗規(guī)則和UDP檢驗和一樣。 11、緊急指針字段 —— 占 16 位,指出在本報文段中緊急數(shù)據(jù)共有多少個字節(jié) 12、MSS 是 TCP 報文段中的數(shù)據(jù)字段的最大長度 13、選項字段 —— 長度可變。包括: n 窗口擴大選項 ——占 3 字節(jié), n 時間戳選項——占10 字節(jié),其中最主要的字段時間戳值字段(4 字節(jié))和時間戳回送回答字段(4 字節(jié))。用來計算往返時間,處理TCP序號超過2的32次方的情況,防止序號繞回,時間戳可以做個標記 n 選擇確認選項 14、填充字段,填0,這是為了使整個首部長度是 4 字節(jié)的整數(shù)倍。 六、TCP 可靠傳輸?shù)膶崿F(xiàn) 1、TCP的滑動窗口以字節(jié)為單位 2、窗口越大,發(fā)送方就可以在收到確認之前發(fā)送更多的數(shù)據(jù),傳輸效率高,但是接收方必須來的及接收。 3、 窗口的分類:發(fā)送窗口,可用窗口,未確認窗口 4、 A 的發(fā)送窗口并不總是和 B 的接收窗口一樣大(因為有一定的時間滯后)。 5、TCP 要求接收方必須有累積確認的功能,這樣可以減小傳輸開銷。 6、緩存和窗口的關系:緩存一般大于窗口 7、發(fā)送緩存與接收緩存的作用 發(fā)送緩存用來暫時存放: 發(fā)送應用程序傳送給發(fā)送方 TCP 準備發(fā)送的數(shù)據(jù); TCP 已發(fā)送出但尚未收到確認的數(shù)據(jù)。 接收緩存用來暫時存放: 按序到達的、但尚未被接收應用程序讀取的數(shù)據(jù); 不按序到達的數(shù)據(jù)。 8、超時重傳時間的選擇: RTO = RTTS + 4 RTTD 平均往返時間 新的 RTTS = (1 - a) (舊的 RTTS) + a (新的 RTT 樣本) 0 a < 1 推薦=0.125 RTT 的偏差的加權平均值 新的 RTTD = (1 - b) (舊的RTTD) + b RTTS - 新的 RTT 樣本 b推薦=0.25 9、如何判定一個確認報文段是對原來的報文段 1 的確認,還是對重傳的報文段 2 的確認? 采用Karn 算法:在計算平均往返時間 RTT 時,只要報文段重傳了,就不采用其往返時間樣本。 修正的 Karn 算法:報文段每重傳一次,就把 RTO 增大一些: 10、選擇確認sack是解決:接收方收到了和前面的字節(jié)流不連續(xù)的兩個字節(jié)塊,怎樣讓發(fā)送方只發(fā)送沒有到達的數(shù)據(jù)段 11、使用SACK時要將TCP首部中的SACK位置1,然后再選項字段填入未接受到的斷塊的邊界值,每個邊界值占4個字節(jié),確定一個斷塊要用兩個邊界值,所以選項字段最多只能指明4個字節(jié)塊的信息。另外還要一個選項指明是SACK選項,一個指明SACK占用的字節(jié)數(shù) 七、TCP 的流量控制:利用滑動窗口實現(xiàn)流量控制 1、流量控制(flow control)就是讓發(fā)送方的發(fā)送速率不要太快,既要讓接收方來得及接收,也不要使網(wǎng)絡發(fā)生擁塞。 2、丟失報文導致互等死鎖的解決辦法:持續(xù)計時器 n TCP 為每一個連接設有一個持續(xù)計時器。 n 只要 TCP 連接的一方收到對方的零窗口通知,就啟動持續(xù)計時器。 n 若持續(xù)計時器設置的時間到期,就發(fā)送一個零窗口探測報文段(僅攜帶 1 字節(jié)的數(shù)據(jù)),而對方就在確認這個探測報文段時給出了現(xiàn)在的窗口值。 n 若窗口仍然是零,則收到這個報文段的一方就重新設置持續(xù)計時器。 n 若窗口不是零,則死鎖的僵局就可以打破了。 3、發(fā)送方的發(fā)送窗口不能超過接收方給的接收窗口的數(shù)值,TCP窗口的單位是字節(jié)。 4、 考慮到傳輸效率,要解決TCP 報文段的發(fā)送時機的選擇: n 長度限制:第一種機制是 TCP 維持一個變量,它等于最大報文段長度 MSS。只要緩存中存放的數(shù)據(jù)達到 MSS 字節(jié)時,就組裝成一個 TCP 報文段發(fā)送出去。 n 自己要求:第二種機制是由發(fā)送方的應用進程指明要求發(fā)送報文段,即 TCP 支持的推送(push)操作。 n 時間限制:第三種機制是發(fā)送方的一個計時器期限到了,這時就把當前已有的緩存數(shù)據(jù)裝入報文段(但長度不能超過 MSS)發(fā)送出去。 八、TCP的擁塞控制 1、在某段時間,若對網(wǎng)絡中某資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡的性能就要變壞——產(chǎn)生擁塞,即資源需求>可用資源 2、擁塞控制與流量控制的關系: 擁塞控制是一個全局性的過程,就是防止過多的數(shù)據(jù)注入到網(wǎng)絡中,這樣可以使網(wǎng)絡中的路由器或鏈路不致過載。 流量控制往往指在給定的發(fā)送端和接收端之間的點對點通信量的控制。流量控制所要做的就是抑制發(fā)送端發(fā)送數(shù)據(jù)的速率,以便使接收端來得及接收。 3、擁塞控制要解決好網(wǎng)絡吞吐量與負載的關系 4、幾種擁塞控制方法:慢開始和擁塞避免,快重傳和快恢復 5、發(fā)送方維持一個叫做擁塞窗口 cwnd 的狀態(tài)變量。擁塞窗口的大小取決于網(wǎng)絡的擁塞程度,并且動態(tài)地在變化。發(fā)送方讓自己的發(fā)送窗口等于或小于擁塞窗口。 6、發(fā)送方控制擁塞窗口的原則是:只要網(wǎng)絡沒有出現(xiàn)擁塞,擁塞窗口就再增大一些,發(fā)送更多的分組。但只要網(wǎng)絡出現(xiàn)擁塞,擁塞窗口就減小一些,以減少注入到網(wǎng)絡中的分組數(shù)。 7、“擁塞避免”不能完全避免擁塞,只是說在擁塞避免階段把擁塞窗口控制為較多按線性規(guī)律增長,使網(wǎng)絡比較不容易出現(xiàn)擁塞。 8、快重傳算法:快重傳算法首先要求接收方每收到一個失序的報文段后就立即發(fā)出重復確認。這樣做可以讓發(fā)送方及早知道有報文段沒有到達接收方。 發(fā)送方只要一連收到三個重復確認就應當立即重傳對方尚未收到的報文段。 9、快恢復算法:當發(fā)送端收到連續(xù)三個重復的確認時,就執(zhí)行“乘法減小”算法,把慢開始門限 ssthresh 減半,然后執(zhí)行加法增大。這是因為三個確認報文能夠到達發(fā)送端,網(wǎng)絡很可能沒有擁塞 10、發(fā)送窗口的上限值 = Min [rwnd, cwnd] 接收方窗口 rwnd 和擁塞窗口 cwnd 九、TCP 的運輸連接管理 1、運輸連接就有三個階段,即:連接建立、數(shù)據(jù)傳送和連接釋放。 2、TCP 連接的建立都是采用客戶服務器方式。主動發(fā)起連接建立的應用進程叫做客戶(client)。被動等待連接建立的應用進程叫做服務器(server)。 3、TCP用三次握手建立連接:A表示發(fā)送方,B表示接收方 (1)A 的 TCP 向 B 發(fā)出連接請求報文段,其首部中的同步位 SYN = 1,并選擇序號 seq = x,表明傳送數(shù)據(jù)時的第一個數(shù)據(jù)字節(jié)的序號是 x。 (2)B 的 TCP 收到連接請求報文段后,如同意,則發(fā)回確認。 B 在確認報文段中應使 SYN = 1,使 ACK = 1, 其確認號ack = x + 1,自己選擇的序號 seq = y。 (3)A 收到此報文段后向 B 給出確認,其 ACK = 1, 確認號 ack = y + 1。 A 的 TCP 通知上層應用進程,連接已經(jīng)建立。 4、 TCP 的連接釋放:四次握手釋放連接。A表示發(fā)送方,B表示接收方 (1)A 把連接釋放報文段首部的 FIN = 1,其序號seq = u,等待 B 的確認。 (2)B 發(fā)出確認,確認號 ack = u + 1, 而這個報文段自己的序號 seq = v。 TCP 服務器進程通知高層應用進程。 從 A 到 B 這個方向的連接就釋放了,TCP 連接處于半關閉狀態(tài)。B 若發(fā)送數(shù)據(jù),A 仍要接收。 (3)若 B 已經(jīng)沒有要向 A 發(fā)送的數(shù)據(jù),其應用進程就通知 TCP 釋放連接。 (4)A 收到連接釋放報文段后,必須發(fā)出確認。 5、數(shù)據(jù)傳輸結束后,通信的雙方都可釋放連接。 6、發(fā)送方確認后必須等待 2MSL 的時間后才能真正釋放連接理由如下: 第一,為了保證 A 發(fā)送的最后一個 ACK 報文段能夠到達 B。 第二,防止 “已失效的連接請求報文段”出現(xiàn)在本連接中。A 在發(fā)送完最后一個 ACK 報文段后,再經(jīng)過時間 2MSL,就可以使本連接持續(xù)的時間內(nèi)所產(chǎn)生的所有報文段,都從網(wǎng)絡中消失。 整理者:福州大學 張毅- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機網(wǎng)絡 謝希仁版 運輸 知識點 總結
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.hcyjhs8.com/p-10167580.html