1 / 50
文档名称:

TCPIP协议详解DOC程序设计完整版.docx

格式:docx   大小:219KB   页数:50页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TCPIP协议详解DOC程序设计完整版.docx

上传人:爱的奉献 9/21/2022 文件大小:219 KB

下载得到文件列表

TCPIP协议详解DOC程序设计完整版.docx

相关文档

文档介绍

文档介绍:该【TCPIP协议详解DOC程序设计完整版 】是由【爱的奉献】上传分享,文档一共【50】页,该文档可以免费在线阅读,需要了解更多关于【TCPIP协议详解DOC程序设计完整版 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。专业文档,值得下载!
TCP/IP详解
概括

好多不同的厂家生产各样型号的计算机,它们运行完全不同的操作系统,但 TCP/IP协
议组件允许它们互相进行通信。 这一点很让人感觉惊讶, 因为它的作用已远远高出了开初的
设想。TCP/IP起源于60年月末美国政府资助的一个分组交换网络研究项目,到现在 90年
代已发展成为计算机之间最常应用的组网形式。 它是一个真实的开放系统, 因为协议组件的
定义及其多种实现能够不用花费或花很少的钱就能够公然地获得。 它成为被称作“全球互联
网”或“因特网” (Internet)的基础,该广域网( WAN)已包含超过 100万台遍布世界各地
的计算机。
本章主要对 TCP/IP协议组件进行概括,其目的是为本书其余章节提供充分的背景知识。
如果读者要从历史的角度认识有关 TCP/IP的早期发展情况,请参照文件 [Lynch1993]。

网络协议往常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议组件,
比方TCP/IP,是一组不同层次上的多个协议的组合。 TCP/IP往常被认为是一个四层协议系
统,如图 。

