首页 > 编程知识 正文

tcp扩展选项sack,tcp的拥塞控制算法分别是

时间:2023-05-03 16:52:30 阅读:111051 作者:3324

计算机实验TCPNewReno与SACK运行机制的比较分析

实验二、TCP NewReno与SACK运行机制对比分析

实验的目的:

学习TCP拥塞控制机制,了解TCP NewReno和TCP SACK协议的工作机制及各自的特点。

实验环境:

Ubuntu NS2 2.35

实验内容:

绘制了Reno、NewReno、SACK三个TCP版本的仿真图,并根据图形对它们的运行机制进行了比较分析。

实验步骤:

在接下来的实验中,将观察Reno、NewReno、SACK的3个TCP版本

1 .模拟的网络结构图:

实验性的网络拓扑和链路参数配置(FTP代表方适用一定的流量CBR ) ) )。

2.TCL程序代码(参见附录lab12.tcl )

3 .执行方法和结果($是shell的队列符号) )。

3.1观察Reno版本的congestion window的变化:

Tahoe算法是TCP的初始版本。 其中心思想是将cwnd按指数快速逼近可用信道容量,并逐渐接近均衡。 Tahoe有三种基本的拥塞控制算法:“慢启动”、“避免拥塞”和“快速重发”。

? (1)慢启动:避免了建立连接时突发数据流对网络的冲击。

? 默认情况下,cwnd为1,它将以指数方式增加,直到cwnd超过ssthresh。

? 当cwnd=ssthresh时,Tahoe进入避免拥塞阶段。

? )2)避免拥塞)限制传输中无限制的速度增加,避免由此导致的拥塞。

? cwnd呈直线增长。

? 如果发生超时或连续接收到三个重复的ACK,Tahoe将认为发生了拥塞。

? 如果超时,则将ssthresh设置为当前拥塞窗口的一半,并在cwnd=1时转移到慢启动。

? 如果收到三个连续的ACK,Tahoe将进入快速重传阶段。

? 3 )高速重发)根据3个重复的响应消息判断分组丢失,减少超时重发的发生,加快源端对拥塞的响应,可以迅速消除拥塞。 将ssthresh设置为当前拥塞窗口的一半,然后立即重新发送丢失的包,同时cwnd=1转至慢启动。

Tahoe算法有不足之处。 如果收到三个重复的ACK或超时,Tahoe会将cwnd设置为1,然后进入慢启动阶段。 这一方面会引起网络的剧烈振动,另一方面会大幅降低网络的利用率。

在本例中,将队列大小设置为15个数据包。 粗略估计,如果路径上的数据包数量超过16.4个,则会开始丢弃数据包。 在TCP Tahoe/Reno中容易发生Timeout的发送端,由于发送速度过快,容易发生多包丢失。

$ns lab12.tcl Reno

结果如下。

on path : 16.44包

average throughput : 924.8 kbps

使用gnuplot观察cwnd的变化值:

$Startxwin.bat

$gnuplot

Gnuplotset title “Reno”

Gnuplotset xlabel “time”

Gnuplotset ylabel “cwnd”

Gnuplotset terminal gif

Gnuplotset output “cwnd-Reno.gif”

guplotplot“cwnd-Reno.tr”withlinespoints

您可以选择在命令行中逐步执行并生成结果,也可以创建一个文档,将代码复制到文档中,然后在名为Gnuplot的文档中生成结果。

之后打开cwnd-Reno.gif图像,如图1所示。

为了观察从R0到R1的链路的使用情况,lab12.tcl脚本使用awk程序记录队列长度的变化,使用gnuplot绘制queue_length-Reno.tr文件,将图2显示为

Gnuplotset title “Reno”

Gnuplotset xlabel “time”

Gnuplotset ylabel “queue length”

Gnuplotset terminal gif

guplotsetoutput“queue _ length _ Reno.gif”

guplotplot“queue _ length _ Reno.tr”withlinespoints 1

设置标题“Reno”

设置标签“时间”

设置标签“queue length”

设置终端千兆赫

set output“queue _ length _ Reno.gif”

plot“queue _ length _ Reno.tr”withlinespoints 1

3.2观察新版本congestion window的变化:

NewReno是从Reno修改的TCP版本。 在这个版本中主要是TCP Reno的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。