TCP拥塞窗口cwnd原理,TCP/UDP结构,部分公认端口

本文详细介绍了TCP协议的头部结构,包括源/目标IP、端口、序列号、确认号等字段,并重点讲解了TCP拥塞窗口(cwnd)的工作原理,如慢启动、拥塞避免、快重传和快恢复算法。同时,提到了TCP与UDP的区别,以及部分公认端口的用途,如FTP、HTTP等。
摘要由CSDN通过智能技术生成

TCP:
伪头==12:仅参与校验和,成员totallen不包括伪头部.
sourceip(32)
destip(32)
res(8) protocol(8) totallen(16)
报头>=20bytes.
sourcePort(16) DestPort(16)
seq(32)
ack_seq(32)
hdrlen(4) res(6) urg/ack/psh/rst/syn/fin win(16)
checksum(16) urgpoint(16)
options(0~40bytes即0~320bit)
选项最大长度:tcp首部长度hdrlen范围是2^4-1=15个32bit.即60bytes,减去固定长度20bytes,得选项最多40bypes.
选项部分必须为8bit整数倍,这样才符合RFC文档要求.
选项:kindle(8) length(8) info(16).
TCP选项:
MSS(maximum segment size)最大报文传输段(数据报不分片的最大值):32bit数据部分字段(不包括TCP头).
应用层往TCP层写数据时,若TCP发送缓冲区满,但还没write完,内核便将write系统调用挂起;TCP发送缓冲区满或网络空闲时,缓冲区数据便被通过ip层发送到链路层发送队列中;发送缓冲区数据成功发送(包括重传等情况)后,才唤醒write.而ip分片会导致TCP重传可能性增大,此时ip层再分片,将可能导致write一直挂起,性能下降.
MSS=MTU-TCP头部大小-IP头部大小=data. 
ip层的MTU(maximum transfer unit) = ipHeader+tcpHeader+data;

SACK(selective acknowledgements)选择确认选项.34bytes
目的是为了不重传已经正确到达的数据.eg:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值