主頁 >  其他 > 計算機網路自頂向下方法知識點整理(部分)

計算機網路自頂向下方法知識點整理(部分)

2020-12-26 12:07:19 其他

1-2物理媒體

1.雙絞銅線

由兩根絕緣的銅線組成,以規則的螺旋狀排列,

無屏蔽雙絞線(UTP)10Mbps~10Gbps

最終作為高速LAN聯網的主導性解決方案也常用于住宅因特網接入

2.同軸電纜

由兩個銅導體組成,是同心而不是并行的

在電纜電視系統中應用普遍,

發送設備將數字信號調制到某個特定的頻段,產生的模擬信號從發送設備傳輸到一個或多個接收方,

被用作引導型共享媒體

3.光纖

能夠引導光脈沖的媒體,支持極高的位元速率,

成為長途引導型傳輸媒體,

常用于因特網主干,

4.陸地無線電信道

具有穿透墻壁、提供與移動用戶的連接以及長距離承載信號的能力,

常見有三類:很短距離、局域、廣域

5.衛星無線電信道

同步衛星

近地軌道衛星

1-3網路核心

1-3-1分組交換

將長報文劃分成較小的資料塊,這些資料塊稱為分組

在源和目的間,每個分組都通過通信鏈路和分組交換機(路由器或者鏈路層交換機)

1.儲存轉發傳輸

定義:在交換機能夠開始向輸出鏈路傳輸該分組的第一個位元前,必須接收到整個分組

多數分組交換機在鏈路的輸入端使用存盤轉發傳輸機制,

傳輸時延計算:

1.一個分組

源在0時刻開始傳輸,在L/R秒,該路由器剛好接受整個分組,所以開始向目的地發送分組,在時刻2L/R秒,路由器完成傳輸,目的地剛好接收了整個分組,所以傳輸時延是2L/R,若交換機不進行存盤,則時延為L/R

2.三個分組

L/R,路由器開始轉發第一個分組,源開始發送第二個分組,2L/R時刻,路由器完成第一個分組的發送,且接收到第二個分組,3L/R時刻,目的地收到了前兩個分組,路由器收到第三個分組,4L/R時刻,目的地收到所有三個分組,

3.N條速率為R的鏈路組成的路徑(N-1臺路由器)
d 端 到 端 = N L R d_{端到端}=N\frac{L}{R} d?=NRL?
4.P個分組經過N條鏈路序列的時延有多大
d 端 到 端 = ( P + N ? 1 ) L R d_{端到端}=(P+N-1)\frac{L}{R} d?=(P+N?1)RL?

2.排隊時延和分組丟失

排隊時延:分組在輸出快取中等待輸出的時間

丟包:當快取已經被其他分組占滿時,到達的分組或已經排隊的分組之一會被丟棄(取決于演算法)

3.轉發表和路由選擇協議

轉發表:用于將目的地址(或地址的一部分)映射成為輸出鏈路,

當某個組到達一臺路由器時,路由器檢查該地址,并用這個目的地址搜索其地址轉發表,以發現適當的輸出鏈路,路由器則將分組導向出該鏈路,

路由選擇協議:用于自動的設定轉發表(routing protocol)

1-3-2電路交換

在電路交換網路中,預留了端系統之間沿路徑通信所需要的資源(快取,鏈路傳輸速率)再分組交換網路中這些資源則是不預留的,在發送方能夠發送資訊之前,該鏈路網路必須在發送方和接收方之間建立一條連接,此時,沿著發送方和接收方之間的路徑上的交換機都會維護該連接狀態,

1.電路交換網路中的復用

頻分復用(FDM):鏈路的頻譜使用跨越鏈路創建的所有連接共享的,特別是,在連接期間為每條連接轉設一個頻段,

時分復用(TDM):在電話網路中,這個頻段的寬度通常為4kHz(每秒4000個周期),對于一個特定的TDM鏈路,時間劃分為固定的幀,每個幀又被劃分為固定數量的時隙,

2.分組交換與電路交換的對比

分組交換:

設計簡單

資源利用率高

1.有時延,非實時

2.不一定可靠,可能丟包

3.存在重復資料

電路交換:

傳輸快,高效

實時

1.資源利用率低

2.建立連接需要較大開銷

1-4分組交換網路中的時延、丟包和吞吐量

1-4-1分組交換網中的時延概述

1.時延的型別

(1)處理時延

檢查分組首部和決定將該分組導向何處所需要的時間,

檢查位元級別差錯

(高速路由器的處理時延通常是微秒或者更低的數量級)

(2)排隊時延

在佇列中,分組在鏈路上等待傳輸的時延,取決于先期到達的正在排隊向鏈路傳輸的分組數量

(毫秒到微秒級)

(3)傳輸時延

分組由路由器推向鏈路所需要的時延

用L位元表示該分組的長度,用Rbps表示從路由器A到路由器B的鏈路傳輸速率,則傳輸時延是L/R,

通常在毫秒到微秒量級

(4)傳播時延

從該鏈路的起點到路由器傳播所需要的時間

該傳播速率取決于該鏈路的物理媒體,

1-4-2排隊時延和丟包

1.流量強度 La/R

排隊時延很大程度取決于流量到達該佇列的速率、鏈路的傳輸資料、流量到達的性質(流量是周期性還是突發性到達),令a表示分組到達佇列的平素速率(a pkt/s),R是傳輸速率(位元推向路由器的速率),假定所有分組都是由L位元組成的,則位元到達佇列的平均速率是La bps,La/R稱為流量強度,若La/R > 1 則位元到達佇列的平均速率超過佇列傳輸位元的數量,排隊時延驅向無窮大,

2.丟包

分組到達了一個排隊佇列滿的路由器時,該分組將被丟棄,

丟包的概率也是另一個衡量節點性能的指標,

1-4-3端到端時延

d 端 到 端 = N ( d p r o c + d t r a n s + d p r o p ) d_{端到端}=N(d_{proc}+d_{trans}+d_{prop}) d?=N(dproc?+dtrans?+dprop?)

假定源主機和目的主機間有N-1臺路由器,每臺路由器和源主機上的處理時延是 d p r o c d_{proc} dproc?,每條鏈路的傳播時延是 d p r o p d_{prop} dprop?每臺路由器和源主機的輸出速率是R,則 d t r a n s = L R d_{trans}=\frac{L}{R} dtrans?=RL?

1.Tracerout

源主機中的Traceroute程式朝著目的地發送多個特殊分組,當路由器收到這個特殊分組之一的時候,它向源回送一個短報文,包括路由器的名字和地址,

2.端系統、應用程式和其他時延

某些端系統可能有意地延遲某些分組的傳輸,這是它與其他端系統共享媒體的協議的一部分

媒體分組化時延:發送方在向因特網攢底分組之前必須首先用編碼數字化一個分組,

1-4-4計算機網路中的吞吐量

考慮主機A到主機B跨越計算機網路傳送一個大檔案

瞬時吞吐量:主機B接收到該檔案的速率

平均吞吐量:若該檔案由F個位元組成,主機B接收到所有F位元用去了T時間,則為F/T bps

1-5協議層次及其服務模型

1-5-1分層的體系結構

1.協議分層

(1)應用層

應用層是網路應用程式和它們的應用層協議留存的地方,應用層的資訊分組稱為 報文

(2)運輸層

在應用程式端點之間傳送應用層報文,運輸層的分組稱為 報文段

(3)網路層

網路層負責將稱為 資料報 的網路層分組從一臺主機移動到另一臺主機,

(4)鏈路層

為了將分組從一個節點移動到路徑上的下一個節點,網路層必須依靠該鏈路層的服務,鏈路層提供的服務取決于該鏈路上特定的鏈路層協議,鏈路層分組稱為 幀

(5)物理層

物理層的任務是將該幀中的一個個位元從一個節點移動到下一個節點,與實際的傳輸媒體相關

2-1應用層協議原理

2-1-1網路應用程式體系結構

1.客戶-服務器體系結構(client-server architecture,C/S)

資料中心

2.P2P體系結構

自擴展性

2-1-3可供應用程式使用的運輸服務

服務要求

1.可靠資料傳輸(reliable data transfer)

容忍丟失的應用

2.吞吐量

1.帶寬敏感應用

具有吞吐量要求的應用程式

2.彈性應用

能夠根據當時可用的寬帶多少或多或少地利用可用的吞吐量

3.定時

運輸層協議可以提供定時保證,

4.安全性

2-1-4因特網提供的運輸服務

1.TCP服務

·面向連接的服務

應用層資料報文開始流動之前,TCP讓客戶和服務器互相交換運輸層控制資訊,在握手之后,TCP連接就建立了,這條鏈路是全雙工的,當應用程式結束報文發送時,需要斷開連接

·可靠的資料傳輸服務

通信行程能夠依靠TCP,無差錯、按適當順序交付所有發送額資料,

TCP還擁有擁塞控制機制,

2.UDP服務

不提供不必要服務的輕量級運輸協議,僅提供最小服務,

·面向無連接的服務

在行程通信前沒有握手程序,

·不可靠的資料傳輸

UDPB協議并不保證該報文將到達接收端的行程,也不保證到達的順序,

3.因特網運輸協議不提供的服務

對吞吐量或定時保證的服務

2-4因特網的目錄服務

I

1.主機名

主機的一種標識方法

2.IP地址

一個IP地址由4個位元組組成,每個位元組被句點分割,表示了0~255的十進制數字,

2-4-1DNS提供的服務

DNS通過客戶-服務器模式提供服務,能將主機名到IP地址的轉換服務,

DNS是:

① 一個由分層DNS服務器實作的分布式資料庫

②一個是的主機能夠查詢分布式資料庫的應用層協議

? Internet核心功能

? 網路邊界復雜

運行在UDP上,使用53號埠

(1)主要服務模式

①同一臺用戶主機上運行著DNS應用的客戶端

②瀏覽器從URL中抽取主機名,并將其傳給DNS應用客戶端

③DNS客戶向DNS服務器發送一個包含該主機名的請求

④DNS客戶會收到回答報文,其中包含對應于該主機名的IP地址

⑤一旦瀏覽器收到來自DNS的IP地址,則通過80埠發送TCP連接請求

(2)提供的其他重要服務

·主機別名

·郵件服務器別名

·負載分配

繁忙的站點被冗余的分布在多臺服務器上,因此一個IP地址集合對應于一個規范主機名對應,當客戶對映射到某地址集合的名字發出請求是,該服務器用IP地址的整個集合進行回應,但在每個回答中回圈這些地址的次序,

2-4-2DNS作業機理概述

集中式設計的弊端:

·單點故障

若DNS只是一個單一的服務器,如果該DNS服務器崩潰,則整個因特網崩潰

·通信容量

單個DNS將負載巨大的詢問

·遠距離集中式資料庫

單個的DNS服務器不能“鄰近”所有的查詢用戶,將導致遠距離的查詢產生嚴重的時延

·維護

單個DNS服務器不得不為所有的因特網主機保留記錄,還不得不解決每一個新添加的主機而頻繁更新

1.分布式、層次資料庫

·根DNS服務器

400多個根名服務器,由13個不同的組織管理‘

作業流程:

如果不知道映射,訪問權威域名服務器

? 獲得映射

? 向本地應服務器回傳映射

·頂級域(DNS)服務器

頂級域(com,org,net,edu,gov)國家頂級域(uk,fr,ca,jp)

Network Solutions 維護 com 頂級域名服務器

Educause 維護 edu 頂級域名服務器

·權威DNS服務器

組織的域名決議服務器,提供組織內部服務器的域名決議服務

? 組織負責維護

? 組織委托服務商進行維護

·(本地DNS服務器)

不嚴格屬于層級體系

每個ISP都用一臺本地DNS服務器(默認名字服務器),本地域名決議服務器無法決議域名時,訪問根服務器,

當主機DNS查詢時,查詢被發送到本地DNS服務器

? 作為代理(proxy),將查詢轉發給(層次式)域名決議服務器

2.DNS 快取

只要域名決議服務器獲得了域名-IP映射,即快取這一映射

? 一段時間后快取條目失效(洗掉)

? 本地DNS服務器一般會快取頂級域名服務器的映射

? 因此根域名服務器不經常被訪問

* 作業流程

例如:

客戶端想要查詢www.amazon.com IP:

? 客戶端查詢根服務器,找到com域名決議服務器

? 客戶查詢com域名決議服務器,找到amazon.com決議服務器

? 客戶查詢amazon.com域名決議服務器,獲得IP地址

迭代查詢

被查詢服務器回傳域名決議服務器的名字,“我不認識這個域名,但你可以問這個服務器”

遞回查詢

將域名決議的任務交給所聯系的服務器

實踐中:從請求主機到本地DNS服務器的查詢是遞回的,其余查詢是迭代的

2-6視頻流和內容分發網路

2-6-3內容分發網CDN

