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 等;视频、音频等多媒体通信;广播通信;

相关推荐
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5556 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
XUEYUAN52126 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
QYRdata6 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK6 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19926 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖6 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20236 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5556 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落6 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp