【Android -- 网络】TCP 知识点

1. 定义

Transmission Control Protocol,即 传输控制协议。

  1. 属于 传输层通信协议
  2. 基于 TCP 的应用层协议有 HTTP、SMTP、FTP、Telnet 和 POP3

2. 特点

  • 优点
    数据传输可靠
  • 缺点
    效率慢(因需建立连接、发送确认包等)
    在这里插入图片描述

3. 应用场景

要求通信数据可靠时,即 数据要准确无误地传递给对方。

  • 万维网:HTTP 协议
  • 文件传输:FTP 协议
  • 电子邮件:SMTP 协议
  • 远程终端接入:TELNET 协议

4. 建立连接过程

  • TCP建立连接需 三次握手
  • 具体介绍如下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    成功进行TCP的三次握手后,就建立起一条TCP连接,即可传送应用层数据

注:

  1. 因 TCP 提供的是全双工通信,故通信双方的应用进程在任何时候都能发送数据
  2. 三次握手期间,任何1次未收到对面的回复,则都会重发

5. 释放连接过程

  • 在通信结束后,双方都可以释放连接,共需 四次挥手
  • 具体如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

6. 面试题

6.1 为什么 TCP 建立连接需三次握手?

  • 结论
    防止服务器端因接收了早已失效的连接请求报文,从而一直等待客户端请求,最终导致形成死锁、浪费资源。

  • 具体描述
    在这里插入图片描述

SYN洪泛攻击:

  • 从上可看出:服务端的TCP资源分配时刻 = 完成第二次握手时;而客户端的TCP资源分配时刻 = 完成第三次握手时
  • 这就使得服务器易于受到SYN洪泛攻击,即同时多个客户端发起连接请求,从而需进行多个请求的TCP连接资源分配

6.2 为什么 TCP 释放连接需四次挥手?

  • 结论
    为了保证通信双方都能通知对方 需释放 & 断开连接

  • 具体描述
    在这里插入图片描述

延伸疑问:为什么客户端关闭连接前要等待2MSL时间?

  1. 即 TIME - WAIT 状态的作用是什么;
  2. MSL = 最长报文段寿命(Maximum Segment Lifetime)

6.3 TCP 协议与 UDP 协议的区别?
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin-Dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值