TCP和UDP面试

TCP面向连接,可靠,基于字节流,而UDP不面向连接,不可靠,基于数据报。

区别:

1、tcp是基于连接的,可靠性高;udp是基于无连接的,可靠性较低;

2、由于tcp需要有三次握手、重新确认等连接过程,实时性差;同时过程复杂,也使其易于被攻击;而udp无连接,因而实时性较强,也稍安全;

3、在传输相同大小的数据时,tcp报头20字节;udp首部开销只有8个字节,tcp报头udp复杂,故实际包含的用户数据较少。tcp无丢包,而udp有丢包,故tcp开销大,udp开销较小;

4、每条tcp连接只能是点到点的;udp支持一对一、一对多、多对一、多对多的交互通信。

 

 

1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 
2)第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。 
3)第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

方主动关闭,另一方被动关闭的情况

 

(1)第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。 
2)第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。 
3)第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。 
4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。

实际中还会出现 两方同时发起主动关闭的情况


http://blog.csdn.net/lotluck/article/details/52688851

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
TCPUDP是两种常见的网络传输协议,它们在网络通信中扮演着不同的角色。下面是一些TCPUDP面试题及其答案: 1. TCPUDP的区别是什么? TCP是面向连接的可靠传输协议,它提供了数据传输的可靠性和完整性,但是传输效率相对较低。UDP是无连接的不可靠传输协议,它提供了数据传输的高效性,但是无法保证数据的可靠性和完整性。 2. TCP的三次握手和四次挥手分别是什么? TCP的三次握手是指在建立TCP连接时,客户端和服务器之间需要进行三次握手来确认连接的建立。具体过程如下: 第一次握手:客户端向服务器发送SYN包,请求建立连接。 第二次握手:服务器向客户端发送SYN/ACK包,表示同意建立连接。 第三次握手:客户端向服务器发送ACK包,表示连接建立成功。 TCP的四次挥手是指在关闭TCP连接时,客户端和服务器之间需要进行四次挥手来确认连接的关闭。具体过程如下: 第一次挥手:客户端向服务器发送FIN包,请求关闭连接。 第二次挥手:服务器向客户端发送ACK包,表示已经收到关闭请求。 第三次挥手:服务器向客户端发送FIN包,请求关闭连接。 第四次挥手:客户端向服务器发送ACK包,表示已经收到关闭请求。 3. TCP的流量控制和拥塞控制是什么? TCP的流量控制是指通过滑动窗口机制来控制发送方的发送速率,以避免接收方无法处理过多的数据。TCP的拥塞控制是指通过拥塞窗口机制来控制网络中的拥塞程度,以避免网络拥塞导致数据丢失和传输延迟增加。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值