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 有什么区别呢?分别的应用场景是?

 

posted @ 2023-04-09 01:38  feifei102  阅读(97)  评论(0)    收藏  举报