單一的C/S結構對于視頻服務的弊端:

①遠離資料的客戶請求訪問時,分組可能要跨越許多通訊鏈路及ISP,可能帶來很高的時延

②流行的視頻可能會多次經過相同的鏈路,

③單點故障問題

內容分發網路 Content Distribution Network,CDN

CDN管理分布在多個地理位置上的服務器,在它的服務器中存盤視頻的副本,并且將每個用戶的請求定向到一個將提供最好的用戶體驗的CDN位置

1.專用CDN

由內容提供商自己所有

2.第三方CDN

代表多個內容提供商分發內容

3. 服務器安置原則

深入:

該原則通過遍及全球的接入ISP中部署服務器集群來深入到ISP的接入網中,其目標是靠近端用戶,通過減少端用戶和CDN集群之間鏈路和路由器的數量,改善用戶的時延和吞吐量,但高度分布式的設計帶來了維護和管理的挑戰,

邀請做客:

在關鍵位置建造大集群來邀請到ISP做客,這些CDN通常將集群放在因特網交換節點IXP中,這種設計通常產生較低的維護和管理開銷,但是以端用戶較高的時延和較低的吞吐量為代價,

4. 優缺點

見安置原則

3-3無連接運輸:UDP

基于Internet IP協議

? 復用/分用

? 簡單的錯誤校驗

盡力而為的服務,UDP段可能丟失,非按序到達

無擁塞控制

? 關于發送生么資料以及何時發送的應用層控制更為精細

無需連接建立–減小延遲

? 發送方和接收方之間不需要握手

無連接狀態

? 不需要維護連接狀態,實作簡單

? 每個UDP段獨立于其他段

分組首部開銷小-8個位元組

應用:

? 容忍丟失

? 速率敏感

? DNS

? SNMP

可靠資料傳輸:

? 在應用層增加可靠機制

? 應用特定的錯誤恢復機制

3-1-1 UDP報文段結構

共四段,每段兩個位元組(16bit)

源埠號-目的埠號-長度-檢驗和

3-3-2 UDP檢驗和

端到端原則:鏈路層有可能不附帶差錯檢測,路由器的儲存轉發也可能引入差錯檢測

發送方:

? 將段的內容視為16-bit整數

? 校驗和計算:計算所有整數的和,進位加在和的后面,將得到的值按位求反,得到校驗,

? 放入校驗和欄位

接受方:

? 計算所搜到段的校驗和

? 與校驗和欄位進行對比

? 相等:可能有錯誤(未發現)

? 不相等:有錯誤

3-4可靠資料傳輸原理

可靠資料傳輸協議

單向資料傳輸

? 資料傳輸是發送端到接收端的

雙向資料傳輸

? 全雙工資料傳輸

3-4-1構造可靠資料傳輸協議

什么是可靠:

? 不錯,不丟,不亂

可靠傳輸協議:

? 可靠資料傳輸對 應用層,傳輸層,鏈路層 都很重要

? 網路TOP-10問題

? 信道的不可靠性決定了可靠資料傳輸協議(rdt)的復雜性

漸進式的設計可靠資料傳輸協議的發送方和接收方

只考慮單向資料傳輸(但控制資訊雙向流動)

有限狀態機(Finite State Machine)FSM:用于刻畫傳輸協議
在這里插入圖片描述

1.經完全可靠信道的可靠資料傳輸:rdt1.0

底層信道完全可靠:不會發生錯誤(bit error),不會丟棄分組和亂序(現實中不存在)

發送方和接收方的FSM獨立

發送端:
在這里插入圖片描述

狀態:等待上層呼叫

事件:rdt發送資料

活動:生成包,發送包

接收端:
在這里插入圖片描述
狀態:等待下層呼叫

事件:rdt收到包

活動:決議包到資料,向上層傳輸資料

2.經具有位元差錯信道的可靠資料傳輸:rdt2.0

分組不會丟失,不會失序,只可能產生位元差錯,

解決:利用 校驗和 檢測位錯誤(參考UDP)

如何從錯誤中恢復:

1.肯定確認(Acknowledgements,ACK)

接收方顯式地告知發送方分組已經正確接收

2.否定確認機制(NAK)

接收方顯式地告知發送方分組有錯誤

發送方收到NAK后,重傳分組

基于以上重傳機制的rdt協議稱為ARQ(Automatic Repeat Request)協議

Rdt2.0中引入的新機制:

差錯檢測

接收方反饋控制資訊:ACK/NAK

重傳

停——等協議

發送方:

在這里插入圖片描述
狀態1:等待上層呼叫

狀態2:等待ACK或者NAK

狀態1->狀態2:

? 事件:rdt_send(data)

? 活動:sndpkt=make_pkt(data,checksum),udt_send(sndpkt)

狀態2->狀態2:

? 事件:rdt_rcv(rcvpkt)&&isNAK(rcvpkt)

? 活動:udt_send(sndpkt)

狀態2->狀態1:

? 事件:rdt_rcv(rcvpkt)&&isACK(rcvpkt)

? 活動:無

接收方:

在這里插入圖片描述
狀態:等待下層呼叫

事件1:rdt_rcv(rcvpkt)&&corrupt(rcvpkt)

活動1:udt_send(NAK)

事件2:rdt_rcv(rcvpkt)&&notcorrupt(rcvpkt)

活動2:extract(rcvpkt,data),deliver_data(data),udt_send(ACK)

rdt2.0的缺陷

沒有考慮到ACK/NAK訊息發生錯誤或別破壞

3.經有位元差錯的信道的可靠資料傳輸2:rdt2.1和rdt2.2

rdt2.0缺陷的解決方案:

1.為ACK/NAK增加校驗和,檢錯并糾錯

2.添加額外的控制訊息(控制訊息仍然會壞掉)

3.如果ACK/NAK壞掉,發送方重傳,但不能簡單的重傳,產生重復分組

如何解決重復分組問題:

1.序列號:發送方給每個分組增加序列號

2.接收方丟棄重復的分組

仍然使用stop-and-wait 停——等協議

rdt2.1

發送方:

為每個分組增加了序列號(0和1)

需要校驗ACK/NAK訊息是否發生錯誤

狀態數量翻倍:必須記住當前分組的序列號

接受方:
需判斷分組是否重復:當前所處狀態提供了期望收到的分組

當收到非期望的分組是,也將發送ACK分組

rdt2.2無NAK訊息協議

與rdt2.1功能相同,但只是用ACK

如何實作

? 接受方通過ACK告知最后一個被正確接收的分組

