假期作业5

1、三次握手

  • 第一次握手:客户端发送SYN包(SYN=1,seq=0)给服务器,并进入SYN_SENT状态,等待服务器返回确认包
  • 第二次握手:服务器接收到SYN包,确认客户端的SYN,发送ACK包(ACK=1,ack=1),同时发送一个SYN包(SYN=1,seq=0),并进入SYN_RCVD状态
  • 第三次握手:客户端接收到服务器的SYN包和ACK包,进入establish状态,同时向服务器发送ACK包(ACK=1,ack=1),此时三次握手完毕,服务器也进入establish状态

2、四次挥手

  • 第一次挥手:主动关闭方发送一个FIN包(FIN=1,seq=u)给被动方,进入FIN_WAIT_1状态
  • 第二次挥手:被动方接收到FIN包,给主动方发送一个ACK包(ACK=1,ack=u+1),并进入CLOKSE_WAIT状态。主动方接收到ACK包后,进入FIN_WAIT_2状态。如果有数据没有发送完毕,则继续发送,直到发送完毕为止
  • 第三次挥手:被动方发送一个FIN包(FIN=1,seq=w),进入LAST_ACK状态
  • 第四次挥手:主动关闭方收到FIN包,回复一个ACK包(ACK=1,ack=w+1),被动方收到主动方的ACK包后关闭连接

3、TCP和UDP区别:

TCP:

  • 是面向链接的,提供可靠的数据传输服务
  • 在传输过程中,数据无误、无重复、无失序、无丢失
  • 数据传输效率低,耗费资源多
  • 数据收发不同步
  • TCP会给每个数据包编上编号,即序列号,每个序列号需要应答包应答,如果没有应答,则上面的包会重复发送直到正确为止
  • 适用于对传输质量比较高以及传输大量数据的通信,在需要可靠通信的传输场合下,一般使用TCP

UDP:

  • 是面向无连接的,不保证数据可靠,尽最大努力传输的协议
  • 在传输过程中,数据有可能发生丢失、失序、重复现象
  • 数据传输效率高,实时性高
  • 数据收发同步
  • 限制每次传输的数据大小,多出部分直接忽略删除
  • 适用于发送小尺寸的,在接受到数据给出应答比较困难的情况下,一般使用UDP
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值