传输层——TCP(详解三路握手与四次挥手)

一、TCP协议

1. TCP协议概述

  TCP协议与电话语音通信相似,是面向连接的、可靠传输、有流量控制、拥塞控制、面向字节流传输、提高网络利用率等诸多优点的协议。其最终功能与UDP一样,提供进程间端对端的通信,但和UDP区别还是很大的
在这里插入图片描述


2. TCP协议要点

  • 1)当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段最大传输段大小(MSS) 通常受该计算机连接的网络的数九链路层的 最大传送单元(MTU) 的限制;
  • 2)TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接受。然后接收端实体对已成功接收到的字节回复一个相应的确认(ACK);
    重传:如果发送端实体在合理的 往返时延(RTT) 内未收到确认,那么对应的数据将会被重传;

3. TCP报文结构

在这里插入图片描述

  • 源端口和目的端口号:知道谁发给谁的;
  • 序号:编号是为了解决乱序问题;
  • 确认应答:发出去的包应该收到的确认,没有收到就重传,直到送达;
  • 控制位SYN是发起一个连接、ACK是回复、RST是重新连接、FIN是结束连接;
  • 窗口大小:TCP要做流量控制,通信双方个申明一个窗口,标识自己当前能够处理的能力,通俗来说就是,别发送太快,撑死我,也别发送太慢,饿死我;

4. 面向连接——三路握手

  TCP提供面向有连接的通信传输,面向有连接是指在数据通信开始之前先做好两端的准备工作;所谓的三路握手是指建立一个TCP连接时需要客户端和服务器端总共发送三个包以确认连接到建立。在socket编程当中,这一过程由客户端执行connect来触发。

     模式:请求 -> 应答 -> 回应应答
在这里插入图片描述

  • 第一次握手:客户端将标志位SYN置为1&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值