国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

NS-2實踐:分析TCP的擁塞控制原理

2019-11-04 20:44:17
字體:
來源:轉載
供稿:網友

  TCP是Transmission Control PRotocol的縮寫,即傳輸控制協議,它對應于OSI七層模型中的傳輸層,建立于網絡層之上。TCP旨在給互聯網提供一種可靠的端到端的字節傳輸流。
  
  自從1988年問世以來,TCP在研究者的努力下先后得到了許多新的發展,目前主要的模型包括四個,即TCP TAHOE,TCP RENO,TCP NEWRENO和TCP SACK。TCP TAHOE模型是最早的TCP協議之一,它由Jacobson提出。Jacobson觀察到,TCP報文段(TCP Segment)丟失有兩種原因,其一是報文段損壞,其二是網絡阻塞,而當時的網絡主要是有線網絡,不易出現報文段損壞的情況,網絡阻塞為報文段丟失的主要原因。針對這種情況,TCP TAHOE對原有協議進行了性能優化,其特點是,在正常情況下,通過重傳計時器是否超時和是否收到重復確認信息(dupack)這兩種丟包監測機制來判定是否發生丟包,以啟動擁塞控制策略;在擁塞控制的情況下,采用慢速啟動(Slow Start)算法和快速重傳(Fast Retransmit)算法來控制傳輸速率。
  
  在試驗中,我們以TCP TAHOE模型為例,對TCP的擁塞控制原理進行分析,包括兩種丟包監測機制和擁塞控制中的慢速啟動算法和快速重傳算法。
  
  1. TCP擁塞控制相關技術簡介
  
  1.1 慢速啟動算法
  
  在TCP TAHOE模型中,擁塞控制主要是通過調整發送端的發送速率,而這又主要是通過三個變量實現的:擁塞窗口(Congestion Window),接收端窗口(Receivers’s Window),慢速啟動閾值(Slow Start Threshold,SSTHRESH)。發送端一旦監測到數據包丟失(其原因可能是重傳計時器超時,亦可能是收到重復的ACK信令),它就會開始調整發送速率。這包括,ssthresh調整為當前擁塞窗口的一半,同時擁塞窗口將降低到1個報文段。然后,隨著通信過程的恢復,擁塞窗口持續增長。在擁塞窗口大小未達到ssthresh之前,它以指數速度增長;到達之后則開始線性增長。有趣的是,雖然這種算法稱為慢速啟動算法,但實際上一點兒也不慢,它是指數增長的。
  
  1.2 快速重傳算法
  
  當發送端連續收到3個對應于同一個序列號的ACK信令時,就觸發了其快速重傳算法,即發送端不等重傳計時器超時,立即向接收端發送指定的報文段。
  
  1.3 丟包檢測機制有如下兩種
  
  (1). 重復ACK信令
  
  重復ACK有兩個作用,其一,發送端可以確信該ACK序列號之前的TCP報文段都已經被接收端成功接收;其二,發送端可以據此判定出接收端接收到的TCP報文段發生了亂序的情況和接收端當前期待的TCP報文段序列號,從而觸發其擁塞控制策略。
  
  (2). 超時重傳
  
  發送端發出報文段后,在規定的時間內沒有能夠收到接收端返回的ACK信令,從而使得發送端認為該報文段丟失,觸發其擁塞控制策略。在這里面主要涉及到重傳計時器(retransmission timer),它是TCP協議中最重要的計時器。根據《Computer Networks, Fourth Edition》,當報文段發出后,重傳計時器立即啟動,假如發送端在計時器超時之前得到ACK,則計時器停止;假如計時器超時后仍然沒有收到ACK,那么報文段就重傳,并且計時器重新啟動。計算超時的主要公式有:
  
  Timeout = RTT + 4×D
  
  D = α D + (1-α) RTT - M
  
  RTT = α RTT + (1-α) M
  
  其中M 、RTT、D均為可變值,M是當次的RTT值。
  
  2. 試驗網絡拓撲圖與參數
  
  該試驗基于NS-2網絡模擬器,并在我們之前搭建好的無線環境中進行,試驗目的是分析TCP擁塞控制原理。
  
  由于網絡層協議是移動ipv6,因此有名稱為通信節點(Corresponding Node,CN)、家鄉代理(Home Agent,HA)、接入路由器(access Router,AR)、移動節點(Mobile Node,MN)的網絡實體,其中CN為數據發送端,MN為數據接收端,AR是接入路由器,HA則對于我們這次的試驗沒有影響,因此不予介紹。NodeX為普通網絡節點。網絡鏈路的典型參數,即帶寬和延遲,標于每條鏈路之上。
  

 NS-2實踐:分析TCP的擁塞控制原理(圖一)


               圖1試驗網絡拓撲圖
  
  一般情況下,由于Internet上傳送的數據量大,相應的延遲比較大,因此Internet的延遲設為了50ms;無線網絡的帶寬比較小,因此我們設為了1M。整個試驗過程持續80秒。CN為FTP型的數據源,TCP報文段大小為256bytes,擁塞控制窗口(Congestion Window)為32。CN從第6秒開始向MN1發送TCP報文段,一直到整個試驗結束。該TCP協議采用NS-2中的Tahoe模型。兩個接入路由器(Access Router,AR)分別接入兩個局域網,它們的位置分別為(85.0,135.0),(155.0,135.0),相隔70米,AR的有效覆蓋范圍是以AR自身為中心,半徑40米的圓,又因為PAR和NAR在縱坐標相同,因此在他們兩者的中心連線上,有10米重復的覆蓋范圍。
  
  MN從第5秒開始接收CN發送過來的FTP數據,經過5秒鐘的穩定時間后,于第10秒以1m/s的恒定速度由位置(85.0,135.1)走到(155.0,135.1)處,相當于沿著PAR與NAR的中心連線,由PAR走向NAR處。試驗進行到第80秒的時候,MN剛好走到目的地。
  
  對于網絡節點而言,沒有配置好網絡層就不能夠正常的進行傳輸層通信。在該試驗中,MN在移動過程中會發生切換,其間由于MN需要進行網絡層的配置將不能夠進行正常的傳輸層通信,因此CN會監測到報文段丟失的情況,并且會啟動其擁塞控制策略,這就是我們觀察的重點。
  
  3. 試驗與分析
  
  我們的測試分為兩部分。第一部分試驗以重復ACK信令作為TCP擁塞控制策略的觸發事件,第二部分試驗以超時重傳作為TCP擁塞控制策略的觸發事件。每部分都做10次模擬試驗以求試驗數據的客觀性。
  
  當試驗結束后,我們用XGRAPH制圖,有兩種類型。第一種為TCP序列號圖,它們基于通信節點(發送報文段的節點)和移動節點(接收報文段的節點)的發送和接收緩存中的TCP序列號制成,能反映TCP報文段的傳輸情況,這類圖的橫坐標為時間,縱坐標為TCP序列號。第二類圖為擁塞窗口變化圖,能反映數據包的傳輸速率,這類圖的橫坐標為時間,縱坐標為擁塞窗口大小。
  
  首先我們根據圖2至圖7來分析通過重復ACK信令觸發CN(發送節點)啟用TCP擁塞控制策略的情況。
  

 NS-2實踐:分析TCP的擁塞控制原理(圖二)


  

 NS-2實踐:分析TCP的擁塞控制原理(圖三)


          圖4 通信節點和移動節點發送端TCP序列號詳圖
  

 NS-2實踐:分析TCP的擁塞控制原理(圖四)


          圖5 通信節點和移動節點接收端TCP序列號詳圖
  

 NS-2實踐:分析TCP的擁塞控制原理(圖五)


             圖6 通信節點擁塞控制窗口變化
  

 NS-2實踐:分析TCP的擁塞控制原理(圖六)


           圖7 通信節點擁塞控制窗口變化詳圖
  
  其中,圖2至圖5是試驗期間CN(通信節點,在試驗中又是發送節點)和MN(移動節點,在試驗中又是接收節點)的接收緩存和發送緩存中的TCP序列號圖。圖6和圖7則是試驗期間CN的擁塞窗口變化圖。圖4、圖5分別為為圖2、圖3紅色矩形區域的放大圖;圖7為圖6藍色矩形區域的放大圖。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 烟台市| 古丈县| 阜康市| 桓仁| 封开县| 昌都县| 长治县| 岳池县| 湟中县| 绍兴市| 开平市| 五莲县| 浮山县| 灵武市| 岐山县| 旺苍县| 寿宁县| 奎屯市| 康保县| 涟源市| 吴忠市| 巴马| 曲周县| 岳阳县| 双流县| 乐业县| 阿拉善左旗| 富民县| 左贡县| 如东县| 故城县| 澎湖县| 滨州市| 安吉县| 永泰县| 都兰县| 遵化市| 浑源县| 班戈县| 孝感市| 武夷山市|