文档介绍:1 第六章习题答案 既然网络层协议或网际互联协议能够将源主机发出的分组按照协议首部中的目的地址交到目的主机,为什么还需要再设置一个传输层呢? 答:(1) 传输层为应用进程之间提供端到端的逻辑通信。(2) 传输层对整个报文段进行差错校验和检测。(3) 传输层的存在使得传输服务比网络服务更加合理有效。(4) 传输层采用一个标准的原语集提供传输服务。从以上分析可以看出要实现上述的功能, 仅有网络层是不够的, 在主机中就必须装有传输层协议。 试述 UDP 和 TCP 协议的主要特点及它们的适用场合。答: UDP 协议具有如下特点: UDP 是无连接的,提供不可靠的服务,同时支持点到点和多点之间的通信,面向报文的。 TCP 协议具有如下特点: TCP 是面向连接的,提供可靠的服务,只能进行点到点的通信,面向字节流的。 TCP/IP 协议的传输层既包括 TCP , 也包括 UDP , 它们提供不同的服务。应用层协议如果强调数据传输的可靠性, 那么选择 TCP 较好, 分组的丢失、残缺甚至网络重置都可以被传输层检测到, 并采取相应的补救措施。如果应用层协议强调实时应用要求,那么选择 UDP 为宜。 若一个应用进程使用运输层的用户数据报 UDP 。但继续向下交给 IP层后, 又封装成 IP 数据报。既然都是数据报, 是否可以跳过 UDP 而直接交给 IP 层? UDP 能否提供 IP 没有提供的功能? 答: 仅仅使用 IP 数据报还不够。 IP 数据报包含 IP 地址, 该地址指定一个目的地机器。一旦这样的分组到达了目的地机器, 网络控制程序如何知道该把它交给哪个进程呢? UDP 用户数据报包含一个目的地端口, 这一信息是必需的, 因为有了它,分组才能被投递给正确的进程。 请分析 SYN Flood 攻击是如何利用三次握手的漏洞的。答: 2 SYN Flood 是当前最流行的 DoS ( 拒绝服务攻击)与 DDoS ( 分布式拒绝服务攻击)的方式之一,这是一种利用 TCP 协议缺陷,发送大量伪造的 TCP 连接请求,从而使得被攻击方资源耗尽( CPU 满负荷或内存不足)的攻击方式。要明白这种攻击的基本原理, 还是要从 TCP 连接建立的过程开始说起: 大家都知道, TCP 与 UDP 不同, 它是基于连接的, 也就是说: 为了在服务端和客户端之间传送 TCP 数据, 必须先建立一个虚拟电路, 也就是 TCP 连接,建立 TCP 连接的标准过程是这样的: (1) 请求端( 客户端) 发送一个包含 SYN 标志的 TCP 报文, SYN 即同步, 同步报文会指明客户端使用的端口以及 TCP 连接的初始序号; (2) 服务器在收到客户端的 SYN 报文后, 将返回一个 SYN+ACK 的报文, 表示客户端的请求被接受,同时 TCP 序号被加 1, ACK 即确认。(3) 客户端也返回一个确认报文 ACK 给服务器端, 同时 TCP 序号被加 1, 到此一个 TCP 连接建立。以上的连接过程在 TCP 协议中被称为三次握手。问题就出在 TCP 连接的三次握手中,假设一个用户向服务器发送了 SYN 报文后突然死机或掉线,那么服务器在发出 SYN+ACK 应答报文后是无法收到客户端的 ACK 报文的(第三次握手无法完成) ,这种情况下服务器端一般