“网络技术(广东轻工学院)”实验报告

传输层:UDP协议

一、传输层协议

从传输层来看,是发送方主机中的一个进程与接受方主机中的一个进程在交换数据。通信双方不是主机,而是主机中的进程。

逻辑通信:看起来数据似乎是沿着双向箭头在传输层水平传输的,但实际上是沿图中的虚线经多个协议层次而传输。

TCP/IP 协议栈传输层有两个重要协议——UDP 和 TCP,不同的应用进程在传输层使用 TCP 或 UDP 之一。

二、端口

端口的作用体现在传输层。

根据IP地址或MAC地址都只能把数据传到真确的主机,但具体需要传到哪一个进程,通过端口来辨认。

端口号有 0~65535 的编号:

1.编号 0~1023 为 系统端口号 ,以下是一些常见的系统端口号:

应用层协议: FTP TELNET SMTP DNS TFTP HTTP SNMP 系统端口号: 21 23 25 53 69 80 161

2.编号 1024~49151 为 登记端口号 ,为没有系统端口号的应用程序使用,使用这类端口号必须在 IANA 按规定手续登记,以防止重复。

3.编号 49152~65535 为 短暂端口号 ,是留给客户进程选择暂时使用的,使用结束后,这类端口号会被放开以供其它程序使用。

三、UDP 概述

UDP用户数据报协议,主要特点有: 1.无连接,发送数据之前不需要建立连接(而 TCP 需要),减少了开销和时延。

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

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

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

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

从应用层到传输层,再到网络层的各层次封装: 图片描述

四、UDP 报文

UDP 数据报可分为两部分:UDP 报头和数据部分。其中数据部分是应用层交付下来的数据。UDP 报头总共 8 字节,而这 8 字节又分为 4 个字段: 图片描述

1.源端口:2 字节,在对方需要回信时可用,不需要时可以全 0; 2.目的端口:2 字节,必须,也是最重要的字段; 3.长度:2 字节,长度值包括报头和数据部分; 4.校验和:2 字节,用于检验 UDP 数据报在传输过程中是否有出错,有错就丢弃。

五、tcpdump 抓取 UDP 报文

UDP报文结构图: 图片描述

从 4500 到 0101 都是 IP 报头,IP 报文在之前已经讲过,这里就不赘述了。后面的部分就是 UDP 报文。

我们知道 UDP 报头一共 8 字节,所以从 803e 到 7f05 是 UDP 报头的部分。

803e:源端口,2 字节,换成十进制也就是 32830
1e61:目的端口,2 字节,十进制为 7777
001c:包长度,单位为字节,换为十进制可知包长度为 28 字节
7f05:校验和
copy

后面的就是数据内容的 ASCII 码了。

最新评论
暂无评论~