? 在ACK訊息中顯式地加入被確認分組的序列號

發送方收到重復的ACK后,采取與收到NAK訊息相同的動作:重傳當前分組

rdt2.2 發送方
在這里插入圖片描述
rdt2.2 接收方
在這里插入圖片描述

4.經具有位元差錯和丟包信道的可靠資料傳輸:rdt3.0

校驗和+序列號+ACK+重傳 不能滿足信道實際的錯誤需求

解決方法:

發送方等待合理的時間------設定定時器

? 如果沒有收到ACK,重傳,

? 如果ACK只是延遲而不是丟失,會產生重復-----序列號咳解決該問題

發送方

在這里插入圖片描述

狀態1:等待是上層呼叫0

狀態1->狀態1:

? 事件:rdt_rcv(rcvpkt)

? 活動:無

狀態2:等待ACK 0

狀態1->狀態2:

? 事件:rdt_send(data)

? 活動:sndpkt=make_pkt(0,data,checksum),udt_send(sndpkt),start_timer

狀態2->狀態2:

? 事件1:rdt_rcv(rcvpkt)&&(corrupt(rcvpkt)||isACK(rcvpkt,1))

? 活動1:無

? 事件2:timeout

? 活動2:udt_send(sndpkt),starttimer

狀態3:等待來自上層的呼叫1

狀態2->狀態3:

? 事件:rdt_rcv(rcvpkt)&& notcorrupt(rcvpkt) && isACK(rcvpkt,0)

? 活動:stop_timer

狀態3->狀態3::
事件:rdt_rcv(rcvpkt)

? 活動:無

狀態4:等待ACK 1

狀態3->狀態4:

? 事件:rdt_send(data)

? 活動:sndpkt=make_pkt(1,data,checksum),udt_send(sndpkt),start_timer

狀態4->狀態4:

? 事件1:rdt_rcv(rcvpkt) && (corrupt(rcvpkt) || isACK(rcvpkt,0))

? 活動1:無

? 事件2:timeout

? 活動2:udt_send(sndpkt),starttimer

狀態4->狀態1:

? 事件:rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,1)

? 活動:stop_timer

至此,我們得到了一個可靠資料傳輸協議

3-4-2流水線可靠資料傳輸協議

rdt3.0 能夠正確作業,但性能很差

示例:1Gbps,15ms端到端傳播延遲,1KB分組

T t r a n s m i t = L ( l e n g t h ) R ( b p s ) = 8 k b / p k t 1 0 9 b / s c e = 8 μ s T_{transmit}=\frac{L(length)}{R(bps)}=\frac{8 kb/pkt}{10^9b/sce}=8 μs Ttransmit?=R(bps)L(length)?=109b/sce8kb/pkt?=8μs

發送方利用率:發送方發送時間百分比

U s e n d e r = L / R R T T + L / R = 0.008 30.008 = 0.00027 U_{sender}=\frac{L/R}{RTT+L/R}=\frac{0.008}{30.008}=0.00027 Usender?=RTT+L/RL/R?=30.0080.008?=0.00027

RTT是傳輸時間

1Gbps的鏈路上,每30ms才發送一個分組,33KB/sec

網路協議限制了物理資源了利用

若增加序號到3個,允許三個分組一起發出去,則

U s e n d e r = 3 ? L / R R T T + L / R = 0.024 30.008 = 0.0008 U_{sender}=\frac{3*L/R}{RTT+L/R}=\frac{0.024}{30.008}=0.0008 Usender?=RTT+L/R3?L/R?=30.0080.024?=0.0008

性能提升了3倍!

流水線機制

允許發送方在收到ACK之前能連續發送多個分組

更大的序列號范圍

發送方和接收方需要更大的存盤空間以快取分組

滑動視窗協議 Sliding-window protocol

視窗

? 允許使用的序列號范圍

? 視窗尺寸為N:最多有N個等待確認的訊息

滑動視窗

? 隨著協議的運行,視窗在序列號空間內向前滑動
在這里插入圖片描述
綠色:已經收到ACK的包

黃色:已經發送,但未收到ACK的包

藍色:可用的序列號,還未發送

白色:不可用

3-4-3退回N步(Go Back to N,GBN)協議

發送方

·分組頭部包含k-bit序列號
·視窗長度N

最多允許N個分組為確認

base 最小未使用序號

nextseqnum 最小未使用序號(及下一個待發分組序號)

[0 , base -1 ] 段內序號對應于 已經發送且確認的分組

[base , nextseqnum - 1 ] 對應 已經發送但未收到確認的分組

[nextseqnum , base + N - 1 ] 對應 要被立即發送的分組

[ base + N , ~] 對應 不可使用的分組

ACK(n)

確認到序號n(包含n)的分組已經被正確接收

可能收到重復的ACK

為傳輸中的分組設定計時器timer
超時Timeout(n)事件

重傳所有序列號大于等于n,還未收到ACK的所有分組

上層呼叫

如果視窗未滿,則產生分組并發送

如果視窗已滿,則將資料回傳給上層,隱式的告訴上層視窗已滿,

接收方:

ACK機制

發送方擁有最高序列號的、已被正確接收的分組ACK

? 可能產生重復的ACK

? 只需記住唯一的expectseqnum

亂序到達的分組

? 直接丟棄:接受方沒有快取

? 重新確認序列號最大的、按序到達的分組

3-4-4選擇重傳 (Selective Repeat,SR)協議

GBN的缺陷

N步重傳重傳了很多不必要的分組,造成浪費

改進

接收方對每個分組單獨進行確認

? 設定快取機制,快取亂序到達的分組

發送方值重傳那些沒收到ACK的分組

? 為每個分組設定一個單獨的定時器

發送方視窗

? N個連續的序列號

? 限制已發送但未確認的分組
在這里插入圖片描述
綠色:已經發送且受到確認的分組

黃色:已發送,還未確認

上藍色:可用,還未發送

粉色:失序分組(已經到達,但未確認)

灰色:期待,還未到達的分組

下藍色:可接受(視窗內)

視窗不同步

發送方事件及動作

1.從上層收到資料:檢查下一個可用序列號,在視窗內則發送,不在則退回或快取

2.超時timeout:重發超時的第n號分組,重啟n號分組的計時器

3.ACK(n):收到n號分組的ACK,若n==send_base 則視窗滑動到最小的未確認的分組處,否則只標記非確認

接收方事件及動作

若接受到 pkt 在 [rcvbase, rcvbase+N+1]內

  1. send ACK(n)
  2. 若亂序,則快取
  3. 若按序到達,將一直到最小的已快取的分組交付給上次,向前滑動視窗

