TCP 基本认识

1:TCP 头格式有哪些?
序列号:用来解决网络包乱序问题。    确认应答号:用来解决丢包的问题。

 

2:为什么需要 TCP 协议? TCP 工作在哪一层?
IP 层是「不可靠」的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。
TCP 是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。

3:什么是 TCP ?什么是 TCP 连接?
TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。
用于保证可靠性和流量控制维护的某些状态信息,这些信息的组合,包括 Socket、序列号和窗口大小称为连接。
Socket:由 IP 地址和端口号组成  序列号:用来解决乱序问题等  窗口大小:用来做流量控制

4:如何唯一确定一个 TCP 连接呢?
TCP 四元组可以唯一的确定一个连接,四元组包括如下:源地址、源端口、目的地址、目的端口
服务端最大并发 TCP 连接数 = 客户端IP数 * 客户端端口数
但是远不能达到理论上限,会受以下因素影响,文件描述符限制,比如Linux 对可打开的文件描述符的数量分别作了三个方面的限制:
系统级:当前系统可打开的最大数量,通过 cat /proc/sys/fs/file-max 查看;
用户级:指定用户可打开的最大数量,通过 cat /etc/security/limits.conf 查看;
进程级:单个进程可打开的最大数量,通过 cat /proc/sys/fs/nr_open 查看;
还有内存限制,每个 TCP 连接都要占用一定内存,操作系统的内存是有限的,如果内存资源被占满后,会发生 OOM。

5:UDP 和 TCP 有什么区别呢?分别的应用场景是?
区别:连接、服务对象、可靠性、拥塞控制、流量控制、首部开销、传输方式、分片不同
应用场景:TCP:FTP 文件传输;HTTP / HTTPS;UDP:包总量较少的通信,如 DNS 、SNMP 等;视频、音频等多媒体通信;广播通信;

 

相关推荐

  1. 基于openssl实现TCP双向认证

    2023-12-06 01:08:02       18 阅读
  2. rocketMQ的基本认识

    2023-12-06 01:08:02       20 阅读
  3. C++基本认识

    2023-12-06 01:08:02       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 01:08:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 01:08:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 01:08:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 01:08:02       18 阅读

热门阅读

  1. 自注意力机制中的gen_nopeek_mask()函数

    2023-12-06 01:08:02       27 阅读
  2. AIGC: 关于ChatGPT中基于API实现一个Client客户端

    2023-12-06 01:08:02       28 阅读
  3. Doris 外部表

    2023-12-06 01:08:02       34 阅读
  4. 第三方UI组件库的样式修改

    2023-12-06 01:08:02       43 阅读
  5. Diary14-Word样式设计

    2023-12-06 01:08:02       36 阅读
  6. 【mybatis <sql>,<include>标签】

    2023-12-06 01:08:02       34 阅读
  7. 音乐一拍到底多长

    2023-12-06 01:08:02       38 阅读
  8. 2023大厂高频面试题之Vue篇(3)

    2023-12-06 01:08:02       43 阅读
  9. SQL Server对象类型(7)——4.7.触发器(Trigger)

    2023-12-06 01:08:02       36 阅读