【C++后台开发面试】网络相关

本文聚焦于C++后台开发面试中的网络相关知识点,涵盖TCP与UDP的区别、三次握手、TCP选项及其作用、解决connect阻塞的方法,以及select、poll和epoll的比较。详细探讨了epoll的LT和ET模式,socket的可读条件,拥塞控制、流量控制等,并提到了链路层、网络层和传输层的基本概念。
摘要由CSDN通过智能技术生成

推荐书籍:《TCP/IP详解》

相关读书笔记专栏:《TCP/IP详解》读书笔记


1. TCP vs UDP

TCP 是一种面向连接的、可靠的、字节流服务, UDP 无连接、不可靠的数据报服务。
1. 连接方面: TCP 面向连接,交换数据之前必须通过三次握手先建立一个 TCP 连接。在
一个 TCP 中仅有两方彼此通信,多播和广播不能用 TCP。 UDP 是不可靠的传输,传输前不
需要建立链接,可以应用多播和广播实现一对多的通信。
2. 可靠性: TCP 提供端到端的流量控制,对收到的数据进行确认,采用超时重发,对失序
的数据进行重新排序等机制保证数据通信的可靠性。而 UDP 是一种不可靠的服务,接收方
可能不能收到发送方的数据报。
3.TCP 是一种流模式的协议, UDP 是一种数据报模式的协议。进程的每个输出操作都正好
产生一个 UDP 数据报,并组装成一份待发送的 IP 数据报。 TCP 应用程序产生的全体数
据与真正发送的单个 IP 数据报可能没有什么联系。
4. 效率上:一般 TCP 速度慢,传输过程中需要对数据进行确认,超时重发,还要对数据进
行排序。 UDP 没有这些机制所以速度快。数据比例, TCP 头至少 20 个字节, UDP 头 8
个字节,系统组装上 TCP 相对慢。
5. 用途上:用于 TCP 可靠性。而 UDP 速度快,视频,在线游戏多用UDP ,保证实时性




2. 三次握手




3. 列举你所知道的 tcp 选项,并说明其作用。
1.窗口扩大因子(WSopt):用来增加 TCP 接收窗口的大小。
2.SACK 选择确认选项:使 TCP 只重新发送丢失的包,不用发送后续所有的包࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值