TOS由于Internet本身不具备为特定应用程序或用户优化路径的直接知识,因此IP协议提供了一种工具。高层协议可利用该工具向Internet层传送关于如何折衷处理特定数据包的提示。此工具即为“服务类型”工具,简称“TOS工具”。
TOS工具是IP数据报头的服务类型八位组(Type of Service octet)的功能之一。服务类型八位组包括三个字段。前3个位(0、1、2)是第一个字段,标记为“优先”,用于表示数据报的重要性或优先级。第二个字段标记为“TOS”,表示网络在吞吐量、延迟、可靠性和成本之间如何进行折衷。最后一个字段标记为“MBZ”(意为“必须为零”),目前不使用。数据报的原发者将此字段设置为零(除非Internet协议试验 的参与者可能使用该位)。路由器和数据报的收件人都将忽略此字段的值。此字段会被复制到碎片上。
TOS字段的规范
TOS字段值的语义(以二进制数字表示):
在路由中使用TOS字段
内在限制:
所有内在限制中最重要的是,严格地说,TOS工具只是一个顾问机制。它不是请求服务保证的相应机制。原因有两个:
TCP标志
TCP标志有6个 - URP(紧急指针)标志、ACK(确认)标志、PSH(进栈)标志、RST(重置)标志、SYN(同步)标志和FIN(完成)标志。
紧急指针标志将传入的数据标识为“紧急”。标识的段将被分配给高优先级并立即处理,无需等到处理完所有排队的数据。ACK标志可用于确认数据包的成功接收 - 可以确认收到的每个数据包,也可以确认每次收到的第n个数据包。 进栈标志可用于为数据分配所需优先级,或者在源点处理或者在目的地处理。在使用进栈标志时,需要注意处理正确的数据段。还要在连接的两端设置适当的优先级。
当有不针对当前连接的段到达时,可设置重置标志(RST)。例如,如果远程系统要将数据包发送到主机以建立连接,但主机不支持该服务,则主机可拒绝该请求,然后设置RST标志,表明主机已重置该连接。
TCP标志选项中的第五个标志 - SYN标志是TCP通信中的高频使用的标志 - 如上所述,在两个主机之间建立典型的3方握手时,首先发送SYN标志。主机1需要将TCP用作协议建立与主机2的联系。在3方握手期间,传递2个SYN标志。连接建立后,在两个主机之间传输数据时,还将发送和接收更多的SYN标志。
第六个即最后一个标志是FIN标志,在连接中交换最后的数据包时,它将出现。当主机发送FIN标志关闭连接时,它可以继续接收数据,直到远程主机也关闭连接时为止。典型的断开连接如下所示。TCP是全双工连接,因此存在双向的数据流。
数据传输完成后,主机1将带有FIN、ACK标志组的数据包发送到主机2。通过这一动作,主机1既完成了对上一个数据流的确认,同时又启动了结束此连接的TCP关闭动作。此后,主机1的应用程序不再接收数据,连接将关闭。同时,主机2回发确认以响应主机1的结束连接请求。完成后,主机2发送它自己的FIN、ACK标志结束连接。最后,主机1确认主机2早先的请求,这样,连接就关闭了。
TCP和蠕虫:
蠕虫源通常不连接整个网络,只是偶然随机尝试打开单个主机连接。可以通过使用TCP标志和ICMP跟踪应对蠕虫。攻击者尝试在没有使用的目标IP地址打开TCP时,他就设置了TCP SYN标志。如果连接成功,则存在累积的TCP标志SYN和ACK;如果连接没有成功,则仅存在带有SYN标志的流。根据网络和源之外每个源IP地址的不成功连接计数,即可跟踪攻击者 - 具有最多连接尝试次数的那个。如果攻击者使用UDP协议连接整个网络,则会生成非常多的ICMP消息。
版权所有© 2007-2008 AdventNet, Inc.保留所有权利。 |