网络基础-传输层与UDP协议

运输层协议

从传输层来看,通信的真正断点并不是主机而是主机中的进程。也就是说,端到端的通信时是应用进程之间的通信。
运输层还对收到的报文进行差错检测。
运输层需要有两种不同的运输协议,面向连接的TCP和无连接的UDP。
TCP:传输控制协议
UDP:用户数据报协议

端口

传输层是为了实现两个不同主机上的进程之间的通信。为了识别不同主机上的进程,使用端口号标识。

因此,两个不同主机通信,不仅需要知道IP地址还要知道端口号。有点像是我们寄信,不仅需要对方的邮编,找到对方所在的区域(局域网),还要知道对方的门牌号(端口号)。

套接字:IP地址+端口号,可以唯一的标识局域网中的一个进程。

端口号只具有本地意义,只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。

常用的熟知端口号:

这里写图片描述

UDP协议

UDP的主要特点

  • UDP是无连接的
  • UDP使用尽最大努力交付
  • UDP是面向报文的
  • UDP没有拥塞控制
  • UDP支持一对一,一对多,多对一,和多对多的交互通信。
  • UDP的首部开销小。

UDP常用于流媒体:容忍丢失,速率敏感。

UDP的首部格式

UDP的用户数据报有两个字段:数据字段和首部字段

这里写图片描述

UDP校验和

目的:检测UDP段在传输中是否发生错误。
发送方:将段的内容视为16个bit的整数
校验和计算:计算所有整数的和,进位加在和的后面,将得到的值按位求反,得到校验和,发送方将检验和放入校验和字段。

接收方:计算所受到的校验和
将其与校验和字段进行比对。
不相等,检测出错误。相等,没有检测出错误。(但是可能有错误)

实例:
这里写图片描述

UDP为什么存在

UDP好像看来各方面都不如TCP,但是实际上这两个协议是各有千秋的,具体要看使用的场景。
UDP的优点:

  • 无需建立连接,减少延迟
  • 实现简单,无需维护连接状态
  • 头部开销小
  • 没有拥塞控制:可更好地控制发送时间和速率。

猜你喜欢

转载自blog.csdn.net/mxrrr_sunshine/article/details/80216902