Network Working Group                                          S. Parker
Request for Comments: 2398                                  C. Schmechel
FYI: 33                                           Sun Microsystems, Inc.
Category: Informational                                      August 1998
        
Network Working Group                                          S. Parker
Request for Comments: 2398                                  C. Schmechel
FYI: 33                                           Sun Microsystems, Inc.
Category: Informational                                      August 1998
        

Some Testing Tools for TCP Implementors

TCP实现者的一些测试工具

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (1998). All Rights Reserved.

版权所有(C)互联网协会(1998年)。版权所有。

1. Introduction
1. 介绍

Available tools for testing TCP implementations are catalogued by this memo. Hopefully disseminating this information will encourage those responsible for building and maintaining TCP to make the best use of available tests. The type of testing the tool provides, the type of tests it is capable of doing, and its availability is enumerated. This document lists only tools which can evaluate one or more TCP implementations, or which can privde some specific results which describe or evaluate the TCP being tested. A number of these tools produce time-sequence plots, see

本备忘录对测试TCP实现的可用工具进行了分类。希望传播这些信息将鼓励那些负责构建和维护TCP的人充分利用可用的测试。该工具提供的测试类型、它能够执行的测试类型以及它的可用性都被列举出来。本文档仅列出可评估一个或多个TCP实现的工具,或可提供描述或评估正在测试的TCP的某些特定结果的工具。许多此类工具都会生成时间序列图,请参见

Tim Shepard's thesis [She91] for a general discussion of these plots.

蒂姆·谢泼德的论文[She91]对这些情节进行了一般性讨论。

Each tools is defined as follows:

每种工具的定义如下:

Name

名称

The name associated with the testing tool.

与测试工具关联的名称。

Category

类别

One or more categories of tests which the tools are capable of providing. Categories used are: functional correctness, performance, stress. Functional correctness tests how stringent a TCP implementation is to the RFC specifications. Performance tests how

工具能够提供的一种或多种类型的测试。使用的类别有:功能正确性、性能、压力。功能正确性测试TCP实现对RFC规范的严格程度。性能测试如何进行

quickly a TCP implementation can send and receive data, etc. Stress tests how a TCP implementation is effected under high load conditions.

TCP实现可以快速发送和接收数据等。压力测试TCP实现在高负载条件下的效果。

Description

描述

A description of the tools construction, and the implementation methodology of the tests.

工具构造的描述,以及测试的实现方法。

Automation

自动化

What steps are required to complete the test? What human intervention is required?

完成测试需要哪些步骤?需要什么样的人为干预?

Availability

可利用性

How do you retrieve this tool and get more information about it?

如何检索此工具并获取有关它的更多信息?

Required Environment

所需环境

Compilers, OS version, etc. required to build and/or run the associated tool.

编译和/或运行相关工具所需的编译器、操作系统版本等。

References

工具书类

A list of publications relating to the tool, if any.

与工具相关的出版物列表(如有)。

2. Tools
2. 工具
2.1. Dbs
2.1. 星展银行

Author Yukio Murayama

作者村山由纪夫

Category Performance / Stress

类别表现/压力

Description Dbs is a tool which allows multiple data transfers to be coordinated, and the resulting TCP behavior to be reviewed. Results are presented as ASCII log files.

说明Dbs是一种工具,允许协调多个数据传输,并检查由此产生的TCP行为。结果显示为ASCII日志文件。

Automation Command of execution is driven by a script file.

执行的自动化命令由脚本文件驱动。

Availability See http://www.ai3.net/products/dbs for details of precise OS versions supported, and for download of the source code. Current implementation supports BSDI BSD/OS, Linux, mkLinux, SunOS, IRIX, Ultrix, NEWS OS, HP-UX. Other environments are likely easy to add.

可用性见http://www.ai3.net/products/dbs 有关支持的精确操作系统版本的详细信息,以及源代码的下载。当前的实现支持BSDI BSD/OS、Linux、mkLinux、SunOS、IRIX、Ultrix、新闻操作系统、HP-UX。其他环境可能很容易添加。

Required Environment C language compiler, UNIX-style socket API support.

所需环境C语言编译器,UNIX风格套接字API支持。

