tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序
幫助你更好地認(rèn)識(shí)TCP擁塞控制的機(jī)制
#include "stdio.h"
#include "stdlib.h"
void show()
{
//system("cls");
printf("\n");
printf("請(qǐng)輸入ssthrest的初始值:\n\n");
printf("請(qǐng)輸入需要模擬的傳輸輪次數(shù):\n\n");
printf("請(qǐng)輸入重傳的值n:\n");
printf("請(qǐng)輸入快重傳的值m:\n\n");
}
void main()
{
int sst=0;
int x=0;
int ch=0;
int n=0;//重傳的報(bào)文段
int m=0;//快重傳的報(bào)文段
int i=1;//打印傳輸輪次
int cwnd=1;
int cchuan=0;
do
{
show();
scanf("%d\t%d\t%d\t%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;//標(biāo)記重傳的cwnd
printf("%d ",cwnd);
}
//重傳
for(cwnd=1;cwnd<=(0.5*cchuan);i++,cwnd=2*cwnd)
{
printf("%d ",cwnd);
}
//快恢復(fù)
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("\n\n\nTCP 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;//標(biāo)記重傳的cwnd
printf("%d ",cwnd);
}
//快重傳 快恢復(fù)
for(cwnd=(int)cchuan/2;i
{
printf("%d ",cwnd);
}
//超時(shí)重傳
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("\n\n\t是否繼續(xù)測(cè)試(0/1)?\n");
scanf("%d",&ch);
}while(ch==1);
}
總結(jié)
以上是生活随笔為你收集整理的tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原神无想刃狭间剑阵宝箱怎么开?
- 下一篇: 穆图与天使与迦尔纳谁好