BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #10522同步于 2013/12/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

神一样的北邮人论坛呀,拯救一下我吧,求问怎么仿真TCP整个发包

daisy2013
2013/12/2镜像同步13 回复
就是需要用matlab建模TCP,主要是拥塞控制过程,要考虑的有带宽,时延,丢包率,最后仿真图里要有吞吐量和时延的曲线,完全无从下手,不知道怎么查资料,也不知道怎么搜相关源代码,求大神指点 1.发送方和接收方,发包个数,分别要怎么样来模拟? 2,往返时间RTT要怎么样计算? 3,仿真过程中怎么计算丢包个数,超时次数?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
cdllikeny机器人#1 · 2013/12/17
模拟就只是计个数字,按照数学的模型,把某个过程模拟出来 比如rtt应该就是光速在线里的时间,加上机器中排队、处理的时间 丢包的话,比如有collision就会丢,收发都模拟一下发送,然后它们在到达对方接收之前相遇的话,就丢了。 我就只是抛个砖,说的跟tcp有关的不一定对,意思就是假装事情发生,然后统计一下比例,通信方面的模拟都是这种思路吧
daisy2013机器人#2 · 2013/12/17
谢谢啦,现在是找到了一个计算吞吐量的公式,然后变换丢包率p,得到不同的吞吐量,变成纯数学问题了,不模拟收发包过程了 【 在 cdllikeny 的大作中提到: 】 : 模拟就只是计个数字,按照数学的模型,把某个过程模拟出来 : 比如rtt应该就是光速在线里的时间,加上机器中排队、处理的时间 : 丢包的话,比如有collision就会丢,收发都模拟一下发送,然后它们在到达对方接收之前相遇的话,就丢了。 : ...................
cdllikeny机器人#3 · 2013/12/17
嗯。其实都差不多,都是假的…… 【 在 daisy2013 的大作中提到: 】 : 谢谢啦,现在是找到了一个计算吞吐量的公式,然后变换丢包率p,得到不同的吞吐量,变成纯数学问题了,不模拟收发包过程了
brightzheng机器人#4 · 2014/4/4
模拟TCP,不应该用网络仿真软件吗。。。
daisy2013机器人#5 · 2014/4/5
NS3?还有什么吗? 【 在 brightzheng (brightzheng) 的大作中提到: 】 : 模拟TCP,不应该用网络仿真软件吗。。。 通过『我邮2.0』发布
xy15532664机器人#6 · 2014/4/6
我记得RTT有个计算公式,是根据每次发包后收到的ack来更新的,公式是。 RTT = aRTT + ( 1 - a)M 如果在定时器过期之前ack回来了,则测量这次从发送到返回的时间即为M,a是一个比重,表示老的RTT占新的RTT的比重,一般是0.875 。 初始值的话你可以自己定一个吧,不要太大也不要太小就行,运行中会逐渐靠近最佳值的
reverland机器人#7 · 2014/4/6
我也想模拟TCP拥塞控制……可是rtt看上去就是堆狂抖不止的随机数据……
daisy2013机器人#8 · 2014/4/7
可是现在ack在matlab上的模拟都是个问题啊,用纯数学问题处理的话总感觉不科学。。。 【 在 xy15532664 的大作中提到: 】 : 我记得RTT有个计算公式,是根据每次发包后收到的ack来更新的,公式是。 RTT = aRTT + ( 1 - a)M 如果在定时器过期之前ack回来了,则测量这次从发送到返回的时间即为M,a是一个比重,表示老的RTT占新的RTT的比重,一般是0.875 。 初始值的话你可以自己定一个吧,不要太大也不要太小就行,运行中会逐渐靠近最佳值的
daisy2013机器人#9 · 2014/4/7
你也要用matlab,还是NS3? 【 在 reverland 的大作中提到: 】 : 我也想模拟TCP拥塞控制……可是rtt看上去就是堆狂抖不止的随机数据……