TCP/IP详解学习笔记--TCP的基本概念

1.TCP的服务

虽然TCP和UDP最后都会通过IP层传输,但是二者却为用户提供完全不同的服务,TCP提供的是面向连接的,可靠的字节流服务
面向连接意味着俩个使用TCP的应用在彼此交换数据之前必须先建立一个TCP连接。可以用打电话比喻TCP的连接,要想俩个人通话,首先一方要拨通另一方的电话,等待另一方接通电话之后才可以通话,TCP连接只有俩方能通话,这和UDP完全不同

TCP通过如下方式来提供可靠的服务
.应用数据被分成TCP认为最合适的数据块
.当TCP发出一个段时,它启动一个定时器,等待目的端确认接收这个段,如果不能及时收到确认将重发这个报文段
.当TCP收到来自TCP另一端的数据时,它将发送一个确认
.TCP将保持它首部和数据的检验和,这是个端到端的检验和,目的是检验数据在传输过程中有没有变化
.如果有必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层
.TCP接收端必须丢掉重复的数据
.TCP双方每一端都有固定大小的接收缓冲空间,TCP根据此空间提供流量控制

2.TCP的首部结构

16位源端口号16位目的端口号
32位序号32位确认序号
4位首部长度保留6位
16位窗口大小16位校验和
16位紧急指针选项
数据

(1)目地端和源端的端口号,用于寻找发端和收端应用进程
(2)序号用来标识从TCP发端向收端发送的数据字节流,它表示在这个报文段中的第一个数据字节(其实说白了,它就是用来标识这个数据段的)
(3)确认序号包含发送确认的一端所期望收到的下一个序号,因此确认序号因该是上次已成功接收数据段序号加1只有ACK为1时,确认序号才有效
(4)首部长度给出首部中32bit字的数目
(5)6位标志他们中有多个可以被设为1,具体用法如下:

bit位具体描述
UGR紧急指针
ACK确认序号有效
PSH接收方应尽快将这个报文段交给应用层
RST重建连接
SYN同步序号用来发起一个连接
FIN发端完成任务

(6)16位窗口大小用于TCP流量控制
(7)最长见的可选字段是最长报文大小,又称MSS,通常在通信的第一个报文段指明这个

3.基本流程总结

TCP是一种提供可靠的面向连接的字节流运输层服务,TCP将用户数据打包构成报文段,它发送数据后,产生一个定时器,另一端对收到的数据确认,对失序的数据重新排序,丢弃重复数据,通过窗口大小提供端到端的流量控制,并计算和验证一个强制性的端到端的校验和

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值