2025年4月5日 星期六 乙巳(蛇)年 正月初六 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > 网络服务

12.2. TCP 与 UDP

时间:12-14来源:作者:点击数:3
城东书院 www.cdsy.xyz

UDP 是用户数据报协议,是一个简单的面向数据报的运输层协议。

  1. 网络层:IP 协议、ICMP 协议、ARP 协议、RARP 协议和 BOOTP 协议;
  2. 传输层:TCP 协议与 UDP 协议;
  3. 应用层:FTP、HTTP、TELNET、SMTP、DNS 等协议;
    TCP是传输控制协议,提供的是面向连接、可靠的字节流服务。

TCP 和 UDP 的区别:

  • TCP 面向连接的运输层协议,UDP 无连接
  • TCP 是可靠交付,UDP 是尽最大努力交付
  • TCP 面向字节流,UDP 面向报文
  • TCP 是点对点连接的,UDP 一对一,一对多,多对多都可以
  • TCP 适合用于网页,邮件等,UDP 适合用于视频,语音广播等
    HTTP 是应用层协议,其传输都是被包装成 TCP 协议传输。可以用 SOCKET 实现 HTTP。

Socket 是一组接口,可以实现 TCP,也可以实现 UDP。在设计模式中,Socket其实就是一个门面模式,它把复杂的 TCP/UDP 协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让 Socket 去组织数据,以符合指定的协议。

  1. TCP 传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个 TCP 连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 理想状态下,TCP 连接一旦建立,在通信双方中的任何一方主动关闭连接前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开 TCP 连接的请求。
  2. UDP 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP 不提供可靠性,它只是把应用程序传给IP层的数据包发送出去,但是并不能保证它们能到达目的地。由于 UDP 在传输数据包前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
  3. TCP 连接的三次握手:要了解 TCP,一定要知道 "三次握手,四次拜拜"所谓的三次握手,就是发送数据前必须建立的连接叫三次握手,握手完了才开始发的,这也就是面向连接的意思。
  4. 第一次握手:客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认;
  5. 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  6. 第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