计算机网络--大厂常见问题(1)

1.TCP是什么?

答:TCP是面向连接的通信协议,通过三次握手连接,通讯完成时要拆除连接,所以只能用于端到端的通讯。TCP提供的是可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

2.TCP和UDP的区别?

答:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据服务。UDP与TCP位于同一层,但它不管数据包的顺序,错误或重发。所以UDP不被应用那些使用虚电路的面向连接服务。

3.王者荣耀你觉得是UDP还是TCP?

答:王者荣耀是UDP,很多大型游戏都是UDP。因为现在所有游戏都要求一个速度,虽然TCP可以保证数据包的可靠性和有序,但是如果数据包出现错误,TCP就会一直等待重新收到这个ACK,如果某个时间段网络差或者不稳定,出现数据包丢失状况,客户端就会等待接收数据,就会造成玩家出现卡顿。UDP的话,因为本身是不可靠的,即使会出现数据包的丢失情况,客户端也不会管它,不会去检验,所以相比较TCP来说,UDP速度是比较快的。

4.TCP三次握手过程?

答:第一次握手:建立连接时,客户端发送SYN包(SYN=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号。
第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器进入SYN-RECV状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=1+k),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
三次握手,即对每次发送的数据量是怎样跟踪进行协商使数据段的发送接收同步,根据所接收到的数据量而确定的数据确认数及数据发送,接收完毕后何时撤销联系,并建为虚连接。
为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。

5.TCP四次挥手过程?

答:
第一次挥手:client发送一个FIN,用来关闭client到sever的数据传送,client进入FIN_WAIT状态。
第二次挥手:sever收到FIN后,发送一个ACK给client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),server进入CLOSE_WAIT状态;(TCP通知高层的应用进程,客户端要释放和服务器通信的连接了,此时会处于半关闭的状态,即客户端已经没有数据要发送了,但是服务器要是发送数据,客户端还是能够接收)
第三次挥手:server发送一个FIN,用来关闭server到client的数据传送,server进入LAST_ACK状态。
第四次挥手:client收到FIN后,client进入TIME_WAIT状态,接着发送一个ACK给server,确认序号为收到序号+1,server进入CLOSE状态,client等待2*MSL时间后进入CLOSE状态,完成四次挥手。(MSL即最长报文段寿命)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值