TCP/IP四层模型之传输层UDP协议学习笔记

从网络层协议来看,通信的两端是两台主机,IP数据报首部中包含有二者的IP地址

但从传输层来看,是发送发主机中的一个进程与接收方主机中的一个进程进行交换数据,严格上讲,通信的双方是主机中的进程而不是主机。

两个对等实体在逻辑上实现了通信,似乎是传输层直接与传输层直接对话,但实际中途需要多个协议层协议才能实现。

TCP/IP传输层中的两个重要协议,TCP和UDP,是学习的重点!

先来学习一下UDP协议!

根据IP地址和MAC地址,可以把数据传输到正确的主机上,但交付给哪一个进程则需要通过端口号来确定。

之前的学习中可以知道端口号范围是0~65535(2^16)

  • 编号0~1023位系统端口号,被指派给了TCP/IP最重要的一些应用程序,常见的有:

   FTP : 21

   TELNET : 23

   SMTP : 25

   DNS : 53

   TFTP : 69

   HTTP : 80

   SNMP : 161

  • 编号1024~49151为登记端口号,为没有系统端口号的应用程序使用,需要在IANA登记!
  • 编号49152~65535为短暂端口号,是留给客户进程选择暂时使用的,使用结束后,这类端口号会被放开供其他程序使用。

UDP用户数据报协议,主要特点是:

  • (1).UDP 是无连接的,发送数据之前不需要建立连接(而 TCP 需要),减少了开销和时延。

  • (2).UDP尽最大努力交付,不保证交付可靠性。

  • (3).UDP 是面向报文的,对于从网络层交付下来的 IP 数据报,只做很简单的封装(8 字节 UDP 报头),首部开销小。

  • (4).UDP 没有拥塞控制,出现网络拥塞时发送方也不会降低发送速率。这种特性对某些实时应用是很重要的,比如 IP 电话,视频会议等,它们允许拥塞时丢失一些数据,因为如果不抛弃这些数据,极可能造成时延的累积。

  • (5).UDP 支持一对一、一对多、多对一和多对多的交互通信。

UDP数据包包括两部分:UDP报头和数据部分。UDP报头为:

  • (1)源端口 2 字节 在对方需要回信时可用,不需要时可以全 0;

  • (2)目的端口 2 字节 必须,也是最重要的字段;

  • (3)长度 2 字节 长度值包括报头和数据部分;

  • (4)校验和 2 字节 用于检验 UDP 数据报在传输过程中是否有出错,有错就丢弃。

猜你喜欢

转载自blog.csdn.net/baconc/article/details/81093591