tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序
帮助你更好地认识TCP拥塞控制的机制
#include "stdio.h"
#include "stdlib.h"
void show()
{
//system("cls");
printf("\n");
printf("请输入ssthrest的初始值:\n\n");
printf("请输入需要模拟的传输轮次数:\n\n");
printf("请输入重传的值n:\n");
printf("请输入快重传的值m:\n\n");
}
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("%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;//标记重传的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("\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;//标记重传的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("\n\n\t是否继续测试(0/1)?\n");
scanf("%d",&ch);
}while(ch==1);
}
tcp拥塞控制编程实验c语言代码,C语言 计算机网络TCP拥塞控制模拟程序相关推荐
- c语言离散卷积编程,实验一 离散卷积的C语言编程.ppt
实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验 DSP实验室 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在计算 ...
- tcp网络编程客户端和服务端及listen和tcp允许最大连接数
tcp网络编程 tcp网络编程步骤: 由于tcp传输特点是可靠有连接,那么就有 1.客户端向服务端发送连接请求(SYN), 2.服务端接受请求并向客户端发送(SYN+ACK); 3.客户端向服务端回复 ...
- mcem r语言代码_R语言面向对象编程:S3和R6
R语言面向对象编程:S3和R6 2017-06-10 0 R语言面向对象编程:S3和R6 一.基于S3的面向对象编程 基于S3的面向对象编程是一种基于泛型函数(generic function)的实现 ...
- TCP网络编程相关概念原理及其代码实现
一.ip地址 IP地址:是标识网络设备的一个地址,作用是标识网络中唯一的一台设备,即通过IP地址就可以找到网络中的某台设备 分类 IPv4:网际协议版本4,是网际协议开发过程中的第四个修订版本,也是该 ...
- c语言编程学生管理系统的代码,C语言学生管理系统源代码.doc
C语言学生成绩管理系统源代码,保证能用-- #include "malloc.h" #include "stdio.h" #include "stdl ...
- mcem r语言代码_R语言阈值自回归模型(TAR)代码示例
原文链接: R语言时间序列TAR阈值模型分析tecdat.cn 阈值模型用于统计的几个不同区域,而不仅仅是时间序列.一般的想法是,当变量的值超过某个阈值时,过程可能表现不同.也就是说,当值大于阈值时 ...
- 学生选修课程系统设计c语言代码,C语言实现学生选修课程系统设计.pdf
C语语言言实实现现学学生生选选修修课课程程系系统统设设计计 本文实例为大家分享了C语言学生选修课程系统的具体代码,供大家参 ,具体内容如下 我编程的时间不长,所以这里面肯定有一些错误,或者存在更好的解 ...
- 坦克大战项目c语言代码,c语言 坦克大战 游戏源码下载
[实例简介]坦克大战 C语言 源代码 [实例截图] [核心代码] void GamePlay()/*玩游戏的过程*/ { int i,j,lose=0;/*lose是1的时候表示失败*/ int ...
- linux贪吃蛇c语言代码,C语言贪吃蛇讲解及源码
{ set_cursor_position(0, i); printf("■"); set_cursor_position(N+2, i); printf("■" ...
最新文章
- 手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法
- 在 ASP.NET MVC 中使用 Chart 控件
- Talend Restful
- ADO学习(九)如何阅读ADO文档
- 【IOS学习基础】OC类的相关
- 最大子列和问题(JAVA)
- matlab 线性规划_从零开始的matlab学习笔记——(37)线性规划——后传
- Vue3计算属性computed
- @程序员,如何解决开发和运维之间的固有隔阂?
- 使用Mapnik生成地形图——thematicmapping.org译文(四)
- idea添加maven启动
- mysql date 索引_SQL 中 IS NULL 可以走索引
- python链家爬虫
- Matlab一元线性拟合及F检验
- linux 软防火墙 DDOS,Linux iptables防火墙详解 + 配置抗DDOS攻击策略实战
- python adf检验_python做adf检验
- MP4 全介绍【转载】
- 码畜,码农,码皇,程序员有什么区别?
- 压测⼯具本地快速安装Jmeter5.x以及基础功能组件介绍线程组和Sampler
- 使用node实现歌词滚动输出