若接收到 pkt 在 [rcvbase - N,rcvbase -1]

? 發送ACK(n)

其余情況則忽略

需求

N S + N R < = 2 k N_{S}+N_{R}<=2^k NS?+NR?<=2k

否則,會出現問題,無法區分下列兩種情況,
在這里插入圖片描述

3-5面向連接的傳輸:TCP

3-5-6TCP連接管理

三步握手

①Client -> Server : SYN=1,seq = client_isn(initial sequence number)

②Server -> Client : SYN=1,seq = client_isn,ack = client_isn + 1,server_isn (SYNACK報文段,連接已經建立)

③Client -> Server :SYN=0,seq = client_isn + 1,ack = server_isn + 1(可包含資料)

之后的報文段中,SYN都將置為0

四步揮手

①CLOSED 狀態 Client -> Server :FIN = 1 ,Client 進入 SYN_SENT 狀態,

②Server -> Client :ACK , 客戶端收到ACK后,等待服務器的FIN,服務器發送ACK后,等待一段時間并發送FIN

③Server‘ -> Client :FIN 收到該報文段后客戶端進入ESTABLISHED的階段,并回傳ACK

④Client -> Server : ACK,發出此報文后,等待一段時間斷開連接

? 等待中,若收到FIN則重新發送ACK

server 收到ACK連接關閉

* 優缺點

安全性不高

可以保證連接的可靠有效建立

* 安全性(SYN洪泛)

SYN洪泛是一種經典的 DoS 拒絕服務攻擊,攻擊者發送大量的TCP SYN報文段而不完成第三次握手,而在第二次連接中服務器往往已經給改客戶分配了資源,因此在不斷的不完整握手到來時,服務器資源被消耗殆盡

有效的防御SYN cookie

服務器通過cookie來判斷用戶的ACK是否合理,而服務器只對ACK合理的客戶分配資源而并不記憶之前的SYN段,

①IP提供“盡力而為的,不可靠的”服務,IP服務不去確認資料報是否按需或者是否正確,而TCP提供的是可靠資料傳輸,通過使用流量控制、序號、確認和計時器等保證正確、按序將資料從發送方傳輸到接收方,

② 所處層次不同

TCP解決的是端到端的行程間交付,需采用多路復用和多路分用問題

IP解決的是點到點的主機間交付,IP則更多考慮路由路徑問題

③ 擁塞控制方面

TCP基于信源控制:延遲較大,難以實作公平性,可以解決長期擁塞

IP 基于節點控制:無延遲,可以實作公平性,無法實作長期擁塞

* TCP與UDP對比

①TCP

基于連接服務:通信需要三次握手建立連接,結束時需要四次揮手斷開連接

可靠的資料傳輸:TCP保證資料按序,準確到達

②UDP

基于無連接服務:通訊不需要建立連接,想法就發,報文簡單僅為UDP報頭+IP資料報,至此單播,多播和廣播功能

“盡力而為的服務”:UDP不保證資料到達的順序,可能丟包

3-7 TCP擁塞控制原理

Sender 限制發送速率

LastByteSent - LastByteAcked <= CongWin(擁塞視窗)

r a t e ≈ C o n g W i n R T T B y t e s / s e c rate \approx \frac{CongWin}{RTT} Bytes/sec rateRTTCongWin?Bytes/sec

用LOSS事件感知網路擁塞

Loss = timeout 或 3個重復的ACK

發生 Loss 后,發送方降低速率

1.慢啟動 SS

TCP連接建立時,CongWin=1

例如MSS = 500 byte,RTT = 200 msec,初始速率 = 20k bps

可用帶寬可能遠高于初始速率,希望快速增長

原理:當連接開始時,指數性增長

? 每個RTT將CongWin翻倍

? 收到每個ACK進行操作

開始速率很慢,但快速攀升,

2.擁塞避免:加性增—乘性減AIMD

加性增—乘性減:AIMD

Additive Increase:謹慎的探測可用帶寬,逐漸增加發送速率,直到Loss,

Multiplicative Decrease:Loss后直接CongWin減半,

3.快速恢復

慢啟動和擁塞避免的切換:Threchold

Loss 事件發生時,Threshold被設定為Loss時間前CongWin值的一半
在這里插入圖片描述

Loss 事件的回應

收到3個重復的ACKs:CongWin切到一半,Threshold也減為一半,然后線性增長

Timeout事件:CongWin直接設為1個MSS,Threshold減為一半,然后慢啟動+擁塞控制

4-4SDN軟體定義網路

* 功能

可以通過應用程式介面(API)或者開放的程式介面(如OpenFlow)來集中控制網路的行為,通過基于軟體的控制,網路管理人員可以直接從中央控制臺來控制流量的流向,并在整個網路中提供服務,而不用管連接的硬體組件是如何的,

* 原理

協同應用層

體現用戶意圖的各種上層應用程式,此類應用程式稱為協同層應用程式,典型的應用包括OSS(Operation support system 運營支撐系統)、Openstack等,
OSS:負責整網的業務協同,
Openstack:在資料中心負責網路、計算、儲存的協同
傳統的IP網路具有轉發平面、控制平面和管理平面,SDN網路架構也同樣包含這3個平面,
只是傳統的IP網路是分布式控制的,而SDN網路架構下是集中控制的

控制層

控制層是系統的控制中心,負責網路的內部交換路徑和邊界業務路由的生成,并負責處理網路狀態變化事件,當網路發生狀態變化,比如鏈路故障,節點故障,網路擁塞等時,控制層會根據這些網路狀態的變化調整網路交換路徑和業務路由,使網路始終能夠處于一個正常的服務狀態,
控制層的實作物體就是DNS控制器,也就是SDN網路架構下最核心的部件,控制層是SDN網路系統中的大腦,是決策部件,其核心功能是實作網路內部交換路徑的計算和邊界業務路由計算,控制層的介面主要是通過南向控制介面和轉發層互動,北向業務介面和協同應用層互動,

轉發層

轉發層主要由轉發器和連接器的線路構成基礎轉發網路,這一層負責執行用戶資料的轉發,轉發程序中所需要的轉發表項是由控制層生成的,
轉發層是系統執行單元,本身通常不做決策,其核心部件是系統轉發引擎,由轉發引擎負責根據控制層下發的轉發資料進行報文轉發,該層和控制層之間通過控制介面互動,轉發層一方面上報網路資源資訊和狀態,另一方面接收控制層下發的轉發資訊,