2.2. Dummynet
2.2. Dummynet

Author Luigi Rizzo

作者路易吉·里佐

Category Functional Correctness / Performance

类别功能正确性/性能

Description Dummynet is a tool which simulates the presence of finite size queues, bandwidth limitations, and communication delays. Dummynet inserts between two layers of the protocol stack (in the current implementation between TCP and IP), simulating the above effects in an operational system. This way experiments can be done using real protocol implementations and real applications, even running on the same host (dummynet also intercepts communications on the loopback interface). Reconfiguration of dummynet parameters (delay, queue size, bandwidth) can be done on the fly by using a sysctl call. The overhead of dummynet is extremely low.

说明Dummynet是一种模拟有限大小队列、带宽限制和通信延迟的工具。Dummynet在协议栈的两层之间插入(在TCP和IP之间的当前实现中),在操作系统中模拟上述效果。这样,即使在同一台主机上运行,也可以使用真正的协议实现和真正的应用程序来完成实验(dummynet还截获环回接口上的通信)。dummynet参数(延迟、队列大小、带宽)的重新配置可以通过使用sysctl调用动态完成。dummynet的开销非常低。

Automation Requires merging diff files with kernel source code. Command-line driven through the sysctl command to modify kernel variables.

自动化需要将diff文件与内核源代码合并。命令行通过sysctl命令驱动,以修改内核变量。

Availability See http://www.iet.unipi.it/~luigi/research.html or e-mail Luigi Rizzo (l.rizzo@iet.unipi.it). Source code is available for FreeBSD 2.1 and FreeBSD 2.2 (easily adaptable to other BSD-derived systems).

可用性见http://www.iet.unipi.it/~luigi/research.html或电子邮件luigi Rizzo(l。rizzo@iet.unipi.it). 源代码可用于FreeBSD 2.1和FreeBSD 2.2(很容易适用于其他BSD衍生系统)。

Required Environment C language compiler, BSD-derived system, kernel source code.

所需环境C语言编译器,BSD派生系统,内核源代码。

References [Riz97]

参考文献[97]

2.3. Netperf
2.3. 净性能

Author Rick Jones

作家里克·琼斯

Category Performance

类别绩效

Description Single connection bandwidth or latency tests for TCP, UDP, and DLPI. Includes provisions for CPU utilization measurement.

描述TCP、UDP和DLPI的单连接带宽或延迟测试。包括CPU利用率测量的规定。

Automation Requires compilation (K&R C sufficient for all but-DHISTOGRAM, may require ANSI C in the future) if starting from source. Execution as child of inetd requires editing of /etc/services and /etc/inetd.conf. Scripts are provided for a quick look (snapshot_script), bulk throughput of TCP and UDP, and latency for TCP and UDP. It is command-line driven.

如果从源代码开始,自动化需要编译(K&R C足以满足除DHISTOGRAM之外的所有要求,将来可能需要ANSI C)。作为inetd的子级执行需要编辑/etc/services和/etc/inetd.conf。提供脚本用于快速查看(快照_脚本)、TCP和UDP的大容量吞吐量以及TCP和UDP的延迟。它是命令行驱动的。

Availability See http://www.cup.hp.com/netperf/NetperfPage.html or e-mail Rick Jones (raj@cup.hp.com). Binaries are available here for HP/UX Irix, Solaris, and Win32.

可用性见http://www.cup.hp.com/netperf/NetperfPage.html 或者给里克·琼斯发电子邮件(raj@cup.hp.com). 此处提供了适用于HP/UX Irix、Solaris和Win32的二进制文件。

Required Environment C language compiler, POSIX.1, sockets.

必需的环境C语言编译器,POSIX.1,套接字。

2.4. NIST Net
2.4. NIST网络

Author Mark Carson

作家马克·卡森

Category Functional Correctness / Performance

类别功能正确性/性能

Description NIST Net is a network emulator. The tool is packaged as a Linux kernel patch, a kernel module, a set of programming APIs, and command-line and X-based user interfaces.

说明NIST Net是一个网络仿真器。该工具打包为Linux内核补丁、内核模块、一组编程API以及基于命令行和X的用户界面。

NIST Net works by turning the system into a "selectively bad" router - incoming packets may be delayed, dropped, duplicated, bandwidth-constrained, etc. Packet delays may be fixed or randomly distributed, with loadable probability distributions. Packet loss may be uniformly distributed (constant loss probability) or congestion-dependent (probability of loss increases with packet queue lengths). Explicit congestion notifications may optionally be sent

NIST网络通过将系统变成“选择性坏”路由器来工作——传入的数据包可能会被延迟、丢弃、复制、带宽受限等。数据包延迟可能是固定的或随机分布的,具有可加载的概率分布。数据包丢失可能是均匀分布的(恒定丢失概率)或拥塞相关的(丢失概率随数据包队列长度的增加而增加)。可以选择发送显式拥塞通知

in place of congestion-dependent loss.

代替拥塞相关的损失。

Automation To control the operation of the emulator, there is an interactive user interface, a non-interactive command-line interface, and a set of APIs. Any or all of these may be used in concert. The interactive interface is suitable for simple, spur-of-the-moment testing, while the command-line or APIs may be used to create scripted, non-interactive tests.

自动化为了控制仿真器的操作,有一个交互式用户界面、一个非交互式命令行界面和一组API。任何或所有这些都可以协同使用。交互式界面适用于简单的即时测试,而命令行或API可用于创建脚本化的非交互式测试。

Availability NIST Net is available for public download from the NIST Net web site, http://www.antd.nist.gov/itg/nistnet/. The web site also has installation instructions and documentation.

NIST网络的可用性可从NIST网络网站上公开下载,http://www.antd.nist.gov/itg/nistnet/. 该网站还提供安装说明和文档。

Required Environment NIST Net requires a Linux installtion, with kernel version 2.0.27 - 2.0.33. A kernel source tree and build tools are required to build and install the NIST Net components. Building the X interface requires a version of XFree86 (Current Version is 3.3.2). An Athena-replacement widget set such as neXtaw (http://www.inf.ufrgs.br/~kojima/nextaw/) is also desirable for an improved user interface.

所需环境NIST Net需要Linux安装,内核版本为2.0.27-2.0.33。构建和安装NIST网络组件需要内核源代码树和构建工具。构建X接口需要XFree86版本(当前版本为3.3.2)。Athena替换小部件集,如neXtaw(http://www.inf.ufrgs.br/~kojima/nextaw/)也有助于改进用户界面。

NIST Net should run on any i386-compatible machine capable of running Linux, with one or more interfaces.

NIST Net应在任何能够运行Linux的i386兼容机器上运行,并具有一个或多个接口。

2.5. Orchestra
2.5. 管弦乐队

Author Scott Dawson, Farnam Jahanian, and Todd Mitton

作者Scott Dawson、Farnam Jahanian和Todd Mitton

Category Functional Correctness / Performance

类别功能正确性/性能

Description This tool is a library which provides the user with an ability to build a protocol layer capable of performing fault injection on protocols. Several fault injection layers have been built using this library, one of which has been used to test different vendor implementations of TCP. This is accomplished by probing the vendor implementation from one machine containing a protocol stack that has been instrumented with Orchestra. A connection is opened from the vendor TCP implementation to the machine which has been instrumented. Faults may then be injected at the Orchestra side of the connection and the vendor TCP's response may be monitored. The most recent version of Orchestra runs inside the X-kernel protocol stack on the OSF MK operating system.

描述该工具是一个库,它为用户提供了构建协议层的能力,该协议层能够对协议执行故障注入。使用该库已经构建了几个故障注入层,其中一个用于测试TCP的不同供应商实现。这是通过从一台包含协议栈的机器上探测供应商实现来实现的,该协议栈已由Orchestra检测。将打开从供应商TCP实现到已检测机器的连接。然后,可以在连接的一端注入故障,并且可以监视供应商TCP的响应。最新版本的Orchestra运行在OSF MK操作系统上的X内核协议栈中。

When using Orchestra to test a protocol, the fault injection layer is placed below the target protocol in the protocol stack. This can either be done on one machine on the network, if protocol stacks on the other machines cannot be modified (as in the case of testing TCP), or can be done on all machines on the network (as in the case of testing a protocol under development). Once the fault injection layer is in the protocol stack, all messages sent by and destined for the target protocol pass through it on their way to/from the network. The Orchestra fault injection layer can manipulate these messages. In particular, it can drop, delay, re-order, duplicate, or modify messages. It can also introduce new messages into the system if desired.

使用Orchestra测试协议时,故障注入层位于协议堆栈中目标协议的下方。如果不能修改其他机器上的协议堆栈(如测试TCP),则可以在网络上的一台机器上执行此操作,也可以在网络上的所有机器上执行此操作(如测试正在开发的协议)。一旦故障注入层位于协议栈中,目标协议发送和发送的所有消息都会在进出网络的途中通过该层。故障注入层可以处理这些消息。特别是,它可以删除、延迟、重新排序、复制或修改消息。如果需要,它还可以将新消息引入系统。

The actions of the Orchestra fault injection layer on each message are determined by a script, written in Tcl. This script is interpreted by the fault injection layer when the message enters the layer. The script has access to the header information about the message, and can make decisions based on header values. It can also keep information about previous messages, counters, or any other data which the script writer deems useful. Users of Orchestra may also define their own actions to be taken on messages, written in C, that may be called from the fault injection scripts.

每个消息上的故障注入层的动作由一个用Tcl编写的脚本决定。当消息进入故障注入层时,该脚本由故障注入层解释。脚本可以访问有关消息的头信息,并可以根据头值做出决策。它还可以保存有关以前的消息、计数器或脚本编写器认为有用的任何其他数据的信息。Orchestral的用户还可以定义自己对用C编写的消息采取的操作,这些消息可以从故障注入脚本调用。

Automation Scripts can be specified either using a graphical user interface which generates Tcl, or by writing Tcl directly. At this time, post-analysis of the results of the test must also be performed by the user. Essentially this consists of looking at a packet trace that Orchestra generates for (in)correct behavior. Must compile and link fault generated layer with the protocol stack.

可以使用生成Tcl的图形用户界面或直接编写Tcl来指定自动化脚本。此时,用户还必须对测试结果进行后分析。本质上,这包括查看Orchestra为正确行为生成的数据包跟踪。必须编译并将生成的故障层与协议栈链接。

Availability See http://www.eecs.umich.edu/RTCL/projects/orchestra/ or e-mail Scott Dawson (sdawson@eecs.umich.edu).

可用性见http://www.eecs.umich.edu/RTCL/projects/orchestra/ 或者给斯科特·道森发电子邮件(sdawson@eecs.umich.edu).

Required Environment OSF MK operating system, or X-kernel like network architecture, or adapted to network stack.

所需环境OSF MK操作系统,或类似X内核的网络体系结构,或适应网络堆栈。

References [DJ94], [DJM96a], [DJM96b]

参考文献[DJ94]、[DJM96a]、[DJM96b]

2.6. Packet Shell
2.6. 包壳

Author Steve Parker and Chris Schmechel

作家Steve Parker和Chris Schmechel

Category Functional Correctness / Performance

类别功能正确性/性能

Description An extensible Tcl/Tk based software toolset for protocol development and testing. Tcl (Tool Command Language) is an embeddable scripting language and Tk is a graphical user interface toolkit based on Tcl. The Packet Shell creates Tcl commands that allow you to create, modify, send, and receive packets on networks. The operations for each protocol are supplied by a dynamic linked library called a protocol library. These libraries are silently linked in from a special directory when the Packet Shell begins execution. The current protocol libraries are: IP, IPv6, IPv6 extensions, ICMP, ICMPv6, Ethernet layer, data layer, file layer (snoop and tcpdump support), socket layer, TCP, TLI.

描述一个可扩展的基于Tcl/Tk的软件工具集,用于协议开发和测试。Tcl(工具命令语言)是一种嵌入式脚本语言,Tk是基于Tcl的图形用户界面工具包。packetshell创建Tcl命令,允许您在网络上创建、修改、发送和接收数据包。每个协议的操作都由称为协议库的动态链接库提供。当数据包外壳开始执行时,这些库会从一个特殊目录以静默方式链接进来。当前的协议库有:IP、IPv6、IPv6扩展、ICMP、ICMPv6、以太网层、数据层、文件层(snoop和tcpdump支持)、套接字层、TCP、TLI。

It includes harness, which is a Tk based graphical user interface for creating test scripts within the Packet Shell. It includes tests for no initial slow start, and retain out of sequence data as TCP test cases mentioned in [PADHV98].

它包括harness,它是一个基于Tk的图形用户界面,用于在数据包外壳中创建测试脚本。它包括没有初始慢速启动的测试,并将无序数据保留为[PADHV98]中提到的TCP测试用例。

It includes tcpgraph, which is used with a snoop or tcpdump capture file to produce a TCP time-sequence plot using xplot.

它包括tcpgraph,它与snoop或tcpdump捕获文件一起使用,以使用xplot生成TCP时间序列图。

Automation Command-line driven through Tcl commands, or graphical user interface models are available through the harness format.

通过Tcl命令驱动的自动化命令行或图形用户界面模型可通过线束格式获得。

Availability See http://playground.sun.com/psh/ or e-mail owner-packet-shell@sunroof.eng.sun.com.

可用性见http://playground.sun.com/psh/ 或电子邮件所有者数据包-shell@sunroof.eng.sun.com.

Required Environment

所需环境

Solaris 2.4 or higher. Porting required for other operating systems.

Solaris 2.4或更高版本。其他操作系统所需的移植。

2.7. Tcpanaly
2.7. 特帕纳利

Author Vern Paxson

作者弗恩·帕克森

Category Functional Correctness / Performance

类别功能正确性/性能

Description This is a tool for automatically analyzing a TCP implementation's behavior by inspecting packet traces of the TCP's activity. It does so through packet filter traces produced by tcpdump. It has coded within it knowledge of a large number of TCP implementations. Using this, it can determine whether a given trace appears consistent with a given implementation, and, if so, exactly why the TCP chose to transmit each packet at the time it did. If a trace is found inconsistent with a TCP, tcpanaly either diagnoses a likely measurement error present in the trace, or indicates exactly whether the activity in the trace deviates from that of the TCP, which can greatly aid in determining how the traced implementation behaves.

描述这是一个通过检查TCP活动的数据包跟踪来自动分析TCP实现行为的工具。它通过tcpdump生成的包过滤跟踪来实现。它在It中编写了大量TCP实现的知识。使用此方法,它可以确定给定的跟踪是否与给定的实现一致,如果一致,则可以确定TCP在发送每个数据包时选择发送每个数据包的确切原因。如果发现跟踪与TCP不一致,tcpanaly可以诊断跟踪中可能存在的测量错误,或者准确指示跟踪中的活动是否偏离TCP的活动,这可以极大地帮助确定跟踪实现的行为。

Tcpanaly's category is somewhat difficult to classify, since it attempts to profile the behavior of an implementation, rather than to explicitly test specific correctness or performance issues. However, this profile identifies correctness and performance problems.

Tcpanaly的类别有点难以分类,因为它试图分析实现的行为,而不是明确测试特定的正确性或性能问题。但是,此概要文件确定了正确性和性能问题。

Adding new implementations of TCP behavior is possible with tcpanaly through the use of C++ classes.

通过使用C++类,TCPANALY可以实现TCP行为的新实现。

Automation Command-line driven and only the traces of the TCP sending and receiving bulk data transfers are needed as input.

自动化命令行驱动,只需要TCP发送和接收批量数据传输的跟踪作为输入。

Availability Contact Vern Paxson (vern@ee.lbl.gov).

可用性联系Vern Paxson(vern@ee.lbl.gov).

Required Environment C++ compiler.

需要的环境C++编译器。

References [Pax97a]

参考文献[Pax97a]

2.8. Tcptrace
2.8. Tcptrace

Author Shawn Ostermann

作家肖恩·奥斯特曼

Category Functional Correctness / Performance

类别功能正确性/性能

Description This is a TCP trace file analysis tool. It reads output trace files in the formats of : tcpdump, snoop, etherpeek, and netm.

说明这是一个TCP跟踪文件分析工具。它以以下格式读取输出跟踪文件:tcpdump、snoop、etherpeek和netm。

For each connection, it keeps track of elapsed time, bytes/segments sent and received, retransmissions, round trip times, window advertisements, throughput, etc from simple to very detailed output.

对于每个连接,它从简单到非常详细的输出跟踪经过的时间、发送和接收的字节/段、重传、往返时间、窗口广告、吞吐量等。

It can also produce three different types of graphs:

它还可以生成三种不同类型的图形:

Time Sequence Graph (shows the segments sent and ACKs returned as a function of time)

时间序列图(显示作为时间函数发送的段和返回的ack)

Instantaneous Throughput (shows the instantaneous, averaged over a few segments, throughput of the connection as a function of time).

瞬时吞吐量(显示瞬时,在几个段上的平均值,作为时间函数的连接吞吐量)。

Round Trip Times (shows the round trip times for the ACKs as a function of time)

往返时间(显示作为时间函数的ACK往返时间)

Automation Command-line driven, and uses the xplot program to view the graphs.

自动化命令行驱动,并使用xplot程序查看图形。

Availability Source code is available, and Solaris binary along with sample traces. See http://jarok.cs.ohiou.edu/software/tcptrace/tcptrace.html or e-mail Shawn Ostermann (ostermann@cs.ohiou.edu).

可用性源代码可用,Solaris二进制文件以及示例跟踪。看见http://jarok.cs.ohiou.edu/software/tcptrace/tcptrace.html 或者给肖恩·奥斯特曼发电子邮件(ostermann@cs.ohiou.edu).

Required Environment C compiler, Solaris, FreeBSD, NetBSD, HPUX, Linux.

必需的环境C编译器、Solaris、FreeBSD、NetBSD、HPUX、Linux。

2.9. Tracelook
2.9. Tracelook

Author Greg Minshall

作者Greg Minshall

Category Functional Correctness / Performance

类别功能正确性/性能

Description This is a Tcl/Tk program for graphically viewing the contents of tcpdump trace files. When plotting a connection, a user can select various variables to be plotted. In each direction of the connection, the user can plot the advertised window in each packet, the highest sequence number in each packet, the lowest sequence number in each packet, and the acknowledgement number in each packet.

描述这是一个Tcl/Tk程序,用于以图形方式查看tcpdump跟踪文件的内容。打印连接时,用户可以选择要打印的各种变量。在连接的每个方向上,用户可以绘制每个分组中的广告窗口、每个分组中的最高序列号、每个分组中的最低序列号以及每个分组中的确认号。

Automation Command-line driven with a graphical user interface for the graph.

自动化命令行驱动,带有图形用户界面。

Availability See http://www.ipsilon.com/~minshall/sw/tracelook/tracelook.html or e-mail Greg Minshall (minshall@ipsilon.com).

可用性见http://www.ipsilon.com/~minshall/sw/tracelook/tracelook.html或发电子邮件给Greg minshall(minshall@ipsilon.com).

Required Environment A modern version of awk, and Tcl/Tk (Tk version 3.6 or higher). The program xgraph is required to view the graphs under X11.

所需的环境包括awk的现代版本和Tcl/Tk(Tk版本3.6或更高版本)。需要程序xgraph才能查看X11下的图形。

2.10. TReno
2.10. 特伦诺

Author Matt Mathis and Jamshid Mahdavi

作者Matt Mathis和Jamshid Mahdavi

Category Performance

类别绩效

Description This is a TCP throughput measurement tool based on sending UDP or ICMP packets in patterns that are controlled at the user-level so that their timing reflects what would be sent by a TCP that observes proper congestion control (and implements SACK). This allows it to measure throughput independent of the TCP implementation of end hosts and serve as a useful platform for prototyping TCP changes.

描述这是一个TCP吞吐量测量工具,基于以用户级控制的模式发送UDP或ICMP数据包,以使其计时反映TCP将发送的内容,从而观察适当的拥塞控制(并实现SACK)。这使得它能够独立于终端主机的TCP实现来测量吞吐量,并作为TCP更改原型的有用平台。

Automation Command-line driven. No "server" is required, and it only requires a single argument of the machine to run the test to.

自动化命令行驱动。不需要“服务器”,它只需要机器的一个参数来运行测试。

Availability See http://www.psc.edu/networking/treno_info.html or e-mail Matt Mathis (mathis@psc.edu) or Jamshid Mahdavi (mahdavi@psc.edu).

可用性见http://www.psc.edu/networking/treno_info.html 或者给Matt Mathis发电子邮件(mathis@psc.edu)或者Jamshid Mahdavi(mahdavi@psc.edu).

Required Environment C compiler, POSIX.1, raw sockets.

必需的环境C编译器,POSIX.1,原始套接字。

2.11. Ttcp
2.11. Ttcp

Author Unknown

作者不详

Category Performance

类别绩效

Description Originally written to move files around, ttcp became the classic throughput benchmark or load generator, with the addition of support for sourcing to/from memory. It can also be used as a traffic absorber. It has spawned many variants, recent ones include support for UDP, data pattern generation, page alignment, and even alignment offset control.

描述最初是为了移动文件而编写的,ttcp成为了经典的吞吐量基准或负载生成器,并增加了对从内存中获取资源的支持。它也可用作交通吸收器。它产生了许多变体,最近的变体包括对UDP、数据模式生成、页面对齐,甚至对齐偏移控制的支持。

Automation Command-line driven.

自动化命令行驱动。

Availability See ftp://ftp.arl.mil/pub/ttcp/ or e-mail ARL (ftp@arl.mil) which includes the most common variants available.

可用性见ftp://ftp.arl.mil/pub/ttcp/ 或发送电子邮件至ARL(ftp@arl.mil)其中包括最常见的可用变体。

Required Environment C compiler, BSD sockets.

必需的环境C编译器、BSD套接字。

2.12. Xplot
2.12. Xplot

Author Tim Shepard

作家蒂姆·谢泼德

Category Functional Correctness / Performance

类别功能正确性/性能

Description This is a fairly conventional graphing/plotting tool (xplot itself), a script to turn tcpdump output into xplot input, and some sample code to generate xplot commands to plot the TCP time-sequence graph).

描述这是一个相当传统的绘图/绘图工具(xplot本身),一个将tcpdump输出转换为xplot输入的脚本,以及一些生成xplot命令以绘制TCP时间序列图的示例代码)。

