您的位置: 首页 > 面试技巧

面试题:TCP协议和UDP协议的区别是什么?

来源:华信智原  |  发布时间:2021-03-22  |  浏览量:688

     

     1、TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束后也要结束连接。而UDP是无连接的

    2、TCP协议保证数据发送,按序送达,提供超时重传保证数据可靠性,但是UDP不保证按序到达,甚至不能保证到达,还是努力交付,即便是按序发送的序列,也不保证按序送到。

    3、TCP协议所需资源多,TCP首部需20个字节(不算可选项),UDP首部字段只需8个字节。

    4、TCP有流量控制和拥塞控制,UDP没有。网络拥堵不会影响发送端的发送速率。

    5、TCP面向的字节流的服务,UDP面向的是报文的服务。


    三次握手建立连接时,发送方再次发送确认的必要性?

    主 要是为了防止已失效的连接请求报文段突然又传到了B,因而产生错误。假定出现一种异常情况,即A发出的第一个连接请求报文段并没有丢失,而是在某些网络结 点长时间滞留了,一直延迟到连接释放以后的某个时间才到达B,本来这是一个早已失效的报文段。但B收到此失效的连接请求报文段后,就误认为是A又发出一次 新的连接请求,于是就向A发出确认报文段,同意建立连接。假定不采用三次握手,那么只要B发出确认,新的连接就建立了,这样一直等待A发来数据,B的许多 资源就这样白白浪费了。


四次挥手释放连接时,等待2MSL的意义?

    第 一,为了保证A发送的最有一个ACK报文段能够到达B。这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN和ACK 报文段的确认。B会超时重传这个FIN和ACK报文段,而A就能在2MSL时间内收到这个重传的ACK+FIN报文段。接着A重传一次确认。

    第二,就是防止上面提到的已失效的连接请求报文段出现在本连接中,A在发送完最有一个ACK报文段后,再经过2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。

    

    想了解更多编程面试题以及面试技巧,欢迎在线咨询或者拨打电话(400-7777-699)。华信智原是致力数字经济人才培养。开设了Java企业级开发,Python全栈开发工程师,大数据全栈工程师,人工智能自动化课程培训。欢迎在线咨询了解更多面试以及就业问题。


相关新闻

24小时报名热线

400-7777-699

报名热线:400-7777-699

微博

微信公众号

友情链接 :智原在线   美味学院   安徽新华电脑   安徽新华教育

华信智原(官网)|京ICP备09028087号-8|咨询热线:400-7777-699|地址:北京海淀区北三环中路44号院爱工场文化教育产业园|版权所有:北京华信智原教育技术有限公司
在线报名 学费详情 开班信息 职业护航 视频下载

小小华想和您聊一聊