黄国沛 L2 2020-04-07 11:11:23 传输层:UDP协议
111 0

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

传输层:UDP协议

第五章 课堂笔记

一、传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP 数据报首部就标明了这两台主机的 IP 地址。但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此严格地讲,通信双方不是主机,而是主机中的进程。

主机中常常有多个应用进程同时在与外部通信(比如你的浏览器和 QQ 在同时运行),下图中,A 主机的 AP1 进程在与 B 主机的 AP3 进程通信,同时主机 A 的 AP2 进程也在与 B 主机的 AP4 进程通信。

两个主机的传输层之间有一个灰色双向箭头,写着“传输层提供应用进程间的逻辑通信”。

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

二、端口 刚才的图中,AP1 与 AP3 的通信与 AP2 与 AP4 的通信可以使用同一个传输层协议来传输(TCP 或 UDP),根据 IP 地址或 MAC 地址都只能把数据传到正确的主机,但具体需要传到哪一个进程,是通过端口来辨认的。

比如同时使用浏览器和 QQ,浏览器占用 80 端口,而 QQ 占用 4000 端口,那么发送过来的 QQ 消息便会通过 4000 端口显示在 QQ 客户端,而不会错误地显示在浏览器上。

三、UDP 概述 UDP(User Datagram Protocol)用户数据报协议,它只在 IP 数据报服务之上增加了很少一点功能,它的主要特点有:

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

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

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

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

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

四、UDP 报文 UDP 数据报可分为两部分:UDP 报头和数据部分。其中数据部分是应用层交付下来的数据

五、tcpdump 抓取 UDP 报文 我们需要一个小程序,用于向 指定 IP 地址 的 指定端口 发送一个 指定内容 的 UDP 数据报,这个程序已经编写好,依次输入以下命令,下载并编译。

这个 C 程序会向 IP 地址 192.168.1.1 的 7777 端口 发送一条 "hello" 消息。你可以用编辑器修改程序,向不同的 IP 发送不同的内容。

作业 image.png image.png image.png

最新评论
暂无评论~