Automation Command-line driven with a graphical user interface for the plot.

自动化命令行驱动,带有绘图的图形用户界面。

Availability See ftp://mercury.lcs.mit.edu/pub/shep/xplot.tar.gz or e-mail Tim Shepard (shep@lcs.mit.edu).

可用性见ftp://mercury.lcs.mit.edu/pub/shep/xplot.tar.gz 或者给蒂姆·谢泼德发电子邮件(shep@lcs.mit.edu).

Required Environment C compiler, X11.

必需的环境C编译器,X11。

References [She91]

参考文献[She91]

3. Summary
3. 总结

This memo lists all TCP tests and testing tools reported to the authors as part of TCP Implementer's working group and is not exhaustive. These tools have been verified as available by the authors.

本备忘录列出了作为TCP实施者工作组的一部分向作者报告的所有TCP测试和测试工具,并非详尽无遗。作者已经验证了这些工具的可用性。

4. Security Considerations
4. 安全考虑

Network analysis tools are improving at a steady pace. The continuing improvement in these tools such as the ones described make security concerns significant.

网络分析工具正在稳步改进。这些工具(如所描述的工具)的持续改进使得安全问题变得非常重要。

Some of the tools could be used to create rogue packets or denial-of-service attacks against other hosts. Also, some of the tools require changes to the kernel (foreign code) and might require root privileges to execute. So you are trusting code that you have fetched from some perhaps untrustworthy remote site. This code could contain malicious code that could present any kind of attack.

