TCP协议的总结及面试题和SCTP协议的介绍

TCP总结及CSTP协议介绍
TCP是在OSI七层模型的传输层,用于为网络应用服务提供端到端的通信,与UDP一同作为传输层最长用的两个协议,两个协议各有特点,各自适用于不同的场景。

TCP的特点

面向连接—TCP在传输数据之前需要通过三次握手,建立一条虚拟的链路
可靠传输服务—TCP有ACK机制,对所以的数据包要进行响应确认机制,要确保对方收到数据包,而且根据滑动窗口协议,根据网络负载,自动调节发送的数据量
面向字节流—TCP对于上层传输下来的数据,以字节为单位,根据滑动窗口的大小发送,与上层传输下来的数据大小是无关的

TCP报文

在这里插入图片描述源端口:2字节
目的端口:2字节
序号:4字节,TCP是面向字节流的,指发送数据的第一个字节的序号
确认号:4字节,期望收到对方下一个报文段的第一个字节序号
数据偏移:4bit,实际上指TCP首部的长度,单位4字节
保留:6bit,置零
紧急URG:为1时,表明紧急指针有效,告诉系统有紧急数据需要传送
确认ACK:为1时,确认号有效,在连接建立后所有传送的报文段ACK为1
推送PSH:为1时,接收方就立即发送TCP字节流,而不是等到缓存满
复位RST:为1时,表明需要释放连接,并重新建立
同步SYN:用来建立连接,为1时,表示是一个连接建立请求或接受报文段
终止FIN:用来释放连接,为1时,表示要求释放连接
窗口:2字节,接受窗口,从报文段的确认号算起,接受方容许对方发送的数据量
校验和:2字节,检验范围包括首部和数据,与UDP检验方法一样
紧急指针:2字节,指出报文段中紧急数据的字节数,窗口为0时,也可发送紧急数据
选项:扩展TCP的功能,最大为40字节
填充:使选项满足4字节的整倍数
数据:数据载荷

TCP三次握手四次挥手

三报文握手

第一次握手:建立连接时,客户端发送syn包(到服务器,并进入SYN_SENT状态,等待服务器确认
第二次握手:服务器收到syn包,必须确认客户的SYN,同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,客户端和服

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值