5-2路由選擇演算法(routing algorithm)

* 概念

選擇從發送方到接收方的程序中確定一條通過路由器網路的好的路徑,通常,一條好的路徑指的是具有最低開銷的路徑,

從抽象的圖中尋找最短路徑的演算法

5-2-1鏈路狀態路由選擇演算法LS(Dijkstra演算法)

集中式路由選擇演算法:需要掌握全域的路由資訊

具體操作詳見資料結構:最短路Dijkstra演算法

存在震蕩的可能:

e.g. 假設鏈路費用是該鏈路承載的通信量(如下圖則發生震蕩)
在這里插入圖片描述

5-2-2距離向量路由選擇演算法DV

Bellman-Ford方程(動態規劃)

原理:

令: d x ( y ) = d_{x}(y)= dx?(y)=從x到y的最短路徑的費用(距離)

則: d x ( y ) = m i n v { c ( x , y ) + d v ( y ) } d_x(y)=min_v\{ c(x,y) + d_v(y) \} dx?(y)=minv?{c(x,y)+dv?(y)} 在x的所有鄰居v中,區x->v + v->y 的費用和最小值

x只需要知道x與其鄰居的路徑費用,

D x ( y ) = D_x(y)= Dx?(y)=從節點x到y的最小費用估計

節點x:

? 已知到達每個鄰居的費用:c(x,v)

? 維護其所有鄰居的距離向量: D v = [ D v ( y ) : y N ] D_v=[D_v(y):y N] Dv?=[Dv?(y):yN]

核心思想:

每個節點不定時地將其自身的DV估計發送給鄰居

當x節點收到鄰居的新的DV估計時,即依據B-F更新其自身的距離向量估計

D x ( y ) D_x(y) Dx?(y)將最終收斂于實際的最小費用 d x ( y ) d_x(y) dx?(y)

特點

異步迭代:引發每次區域迭代的因素

? 區域鏈路費用的改變

? 來自鄰居的DV更新

分布式:每個節點只當DV變化時才通告給鄰居

鄰居才必要時(其DV更新后發生改變)再通告它們的鄰居

每個節點:

等待(本地區域鏈路費用變化或者收到鄰居的DV的更新)——>重新計算Dx

——>如果到達任意目的的距離發生變化,則通告鄰居——>鄰居(等待)

1.距離向量演算法:鏈路開銷改變與鏈路故障

鏈路費用變化:

①檢測本地鏈路費用變化

②更新路由資訊,重新計算距離向量

③如果DV改變,通告所有鄰居

好訊息傳播快,

當網路中出現環路時候:無窮計數問題

壞訊息傳播慢,

2.距離向量演算法:增加毒性逆轉

如果一個節點到達目的節點的最小費用路徑是通過某個鄰居,則

通告給該鄰居節點到達該目的地的距離為無窮大
在這里插入圖片描述
定義最大度量:

定義最大的有效費用值,如15跳,16跳就代表不可達

3.LS和DV的比較

①LS需要知道全域鏈路狀態,而DV只需要知道到鄰居的鏈路裝啊提

②報文復雜性:LS要求每次鏈路狀態發生改變時,發生O(n+e)個 報文到其他所有節點,DV僅在最低鏈路開銷發生變化時與相鄰節點通告,

③收斂速度:LS演算法是一個 O ( n 2 ) O(n^2) O(n2)的演算法,DV演算法收斂的很慢,會遇到路由環路或者無窮計數問題,

④健壯性:LS演算法下,節點路徑的計算是分離的,一個節點可向所有其他節點通告不正確的最小費用路徑,DV演算法中,一個不正確的節點計算值往往會擴散到整個網路,

5-3因特網中自治系統內部的路由選擇:OSPF

自治系統AS(autonomous system)

? 聚合一系列路由器為一個區域,同一自治系統的路由器使用相同的路由協議

? 不同的自治系統內的路由器可以運行不同的路由協議

自治系統內部路由選擇協議 intra-autonomous system routing protocol

自治系統間路由選擇協議 inter-autonomous system routing protocol

某一自治系統內的路由器的轉發表:AS內部路由演算法+AS間路由演算法

1.原因

·規模

將任意規模的網路抽象與一個圖計算路由過于理想化

①不可能標識所有路由器——考慮6億節點的網路,路由表無法存盤,路由計算程序的資訊交換量巨大,淹沒鏈路,

②網路不是扁平的,每個路由器的處理資訊的能力不同,

·管理自治

每個網路的管理可能都期望自主控制其網內的網路路由

互聯網=網路之網路

2.開放最短路優先(Open Shortest Path First,OSPF)

實作:

·開放:公共可用

·鏈路狀態路由演算法

? LS分組擴散

? 每個路由器構造完整AS的拓撲圖

? 利用Dijkstra演算法計算路由

OSPF通告中每個入口對應一個鄰居

OSPF通告在整個AS范圍內洪泛

? OSPF報文直接封裝在IP資料報中

優點

·安全

所有的OSPF報文可以被認證(口令或者MD5),預防網路入侵

·多條相同開銷的路徑

無需選擇單一的路徑來承載所有的流量,實作流量均衡,

針對每條鏈路可以針對不同的TOS設定不同的費用度量,實作不同資料型別路由的分流

·單播與多播的綜合支持(多播OSPF,MOSPF)

利用相同的網路拓撲資料

·支持在單個AS中的層次結構

兩級磁區:區域區域(area),主干區(Backbone)

? 鏈路狀態通告只限于區域內

? 每個路由器只掌握所在區域的詳細拓撲

? 只知道去往其他區網路的”方向“

區域邊界路由器:“匯總”到達所在區域網路的距離,通告給其他區邊界路由器

主干路由器:在主干區內運行OSPF路由演算法

AS邊界路由器:連接其他的AS

5-4ISP之間的路由選擇:BGP

邊界網關協議BGP(Border Gateway Protocol)

? 事實上的標準域間路由協議

自治系統間路由任務:

學習哪些網路可以通過哪些相鄰的AS到達

將這些網路可達性資訊由網關路由器傳播給AS1內部路由器

外部BGP eBGP external

從鄰居AS獲取子網可達性資訊

內部BGP iBGP internal

向所有AS內部路由器傳播子網可達性資訊,基于可達性資訊確定到其他網路的的“好”的路由

5-4-1BGP的作用

BGP會話:兩個BGP路由器(peers)

? 通告去往不同目的前綴的路徑(路徑向量協議)

? 報文基于半永久的TCP連接

