1.4.sctp
2.擁塞控制和服務質量
2.3服務質量
資料鏈路層負責鏈路上的兩個相鄰節點之間的幀傳遞,這稱為節點到節點的傳遞;
網路層負責兩台主機之間的資料報(分組)傳遞,這稱為主機到主機的傳遞;
網際網路中的通訊實際發生在兩個程序(應用程式)之間的;傳輸層負責程序到程序的傳遞,即程序之間的分組傳遞以及部分訊息傳遞。
埠號是0-65535間的16位整數,客戶程式用埠號定義它自己,這個埠號由執行在客戶主機上的傳輸層軟體隨機選擇,稱為臨時埠號;
網際網路號碼分配管理局(iana)把埠編號劃分為三種範圍:
乙個ip位址和乙個埠號結合起來稱為套接字位址,它唯一定義了客戶機/伺服器程序。
傳輸層通過實現流量控制和差錯控制來獲得可靠性,這意味著一種較慢和更複雜的服務;
資料鏈路層可靠並不代表傳輸層不需要流量控制和差錯控制,因為在資料鏈路層的可靠性存在於兩個節點之間,而不是端到端的可靠性;並且網路層是不可靠的,必須在傳輸層實現可靠性;
udp是無連線不可靠的傳輸層協議;
要了解一些熟知埠號。unix中熟知埠儲存在/etc/services檔案中。
grep
ftp /etc/services
#ftp 21/tcp
#ftp 21/udp
udp長度 = ip長度 - ip頭部長度
udp沒有流量控制,除校驗和外沒有差錯控制機制,如果需要流量和差錯控制則只能由程序提供;udp報文封裝在ip資料報中傳輸.
udp的操作-排隊(客戶端)
在客戶機端,當程序啟動時,它從作業系統請求乙個埠號;有些實現建立乙個入佇列和乙個出佇列與每乙個程序相關聯,而有些實現只建立與每乙個程序相關的入佇列;
多數情況下,客戶開啟的佇列由暫時埠號來標識;
客戶程序使用源埠將報文傳送到出佇列,udp逐個將報文取出,加上頭部遞交給ip,如果發生溢位,作業系統就要求客戶程序等待;
報文到達客戶端時,udp檢查以確認對應於目的埠號是否建立了入佇列;如果已建立,udp就將收到的使用者資料報放在佇列末尾,否則udp就丟棄該使用者資料報,並請求icmp協議向伺服器傳送揣口不可達報義;
所有傳送給乙個特定客戶程式的入報文,不管是來自哪個伺服器,都被放在同乙個佇列中;如果入佇列發生溢位,udp就丟棄此使用者資料報,並請求向伺服器傳送埠不可達報文。
udp的操作-排隊(伺服器端)
在伺服器端,伺服器在它開始執行時就用它的熟知埠請求入佇列和出佇列,只要伺服器執行,佇列就一直是開啟的;
當報文到達伺服器程序時,udp檢查以確認對應於目的埠號是否建立了入佇列;如果已建立,udp就將接收到的使用者資料報放在佇列末尾,否則udp就丟棄該使用者資料報,並請求icmp協議向客戶端傳送乙個埠不可達報文;
乙個特定伺服器程式的所有入報文,不管是來自哪個客戶機,都放入同一佇列;如果入佇列發生溢位,udp就丟棄這個使用者資料報,並請求向客戶傳送埠不可達報文;
當伺服器想要回答客戶時,它就使用在請求報文中指明的源埠號將報文傳送到出佇列;udp逐個將報文取出,加上頭部遞交給ip;如果出佇列發生溢位,作業系統就要求伺服器程序在繼續傳送報文之前要等待。
udp適用於這樣的程序,它需要簡單的請求-響應通訊,而較少考慮流量控制和差錯控制;對於需要傳送成塊資料的程序(如ftp)則通常不使用它;
udp適用於具有內部流量控制和差錯控制機制的程序,例如簡單檔案傳輸協議tftp;
對多播來說,udp是乙個合適的傳輸協議;多播能力已被嵌入在udp軟體中,但沒有嵌入在tcp軟體中;
udp可用於管理程序,如snmp;
udp可用於某些路由選擇更新協議,如rip。
tcp是乙個面向連線的、可靠的傳輸協議,它在兩個tcp端之間建立乙個虛擬連線來傳送資料,,在傳輸層使用流量控制和差錯控制機制,為ip服務增加了面向連線和可靠性的特性;
tcp提供的服務:
了解熟知埠
在每個連線中傳送的位元組都由tcp編號,序號開始於乙個隨機產生的數。乙個段的序號欄位的值定義為該段包含的第乙個位元組的序號。
當乙個段攜帶資料和控制資訊(捎帶)時,它使用乙個序號;
如果乙個段沒有攜帶使用者資料,那麼它邏輯上不定義序號,雖然字段存在,但值是無效的;
然而,有些段當僅攜帶控制資訊時也需要有乙個序號用於接收方的確認,這些段用做連線建立、連線終止或連線廢棄;
這些段中的每乙個好像攜帶乙個位元組那樣使用乙個序號,但都沒有實際的資料;如果隨機產生的序號是x,則第乙個資料位元組的編號是x+1,位元組x被認為是乙個控制段開啟乙個連線的乙個偽位元組。
關於確認號:
tcp使用滑動視窗處理流量控制,它使用的滑動視窗協議界於回退n幀與選擇重發之間;
tcp不使用nak,像回退n幀協議;tcp接收方儲存失序的段直到丟失的段到達,又像選擇重發;
tcp滑動視窗與資料鏈路滑動視窗有兩大點不同:
第一,tcp的滑動視窗是面向位元組的,而資料鏈路層滑動視窗是面向幀的;
第二,tcp的滑動視窗是可變大小,而資料鏈路層的滑動視窗是固定大小
tcp滑動視窗機制又被稱為信用量機制或信貸滑窗協議(資料鏈路層的滑動視窗稱為固定的滑動視窗協議)
tcp使用差錯控制提供可靠性,差錯控制包括:檢測受到損壞的段、丟失的段、失序的段和重複的段,還包括檢測出差錯後糾正差錯的機制;
tcp中的差錯檢測和糾正通過三種手段完成:校驗和、確認和超時;
校驗和用來檢查受到損壞的段;
tcp使用確認方法來證實收到了資料段,不攜帶資料但占用序列號的一些控制段也要確認,但ack段不需要確認;
差錯控制機制的核心是段的重傳,當段損壞、丟失或延遲時就重傳這個段(ack段不重傳,不設定重傳計時器);
在當前實現中有兩種情況要重傳段:重傳計時器到時或當傳送方收到三個重複的ack時
rto(retransmission time-out)計時器到時的話,重發乙個最早的未完成的(outstanding,已傳送但還未被確認)段;rto的值是動態的,根據段的往返時間rtt更新(rtt是乙個段到達目的端並接收到乙個確認所需要的時間)。
如果rtt的值不是很大,關於段重發的先前的規則是可用的;
但有時某一段丟失了,而接收端收到了許多失序的段,它們不可能都被儲存(有限的儲存器大小);
為了緩解這種情況,當今大多數實現遵循三次重複ack規則,立即重發缺少的段,這一特點稱為快速重傳(fast retransmission)。
sctp兼有udp和tcp的特性,是乙個可靠的面向報文的協議,它儲存報文的邊界,同時檢測丟失的資料、重複的資料和失序的資料;它還有擁塞控制和流量控制機制。
通訊量描述符:平均資料速率、峰值資料速率、最大突發長度;
資料流可用以下通訊量特徵值之一來表述:恆定位元率(容易處理)、可變位元率(較難處理,一般不需要重新整形)或突發性(最難處理,通常需要重新整形)
如果網路中的載荷(load),即傳送到網路中的分組數量超過了網路的容量(即網路中能處理的分組數量),那麼在網路中就可能發生擁塞(congestion);
分組的到達速率高於分組的處理速率,或者果分組的**速率低於分組的處理速率,那麼輸入佇列會變得越來越長。
擁塞控制包括了兩個測試網路效能的要素:延遲和吞吐量;
將網路的吞吐量(throughput)定義為單位時間內通過網路的分組數量(載荷小於容量時,隨載荷成比例增長;載荷超過容量時,吞吐量將降低)。
擁塞控制分為兩大類:開環擁塞控制(open-loop,阻止或預防,不讓擁塞發生)和閉環擁塞控制(closed-loop,緩解,發生後減輕)
開環策略有:
閉環策略有:
可以非形式地將服務質量(qos)定義為資料流所追求的某種目標。
資料流具有四種特性:
改進服務質量的四種常用方法
常用排程技術:
通訊量整形是一種控制傳送到網路中的通訊量和速率的機制,有兩種技術:漏桶和令牌桶。
練習:在乙個6mbps的網路上,有一台主機通過乙個令牌桶進行流量調整。令牌桶的填充速率為1mbps,初始時候它被填充到8mb的容量,請問計算機以6mbps的
全速率可以傳輸多長時間?解:s=8
×106
/86×
106/
8–1×
106/
8=1.6秒
s=\frac=1.6秒
s=6×10
6/8–
1×10
6/88
×106
/8=
1.6秒
計網 傳輸層
the transport layer 1.功能 1 傳輸層提 用程序之間的邏輯通訊 端到端的通訊 網路層提供的是主機之間的邏輯通訊。從通訊和資訊處理的角度看,傳輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是使用者功能中的最低層。傳輸層位於網路層之上,它為執行在不同主機上的程...
計清 5 網路層
5.2 ipv4基本內容 internet中,你給同學發郵件 google時,你不需知道你現在瀏覽的web伺服器位於何方 之所以能方便地在internet上享受各種網路服務,正因為有網路層ip的支援 網路層通過路由選擇演算法 隨著internet規模擴大和應用深入 ipv4協議是健壯和易於實現,且有...
計網 物理層
連線不同的物理裝置 傳輸位元流 物理層負責資料的位元流如何在傳輸 上的傳輸,作用是盡可能遮蔽掉計算機硬體和傳輸 的差異。其主要裝置是中繼器 repeater 和集線器 hub 由於雙絞線的最大傳輸距離是100公尺,那麼當兩台主機之間的距離比較遠的時候,就需要使用中繼器repeater將衰減的訊號進行...