Java面试 三次握手、四次挥手、流量控制、拥塞控制、线程与进程

三次握手【三报文握手】

  1. A首先要向B发送建立连接的请求。
  2. B收到A的请求后,要告诉A自己已经收到了请求。
  3. A收到B的确认收到请求后,要告诉B,自己也已经收到了B确认无误的信息。

之所以这样做是因为TCP需要建立全双工通信,也就是要求双方都要确认自己和对方的发送和接收都正常。

  1. 第一次报文握手:A只是发送了报文,A既不知道B的发送和接收是否正常,也不知道自己的发送和接收是否正常。对于B而言,B知道了A发送正常,自己接收正常
  2. 第二次报文握手:A收到了B的确认报文,可知自己发送和接收正常,知道对方发送和接收也正常。但是B不知道自己的发送是否正常,也不知道对方的接收是否正常
  3. 第三次报文握手:B收到了A的确认确认收到报文。B可以确认自己的发送正常,对方的接收也正常。

四次挥手【四报文握手】

任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了TCP连接。

举个例子:A和B打电话,通话即将结束后,A说“我没啥要说的了”,B回答“我知道了”。但是B可能还会要说的话,A不能要求B跟着自己的节奏结束通话,于是B可能又巴拉巴拉说了一通,最后B说“我说完了”,A回答“知道了”,这样通话才算结束。

TCP和UDP
  1. TCP是面向连接的运输层协议。TCP提供全双工通信,能够保证通信的可靠性
  2. UDP在传送数据前不需要简历连接,其他端收到UDP报文后,也不需要给出任何确认。

流量控制

利用滑动窗口实现流量控制。发送方的发送窗口不能超过接收方给出的接收窗口值。比如说,A向B发送数据,在连接建立时,B告诉A,我的接收窗口receiver window(rwnd)=400。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值