《网络安全协议》
课程设计
题目基于UDP协议的分析和改进
班级
学号
姓名
指导老师
2014年07 月 01日
目录
前言 (3)
第1章UDP协议的概述 (3)
1.1UDP协议 (3)
1.2UDP协议的数据报格式 (4)
1.3针对UDP协议的攻击 (5)
第2章需求分析 (5)
2.1UDP协议的优缺点 (5)
2.1.1UDP协议的优势: (5)
2.1.2 UDP 协议的不足: (6)
2.2与TCP协议的比较 (6)
2.2.1TCP协议的拥赛控制 (6)
2.2.2TCP协议的往返时延 (6)
第3章UDP协议的改进 (7)
3.1设计目标 (7)
3.2模块的设计概述 (7)
3.3总体设计 (7)
3.3.1体系结构 (7)
3.3.2报文结构 (8)
第4章协议的实现机制 (9)
4.1协议实现采用的方法 (9)
4.1.1建立连接 (9)
4.1.2关闭连接 (10)
4.1.3差错检测 (10)
4.1.4确认技术 (11)
4.1.5序列号 (11)
4.1.6 超时重发 (11)
第5章安全性分析 (11)
5.1协议的功能 (11)
5.2协议存在的安全隐患 (12)
第6章小结 (12)
参考文献 (13)
2
前言
2 1 世纪将是一个以网络为核心的信息时代, 一般把I n ter net 定义为一个技术名词, 指遵守T CP / I P 协议, 用各种计算机物理连接方式集合在一起的计算机网络及单机的总和。T CP/ I P I n ter ne t 协议族已经成为计算机工业中开放系统互连的事实上的标准。在T CP/ I P 协议族中, 在数据链路层、网络层,传输层和应用层存在很多的已知安全缺陷,选择其中一个存在安全缺陷的协议—UDP协议,针对此协议进行优化。用户数据报协议U DP 提供应用程序之间传送数据报的基本机制基于目。前U DP 通信的不足: 不可靠的无连接服务, 在参考T CP/ I P 协议及I SO 7 层协议的基础上, 设计了一套基于U DP 的可靠数据传输。
第1章UDP协议的概述
1.1UDP协议
UDP 是User Datagram Protocol的简称,中文名是用户数据报协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。在TCP/IP模型中,UDP为网络层(network layer)以下和应用层(application layer)以上提供了一个简单的接口。
1.2 UDP数据报的格式
UDP数据报是UDP协议的数据传输的基本单位,格式见下图:
3
1.端口(两个)
源端口(16bit):指源主机上运行的进程使用的端口地址。
目的端口(16bit):指目的主机上运行的进程使用的端口地址。
UDP使用端口对给定主机上的多个目标进行区分。源端口是可选域,当其有意义时,指的是发送应用程序的UDP端口。如果不使用它,则在此域中填0。目的端口在有特定的目的网络地址时有意义,指目标应用程序的UDP端口。
2. 长度
UDP数据报的总长度(首部+数据),用八进制表示(这表明最小的数据报长度是8)。
UDP数据报总长度也可以通过下式进行计算:
UDP数据报总长度=IP总长度-IP首部长度
4
3. 校验和
用于校验整个UDP数据报出现的差错。它是一种简单的数学运算,即对IP头、UDP头和数据中信息包头的数位取反之和,再取反得到的。
在计算校验和时要在UDP数据报之前增加12B的伪首部(临时加上),其中第三字段全0,第四字段为IP首部中的协议字段(17:UDP)。
1.3针对UDP协议的攻击
UDP Flood是日渐猖厥的流量型DoS攻击(拒绝服务攻击),原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。 100k pps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDP Flood攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。出现UDP Flood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。
第2章需求分析
2.1UDP协议的优缺点
2.1.1UDP协议的优势:
(1)系统开销小、速度快;
(2)对于绝大多数居于消息传递的应用程序来说,基于帧的通信(UDP)比基于流的通信(TCP)更为直接和有效:
(3)对应用部分实现系统冗余、人物分担提供了极大易实现及可操作性:
(4) 对等的通信实体、应用部分可方便的根据需要构造成客户/ 服务器模型及
5
分布处理模型, 大大加强应用在可操作性及维护性的能力;
( 5) 可实现完全图模型的网状网络拓扑结构, 可大大增强系统的容错性。
2.1.2 UDP 协议的不足:
(1)依赖IP协议传送报文;
(2)不确认报文是否到达,不对报文进行排序也不进行流量控制,对于顺序错误或丢失的包,不做纠错或重传;
(3)没有建立初始化连接。
2.2与TCP协议的比较
2.2.1TCP协议的拥赛控制
随着网络带宽时延乘积 ( B D P ) 的增加,通常的 T C P 协议开始变的低效。这是因为它的A M I D ( A d d i t i v e I n c r e a s e M u i t i p l i c a t i v e D e c r e a s e ,即当 T C P发送方感受到端到端路径无拥塞时就线性的增加其发送速度,当察觉到路径拥塞时就乘性减小其发送速度,简称“和式增加,积式减少”)算法虽然减少了T C P 拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明 T C P 在 B D P 增加到很高的时候比较容易受数据包丢失的影响。
2.2.2TCP协议的往返时延
T C P 拥塞控制的不公平的R T T ( R o u n d — T r i p T i m e ,往返时延,表示从发送端发送数据开始,到发送端收到来自接收端的确认,总共经历的时延) 也成为在分布式数据密集应用中的严重问题。拥有不同 R T T 的并发T C P 流将不公平地分享带宽。尽管在 B D P 小的网络中可以使用通常的T C P 实现来相对平等的共享带宽,但在拥有大量 B D P 的网络中,通常的基于T C P的程序就必须承受严重的不公平的问题。这个 R T T 基于的算法严重的限制了其在广域网分布式应用的效率例如互联网上的网络数据备份。
综上所述,一直到今天,对标准的T C P的提高一直都不能在带宽的利用效率和公平性方面达到一个令人满意的程度 ) ,这对运行在低速网络中的应用影
6