计算机网络 --- TCP与UDP协议

本文详细介绍了TCP与UDP协议的区别和特性。TCP是一种面向连接、可靠的传输协议,提供无差错、不丢失、不重复且有序的数据传输,采用三次握手建立连接和四次挥手释放连接。UDP则是无连接的通信协议,数据传输效率高但不保证数据的可靠性。此外,文章还讨论了TCP的滑动窗口机制、拥塞避免算法以及TCP/IP协议的面向数据流特性,以及UDP协议的简单结构和面向数据报的特点。
摘要由CSDN通过智能技术生成

UDP协议

  • UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。
  • 也就是当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据
  • 由于使用UDP协议消耗资源小,通信效率高,所以通常都会用于音频、视频和普通数据的传输例如视频会议都使用UDP协议,因为这种情况即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响
  • UDP协议的Header包括四个字段: 1. 源端口 2. 目的端口 3. 长度 4. 校验码
  • 源端口: 可选字段,表示发送方进程的端口,接收方可根据此字段(不一定准确)发送信息
  • 目的端口: 目的端口是数据接收方的端口号,它只在目标的IP地址下才有效
  • 长度: 长度是协议头和数据报中数据长度的总和,表示整个数据报的大小
  • 校验码: 校验码使用 IP 首部、UDP 首部和数据报中的数据进行计算,接收方可以通过校验码验证数据的准确性,发现传输过程中出现的问题

TCP协议

  • TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议. TCP协议建立的是一种点到点的,一对一的可靠连接,与UDP相比以牺牲效率为代价换取高可靠性的服务
  • 无差错, 不丢失,不重复, 数据有序
  • TCP是双工的协议,会话的双方都可以同时接收、发送数据
  • TCP可以接收来自多个应用程序的数据流,用端口号标识他们,然后把他们送给Internet层处理;同时TCP接收来自Internet层的数据包,用端口号区分他们,然后交给不同的应用程序。(UDP同理)
  • TCP 报文格式:
    在这里插入图片描述

序号(seq)

  • 长度为四个字节 [0, 4294967295]
  • TCP数据是字节流,每个字节都有唯一的序号
  • 起始序号在建立TCP连接的时候设置
  • 序号表示本报文段数据的第一个字节的序号

确认号 (ack)

  • 长度为四个字节 [0, 4294967295]
  • 期待收到对方下一个报文的第一个数据字节序号
  • 也就是如果确认号= N, 则序号N-1为止的所有数据都已经正确收到

控制位: 总共六个比特位

  • URG: Urgent, URG = 1,表示紧急数据
  • ACK:A
  • 20
    点赞
  • 210
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值