TCP协议常见面试题总结

TCP常见面试题

1.什么是TCP三次握手?

 三次握手:client请求连接SYN---server确认收到,发送ACK和SYN---client确认收到

2.什么是TCP四次挥手?

四次挥手:client请求关闭FIN---(server确认收到,发送ACK---server继续发送数据直到完毕,发送FIN)----client确认收到

3.为什么TCP是三次握手?四次挥手?

三次握手确认双方收发功能都正常,四次也可以但是显得比较多余。

4.TIME_WAIT状态持续时间和原因?

 1)为实现TCP这种全双工(full-duplex)连接的可靠释放

 2)为使旧的数据包在网络因过期而消失

5.TCP的超时重传和快速重传?

超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。

在没有快速重传/快速恢复算法之前,重传依靠发送方的重传超时,在timeout时间内如果没有接收到对方的ACK,默认是丢包了,发送方就重传。

6.TCP首部长度有哪些字段?

TCP首部有20个字节的固定数据,用来存放报文传输过程所需的信息。有源端口,目的端口,序号,确认号,数据偏移,保留,控制位,紧急URG,控制ACK,推送PSH,复位RST,同步SYN,终止FIN,窗口,检验和,紧急指针,选项,MSS,窗口扩大,时间戳,SACK。

7.TCP在listen时候参数backlog的意义?

SYN队列的长度

8.Accept发送在三次握手的哪一步?

accept过程发生在三次握手之后,三次握手完成后,客户端和服务器就建立了tcp连接并可以进行数据交互了。这时可以调用accept函数获得此连接。

9.三次握手有哪些不安全性?

1)SYN flood 泛洪攻击 
2)Land 攻击 ,

10.TCP和UDP的区别?

TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

TCP首部开销字节为20字节,UDP为8字节

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值