BGP報文:

①OPEN:與peer建立TCP連接,并認證發送方

②UPDATE:通告新路徑(或撤銷原路徑)

③KEEPALIVE:在無UPDATE時,保活連接,也用于對OPEN請求報文的確認

④NOTIFICATION:報告先前報文差錯,也用于關閉連接

1)從鄰居AS獲得前綴的可達性資訊

容許子網向Internet區域部分通告它的存在:“我在這兒!”

2)確定到該前綴的“最好的”路由

一臺路由器可能知道兩潭訓更多條到達特定前綴的不同路由,該路由器將利用獲得的前綴可達性資訊及其他策略運行GBP路由選擇程序確定最好的路由,

5-4-2通告BGP路由資訊

網關路由器gateway router

? 位于AS邊緣

? 通過鏈路連接其他AS的網關路由器

? 可以實作自治系統間的路由

內部路由器internal router

? AS內部的路由器

分發路徑資訊:

在這里插入圖片描述
當AS3通告一個前綴給AS1時,AS3承諾可以將資料報轉發給該子網,AS3會在通告中聚合網路前綴(減少通告報文量)

分發路徑資訊:
在這里插入圖片描述
在3a與1c之間,AS3利用eBGP會話向AS1發送前綴可達性資訊,

1c則可用iBGP向AS1內部所有路由器分發新的前綴可達性資訊

1b可以(也可能不)進一步通過1b-2a的eBGP會話,向AS2通告新的可達性資訊

當路由器獲得新的可達性資訊時,擴展入口

5-4-3確定最好路由

BGP屬性

前綴+屬性=路由

兩個重要屬性

①AS-PATH(AS路徑):包含前綴通告所經過的AS序列

②NEXT-HOP(下一跳):開始一個AS-PATH的路由介面,指向下一跳AS

1.熱土豆路由選擇

當多個網關路由器可以到達同一個某個AS時:將分組發送給最近的網關路由器

①通過AS間路由協議學習到:子網x可以通過多個網關到達

②利用AS內部路由協議,確定到達每個網關的最小費用路徑

③選擇費用最小的網關

④通關轉發表,確定去往該網關的介面l,增加入口(x,l)

2.路由選擇演算法

當網關路由器收到路由通告后,利用其輸入策略決策接受/拒絕該路由——基于策略的路由

當路由器獲知到達某目的AS的多條路由基于以下準則選擇:

①本地偏好值屬性:策略抉擇,選擇偏好值最大的

②最短AS-PATH:經過AS少

③最近的NEXT-HOP路由器:熱土豆路由

④附加準則

6-2差錯檢測

6-2-1奇偶校驗

設定奇偶校驗位補全1的數目為奇數或者偶數,

6-2-2校驗和方法 checksum

16位反碼求和

6-2-3回圈冗余檢測 CRC Cyclic Redundancy Check

計算

多項式碼:任何一個由二進制數位組成的代碼都可以和一個只含有0,1兩個數的多項式意義建立對應關系如:

1 0 1 1 0 1 1

x 6 ?? x 5 ?? x 4 ?? x 3 ?? x 2 ?? x 1 ?? x 0 x^6\;x^5\;x^4\;x^3\;x^2\;x^1\;x^0 x6x5x4x3x2x1x0

k位的幀對應一個k-1次的多項式—共有k項(0次項~k-1次項)選定一個多項式編碼生成多項式G(x)作為除數(r階)

設待發送的k位幀為M(x),k>r

r位冗余的計算: 2 r M ( x ) / G ( x ) = Q ( x ) + R ( x ) 2^rM(x)/G(x)=Q(x)+R(x) 2rM(x)/G(x)=Q(x)+R(x)

用二進制模2運算進行 2 r 2^r 2r乘M(x)的運算—>在M(x)后面添加r個0,得到k+r位的被除數

除以r+1位的G(x),異或操作:0^0=0 0^1=1 1^0=1 1^1=0

乘法:

在按位乘時,與正常的乘法相同,不進位,加法按照模2加法進行

除法:

位數足夠時,異或運算,被除數(余數)首位是1,商1,首位是0,商0,

余數洗掉首位,

得到一個 2 r M + R 2^rM+R 2rM+R的編碼

校驗:

得到的碼除以該多項式編碼,得到余數為0則正確,否則錯誤,

檢錯能力:

CRC校驗碼能檢查出全部單個錯

全部離散二位錯

全部奇數個錯

全部長度小于等于k位的突發錯

能以[1-(1/2)k-1]的概率檢出長度為K+1位的突發錯

K=16 漏檢率位0.003%

6-3多路訪問鏈路和協議

* 為什么出現(多路復用)

所有節點都可能傳輸幀,也可能多個節點同時傳輸幀,沒有多路復用協議,傳輸的幀在接收方就會發生碰撞,發生碰撞的幀會丟失,

6-3-1信道劃分協議

(選)1.時分多路復用 TDM

(選)2.頻分多路復用FDM

3.碼分多址CDMA

* CDMA/CD

詳見6-3-2 隨機接入MAC協議

* CDMA/CA

詳見7-3-2 802.11隨機接入協議

* CD與CA對比

6-3-2隨機接入協議

1.時隙ALOHA

假定

所有幀大小相同

時間被劃分為等長的時隙:每個時隙只能傳輸一個幀

節點只能在時隙開始時刻發送幀

節點時鐘同步

如果2個或2個以上節點在同一時隙發送幀,節點即檢測到沖突

運行:

當節點有新幀時,在下一個時隙發送

如果無沖突,該節點可以在下一個時隙繼續發送新的幀

如果沖突,則該節點在下個時隙以概率p重傳,直至成功

優點:

單個節點中,可以連續以信道全部速率傳輸資料

高度分散化,只需同步時隙

簡單

缺點:

沖突,浪費時隙

空閑時隙

節點也許能以遠小于分組傳輸時間檢測到沖突

時鐘同步

效率

假設:N個節點共享鏈路,每個接地那均以概率p發送資料

對于給定節點,該節點成功發送幀的概率為 p ( 1 ? p ) N ? 1 p(1-p)^{N-1} p(1?p)N?1

對于任意節點成功發送幀的概率為 N p ( 1 ? p ) N ? 1 Np(1-p)^{N-1} Np(1?p)N?1

最大效率:求使得 N p ( 1 ? p ) N ? 1 Np(1-p)^{N-1} Np(1?p)N?1最大的p*

對于很多節點,求當N趨于無窮時的極限可得最大效率為 1 e = 0.37 \frac{1}{e}=0.37 e1?=0.37

