概述
帮助你更好地认识TCP拥塞控制的机制
#include "stdio.h"
#include "stdlib.h"
void show()
{
//system("cls");
printf("n");
printf("请输入ssthrest的初始值:nn");
printf("请输入需要模拟的传输轮次数:nn");
printf("请输入重传的值n:n");
printf("请输入快重传的值m:nn");
}
void main()
{
int sst=0;
int x=0;
int ch=0;
int n=0;//重传的报文段
int m=0;//快重传的报文段
int i=1;//打印传输轮次
int cwnd=1;
int cchuan=0;
do
{
show();
scanf("%dt%dt%dt%d",&sst,&x,&n,&m);
//慢开始
printf("n拥塞窗口cwnd:");
for(cwnd=1,i=1;cwnd<=sst;i++)
{
printf("%d ",cwnd);
cwnd=2*cwnd;
}
//拥塞避免
for(cwnd=sst;i
{
cwnd=cwnd+1;
cchuan=cwnd;//标记重传的cwnd
printf("%d ",cwnd);
}
//重传
for(cwnd=1;cwnd<=(0.5*cchuan);i++,cwnd=2*cwnd)
{
printf("%d ",cwnd);
}
//快恢复
for(cwnd=(int)cwnd*0.5;i<=x;i++)
{
cwnd=cwnd+1;
printf("%d ",cwnd);
}
printf("n");
printf("传输轮次X:");
for(i=1;i<=x;i++)
{
printf("%d ",i);
}
//1990增加的拥塞控制算法
//慢开始
printf("nnnTCP Reno版本n");
printf("拥塞窗口cwnd:");
for(cwnd=1,i=1;cwnd<=sst;i++)
{
printf("%d ",cwnd);
cwnd=2*cwnd;
}
//拥塞避免
for(cwnd=sst;i
{
cwnd=cwnd+1;
cchuan=cwnd;//标记重传的cwnd
printf("%d ",cwnd);
}
//快重传 快恢复
for(cwnd=(int)cchuan/2;i
{
printf("%d ",cwnd);
}
//超时重传
for(cwnd=1;i<=x;i++)
{
printf("%d ",cwnd);
cwnd=cwnd*2;
}
printf("n");
printf("传输轮次X:");
for(i=1;i<=
x;i++)
{
printf("%d ",i);
}
printf("nnt是否继续测试(0/1)?n");
scanf("%d",&ch);
}while(ch==1);
}
最后
以上就是小巧心情为你收集整理的tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序的全部内容,希望文章能够帮你解决tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复