【实习秋招篇之计算机网络】

一、 三次握手和四次挥手

  1. 三次握手在这里插入图片描述

1、第一次握手:客户端发送连接请求报文段(segment)。客户端将SYN置为1,序号置为x,发送报文段,客户端进入SYN_SEND状态,等待服务器的确认;
2、第二次握手:服务器接收SYN报文段,应答客户端并发送SYN报文。服务器将ACK置为1,确认号置为x+1;同时将SYN置为1,序号置为y;服务器发送SYN+ACK报文段,服务器进入SYN_RECV状态;
3、第三次握手:客户端接收SYN+ACK报文段,并应答服务器。客户端将ACK置为1,确认号置为y+1,向服务器发送ACK报文段。客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。
3. 四次挥手
1、第一次挥手:主机1向主机2发送FIN报文段,请求断开连接。主机1进入FIN_WAITE_1状态,表示没有数据发送。
2、第二次挥手:主机2应答主机1,发送ACK报文段,同意断开连接。主机1进入FIN_WAITE_2状态。
3、第三次挥手:主机2向主机1 发送FIN报文段,请求断开连接。主机2 进入LAST_ACK状态。
4、第四次挥手:主机1应答主机2,发送ACK报文段,主机1进入TIME_WAITE状态。主机2接收到ACK报文段,断开连接。主机1等待2MSL后依然没有收到回复,则说明主机2已经正常关闭,主机1也关闭。四次挥手结束,成功断开连接。

  1. 为什么需要三次握手
    因为两次不可靠,四次太浪费。两次握手会导致失效的请求报文重新建立链接导致资源浪费。四次握手,因为连接并没有数据传输,可以将第二次和第三次合并为一次,不会影响传输的可靠性和有效性。
    为了实现可靠传输,TCP协议的通信双方需要维护一个序号来标识发送出去的数据包是否被正确接收。三次握手的过程实质上是通信双方互相告知序号起始值并确认已收到序号。如果只有两次握手,最多只有发起方的序号被确认,另一方的序号得不到确认。
  2. 为什么要四次挥手
    因为某一方发送FIN报文段,只表示这一方不再发送数据,对方可能继续发送数据。
    参考链接

在这里插入图片描述

六大标志位:SYN:同步标志位,ACK:确认标志位,FIN:结束标志位,RST:重置标志位,PSH:传输标志位,URG:紧急标志位
两个号:Sequence number:序号,Ack number:确认号

二、 Socket编程

Socket通信的原理大致分为以下几个步骤。
服务器:

  1. 建立服务器端的Socket,开始侦听整个网络中的连接请求。
  2. 当检测到来自客户端的连接请求时,向客户端发送收到连接请求的信息,建立与客户端之间的连接。
  3. 当完成通信后,服务器关闭与客户端的Socket连接。
    客户端:
  4. 建立客户端的Socket,确定要连接的服务器的主机名和端口。
  5. 发送连接请求到服务器,并等待服务器的回馈信息。
  6. 连接成功后,与服务器进行数据的交互。
  7. 数据处理完毕后,关闭自身的Socket连接。

三、TCP与UDP的区别:

1、TCP提供面向连接的传输,通信前要先建立连接(三次握手机制);UDP提供无连接的传输,通信前不需要建立连接。
2、TCP提供可靠的传输(有序,无差错,不丢失,不重复);UDP提供不可靠的传输。
3、TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组;UDP是面向数据报的传输,没有分组开销。
4、TCP提供拥塞控制和流量控制机制;UDP不提供拥塞控制和流量控制机制。

TCP应用场景:数据的完整性和正确性要求高。FTP,HTTP等文件传输协议,SMTP等邮件传输协议。
UDP应用场景:实时性要求较高的场景。QQ语音,QQ视频,视频会议等等。

拥塞控制和流量控制的区别:

拥塞控制:防止过多的数据注入到网络中,使得网络中的路由器和链路不至过载。拥塞控制的所要做的前提就是网络能承受的现有的网络负荷。
流量控制:控制发送端的发送数据的速率,以便接收端来得及接收。是指点对点通信量的控制。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值