免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

TCP/IP实现刨根究底大讨论【活动结束】 [复制链接]

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
51 [报告]
发表于 2011-03-24 10:20 |只看该作者
仔细看了   
《Linux内核源码剖析 —TCP/IP实现》 的目录。好像没有怎么涉及原始套接字的内容吧

另外
...
phone1126 发表于 2011-03-23 17:32



    这个有很多的现成的库啊,不用自己实现了,比如libpcap等,当然你自己实现也可以喽。

论坛徽章:
0
52 [报告]
发表于 2011-03-24 11:07 |只看该作者
个人认为拥塞控制的目的,从本质上来说,是高效并且合理的利用网络带宽。所以理论界常用的拥塞控制的评价标准就成了 效率 、公平性和收敛性。
不过现在来看这个常用的评价标准还是有一些不合理的地方,soso也就会有这么多人来讨论tcp协议的优化。

从传统意义上来说,拥塞控制的本质是拥塞窗口的调整,不过就我现在的经历而言,我觉得可以跳出窗口的概念,从“什么时候发送包,发送什么包”这样一个思路来看,可能空间会更大一些。
(以上仅是个人观点,欢迎指正。)

评分

参与人数 1可用积分 +8 收起 理由
Godbach + 8 感谢分享

查看全部评分

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
53 [报告]
发表于 2011-03-24 15:23 |只看该作者
回复 52# hritian


   
“什么时候发送包,发送什么包”

难点就在这里

论坛徽章:
0
54 [报告]
发表于 2011-03-24 16:41 |只看该作者
请问 源码中关于TCP拥塞控制中实现的部分是在哪些文件中?

评分

参与人数 1可用积分 +2 收起 理由
Godbach + 2 欢迎提问

查看全部评分

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
55 [报告]
发表于 2011-03-24 17:07 |只看该作者
回复 54# xiongweixie

net/ipv4/ 下:
tcp_input.c
拥塞算法:
tcp_cong.c
tcp_cubic.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_bic.c
tcp_scalable.c
tcp_vegas.c
tcp_veno.c
tcp_westwood.c

评分

参与人数 1可用积分 +10 收起 理由
Godbach + 10 感谢分享

查看全部评分

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
56 [报告]
发表于 2011-03-24 17:23 |只看该作者
回复 55# ynchnluiti

LS 对拥塞控制很有研究啊,欢迎分享一些经验。

论坛徽章:
0
57 [报告]
发表于 2011-03-24 17:39 |只看该作者
回复 55# ynchnluiti


    十分感谢!要是遇到什么问题。继续来问您。哈哈

论坛徽章:
0
58 [报告]
发表于 2011-03-24 17:41 |只看该作者
各位如果细心的话,有没有发现部分拥塞算法虽然内核提供了,但却无法使用?

比如 HSTCP(High Speed TCP),其内部实现了快启动机制(Quick-Start),Riverbed 就使用了该技术来实现 TCP 加速
但是即便内核里选择了 <*>,在“Default TCP congestion control”里会发现,这个选项不存在。

是何用意呢?不得而知……

评分

参与人数 1可用积分 +8 收起 理由
Godbach + 8 感谢分享

查看全部评分

论坛徽章:
0
59 [报告]
发表于 2011-03-24 18:33 |只看该作者
回复  Godbach

tcp包头只有个seq和ack位,没有所谓的count。
seq和ack的作用是为了实现可靠传输机制, ...
hritian 发表于 2011-03-23 10:09



    seq是表示当前数据包的序号也就相当于count,我的count不是指包数量,而是包的个数

论坛徽章:
0
60 [报告]
发表于 2011-03-24 18:43 |只看该作者
还想问一个问题:

首先在IP层,IP数据有16个位来表示IP数据报的总长度,书上提到因此IP数据报最长可达65535B。尽管可以传送一个65535B长的IP数据报,但是大多数的链路层都会对它进行分片,而且主机也要求不能接收超过576B的数据报。

在TCP层,书中提到通常情况下TCP允许窗口尺寸为65535B,但对于带宽很高的网络而言这个值可能还是太小,此时如果启用了该选项,可使TCP滑动窗口大小增大数个数量级,从而提高数据传输的能力。

TCP层最终还是要通过IP层来传输,是否在IP层,还要对TCP包进行分包,分包后的数据都包括TCP层和IP层头数据吗?请问能不能详细讲下分包过程

评分

参与人数 1可用积分 +2 收起 理由
Godbach + 2 欢迎提问

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP