面试常见问题之——Tcp/Ip协议及三次握手,四次挥手。

面试的时候,因为自己的简历个人技能上有一条“了解Tcp/Ip及一些常见的网络协议”
当然,当时回答的不是很理想。现在对其做以总结,以防以后再被问起。

1.TCP和UDP的区别

TCPUDP
面向连接的无连接的
可靠的不可靠的的
字节流报文
面向连接的无连接的
传输效率低传输效率高
全双工的一对一,一对多,多对一,多对多

2.TCP的三次握手四次挥手
学习参考来自:一文读懂TCP/IP

三次握手:

图示:
三次握手

第一次握手:
建立连接,客户端发送请求报文,标记位为syn,并将syn值置为1;还有一个表示数据包的seq(数据包序号),值置为x,客户端进入SYN_SENT状态。【整体就是 SYN seq = x 】
第二次握手:
服务器收到客户端的SYN报文段,确认之后。设置ack(值为x+1),并且需要设置自己的syn,值为1;seq值为y。【整体就是个SYN seq = y, ack = x+1】,然后服务器端进入SYN_RECV状态。
第三次握手:
客户端收到来自服务器的SYN+ACK后,给返回一个确认消息,即ACK=y+1;发出之后客户端进入ESTABLISHED状态,服务器收到确认消息后也进入了ESTABLISHED状态。

四次挥手

图示:
在这里插入图片描述

第一次挥手:
客户端发起,向服务器发送一个FIN报文,然后进入FIN_WAIT_1的状态。
第二次挥手:服务器收到FIN报文段后,回复一个ACK,然后进入CLOSE_WAIT状态。
第三次挥手:服务器向客户点发送FIN报文段,请求关闭连接,然后服务器进入LAST_ACK状态。
第四次挥手:
客户端收到服务端发送的 FIN 报文段后,向服务端发送 ACK 报文段,然后客户端进入 TIME_WAIT 状态。服务端收到客户端的 ACK 报文段以后,关闭连接。此时,客户端等待 2MSL(指一个片段在网络中最大的存活时间)后依然没有收到回复,则说明服务端已经正常关闭,这样客户端就可以关闭连接了。

部分参考原文链接:https://blog.csdn.net/petterp/article/details/102779131

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值