其中一些工具可用于创建针对其他主机的恶意数据包或拒绝服务攻击。此外,一些工具需要更改内核(外部代码),并且可能需要root权限才能执行。因此,您信任从某个可能不可信的远程站点获取的代码。此代码可能包含可能导致任何类型攻击的恶意代码。

None of the listed tools evaluate security in any way or form.

列出的工具中没有一个以任何方式或形式评估安全性。

There are privacy concerns when grabbing packets from the network in that you are now able to read other people's mail, files, etc. This impacts more than just the host running the tool but all traffic crossing the host's physical network.

从网络抓取数据包时存在隐私问题,因为您现在可以读取其他人的邮件、文件等。这不仅影响运行该工具的主机,还影响通过主机物理网络的所有流量。

5. References
5. 工具书类

[DJ94] Scott Dawson and Farnam Jahanian, "Probing and Fault Injection of Distributed Protocol Implementations", University of Michigan Technical Report CSE-TR-217-94, EECS Department.

[DJ94] Scott Dawson和Farnam Jahanian,“分布式协议实现的探测和错误注入”,密歇根大学技术报告CSE-TR 217-1994,EECS部门。

[DJM96a] Scott Dawson, Farnam Jahanian, and Todd Mitton, "ORCHESTRA: A Fault Injection Environment for Distributed Systems", University of Michigan Technical Report CSE-TR-318-96, EECS Department.