2.ALOHA

更加簡單,無需同步

運行:
當有新的幀生成時,立即發送

沖突可能性增大

? 在 t 0 t_0 t0?時刻發送幀,會在 [ t 0 ? 1 , t 0 + 1 ] [t_0-1,t_0+1] [t0??1,t0?+1]期間其他節點發送的幀沖突

效率

無其他節點在t0-1t0期間發送幀,無其他節點在t0t0+1期間發送幀

n p ( 1 ? p ) 2 ( n ? 1 ) = 1 2 e = 0.18 np(1-p)^{2(n-1)}=\frac{1}{2e}=0.18 np(1?p)2(n?1)=2e1?=0.18

3.載波偵聽多路訪問CSMA

·載波偵聽

發送幀之前,監聽信道

? 信道空閑,發送完整幀

? 信道忙,推遲發送:

1-堅持CSMA:一直監聽,直到信道空閑

非堅持CSMA:等待一段時間,再監聽

p-堅持CSMA:以概率p監聽信道

沖突仍然可能發生:信號傳播延遲

4.具有碰撞檢測的CSMA ,CSMA/CD

短時間內可以檢測到沖突

沖突后傳輸終止,減少信道浪費

沖突檢測:

局域網易于實作,測量信號強度對比發送和接收的信號強度

無線局域網很難實作,信號衰減太快,

特點:“邊發邊聽,不發不聽”

資料幀要滿足:

網路帶寬:R bps

最小資料幀長度 L m i n b i t s L_{min} bits Lmin?bits

信號傳播速度 V
L R > = 2 d m a x V \frac{L}{R}>=\frac{2d_{max}}{V} RL?>=V2dmax??
或者
L m i n R = R T T m a x \frac{L_{min}}{R}=RTT_{max} RLmin??=RTTmax?

5.CSMA/CD 效率

T p r o p = T_{prop}= Tprop?=LAN中兩個節點間的最大傳播延遲

t t r a n s = t_{trans}= ttrans?= 最長幀傳輸延遲
效 率 = 1 1 + 5 T p r o p / t t r a n s 效率=\frac{1}{1+5T_{prop}/t_{trans}} =1+5Tprop?/ttrans?1?

6-6資料中心網路

刀片 blade:資料資料中心中的主機

機架頂部交換機 Top of Rack TOR

主機被堆疊在機架上,每個機架頂部有一臺交換機,它與機架上的主機相關聯,與其他資料中心的其他交換機相關聯,

邊界路由器 border router

1.負載均衡

負載均衡器:向主機分發請求,以主機當前的負載作為函式來在主機之間均衡負載,

2.等級體系結構

路由器和交換機等級結構

3.資料中心網路的發展趨勢

全連接拓撲

7-1 無線網路概述

* 概念

無線主機:在無線網路中運行的端系統設備

無線鏈路
在這里插入圖片描述
均使用CSMA/CA多路訪問控制協議

* 分類

基礎設施(基站)網路模式

特定網(自組網)網路模式

基站:訪問點AP (access point)

基本服務集BSS(Basic Service Set)

基礎設施網路模式

? 無線主機

? AP:基站

自組網模式

? 只有主機

7-3WiFi:802.11 無線LAN

基礎設施(基站)網路模式

基本服務集

? 無線主機

? AP:基站

特定網(自組網)網路模式

基本服務集

? 只有主機

7-3-1 802.11體系結構

主機:必須要與某一個AP關聯(associate)

? 掃描信道,監聽包含AP名稱(SSID)和MAC地址的信標幀

? 選擇一個AP進行關聯(可能搜索到多個AP)

? 可能需要身份認證

? 典型情形:DHCP

1.基本服務集BSS(Basic Service Set)

接入點 access point,AP

中央基站 base station

配置AP的無線LAN經常被稱作基礎設施無線LAN

802.11b:2.4Ghz~2.485Ghz頻譜劃分11個不同的頻率信道

? AP選擇一個頻率(信道)

? 存在干擾的可能:相鄰的AP可能選擇相同的信道

2.信道與關聯

關聯程序

主機必須要與某一個AP關聯(associate)

①掃描信道,監聽包含AP名稱(SSID)和MAC地址的信標幀

②選擇一個AP進行關聯(可能搜索到多個AP)

③可能需要身份認證

④典型情形:DHCP

主動掃描和被動掃描

被動掃描:

? 獲取各個AP發送的信標幀

? 主機向選擇的AP發送關聯請求幀

? AP向主機發送關聯回應幀

主動掃描:
主機主動廣播探測請求幀

? AP發送探測回應幀

? 主機選擇AP發送關聯請求幀

? AP向主機發送關聯回應幀

7-3-2 802.11MAC協議

基于CSMA-發送資料前偵聽信道:避免與正在進行傳輸的其他節點沖突

不能邊發送邊檢測沖突

? 無線信道很難實作CSMA/CD

? 無法偵聽到所有可能的沖突:隱藏站,由于障礙物等原因的信號衰減

目標:避免沖突CSMA/CA

CSMA/CA

通過定義間隔時間,反應幀的優先級

sender發送方:

1.如果監聽信道空閑了DIFS,則發送幀

2.如果監聽到信道忙

? 開始隨機退避計時

? 當信道空閑時,計時器倒計時

? 計時器超時,發送幀

? 如果沒有收到ACK,則增加退避時間,重復第二步

receiver接收方

1.如果正確接收到幀:延遲SIFS后,向發送端發送ACK

沖突避免CA

基本思想:允許發送端”預約“信道,而不是隨機發送資料幀,從而避免長資料幀的沖突

發送端首先利用CSMA向BS發送很短的RTS

BS廣播一個CTS幀回應

CTS幀可被所有節點接收-消除隱藏站

發送端可以發送資料幀,其他節點推遲發送

利用很小的預約幀徹底避免的資料幀的發送沖突

MAC幀

在這里插入圖片描述
在這里插入圖片描述

7-3-4 在相同IP子網中的移動性

7-3-5 802.11 高級特色

速率適應

類似于TCP的擁塞控制機制

功率管理

使得節點的偵聽、傳輸、接收功能以及其他需要“打開”電路的時間量最小化

參考資料

計算機網路自頂向下方法第七版
哈爾濱工業大學計算機網路公共課程

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240533.html

標籤:其他

上一篇:平凡的生活,不平凡的2020

下一篇:GitHub 超 20000 Star,最火開源視頻庫 FFmpeg 這 20 年!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more