tcp/ip学习笔记--第17章 TCP(transmission control protocol)

参考:

https://download.csdn.net/download/qq_31567335/10213200

TCP services

尽管TCP和UDP使用同样的IP层,但是却提供与UDP完全不同的服务。TCP提供面向连接的,可靠的,字节流的服务。

TCP通过以下措施来保证可靠性:

1.发送合适大小的报文段

2.为发送的报文段设置定时器,并等待接收端确认,如果超时还未收到接收端的确认就会再次发送

3.接收端接收到报文段后会发送对应的确认。

4.对报文段的整体(头部+数据部分)计算校验和。

5.接收端对到达的报文进行重新排序

6删除重复的报文

7.提供流量控制,防止传输速率快的主机使速率慢的主机的缓冲区溢出。


TCP Header


源端口号和目的端口号:用来区分不同的程序

序号:标识发送端发出的报文段的数据部分的第一个字节。TCP对发送的每个字节都进行编号,这个序号会在达到2^32-1之后回到0进行循环。初始序列号在建立连接的时候由发送端确定。并且每个发送端都会产生自己的序列号。

确认序号:接收端用来告诉发送端已经接收到哪个字节(表示这个字节之前所有的字节都接收到了)。因为确认序号是头部的一部分,而且TCP是双工模式,所以tcp在发送消息的时候确认序号一直有值,并且ACKflag处于打开状态。

首部长度:以4个字节为单位表示的首部长度,也就是首部长度最多为60个字节(15*4)。一般为20,如果没有option。

6个标志位:

URG  紧急指针有效

ACK 确认序列号有效

PSH 接收都应尽可能快将这个数据上交到应该程序

RST 重置这个连接

SYN 同步序列号,用于初始化连接

FIN 发送端结束发送数据

窗口大小:用来进行flow control

检验和:强制的。(发送端必须计算,接收端必须验证)

option:最常用的就是MSS(maximum segment size)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值