每一层负责不同的功能:
链路层,有时也称作数据链路层或网络接口层,往常包括操作系统中的设备驱动程
序和计算机中对应的网络接口卡。它们一同办理与电缆(或其他任何传输媒介)的物理接口
细节。
网络层,有时也称作互连网层,办理分组在网络中的活动,比如分组的路由选择。
在TCP/IP协议组件中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互连网
控制报文协议),以及IGMP协议(Internet组管理协议)。
。在 TCP/IP协议组件中,有
两个互不相同的传输协议: TCP(传输控制协议)和 UDP(用户数据报协议)。
TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数
据分红合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层能够忽略所有这些细节。
而另一方面,UDP则为应用层提供一种特别简单的服务。它只是把称作数据报的分组
从一台主机发送到另一台主机, 但并不保证该数据报能抵达另一端。 任何须需的可靠性必须
由应用层来提供。
这两种运输层协议分别在不同的应用程序中有不同的用途,这一点我们将在后边看到。
。几乎各样不同的TCP/IP实现都会提供下面这些通用的应用程序:
Telnet远程登录
FTP文件传输协议
SMTP用于电子邮件的简单邮件传输协议
SNMP简单网络管理协议
此外还有很多其他应用,我们在后边章节中将介绍其中的一部分。
专业文档,值得下载!
专业文档,值得下载!
假定我们在一个局域网( LAN)如以太网中有两台主机,二者都运行 FTP协议,
列出了该过程所波及到的所有协议。
局域网上运行 FTP的两台主机
这里,我们列举了一个 FTP客户程序和另一个 FTP服务器程序。大多半的网络应用程
序都被设计成客户-服务器模式。 服务器为客户提供某种服务, 在本例中就是接见服务器所
在主机上的文件。在远程登录应用程序 Telnet中,为客户提供的服务是登录到服务器主机上。
在同一层上,双方都有对应的一个或多个协议进行通信。比如,某个协议允许 TCP层
进行通信,而另一个协议则允许两个 IP层进行通信。
,我们注意到应用程序往常是一个用户进度,而下三层则一般在(操作
系统)内核中履行。只管这不是必需的,但往常都是这样办理的,比如 UNIX 操作系统。
,顶层与下三层之间还有另一个重点的不同之处。应用层关心的是应用程序
的细节,而不是数据在网络中的传输活动。 下三层对应用程序全无所闻, 但它们要办理所有
的通信细节。
。 FTP是一种应用层协议, TCP是一种运
输层协议,IP是一种网络层协议,而以太网协议则应用于链路层上。 TCP/IP协议组件是一
组不同的协议组合在一同组成的协议族。只管往常称该协议组件为 TCP/IP,但TCP和IP
只是其中的两种协议而已。 (该协议组件的另一个名字是 Internet协议族(InternetProtocol
Suite)。
网络接口层和应用层的目的是很显然的――前者办理有关通信媒介的细节 (以太网,令
牌环网等),尔后者办理某个特定的用户应用程序( FTP,Telnet等)。可是,从表面上看,
网络层和运输层之间的区别不那么显然。 为什么要把它们区分红两个不同的层次呢?为了理
解这一点,我们必须把视野从单个网络扩展到一组网络。
在80年月,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机组成的 “孤
岛”没有太粗心义,于是就把这些孤立的系统组在一同形成网络。随着这样的发展,到了
年月,我们又渐渐认识到这种由单个网络组成的新的更大的“岛屿”同样没有太大的意
义。于是,人们又把多个网络连在一同形成一个网络的网络,或称作互连网 (internet)。一个
互连网就是一组经过相同协议族互连在一同的网络。
结构互连网最简单的方法是把两个或多个网络经过路由器进行连结。 它是一种特殊的用
于网络互连的硬件盒。 路由器的利处是为不同种类的物理网络提供连结: 以太网,令牌环网,
点对点的链接, FDDI(光纤散布式数据接口)等等。
(下面是原书 ①的译文)
这些盒子也称作 IP路由器(IPRouters),但我们这里使用路由器 (Router)这个术语。
从历史上说,这些盒子称作网关( gateways),在好多TCP/IP文件中都使用这个术语。现在
网关这个术语只用来表示应用层网关:一个连结两种不同协议组件的进度(比如, TCP/IP
和IBM的SNA),它为某个特定的应用程序服务(经常是电子邮件或文件传输) 。
:一个以太网和一个令牌环网,经过一个路由器互
相连结。只管这里是两台主机经过路由器进行通信, 实际上以太网中的任何主机都能够与令
牌环网中的任何主机进行通信。
,我们能够区分出端系统( endsystem)(两边的两台主机)和中间系统
专业文档,值得下载!
专业文档,值得下载!
(intermediatesystem)(中间的路由器)。应用层和运输层使用端到端( end-to-end)协议。
在我们的图中,只有端系统需要这两层协议。可是,网络层提供的却是逐跳( hop-by-hop)
协议,两个端系统和每其中间系统都要使用它。

在TCP/IP协议组件中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可
能快地把分组从源结点送到目的结点,可是并不提供任何可靠性保证。而另一方面, TCP
在不可靠的 IP层上提供了一个可靠的运输层。为了提供这种可靠的服务, TCP采用了超时
重传,发送和接收端到端确实认分组等体制。 由此可见,运输层和网络层分别负责不同的功
能。
从定义上看,一个路由器拥有两个或多个网络接口层 (因为它连结了两个或多个网络) 。
任何拥有多个接口的系统英文都称作是多接口的 multihomed。一个主机也能够有多个接口,
但一般不称作路由器 ,除非它的功能只是纯真地把分组从一个接口授送到另一个接口。同
样,路由器并不一定指那种在互连网中用来转发分组的特殊硬件盒。大多半的 TCP/IP实现
也允许一个多接口主机来担当路由器的功能, 可是主机为此必须进行特殊的配置。 在这种情
况下,我们既能够称该系统为主机(当它运行某一应用程序时,如 FTP或Telnet),也能够
称之为路由器(当它把分组从一个网络转发到另一个网络时) 。我们在不同的场合下使用不
同的术语。
互连网的目标之一是在应用程序中隐藏所有的物理细节。 虽然这一点在图
络组成的互连网中并不很显然,可是应用层不能关心(也不关心)一台主机是在以太网上,
而另一台主机是在令牌环网上,它们经过路由器进行互连。随着增加不同种类的物理网络,
可能会有 20个路由器,但应用层仍旧是同样的。 物理细节的隐藏使得互连网功能特别强大,
也特别有用。
连结网络的另一个途径是使用网桥。 网桥是在链路层上对网络进行互连, 而路由器则是
在网络层上对网络进行互连。网桥使得多个局域网( LAN)组合在一同,这样对上层来说
就仿佛是一个局域网。
TCP/IP倾向于使用路由器而不是网桥来连结网络,因此我们将着重介绍路由器。文件
[Perlman1992]的第12章对路由器和网桥进行了比较。

在TCP/IP协议组件中,有好多种协议。图 。

TCP和UDP是两种最为著名的运输层协议,二者都使用 IP作为网络层协议。
虽然TCP使用不可靠的 IP服务,但它却提供一种可靠的运输层服务。本书第 17章到
第22章将详尽议论 TCP的内部操作细节。然后,我们将介绍一些 TCP的应用,如第 26章
中的Telnet和Rlogin,第27章中的FTP,以及第28章中的SMTP等。这些应用往常都是用户进度。
UDP为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信
息单元(比如,发送方指定的一定字节数的信息) 。可是与 TCP不同的是,UDP是不可靠
的,它不能保证数据报能安全无误地抵达最终目的。 本书第11章将议论 UDP,然后在第 14
章(域名系统: DomainNameSystem),第15章(简单文件传输协议 TrivialFileTransfer
专业文档,值得下载!
专业文档,值得下载!
Protocol),以及第16章(引导程序协议 BootstrapProtocol)介绍使用 UDP的应用程序。SNMP
(简单网络管理协议)也使用了 UDP协议,可是由于它还要办理很多其他的协议,因此本书把它留到第25章再进行议论。
IP是网络层上的主要协议,同时被 TCP和UDP使用。TCP和UDP的每组数据都经过
端系统和每其中间路由器中的IP层在互连网中进行传输。,我们给出了一个直接接见IP的应用程序。这是很少见的,但也是可能的。(一些较老的路由选择协议就是以这
种方式来实现的。自然新的运输层协议也有可能试用这种方式。 )第3章主要议论 IP协议,
可是为了使内容更为有针对性,一些细节将留在后边的章节中进行议论。第 9章和第10章
议论IP怎样进行路由选择。
ICMP是IP协议的隶属协议。 IP层用它来与其他主机或路由器交换错误报文和其他重
要信息。第 6章对ICMP的有关细节进行议论。只管 ICMP主要被IP使用,但应用程序也
有可能接见它。我们将剖析两个流行的诊疗工具, Ping和Traceroute(第7章和第8章),
它们都使用了 ICMP。
IGMP是Internet组管理协议。它用来把一个 UDP数据报多播到多个主机。我们在第
12章中描绘广播(把一个 UDP数据报发送到某个指定网络上的所有主机)和多点传送的一
般特性,然后在第 13章中对IGMP协议本身进行描绘。
ARP(地点解析协议)和 RARP(逆地点解析协议)是某些网络接口(如以太网和令牌
环网)使用的特殊协议,用来变换 IP层和网络接口层使用的地点。我们分别在第 4章和第
章对这两种协议进行剖析和介绍。

互连网上的每个接口必须有一个唯一的 Internet地点(也称作IP地点)。IP地点长32bit。
Internet地点并不采用平面形式的地点空间,如 1,2,3等。IP地点拥有一定的结构,五类
不同的互连网地点格式如图 。
这些32位的地点往常写成四个十进制的数,其中每个整数对应一个字节。这种表示方
法称作“点分十进制表示法”(dotteddecimalnotation)。比如,作者的系统就是一个B类地点,它表示为:。
区分各类地点的最简单方法是看它的第一个十进制整数。
范围,其中第一个十进制整数用加黑字体表示。

需要再次指出的是,多接口主机拥有多个 IP地点,其中每个接口都对应一个 IP地点。
由于互连网上的每个接口必须有一个唯一的 IP地点,因此必须要有一个管理机构为接入互
连网的网络分派 IP地点。这个管理机构就是互连网络信息中心 (InternetNetworkInformation
Centre)称作InterNIC。InterNIC只分派网络号。主机号的分派由系统管理员来负责。
(下面是原书 ①的译文)
Internet注册服务(IP地点和DNS域名)过去由NIC来负责,其网络地点是 。
1993年4月1日,InterNIC成立。现在,NIC只负责办理国防数据网的注册恳求,所有其他的Internet用户注册恳求均由InterNIC负责办理,其网址是:。
事实上InterNIC有三部分组成:注册服务(),目录和数据库服务(),
专业文档,值得下载!
专业文档,值得下载!
以及信息服务( )。有关InterNIC的其他信息参见****题 。
有三类IP地点:单目传送地点(目标为单个主机) ,广播传送地点(目的端为给定网络
上的所有主机),以及多目传送地点 (目的端为同一组内的所有主机) 。第12章和第13章将
分别议论广播传送和多目传送的更多细节。
,我们在介绍 IP路由选择此后将进一步介绍子网的观点。
特殊的IP地点:主机号和网络号为全 0或全1。

只管经过 IP地点能够辨别主机上的网络接口,进而接见主机,可是人们最喜欢使用的
仍是主机名。在 TCP/IP领域中,域名系统( DNS)是一个散布的数据库,由它来提供 IP地
址和主机名之间的映射信息。我们在第 14章将详尽议论 DNS。
现在,我们必须理解,任何应用程序都能够调用一个标准的库函数来查察给命名字的主
机的IP地点。近似地,系统还提供一个逆函数――给定主机的 IP地点,查察它所对应的主
机名。
大多半使用主机名作为参数的应用程序也能够把 IP地点作为参数。比如,在第 4章中
当我们用 Telnet进行远程登录时,我们既能够指定一个主机名,也能够指定一个 IP地点。

当应用程序用 TCP传送数据时,数据被送入协议栈中,然后逐个经过每一层直到被当
作一串比特流送入网络。 其中每一层对收到的数据都要增加一些首部信息 (有时还要增加尾
部信息),该过程如图 。TCP传给IP的数据单元称作 TCP报文段或简称为 TCP段
(TCPsegment)。IP传给网络接口层的数据单元称作 IP数据报(IPdatagram)。经过以太网传
输的比特流称作帧 (frame)。
。 在后边的章节
中我们将详尽议论这些帧头的详细含义。
以太网数据帧的物理特性是其长度必须在 46-1500字节之间。我们将在
小长度的数据帧,在 。
(下面是原书 ①的译文)
所有的Internet标准和大多半有关 TCP/IP的书都使用 octet这个术语来表示字节。使用
这个过分雕琢的术语是有历史原因的,因为 TCP/IP的好多工作都是在 DEC-10系统上进行
的,可是它并不使用 8bit的字节。由于现在几乎所有的计算机系统都采用 8bit的字节,因
此我们在本书中使用字节( byte)这个术语。
更正确地说,图 ( packet)。分
组既能够是一个
IP数据报,也能够是IP数据报的一个片(
fragment)。我们将在

论IP数据报分片的详尽情况。
UDP数据与TCP数据基本一致。唯一的不同是UDP传给IP的信息单元称作UDP数据报(UDPdatagram),而且UDP的首部长为8字节。
数据进入协议栈时的封装过程
回想第6页中的图 ,由于TCP,UDP,ICMP和IGMP都要向IP传送数据,因此 IP
专业文档,值得下载!
专业文档,值得下载!
必须在生成的 IP首部中加入某种表记,以表示数据属于哪一层。为此, IP在首部中存入一
个长度为8比特的数值,称作协议域。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。
近似地,很多应用程序都能够使用 TCP或UDP来传送数据。运输层协议在生成报文首
部时要存入一个应用程序的表记符。 TCP和UDP都用一个 16bit的端口号来表示不同的应
用程序。TCP和UDP把源端口号和目的端口号分别存入报文首部中。
网络接口分别要发送和接收 IP,ARP和RARP数据,因此也必须在以太网的帧首部中
加入某种形式的表记,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16bit的帧种类域。
(Demultiplexing)
当目的主机收到一个以太网数据帧时, 数据就开始从协议栈中由底向上涨, 同时去掉各
层协议加上的报文首部。 每层协议盒都要去检查报文首部中的协议表记, 以确定接收数据的
上层协议。这个过程称作分用,图 。
以太网数据帧的分用过程
(下面是原书 ①的译文)
为协议ICMP和IGMP定位一直是一件很棘手的事情。在图 ,我们把它们与 IP
放在同一层上,那是因为事实上它们是 IP的隶属协议。可是在这里,我们又把它们放在 IP
层的上面,这是因为 ICMP和IGMP报文都被封装在 IP数据报中。
对于ARP和RARP我们也碰到近似的难题。在这里我们把它们放在以太网设备驱动程
序的上方,这是因为它们和 IP数据报同样,都有各自的以太网数据帧种类。但在图 ,
我们又把ARP作为以太网设备驱动程序的一部分,放在IP层的下面,其原因在逻辑上是合理的。
当进一步描绘 TCP的细节时,我们将看到协议确实是经过目的端口号,源 IP地点和源
端口号进行解包的。

大多半网络应用程序在编写时都假定一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。
我们能够将这种服务分为两种种类: 重复型或并发型。重复型服务器经过以下步骤进行
交互:




重复型服务器主要的问题发生在 I2状态。在这个时候,它不能为其他客户机提供服务。
相应地,并发型服务器采用以下步骤:

。 在这期间可能生成一个新的进度、 任务或
线程,并依靠底层操作系统的支持。 这个步骤怎样进行取决于操作系统。 生成的新服务器对
客户的全部恳求进行办理。办理结束后,终止这个新服务器。
专业文档,值得下载!
专业文档,值得下载!

并发服务器的优点在于它是利用生成其他服务器的方法来办理客户的恳求。也就是说,
每个客户都有它自己对应的服务器。 如果操作系统允很多任务, 那么就能够同时为多个客户
同时服务。
我们对服务器,而不是对客户进行分类的原因是因为对于一个客户来说, 它往常并不能
够鉴别自己是与一个重复型服务器或并发型服务器进行对话。
一般来说,TCP服务器是并发的,而 UDP服务器是重复的,但也存在一些例外。我们
,并在
器的影响进行议论。

我们前面已经指出过, TCP和UDP采用16比特的端口号来辨别应用程序。那么这些
端口号是怎样选择的呢?
服务器一般都是经过人们所熟知的端口号来识其他。 比如,对于每个 TCP/IP实现来说,
FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传输协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用众所周
知的1-1023之间的端口号。这些人们所熟知的端口号由 Internet端口号分派机构( Internet
AssignedNumbersAuthority,IANA )来管理。
(下面是原书 ①的译文)
到1992年为止,人们所熟知的端口号介于 1-255之间。256-1023之间的端口号往常
都是由Unix系统占用,以提供一些特定的 Unix服务――也就是说,提供一些只有 Unix系
统才有的,而其他操作系统可能不提供的服务。现在IANA管理1-1023之间所有的端口号。Internet扩展服务与Unix特定服务之间的一个差别就是Telnet和Rlogin。它们二者都允许我
们经过计算机网络登录到其他主机上。 Telnet是采用端口号为 23的TCP/IP标准且几乎能够
在所有操作系统上进行实现。相反, Rlogin最开始时只是为 Unix系统设计的(只管很多非
Unix系统现在也提供该服务) ,因此在 80年月初,它的出名端口号为 513。
客户端往常对它所使用的端口号并不关心, 只需保证该端口号在本机上是唯一的就能够
了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它往常只是在用户运行该客户程序时才存在,而服务器则只需主机开着的,其服务就运行。
大多半TCP/IP实现给临时端口分派1024-5000之间的端口号。大于5000的端口号是为其他服务器预留的(Internet上并不常用的服务)。我们能够在后边看见很多这样的给临时
端口分派端口号的例子。
(下面是原书 ②的译文)
。 往常TCP和UDP的缺省临时端口号从 32768开始。
节中,我们将详尽描绘系统管理员怎样对配置选项进行改正以改变这些缺省项。
大多半Unix系统的file/etc/services都包含了人们熟知的端口号。为了找到 Telnet服务器和
域名系统的端口号,我们能够运行以下语句:
(见原书 ③)
保存端口号
专业文档,值得下载!
专业文档,值得下载!
Unix系统有保存端口号的观点。只有拥有超级用户特权的进度才允许给它自己分派一
个保存端口号。
这些端口号介于 1到1023之间,一些应用程序(如出名的 Rlogin,)将它作为
客户与服务器之间身份认证的一部分。

终究是谁控制着 TCP/IP协议组件,又是谁在定义新的标准以及其他近似的事情?事实
上,有四个小组在负责 Internet技术。
(ISOC:InternetSociety)是一个推动、支持和促使 Internet不断增长和
发展的专业组织,它把 Internet作为全球研究通信的基础设备。
( IAB:InternetArchitectureBoard)是一个技术监察和协调
的机构。它由国际上来自不同专业的 15个志愿者组成,其职能是负责 Internet标准的最后
编写和技术审核。 IAB隶属于ISOC。
( IETF:InternetEngineeringTaskForce)是一个面向近期标准
的组织,它分为 9个领域(应用,寻径和寻址,安全等等) 。IETF开发成为 Internet标准的
规约。为帮助IETF主席,又成立了 Internet工程指导小组(IESG:InternetEngineeringSteering
Group)。
Internet研究特意小组主要对长久的项目进行研究。
IRTF和IETF都隶属于 IAB。文件[Crocker1993]提供了对于 Internet内部标准化进度更
为详尽的信息,同时还介绍了它的早期历史。

所有对于Internet的正式标准都以 RFC(RequestforComment)文档出版。此外,大量
的RFC并不是正式的标准,出版的目的只是为了提供信息。 RFC的篇幅从 1页到200页不
等。每一项都用一个数字来表记,如 RFC1122,数字越大说是 RFC的内容越新。
所有的RFC都能够经过电子邮件或用 FTP从Internet上免费获取。如果发送下面这份电子
邮件,你就会收到一份获取 RFC的方法清单:
Subject:gettingrfcs
help:ways_to_get_rfcs
最新的RFC索引老是搜寻信息的起点。 这个索引列出了 RFC被替换或局部更新的时间。
下面是一些重要的 RFC文档:
(AssignedNumbersRFC)列出了所有Internet协议中使用的数字和常数。至本书出版时为止,最新RFC的编号是1340[ReynoldsandPostel1992]。所有著名的Internet
端口号都列在这里。
当这个RFC被更新时(往常每年起码更新一次),索引清单会列出RFC1340被替换的时间。
,目前是RFC1600[Postel1994]。这个RFC描绘了各样 Internet
协议的标准化现状。每种协议都处于下面几种标准化状态之一:标准,草案标准,建议标准,实验标准,信息标准,和历史标准。此外,对每种协议都有一个要求的层次:必需的,建议
的,可选择的,限制使用的,或许不介绍的。
与赋值RFC同样,这个 RFC也定期更新。请一定随时查察最新版本。
专业文档,值得下载!
专业文档,值得下载!
主机需求RFC,1122和1123[Braden1989a,1989b]。RFC1122针对链路层,网络层和运输层,RFC1123针对应用层。这两个RFC对早期重要的RFC文档作了大量的纠正和
解释。如果要查察有关协议更详尽的细节内容, 它们往常是一个入口点。 它们列出了协议中
对于“必须”,“应当”,“能够”,“不应当”或许“不能”等特性及其实现细节。
文件[Borman1993b]提供了有关这两个 RFC的实用内容。 RFC1127[Braden1989c]对工
作小组开发主机需求 RFC过程中的议论内容和结论进行了非正式的总结。
RFC,目前正式版是 RFC1009[BradenandPostel1987],但一个新版已
靠近达成[Aknqyust1993]。它与主机需求 RFC近似,可是只独自描绘了路由器的需求。

有一些标准的简单服务几乎每种实现都要提供。 在本书中我们将使用其中的一些服务程
序,而客户程序往常选择 Telnet。。从该图我们能够看出, 当使用TCP
和UDP提供相同的服务时,一般选择相同的端口号 .
(下面是原书 ①的译文)
如果认真检查这些标准的简单服务以及其他标准的 TCP/IP服务(如 Telnet,FTP,SMTP
等)的端口号时,我们发现它们都是奇数。这是有历史原因的,因为这些端口号都是从NCP端口号派生出来的。(NCP,即网络控制协议,是ARPANET的运输层协议,是TCP的前身。
NCP是单工的,不是全双工的,因此每个应用程序需要两个连结,需预留一对奇数和偶数端口号。当TCP和UDP成为标准的运输层协议时,每个应用程序只需要一个端口号,因此
就使用了 NCP中的奇数。
(以下是原书 )
名字
TCP端口号
UDP端口号
RFC
描绘
echo
7
7
862
服务器返回客户