TCP面试题
1、TCP头格式
源端口号、目的端口号、序列号、确认应答号、ACK、RST、SYN、FIN、窗口大小、校验和、数据
2、为什么需要 TCP 协议? TCP 工作在哪一层?
因为ip层是不可靠的,需要靠上层的TCP协议保证。传输层。
3、什么是 TCP ?
TCP是面向连接、可靠的、字节流的传输层协议。
面向连接:一对一
可靠的:保证到对端
字节流:数据可能会分成多个,有序的。对方需知道边界,前一个丢失就无法给应用层处理,重复会被丢弃。
4、什么是 TCP 连接?
用于保证可靠性和流量控制维护的状态信息,包括Socket、序列号、窗口大小称为连接。
Socket:ip、端口号
序列号:解决乱序问题
窗口大小:用来流量控制
5、如何唯一确定一个 TCP 连接呢?
TCP四元组可以唯一确定的一个连接,包括:源地址、源端口、目的地址、目的端口
源地址和目的地址:32位、IP头部,通过IP协议发送报文给对方主机
源端口和目的端口:16位、TCP头部,告诉TCP协议应该把报文发哪个进程
6、有一个 IP 的服务端监听了一个端口,它的 TCP 的最大连接数是多少?
理论值计算公式:最大TCP连接数=客户端IP数*客户端端口数
实际受以下影响:文件描述符限制(系统级、用户级、进程级)、内存限制
7、UDP 和 TCP 有什么区别呢?分别的应用场景是?

浙公网安备 33010602011771号