计算机网络TCP与UDP

TCP

TCP三次握手和四次挥手

tcp头部格式image-20230808094841730

序列号:用来解决网络包乱序问题

确认应答号:解决丢包的问题

为什么需要TCP?

网络层 是不可靠的,不能保证数据包的交付,也不能保证顺序,也不能保证完整性

如果要保障,需要TCP协议来负责

因为TCP是工作在传输层的可靠数据传输服务,保证网络包的可靠 有序 完整

TCP

面向连接:一定要1对1进行连接,不能像UDP协议一样,可以一个主机同时向多个主机发送消息。

可靠:无论网络链路中出现了怎样的链路变化,TCP保证网络包一定能到达接收方。

字节流:如果出现数据包乱序问题,会直接丢弃。

TCP连接

Socket:IP 端口

序列号:用来解决网络包乱序问题

窗口大小:流量控制

如何确定唯一的TCP连接

四元组

源 端口 IP 目的端口 IP

源IP 目的IP 在IP头部中,通过IP协议发送报文给对方主机

源端口 目的端口,TCP头部中,规定发送报文给哪个进程

UDP和TCP区别

UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务

UDP协议非常简单,头部只有8个字节

image-20230808100921401

源目端口:主要告诉UDP协议改把报文发给哪个进程

包长度:数据长度和字段长度之和(整个头部包长度)

校验和:提供可靠的数据。

TCP和UDP

连接:

tcp面向连接 传输数据前先建立连接

UDP不需要连接,即刻传输数据

服务对象

TCP1对1两点传输

UDP 1对1 1对多 多对多

可靠

TCP可靠交付 无差错 不丢失 不乱序

UDP保证速度 不保证可靠

流量控制

TCP 流量控制机制 保证数据传输安全性

UDP 即使网络拥堵 也不会影响发送速率

传输方式

TCP流式传输,没有边界 保证顺序可靠

UDP 一个包一个包的发送 有边界 可能丢包 乱序

应用场景

TCP

FTP 文件传输

HTTP/HTTPS

UDP

包比较少的通信,DNS

视频 音频 多媒体 游戏

广播通信

TCP三次握手过程-建立连接

image-20230808102135266

image-20230808102324122

客户端随机初始化序号,将序号放置到序列号字段中,SYN标志位为1,SYN报文,接着将第一个SYN报文发送给服务器,表示向服务器发起连接

服务器 接收SYN后image-20230808102604343首先 服务器将自己初始化的序列号填入

TCP 首部的确认应答号中,会填入客户端序列号+1,紧接着,SYN和ACK位置标为1 最后发给客户端,

image-20230808103008390

客户端收到服务器报文,还需要最后回复一个应答报文 首先将ACK标志位 置为1 ,然后 确认应答号里 填入 服务器序列号+1,最后将报文发给服务器,这次报文可以携带客户端到服务器的数据。

第三次握手,可以携带数据,前两次不可以。

完成三次握手,就可以传输数据了。

TCP四次挥手过程-断开连接image-20230808105058466

  • 客户端打算关闭连接,此时会发送⼀个 TCP ⾸部 FIN 标志位被置为 1 的报⽂,也即 FIN 报⽂,之后客户 端进⼊ FIN_WAIT_1 状态。
  • 服务端收到该报⽂后,就向客户端发送 ACK 应答报⽂,接着服务端进⼊ CLOSED_WAIT 状态。
  • 客户端收到服务端的 ACK 应答报⽂后,之后进⼊ FIN_WAIT_2 状态。
  • 等待服务端处理完数据后,也向客户端发送 FIN 报⽂,之后服务端进⼊ LAST_ACK 状态。
  • 客户端收到服务端的 FIN 报⽂后,回⼀个 ACK 应答报⽂,之后进⼊ TIME_WAIT 状态
  • 服务器收到了 ACK 应答报⽂后,就进⼊了 CLOSED 状态,⾄此服务端已经完成连接的关闭。
  • 客户端在经过 2MSL ⼀段时间后,⾃动进⼊ CLOSED 状态,⾄此客户端也完成连接的关闭。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值