TCP学习


1、接收窗口:一般A把自己的接收窗口大小发给B,B根据该值调整自己的发送窗口
相关参数:window size 和 option下的的window scale(在握手时option中获取到)
抓包时如果没抓到连接握手,会导致wireshark显示Win值异常
如果对方无法识别scale,会导致严重性能问题(因为窗口值没有乘以偏移)

2、几个概念
慢启动(阈值ssthresh)、临界窗口、拥塞避免、快速重传

3、重传的NewReno方案 --- 提高重传效率
(1)当发送方收到3个或以上Dup Ack时,就认为丢包了开始重传
(2)option下的SACK :接收方返回时通过该字段表示目前受到了哪些包,结合Ack字段可分析出哪些包未收到,使发送方不需要重传所有包

4、MTU
MTU: Maxitum Transmission Unit 最大传输单元
MSS: Maxitum Segment Size 最大分段大小
由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC 6Bytes+SMAC 6Bytes+Type域2Bytes)14Bytes和帧尾CRC校验部分4Bytes,剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes. 这个值我们就把它称之为MTU。
MSS = MTU - IP头(20) - TCP头(20) 
以太网的MTU是1500,PPPOE协议下要再减去PPP的包头包尾的开销(8Bytes),就变成1492。 

5、All People Seem To Need Data Processing
Application Presentation  Session  Transport  Network  DataLink  Physical
Application                                      Transport  Internet   NetworkAccess
 
6、TCP segment of a reassembled PDU
当一个完整消息被分割成多个TCP segment 时,在能识别运行在TCP之上的应用层协议前提下,wireshark为了能标识出哪些TCP segment需要被重新组装(reassembled),从而将除了最后一个的其他segment都打上“TCP segment of a reassembled PDU”
(Continuation也类似  长的http能看到)

7、netstat -antp 中的各种状态:  a-所有  n-不转换端口  t-tcp p-显示进程名
CLOSED 初始(无连接)状态。
LISTEN  侦听状态,等待远程机器的连接请求。
SYN_SEND 在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。
SYN_RECV  在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。
ESTABLISHED 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
FIN_WAIT_1 在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。
FIN_WAIT_2 在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。
TIME_WAIT 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。
CLOSING 在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。
CLOSE_WAIT 在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。
LAST_ACK 在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。


::ffff作为IPv6前缀,方便将IPv4地址映射入IPv6中,IPv4可以借助IPv6 socket通信,这样做的好处就是只支持IPv6的应用,也可以监听IPv4地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值