博客
关于我
TCP协议的介绍,三次握手,四次挥手。UDP协议介绍,TCPUDP常见的应用层协议及端口号
阅读量:302 次
发布时间:2019-03-03

本文共 1294 字,大约阅读时间需要 4 分钟。

TCP协议与UDP协议详解

TCP协议介绍

TCP(传输控制协议)是一种面向连接的、可靠的数据传输协议。它的核心目标是确保数据能够可靠、顺序地从一台设备传输到另一台设备。与UDP不同,TCP提供数据包的可靠传输,这意味着如果数据包在传输过程中丢失或被错误处理,TCP会自动重新传输这些数据。

TCP报文段

TCP报文段是数据传输的基本单位,由多个字节组成。每个报文段都包含以下字段:

  • 序号:发送端为每个字节进行编号,便于接收端正确重组。
  • 确认号:用于确认发送端的信息。
  • 窗口大小:表示本地可接收数据段的数量。
  • 同步序号位(SYN):用于建立连接时设置为1。
  • 确认序号位(ACK):当该位为1时,表示确认发送方的数据。
  • 终止位(FIN):当TCP断开连接时设置为1。
  • 重传位(RST):当数据需要重传时设置为1。
  • 推断位(PSH):用于处理意外断开或拒绝连接的情况。

TCP的三次握手

TCP连接的建立需要经过三次握手:

  • 第一次握手:客户端发送一个带有SYN标志位的数据包,SYN值为X。
  • 第二次握手:服务器收到SYN后,发送一个带有SYN-ACK标志位的数据包,SYN值为Y。
  • 第三次握手:客户端收到SYN-ACK后,发送一个带有ACK和SYN标志位的数据包,ACK值为Y+1。
  • 通过这三次握手,客户端与服务器端建立了一个可靠的连接。

    TCP的四次挥手

    断开TCP连接需要四次握手:

  • 第一次挥手:客户端发送一个带有FIN标志位的数据包。
  • 第二次挥手:服务器收到FIN后,发送一个带有ACK和FIN标志位的数据包。
  • 第三次挥手:客户端收到ACK后,发送一个带有ACK和FIN标志位的数据包。
  • 第四次挥手:服务器收到最后一个FIN后,发送一个带有ACK标志位的数据包。
  • 在第四次握手完成后,双方会等待一个时间段(2MSL)以确保所有数据都已传输。如果在这段时间内没有新的数据包到来,则连接会被正式关闭。

    UDP协议介绍

    UDP(用户数据包协议)是一种无连接的、不可靠的数据传输协议。与TCP不同,UDP不保证数据的可靠传输,也不保证数据的顺序。然而,UDP的传输延迟较低,适用于对实时性要求较高但对数据完整性和顺序要求不高的场景。

    UDP报文头部格式

    UDP报文头部包含以下字段:

    • UDP长度:指出UDP报文的总长度。
    • UDP校验和:用于验证数据完整性。

    TCP与UDP的常见应用层协议及端口号

    以下是TCP和UDP在应用层中常见的协议及其对应端口号:

    协议 传输层协议 端口号 应用
    HTTP TCP 80 提供网页服务
    HTTPS TCP 443 提供加密网页服务
    FTP TCP 21 文件传输协议
    TELNET TCP 25 远程登录协议
    SMTP TCP 25 电子邮件传输协议
    POP3 TCP 110 邮件接收协议
    TFTP UDP 69 简单文件传输协议
    RPC UDP 111 远程过程调用
    NTP UDP 123 网络时间协议

    通过以上内容,可以看出TCP和UDP在不同的应用场景中各有优势。TCP提供可靠性和顺序性,而UDP适用于实时性要求高但数据完整性要求不高的场景。

    转载地址:http://zqhl.baihongyu.com/

    你可能感兴趣的文章
    nginx css,js合并插件,淘宝nginx合并js,css插件
    查看>>
    Nginx gateway集群和动态网关
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx Lua install
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    nginx 代理解决跨域
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>
    Nginx 常用配置清单
    查看>>