[DJM96A] Scott Dawson、Farnam Jahanian和Todd Mitton,“管弦乐队:分布式系统的故障注入环境”,密歇根大学技术报告CSE-TR 318-96,EECS部门。

[DJM96b] Scott Dawson, Farnam Jahanian, and Todd Mitton, "Experiments on Six Commercial TCP Implementations Using a Software Fault Injection Tool", University of Michigan Technical Report CSE-TR-298-96, EECS Department.

[DJM96B] Scott Dawson、Farnam Jahanian和Todd Mitton,“使用软件故障注入工具对六个商业TCP实现进行实验”,密歇根大学技术报告CSE-TR—29—96,EECS部门。

[Pax97a] Vern Paxson, "Automated Packet Trace Analysis of TCP Implementations", ACM SIGCOMM '97, September 1997, Cannes, France.

[Pax97a]Vern Paxson,“TCP实现的自动数据包跟踪分析”,ACM SIGCOMM'971997年9月,法国戛纳。

[PADHV98] Paxson, V., Allman, M., Dawson, S., Heavens, I., and B. Volz, "Known TCP Implementation Problems", Work In Progress.

[PADHV98]Paxson,V.,Allman,M.,Dawson,S.,Skys,I.,和B.Volz,“已知的TCP实现问题”,正在进行中。

[Riz97] Luigi Rizzo, "Dummynet: a simple approach to the evaluation of network protocols", ACM Computer Communication Review, Vol. 27, N. 1, January 1997, pp. 31-41.

[Riz97]Luigi Rizzo,“Dummynet:评估网络协议的简单方法”,《ACM计算机通信评论》,第27卷,第1期,1997年1月,第31-41页。

[She91] Tim Shepard, "TCP Packet Trace Analysis", MIT Laboratory for Computer Science MIT-LCS-TR-494, February, 1991.

[She91]Tim Shepard,“TCP数据包跟踪分析”,麻省理工学院计算机科学实验室MIT-LCS-TR-494,1991年2月。

6. Authors' Addresses
6. 作者地址

Steve Parker Sun Microsystems, Inc. 901 San Antonio Road, UMPK17-202 Palo Alto, CA 94043 USA

Steve Parker Sun Microsystems,Inc.美国加利福尼亚州帕洛阿尔托市圣安东尼奥路901号UMPK17-202邮编:94043

Phone: (650) 786-5176 EMail: sparker@eng.sun.com

电话:(650)786-5176电子邮件:sparker@eng.sun.com

Chris Schmechel Sun Microsystems, Inc. 901 San Antonio Road, UMPK17-202 Palo Alto, CA, 94043 USA

Chris Schmechel Sun Microsystems,Inc.美国加利福尼亚州帕洛阿尔托市圣安东尼奥路901号UMPK17-202,邮编94043

Phone: (650) 786-4053 EMail: cschmec@eng.sun.com

电话:(650)786-4053电子邮件:cschmec@eng.sun.com

7. Full Copyright Statement
7. 完整版权声明

Copyright (C) The Internet Society (1998). All Rights Reserved.

版权所有(C)互联网协会(1998年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。