教学材料《网络》-第四章_第1页
教学材料《网络》-第四章_第2页
教学材料《网络》-第四章_第3页
教学材料《网络》-第四章_第4页
教学材料《网络》-第四章_第5页
已阅读5页,还剩180页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1TCP/IPTCP/IP(传输控制协议/互联网互联协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP",或者有时简单称为“IP"。例如,网络管理员可能说,“我们的网络只能运行IP",意思就是说所有的网络服务都依赖于TCP/IP子协议。TCP/IP始于美国国防部,美国国防部于20世纪60年代末为高级研究计划局网络(ARPANET,现在Internet的前身)开发了TCP/IPTCP/IP的迅速流行要归功于它的低成本、可在不同的平台间进行通信的能力和它开放的特性。“开放”的意思是软件开发人员可以自由地使用和修改TCP/IP的核心协议。TCP/IP是Internet实际采用的标准。UNIX和Linux一直都使用TGP/IP,Windows网络操作系统也以TCP/IP作为默认的协议。下一页返回4.1TCP/IP

如果不能进行路由(Routable),TCP/IP也不会变得如此流行。可以跨越不同的局域网的协议称为可路由协议,因为它可以携带能被路由器解析的网络层的地址信息。并不是所有的协议都是可路由的。例如,NetBEUI就是不可路由的。不可路由的协议族便不能在不同的网段之间传输数据,因此它们不适合作为大型网络的协议。注意:TCP/IP是一个很广的课题,无论在技术、历史还是实践方面。如果想成为TCP/IP方面的专家,应该购买一本完全专注于这个协议族的书或者学习指南。上一页下一页返回4.1TCP/IP4.1.1TCP/IP核心协议TCP/IP协议族中的一些子协议,被称为TCP/IP核心协议,对应于OSI模型的传输层或网络层,并为其他层提供基本服务。由此可见,TCP和IP是TCP/IP协议族中最重要的协议。1.TCPTCP(传输控制协议)位于OSI模型的传输层,提供可靠的数据传输服务。TCP是一个基于连接的子协议,基于连接的意思是在协议传输数据之前在传输节点之间必须建立连接。上一页下一页返回4.1TCP/IP

TCP通过序列号和校验和来保证可靠的数据传输。若没有这些技术,数据的传输将是杂乱无章的,比如,无法检测目的节点是否在线,或者数据在传输过程中是否出错。最后,TCP提供了流控制来保证一个节点不会被太多数据“冲垮”。图4-2描述了TCP段的格式。(1)源端口(Sourceport)表明源节点的端口号。端口是节点中应用可以被输入或输出数据知道的地址。一个端口的例子是80端口,通常用于从HTTP协议中接收Web页的请求。源端口区域占据拓个bit。(2)目的端口(Destinationport)表明目的节点的端口号。目的端口区域占据16个bit。上一页下一页返回4.1TCP/IP(3)序号:表明这个数据段在一系列已经传输的数据段中的位置。序列号区域占据32个bit。(4)确认号:通过一个返回给传送节点的信息确保数据已经被接收。应答号区域的长度是32个bit。(5)数据偏移:表明TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个区域长度是4个bit。(6)保留区:6个bit的保留区域,供以后使用。目前应置为0。(7)标志区:6个bit的标志位的集合,通过标志位标记特殊的状态。下面的标志位对发送者是可见的。上一页下一页返回4.1TCP/IPUGR:如果设置为1,说明紧急指针区包含数据信息。ACK:如果设置为1,说明应答区包含信息(如果设置为。,接收方将忽略应答区)。PSH:如果设置为1,说明数据应该被发送到没有缓冲区的应用中。RST:如果设置为1,说明传送者要求重设连接。SYN:如果设置为1,说明传送者要求在两者间对序列号进行同步。当TCP要求一个连接来设置初始序列号时使用。FIN:如果设置为1,说明这个数据段是这个序列中的最后一个并且连接应该关闭。上一页下一页返回4.1TCP/IP(8)窗口:当对这个数据段的应答未完成的时候,表明发送者可以传输给接收者的字节数目。这个区域执行流量控制,防止接收者被过多数据“洪泛”。例如,假设一个服务器设置变化窗口为4000字节,同时假设客户已经发送了1000字节,其中250字节已经被服务器接收并且应答。这意味着服务器仍然缓存着750字节。因此,在收到服务器对缓存的750个字节的应答之前客户端最多只能发送3250字节。这个区域占据16个bit。(9)校验和:允许接收节点检测数据在传输过程中是否出错。占16个bit。(10)紧急指针:表明数据区中紧急数据的位置。占16个bit。上一页下一页返回4.1TCP/IP(11)选项:表明特殊的选项,比如网络可以处理的最大段长度。这个区域的长度可以在0~32bit之间变化。(12)填充:包含填充信息以确保TCP头的长度是32bit的整数倍。这个区域是变长的,通常是0。(13)数据区:包含源节点发送的原始数据。数据区的长度取决于需要传输的数据的多少,网络类型决定了TCP段的长度限制。在第2章关于传输层功能的讨论中,已经学习了使用TCP为HTTP请求建立连接的方法。用户也从一个实际的HTTP请求看到了一个TCP段的例子。但是,当时可能不理解所有这些数据的含义。现在了解每个TCP段字段的含义后,则可以解析它的内容。图4-3提供了TCP段的另一个解读。上一页下一页返回4.1TCP/IP假设图4-3表明的段是从计算机B传送到计算机A。从“源端口”开始分析这个段。注意这个段是从B的80端口发送,这个端口默认分配给HTTP。在计算机A上分配的端口是1958。这个段的序列号是3043958669。计算机B期望从计算机n收到的下一个段将有序列号937013559,因为这是计算机B放人确认号区的数据。通过简单的数据,确认号区完成了让一个节点知道它上一次通信收到的任务。通过设置序号,确认号区完成了双向的任务。下一步,查看“头部长度”区域。它表示TCP头部长度是24字节一比其最小长度大4个字节——这说明已设置了一些可选信息或者使用了填充区。上一页下一页返回4.1TCP/IP在“标记”行中,注意有两个不熟悉的标志:CWR(CongestionWindowReduced)和ECNEcho。这是可选的标志,用来帮助TCP应对和减少网络拥塞。只有TCP建立连接时才会用到它们。但是,在这个数据段中它们没有被设置。在如图4-3所示的段所有可能的标志中,只设置了ACK和SYN标志。这表明计算机B正在应答它从A收到的最后一个段,并且在协调对序列号的同步。

“窗口大小”的长度是5840,表示当A的段没有被应答之前,计算机B可以从A接收5840个字节的数据。校验和区域表示了用于校验段头的错误校验算法的有效输出。在这个例子中,“校验和”是Ox206a。当计算机A收到这个段后,它会运行相同的算法,如果结果是Ox206a,则会知道TCP的头在传输中没有被破坏。最后,这个段用可选区域来表示一个TCP段的最大长度是1460字节上一页下一页返回4.1TCP/IP图4-3中的TAP段是在计算机B和A间建立连接的过程的一部分。实际上,这是建立连接请求的3个段中的第2个。在建立连接请求的第一步,计算机A发送一个设置了SYN位的消息给B,提出建立连接和同步序列号的要求。消息中,A发送一个随机数来同步通信。如图4-4所示,这个数据是937013558(其ACK位通常设为0)。B收到消息后,用一个设置了ACK和SYN的消息应答。在B的应答消息中,ACK区域包含一个等于A原先传输的序列号加1的数值。如图4-4所示,B传输的数字是937013559。上一页下一页返回4.1TCP/IP通过这种方式,B通知A已经收到了通信请求,并且希望A用序列937013559应答。在SYN区域,B发送了它自己的随机数(图4-4中是3043958669),A将用这个号来应答B的消息。下一步,A发送一个段,序列号是937013559(这是B希望收到的)。在同一个段中,A也通过ACK区域传送一个序列号。这个号等于B传送的号加1,这个例子中是3043958670。因此,在下一个通信中(图4-4未画出),B将用一个序列号为937013560的消息应答。这两个节点继续按照这种方式通信直到A发送一个设置了FIJI标志的消息,表明通信结束。上一页下一页返回4.1TCP/IP2.UDP

UDP(用户报文协议)和TCP一样,也属于OSI模型的传输层。但是,不同于TCP,UDP是面向无连接的传输服务。换句话说,UDP不保证数据将按正确的顺序收到。实际上,这个协议根本不保证数据包能否被收到。而且,它没有提供错误检测和序列号。然而,UDP的这些缺陷使得它比TCP更加高效。它在有大量的数据需要快速的传输时特别有用,比如视频直播,或者通过Internet传输的视频。与TCP头的10个区域不同,UDP头只有4个区域:源端口,目的地端口,报文长度和校验和。UDP的校验和区域是可选择的。如图4-5所示为一个UDP段。可以同图4-2中很大的TCP头进行比较。上一页下一页返回4.1TCP/IP3.IP

IP(互联网互联协议)属于OSI模型的网络层。它提供了数据如何传输和传向哪里的信息,包括数据的源地址和目的地址。IP是使TCP/IP协议能按Internet工作(Internetwork)的子协议一即通过路由器可以穿越多个局域网段和多种网络的能力。注意:下面将参照IPv4讨论IP子协议,IPv4是原始的版本,使用了二十多年,现在仍然被大部分网络所使用。上一页下一页返回4.1TCP/IP

众所周知,在OSI模型的网络层中,数据被封装成包。在TCP/IP中,一个包也被称为IP包(IPdatagram)。IP包的作用就像数据的一个信封,包含着路由器在不同的局域网段传输数据需要的信息。IP是不可靠的、无连接的协议,意味着它不保证数据的正确传输。但是TCP/IP协议族的顶层协议却需要IP来保证数据被传到正确的地址。如图4-6所示为一个IP包。注意IP包确实包含可靠性组件,头部校验和(Headerchecksum)仅仅用来保证IP头中路由信息的完整性。如果一个包被收到时其信息中的校验和不是正确的值,这个包就被认为是错误的并且被丢弃,在这种情况下,会重新传输一个包。上一页下一页返回4.1TCP/IP版本:表示协议的版本,例如,IPv4或者IPv6。接收方首先查看这个字段来检查是否能够阅读到达的数据。如果不能,将拒绝这个包。但是拒绝很少发生,因为大部分基于TCP/IP的网络都使用IPv4。这个字段长度为4个bit。Internet头长度(IHL)表示IP头中4字节(32bit)块的个数。最常见的头长度由5个组组成,IP头的最小长度是20个4字节块。这个字段是非常重要的,因为对接收方来说它表明了数据的开始(紧接在头结束的位置)。IHI字段长度是4bit。

区分服务(DiffServ)字段:指示路由器当接收到包时,应该采用何种优先权处理这个包。这个字段长度是8bit。也叫做服务类型(Tos)字段,虽然重新定义为了不同服务字段,但目的是相同的。但是,ToS规范对一个包的优先级仅仅允许8种不同的值,并且字段很少使用。区分服务允许多达64个值并具有更多优先权处理选项。上一页下一页返回4.1TCP/IP总长度:表明IP包的总长度,包括包头和数据,单位是字节。一个IP包,包括数据和包头,不能超过65536字节。字段的总长度是16个bit。标识:表明包属于哪个消息,保证接收者可以组合消息片。这个字段和后边介绍的标。志字段和片偏移字段一起,完成消息片的重组。ID字段的长度是16个bit。标记:表明一个小时是否分片,如果分片,这个包是否是消息的最后一片。分段偏移:表明这个包在这个消息分片中的位置。字段长度为13个bit。上一页下一页返回4.1TCP/IP生存期(TTL)表明一个包在被丢弃前在网络中的最大保存时间。虽然这个字段原来是代表时间单位,现在网络中通常表示包可以被路由器转发的次数,或者是其经历的跳数。一个包的TTL是可变的,可以进行配置,但通常被设置为32或者64。每当包经过一个路由器,TTL字段减1。当路由器收到一个TTL=1的包时,这个包就会被丢弃(更精确地说是包属于的帧)。TTL字段长度是8个bit。协议:表明接收者使用的传输层协议(例如TCP,UDP)。长度为8个bit。头部校验和:允许接收者计算IP头在传输过程中是否损坏。长度为16个bit。源端IP地址:源节点的IP地址(网络层地址),长度为32个bit。上一页下一页返回4.1TCP/IP目的IP地址:目的节点的IP地址(网络层地址)。长度为32个bit。选项:可能包含可选的路由或时间信息。可选项字段的长度是可变的。填充区:包含填充信息以保证头部长度是32bit的整数倍。这个字段的长度是可变的。数据:包含源节点发送的原始数据加上传输层TCP加入的信息。数据字段的长度是可变的。

在第2章关于网络层的讨论中,已了解到IP包中的数据,也从一个真实的HTTP请求中看到了一个IP包数据的例子。但是,用户可能还没有完全明自所有数据的意思。既然对IP各个字段的含义都已经熟悉了,则可以解析IP数据包的内容。图4-7提供了IP包的另一个视图,图后是一个解析。上一页下一页返回4.1TCP/IP从“版本”字段开始分析。“版本”字段说明此次传输使用IPv4,这是现在网络最常用的协议。下一行,注意到数据包有一个20字节的头部。因为这是IP头的最小长度,可以推断出这个数据包不包含可选项和填充项。在区分服务字段时,没有设置优先级处理方法,这在数据交换中是很普遍的,比如接收一个Web页面。包的总长度是44字节,考虑到IP头的长度是20字节,可以知道这个包所包含的TCP段的长度是24字节。考虑到一个IP包的最大长度是65536字节,因此这个包非常小。上一页下一页返回4.1TCP/IP

IP包下面的内容是“标识”字段,“标识”字段独立地标识了这个包。这个在TCP连接中从计算机B重送到计算机A的第一个包,以十六进制标记为0x00000“标记”字段表征了这个包是否分片,不分片选项被设置为1,说明包没有分片。因为没有分片,分片偏移没有使用被设置成了0。这个数据包的生命期被设置为64,意思是如果包一直在网络中“漫游”,在被丢弃前允许进行64跳。下一个是“协议”字段,它表明IP包包装的是一个TCP段。TCP总是以十六进制的“0x06"表示。下一个字段给出了正确的头部校验和,用于帮助接收方判断IP头在传输过程中是否出现错误。包中的最后两个字段显示了包的源地址和目的地址。上一页下一页返回4.1TCP/IP4.ICMP

与IP协议将数据传输到正确的位置不同,ICMP(互联网控制消息协议)是一个报告数据传输成功或失败的网络层协议。它可以表明网络的一部分何时发生拥塞,何时数据没有成功传送到目的节点,何时数据因为TTI减小到0而丢弃等。ICMP将这些传输失败的情况报告给发送方,但ICMP不能改正它检测到的错误,这些功能留给了高层的协议,例如TCP。但ICMP为定位网络问题提供了关键的信息。上一页下一页返回4.1TCP/IP5.IGMP

TCP/IP协议族中另一个关键的子协议是IGMP(互联网群组管理协议)。IGMP工作在网络层,管理着多播。多播是一种一个节点可以传送数据到一组规定节点的传输方法(不像广播那样必须传输到整个网段)。大多数的数据传输都是点对点的,但多播是一点对多点的。举例来说,多播可以用于通过互联网进行的电视或电话会议。路由器用IGMP协议判断属于一个特点多播组的节点,并将数据传到组中的所有节点。网络节点随时可以用IGMP加入或者离开一个多播组。上一页下一页返回4.1TCP/IP6.ARP

ARP(地址解析协议)是网络层中获取一个节点的MAC地址(物理地址),并创建数据库将MAC地址与节点的IP地址(逻辑地址)对应的协议。如果网络中的一个节点想知道同一网段中的另一个节点的MAC地址,这个节点向网络中发送一个广播消息,使用ARP,类似询问“请IP地址为的机器传给我你的MAC地址”网络中,广播是一个同时传到特定网段所有节点的消息。之后IP为1.2.3.4的机器用包含目的节点的物理地址的广播消息回答。上一页下一页返回4.1TCP/IP为了使ARP更高效,计算机将经过确认的MAC-IP对应信息保存到一个称为ARP表(又称ARP缓存)的硬盘空间中。保存之后,下一次如果需要另一个设备的MAC地址,它可以在ARP表中查找,不需要再次发送广播请求。虽然ARP表的精确格式可能会随操作系统的不同而变化,但其内容和目的本质上是一样的。如图4-8所示是一个ARP表的例子。

ARP表包含两种条目:动态条目和静态条目。一个ARP表动态条目是在节点进行ARP查询且在ARP表中没有发现的时候创建。静态ARP条目是用ARP命令人为创建的。ARP命令可以通过Windows的命令提示符或者UNIX,Linux的shell提示符输入,提供了从一个设备的ARP表获取信息和管理表的功能。例如,可以通过输入“arp-a”查看WindowsXP工作站的ARP表。ARP是一个很有用的排错工具,它可以发现已知的特定IP是哪台机器,也可以发现两台机器试图公用同一个IP的问题。上一页下一页返回4.1TCP/IP7.RARP如果一个设备不知道自己的IP,则不能使用ARP。这是因为没有IP地址,设备无法发送ARP请求或者接收ARP应答。解决办法之一是允许客户端用其MAC地址进行广播,并在应答中获得一个IP地址。这个与ARP相反的过程就是RARP(反向地址解析协议)。RARP服务器维持一张MAC地址和对应的IP地址的表格(类似于ARP表)。在接到客户端的请求后,查找RARP表,找到与客户端的MAC地址对应的IP地址,然后将IP地址传送给客户端。RARP最初是为无盘工作站开发的一无盘工作站是指没有硬盘,只依靠只读内存连接网络的机器——用来从服务器获得IP地址的协议,后来开发了更加高级的协议来完成这项功能上一页下一页返回4.1TCP/IP4.1.2TCP/IP中的定位前面已介绍了网络可识别的两种地址:逻辑(IP或网络)地址和物理(MAC或硬件)地址。MAC地址在网络接口卡出了时就被固化在其ROM中。逻辑地址可以手动或者自动分配,并且必须符合协议标准。TCP/IP协议族中,IP是负责逻辑定位的核心协议。因此,基于TCP/IP的网络地址通常叫做IP地址。IP地址根据非常明确的参数进行分配。每个IP地址是一个唯一的32bit的数字,被分割为4个8位一组(因为8位等于一个字节,每个组是一个字节,一个IP地址由4个字节组成),例如144.92.43.178。IP地址包含两类信息:网络和主机。通过第一个字节,可以确定网络类别。现在的局域网使用3类网络:A类,B类,C类,如表4-1所列。上一页下一页返回4.1TCP/IP另外,也存在D类和E类,但很少使用。D类地址以224~239开始,是为多播预留的。IETF(互联网工程任务组)预留了以240~254开始的E类,用做试验。用户不能为自己的网络设备设置D类或E类地址。虽然8个bit有256个可能的组合,IP地址中只用1~254来确认网络和节点。当访问一个网络中的所有节点时0被用作占位符,比如“10.0.0.0”代表所有以10开头的设备。255被预留用作广播传输。比如,发送一个地址为255.255.255.255的消息则是将消息发送到网络中的所有设备。上一页下一页返回4.1TCP/IP每个IP地址都包含网络级别的信息。一个前8位属于区间1~126的IP地址属于A类网络。所有的A类网段中的IP地址都有相同的前8位,如图4-9所示。如IP地址为23.78.110.109,23.164.23.97,23.48.112.43和23.108.37.22的机器都属于同一个A类网络。在这个例子中“23”是这个网络的ID。A类地址使用第2~4个字节(8~31bit)区分用户。

以128~191开头的IP地址属于B类网络。所有B类网段的IP地址分享前两个字节(0~15bit)。例如,下面几个IP地址的主机属于相同的B类网络:168.34.88.29,168.34.55.41,168.34.73.49和168.34.205.133。在这个例子中,“168.34”是网络的ID。B类网络使用第3~4个字节区分网络节点。上一页下一页返回4.1TCP/IP以192~223开始的IP地址属于C类地址。所有C类网段的IP地址分享前3个字节(0~23bit)。例如,下面几个IP地址的主机属于相同的C类络:204.139.118.7,204.139.118.54,204.139.118.14和204.139.118.31。在这个例子中,"204.139.118”是网络的ID。C类网络使用第4个字节(24~31bit)区分网络节点。上一页下一页返回4.1TCP/IP互联网的建立者打算采用网络级别来提供简单的组织和足够的IP地址。但是,他们的目标并没有实现。n类地址基本上被分配给了大的公司和政府组织,他们也是互联网的早期使用者一比如IBM。许多组织预留了比其设备多得多的地址。B类地址分配给了中型规模的组织,y类地址分配给了小型组织,比如大学。现在,很多网络地址没有被使用但不能被分配,因为一些组织预留了这些地址。虽然可能有超过43亿可用的网络地址,每年对地址的需求呈指数式的增长。为了应对这种增长,开发了一种可以提供足够多地址的IPv6,也被称为下一代IP。但是因为迁移到IPv6将在软硬件和培训上花费数百亿的投资,因此大多数组织都在抵制这种改变。上一页下一页返回4.1TCP/IP另外,一些IP地址被保留用做特殊用途,比如广播,所以不能被用来分配给机器或设备。注意,以127开头的地址被预留来使机器同它本身通信,或执行返回自身的通信。因此,IP地址127.0.0.1被称为本机地址。连接这个地址被称为本机测试(实际上,当试图连接任何以127开头的IP地址时,都是在同本机进行通信)。如果在本机测试中收到了正确的回复信息,说明机器安装并运行了TCP/IP的核心协议。WindowsXP机器上用来查看IP信息的命令是ipconfig。在WindowsXP上浏览IP信息,需要在命令提示符窗口输入“ipconfig/”。这条命令会显示机器的IP地址信息,如图4-10所示。上一页下一页返回4.1TCP/IP要在一个运行UNIX或者Linux版本的机器上查看和编辑IP信息,使用ifconfig命令(注意ipconfig和ifconfig只有一个字母的差别)。在shell提示符下输入“ifconfig-a‘,命令可以查看TCP/IP连接和地址的所有信息,如图4-11所示。注意图中,IP地址被标为“inetaddr"。1.二进制和点分十进制符号到目前为止,本章中所有的IP地址都用点号分割的十进制符号表示。点分十进制符号是最常用的IP地址的表示方法,它是一种用来代表IP地址并使之容易被人阅读的约定的方法。在这种格式中,每个0~255之间的十进制数字代表了8位二进制数(共有256种可能)。圆点将每个十进制数分开,例如:131.65.10.180。上一页下一页返回4.1TCP/IP这种格式的每个数字有一个二进制的对应值,将一个点分十进制符号转化为其二进制形式就是将每个数字转化为8位对应的二进制数据,并去掉点号。例如对于IP地址131.65.10.18,131的对应二进制形式是10000011,65的二进制形式是(01000001,10对应的是00001010,18对应的是00010010。因此,131.65.10.18对应的二进制形式是10000011010000010000101000010010。上一页下一页返回4.1TCP/IP2.子网掩码除了IP地址外,每个基于TCP/IP的网络设备还有一个子网掩码的标记。子网掩码是一个特殊的32bit数字,和IP地址一起标明这个设备连接的网段。也就是说,它可以识别这个设备的子网。和IP地址一样,子网掩码是由4个字节(32bit)组成的,可以表示成二进制或者点分十进制形式。子网掩码的分配和IP地址的分配是一样的:一种是在TCP/IP的配置范围内手动配置,一种是通过类似于DHCP的服务自动配置。上一页下一页返回4.1TCP/IP既然IP地址的第一个字节给出了设备所属的网络类别,为什么还需要子网掩码?答案就在于子网一将一个单独级别的网络划分为很多小的逻辑网络或者段。网络管理者通过创建子网来控制网络流量,这样可以更好地利用有限的IP地址资源。在使用子网的网络中,子网掩码根据网络划分子网方法的不同而不同。一个没有划分过子网的网络,子网掩码使用一个默认值,如表4-2所列。上一页下一页返回4.1TCP/IP4.1.3分配IP地址在前面的章节中,我们已经了解了几个政府主办的组织一包括IANA,ICANN和RIR等,在世界范围内协助分发IP地址给ISP(网络服务提供商)和其他的网络提供者。大多数公司通过ISP获得IP地址,而不是更高层的政府机构。这一节介绍一个组织如何分配IP地址给不同的网络设备,以使它们可以通过Internet进行通信。无论是连接到Internet还是一个局域网中,每个网络节点必须有一个独一无二的IP地址。如果添加一个节点到网络中,并且其IP地址正在被相同子网中的另一台机器使用,新的机器上就会产生一个错误信息,TCP/IP服务将无法运行。正在工作的那台机器也会收到一个报警信息,但可以继续正常运行。上一页下一页返回4.1TCP/IP

注意:回顾前面的知识,我们知道,主机可以是网络中提供资源共享的任何机器。通过基于TCP/IP协议连接的所有个人机器都叫做节点。这个观点表示了一个对”节点”稍微不同的解释,因为很可能不是所有的在基于TCP/IP的网络中的节点都会分享资源(理论上来说,它们可以都分享资源)。可以通过改变客户机器的TCP/IP属性手动分配IP地址。手动分配的IP叫做静态IP,因为它不会自动改变。只有当重新设置机器的TCP/IP属性时才会发生改变。但使用静态IP地址很容易造成IP地址的重复分配。所以大部分的网络管理员依靠一种叫DHCP的网络服务来自动分配地址。上一页下一页返回4.1TCP/IP1.DHCP

DHCP(动态主机配置协议)是自动向网络中每个设备分配一个独特IP地址的方法。DHCP属于OSI模型的应用层。DHCP不需要网络管理员维护服务器上的IP和MAC地址表。因此运行DHCP的管理负担大大减轻。但是使用DHCP需要网络管理员在DHCP服务器上安装和配置DHCP服务。实现DHCP包括下面的理由:减少IP地址管理的时间。IP地址的集中式管理大大减少了网络管理员在每台网络工作站、打印机和其他设备上配置TCP/IP的任务。减少设置IP地址过程中可能的错误。使用DHCP,基本上不会出现分配一个错误的IP地址或者两台机器使用同一个IP地址的情况(偶尔的,DHCP服务器软件可能出错)。上一页下一页返回4.1TCP/IP用户可以移动他们的工作站或者打印机,而不用修改TCP/IP配置。只要工作站能够从一个中心服务器获得IP地址,这个工作站可以放到任何地方,并能收到正确的地址。IP地址的分配对移动用户透明。比如,一个拜访你办公室的客人可以介入你的网络并获到一个IP地址,而不用修改他的笔记本的配置。2.DHCP的“租赁”过程

使用DHCP,当连接到网络中时,设备可以“借”或者“租赁”一个IP地址。换句话说,它在一段特定的时间内使用一个暂时的IP地址。在大多数的现代网络中,用户只要接入到网络中就会获得DHCP分配的一个IP地址。“租赁”的时间取决于DHCP服务器和用户的配置。超期的“租赁”必须重新提出申请,以使用户可以继续接入网络。相反,客户端可以强行结束一个“租赁”,网络管理员也可以强行在服务器端结束客户的租赁过程。上一页下一页返回4.1TCP/IP配置DHCP服务包括指定可以租赁给特定网段中任何网络设备的一组地址范围,以及这个范围内不可分配的地址(如果有的话)。作为网络管理员,可以配置租赁的时间长度,从几分钟到任意长时间。DHCP服务器开始运行后,客户和服务器采取下面的步骤来协商用户的第一个租赁(注意这个例子只适用于工作站,但是其他设备,例如网络打印机也能从DHCP中获取IP地址)。客户工作站检测到网络连接后,通过UDP协议以广播方式发送一个DHCP获取包到DHCP服务器。上一页下一页返回4.1TCP/IP

每个与用户处于同一个子网中的DHCP服务器都接收到广播请求。每个服务器都用一个有效的IP地址进行应答,同时锁定这些地址不允许别的客户使用。应答信息包括可用的IP地址、子网掩码,DHCP服务器的IP地址和租赁的时间(因为客户没有IP,DHCP服务器不能直接发送给客户)。客户接受第一个收到的IP地址,用一个广播消息告诉DHCP服务器它想使用这个IP地址。由于是广播消息,其他对客户的请求进行应答的DHCP服务器都会看到确认信息,因此将给客户预留的IP地址收回,并放到可用的IP地址池中。上一页下一页返回4.1TCP/IP当被选中的DHCP服务器收到确认信息后,会用一个应答信号进行回答。同时提供更多的信息,比如DAIS、子网掩码、网关地址等用户要求的信息。上述步骤仅仅包含4个包交换,因此,通常不会增加用户登录到网络中的时间。图4-12展示了DHCP租赁过程。用户和服务器在租赁结束前不用重复这个交换,IP地址将保存在用户的TCP/IP设置中。因此即使用户关机又重新启动,仍然可以使用这个信息,而不用重新请求一个新的地址。但是,如果设备移动到了另一个网络,它将被分配新的适合新网络的IP地址。上一页下一页返回4.1TCP/IP3.结束一个DHCP租赁根据服务器的配置,一个DHCP可能会过期,或者任何时候都可能被手动关闭,无论是从客户端配置还是从服务器端配置。在某些情况下,用户需要结束一个租赁。比如,如果DHCP服务器崩溃,需要安装另一个来代替。那么依赖第一个DHCP服务器的用户就需要释放其旧的租赁以从新的服务器获得新的租赁。在Windows系统中,称为TCP/IP设置的释放。为了在运行WindowsXP的计算机上释放TCP/IP设置,需要在命令提示服窗口中输入"ipconfig/release"。清空TCP/IP配置信息,IP地址和子网掩码都变成“0.0.0.0"。上一页下一页返回4.1TCP/IP释放旧的DHCP信息是获得新的IP地址的第一步。在一台WindowsXP机器上获得一个新的IP地址,需要在命令提示符下,输入“ipconfig/renew"。客户端执行DHCP的租赁过程,重新获得TCP/IP配置值,这些值会自动适应接入的网络。DHCP服务可以运行在不同的服务器上。每种服务器上的配置有所不同,更细节的内容请参考DHCP服务器软件或者NOS帮助。上一页下一页返回4.1TCP/IP4.APIPA我们已经知道只要DHCP正常工作,用户就可以获得一个有效的IP地址,并使用这个地址在网络中进行通信。但如果不能连接DHCP服务器怎么办?即使网络中所有的设备都工作正常,但没有有效的IP地址,客户机就无法进行通信。为了解决一台机器可能被配置使用某个DHCP服务器但无法连接的问题,微软公司为Windows98,WindowsMc,Windows2000,WindowsXP客户机和Windows2003服务器提供了APIPA(自动私有IP地址分配),自动为计算机提供IP地址。上一页下一页返回4.1TCP/IP

例如,在某一个网络中,DHCP服务器出现了故障。这时,APIPA会从一个预定义的地址池中为机器分配IP地址。因为APIPA是计算机默认的运行软件,分配不需要进行注册,也无需接受某个中心授权机构检查。一旦DHCP服务器恢复工作,APIPA就释放分配给节点的IP地址,并允许用户接受DHCP分配的地址。在APIPA分配IP地址后,客户机就可以在局域网中进行通信了。但是,只能同其他IP地址在APIPA范围内的节点进行通信,不能与其他子网的节点进行通信。比如,使用APIPA分配地址的客户机既无法从Internet或其他WAN接收数据,也无法发送数据到Internet或其他WAN。因此APIPA最适合不使用DHCP服务器的小型网络,它使得IP地址管理变得非常容易。但APIPA不适合用在需要和其他子网通信或者通过WAN进行通信的网络中。上一页下一页返回4.1TCP/IP只要安装了操作系统软件,APIPA就默认是可用的。为了检测一个WindowsXP/2000/2003计算机是否使用APIPA,可以在命令提示符下,输入“ipconfig/all”,如果AutoconfigurationEnabled选项设置为Yes,说明机器正在使用APIPA。APIPA会自动检查DHCP是否存在,并允许DHCP分配了静态1P,APIPA不会为其重新分配一个新的地址。将APIPA设置为不可用。分配地址。并且如果给一台计算机可以通过修改Windows的注册表上一页下一页返回4.1TCP/IP4.1.4套接字和端口一个设备需要一个独立的地址来发送和接收网络消息,一个进程也需要一个独立的地址。每个进程都被分配一个端口号(PortNumber)。如果把IP地址比做邮政服务的地址系统,一个主机的IP地址相当于一座楼房的楼号,那么一个端口号就相当于楼内一个单元的单元号。进程的端口号和主机的IP地址一起组成了进程的套接字(Socket)。比如,Telnet的标准端口号是23。在一台IP地址为10.43.3.87的主机上,Telnet的套接字是10.43.3.87,23。换句话说,主机默认任何进入端口23的请求都是Telnet请求(除非重新配置了主机的Telnet的端口)。请注意,端口号表示为跟在IP地址和一个冒号后的一个数字。在这个例子中,"23”不是一个额外的8比特组,只是指向一个端口的指针。套接字在一个主机的一个进程和另一个主机的相同进程间形成了虚拟连接。上一页下一页返回4.1TCP/IP端口号的使用简化了TCP/IP通信,保证了数据可以传输到正确的应用中。比如,当客户端要求与服务器通信并指明端口23后,服务器立即就知道客户想进行Telnet会话,而不需要别的数据交互来定义会话的类型。服务器将立即初始化Telnet服务。服务器将连接客户端的Telnet端口(默认为23),并建立一个虚电路,如图4-13所示描述了这个过程。上一页下一页返回4.1TCP/IP

端口号的范围为。一65536,被IANA分为3种类型:常用端口(WellKnownPorts)、注册端口(RegisteredPorts)以及动态/私有端口(DynamicPorts/PrivatePorts)。常用端口的范围为。一1023,被分配给只有操作系统或者系统管理员才可以使用的进程。这是最先分配给进程的端口,因此最早期的TCP/IP协议,比如TCP,UDP,Telnet,FTP等都使用常用端口。表4-3列出了一些常用端口;注册端口的范围为1024~49151。这些端口可以被网络用户和非管理员权限的用户访问。这些端口的默认分配(比如分配给一个程序)必须在IANA注册。动态或私有端口的范围为49152~65535,可以没有限制地开发使用。上一页下一页返回4.1TCP/IP

端口号是操作系统或依靠端口的程序来分配的。服务器维护着一张可编辑的、基于文本的端口号和对应服务的文件。如有管理权限,可以自由地更改任何设备使用的端口号。比如,可以将服务器的Telnet的端口由23改为2330。改变默认的端口配置意味着使用标准端口的程序不能同机器进行通信。然而,一些网络管理员出于安全考虑,可以修改服务器的端口来拒绝某些利用默认端口进行恶意连接的行为。上一页下一页返回4.1TCP/IP4.1.5IPv6中的地址到目前为止,我们已经学习了IPv4地址策略。这一节将介绍IPv6中的地址并比较其与IPv4地址的不同。IPv6也叫做下一代IP或者IPng,是代替现在使用的IPv4的候选。一些应用程序、操作系统和服务器已经开始提供对IPv6的支持,但很多组织由于修改地址的困难而没有转向IPv6。IPv6有很多优点。IPv6相比IPv4具有一个更加有效的头部,更高的安全性和更好的优先级授权,而且还有IP地址的自动配置。但IPv6最有价值的还是通过新的地址方案提供了巨大的IP地址资源。上一页下一页返回4.1TCP/IPIPv6和IPv4在地址方面最大的差异在于地址的长度。IPv4的地址由32位组成,而IPv6的地址由8个16位总共128位组成。因此,IP地址增加了296倍(40亿X40亿X40亿)。增加的IP地址不仅允许每个接入Internet的设备的每个接口都有一个独特的号码,而且使得人们没有必要抢夺或保存IP地址。IPv4和IPv6在地址上的第二个不同是它们的表示方式。IPv4的每个字节都用点号隔开(比如123.45.67.89),而IPv6的每部分地址都用冒号分割的十六进制数字表示,例如F:F:0:0:0:0:3012:OCE3。很多IPv6地址包含多个为0的字段,可以用“::”代替任意数目为。值的字段。因此,前面的IPv6地址可以表示为F:F::3012:OCE3。上一页下一页返回4.1TCP/IP在IPv6中,本机地址是0:0:0:0:0:0:0:1,可以简写为::1。但请注意,这种对多个。值字段的代替在一个地址中只能使用一次,否则就不知道“::”符号代表的0的个数了。第3个不同是IPv6地址会区分不同的网络接口的种类。一个IPv6数据报的目的地址可以是单播(unicast),多播(multicast)、任播(anycast)中的任意一种。单播地址代表一个设备上单一接口的地址。多播地址代表多个接口(通常在多个设备上)。多播地址在同时传输相同的数据到很多不同的设备时很有用。IPv6中由于使用了多播地址便不再需要广播地址。因此,IPv6没有广播地址。任播地址代表了一组接口(通常在多个节点上)中可以接收传输的任意一个接口(通常是可以接收传输的第一个接口)。上一页下一页返回4.1TCP/IP

第4个重要不同在于,IPv6中每个地址包含一个格式前缀,在地址起始处有一个变长字段表明地址的类型。格式前缀同时约定了地址剩余字段的范围。在IPv4地址中,一个代表单一设备和接口的地址与一个代表多个设备和接口的地址没有任何区别。但是IPv6中第一个字段将表明地址代表的接口种类。一个单播或者任播地址以下面两个十六进制串中的一个开头:FECO或者FE80。一个多播地址以十六进制串FF0x开头,这里x是与一组范围ID对应的(比如,一直属于一个整个组织的地址或者一组属于一个网站或者WAN的地址)。上一页下一页返回4.1TCP/IP虽然IPv6在20世纪”年代中期就定义了,但很多组织接受起来很慢。但是随着越来越多的设备(尤其是无线电子产品)接入Internet中,可以预见IPv6将快速的发展。在这个转变过程中,IPv4和IPv6将会并存。为了实现这种并存,现在连接设备通常通过将其他位填充0来将IPv4地址转变为IPv6地址,以便在Internet上传输。上一页下一页返回4.1TCP/IP4.1.6主机域名和DNSTCP/IP的地址包含很长而且很复杂的数字。计算机可以非常容易地管理数字,但是人则更容易记忆单词。想象一下如果想同亲戚朋友写信或者交谈的时候必须记住他们的身份证号将是多么麻烦。类似的,与记住IP地址相比人们更愿意记住网络设备的名字。因此网络管理机构为以太网中的每个设备建立了一个命名系统。Internet上的每个设备都叫做一个主机(host)。每个主机可以有一个主机名称来描述这个设备。比如,一个叫做“PeggyMcDonald”的人可能会把他的机器命名为“Peggy”。如果机器是为特定目的而预留的,一般可以设置对应的名称。比如,一个通过FTP提供免费软件下载的公司可能命名其主机为“ftpserver“。上一页下一页返回4.1TCP/IP1.域名

每个主机都是一个域中的成员,域是指属于一个组织并且冲地址部分相同的一组计算机。域按照域名(DomainNames)来区分。通常,一个域名与一个组织或者公司相联系,如一所大学、政府组织或者公司。例如,IBM的域名是ibm.com,美国国会图书馆的域名是loc.gov。通常说到机器的主机名时,实际上是指机器的本地主机名加上其域名一即完全主机名称。如果在美国国会图书馆工作,并给计算机取名“Peggy",则完全主机名称可能是“Peggy.loc.gov"。上一页下一页返回4.1TCP/IP域名以一个以点号分割的字符串(叫做“标签”)序列表示。每个标签在域名体系中代表了一级。在域名“www,novell,com”中“com”是顶级域(TLD),“novel”是二级域,“www”是三级域。每个二级域可以包含多个三级域。比如除了www.novell.com,Novell公司还拥有下列域名:support.novell.com,developer.novell.con:和ftp.novell.comp

域名必须到ICANN的以太网命名授权机构注册。ICANN建立了域名约定以便某些顶级域名应用于某种特定的组织。表4-4列出了ICANN核准的顶级域名,表中前8个顶级域名建立于20世纪80年代中期。这些顶级域名中使用".com",".org"和“.net”没有限制。但ICANN限制了何种组织可以使用".arpa",".mil",".int",".edu"和".gov",顶级域名。在过去的几年中,ICANN应各种组织的要求增设了表4-4中的后7个域名。上一页下一页返回4.1TCP/IP除了表4-4中列出的,ICANN批准了超过240个国家的代码顶级域名用来代表不同的国家和地区。比如,“.cn”是中国的国家代码顶级域名,“.jp”是日本的国家代码顶级域名。各种组织一般不允许使用国家代码顶级域名。比如,虽然思科的总部位于美国,公司的域名是www.cisco.com,而不是www.cisco.us。不过,一些美国组织确实使用“.us”后缀,比如纽约花园城市公立学校的域名是www.gardercity.k12.ny.use一个组织预定了一个域名后,世界上的其他计算机就可以将这个组织和它的域名联系起来,别的组织不能使用它。上一页下一页返回4.1TCP/IP比如,若申请了叫做“freeflier.com”的域名,不仅其他的Internet用户可通过网络和这个名字联系起来,而且世界上的其他团体都不能再使用“freelier.com”来命名它们连接到Inter-net上的机器。主机名和域名可以由最多63个字母数字组合而成,可以包含连字符、下划线或者句点,但是不能有其他的特殊符号。上一页下一页返回4.1TCP/IP2.主机文件Internet最早的前身(ARPANET)只有不到1000个主机。整个网络依靠一个叫做HOSTS.TXT的ASCII文本文件来关联主机名和IP地址。通常这个文件被称为主机文件。Internet规模的增长使得不久以后这个文件就变得无法维护一主机文件需要经常改变,全国所有的机器都要查询这个文件,这样就占用了大量的互联网带宽,如果这个文件不慎被删除,那么整个网络将会瘫痪。上一页下一页返回4.1TCP/IP

但是在一个公司或者大学里,仍然可以碰到这种依靠一个文本文件来记录主机名称和IP地址对应的老系统。如图4-14所示给出了这种文件的一个例子。注意每个主机都对应文件中的一行,记录主机的名字和IP地址。另外,文件的第3个字段叫做别名,是主机的另一个名称。别名允许组织内部的用户使用一个比主机全名短的名字来查找主机。通常,主机文件的第一行以“井”符号开始,包含文件每列的注释。在文件中的任何地方都可以有跟在“井”符号后面的注释。在一个UNIX或Linux计算机上,主机文件叫做hosts,位于/ctc目录下;在Windows9x/SIT/2000/XP机器上,主机文件也叫hosts(没有扩展名),位于%systemroot%\systcm32\drivers\etc文件夹下(%systemroot%是操作系统的安装目录)。上一页下一页返回4.1TCP/IP3.DNS

一个简单的主机文件可以满足一个小型组织的需要,但不适用于大型组织,更别说是Internet了。这时,需要一个更加自动化的解决方案。在20世纪80年代中期,负责管理以太网增长的计算机科学家提出了一个分级策略来管理域名和冲地址的对应,叫做DNS(域名系统或域名服务)。DNS既表示实现这种对应的应用层服务,也表示实现这种服务的计算机和数据库。DAIS不是依靠一个文件或者一台服务器,而是依靠全球的很多计算机。这些计算机按照一种分级的方式组织在一起,其中有13台计算机,称为根服务器,拥有最高的地位。因为是分布式的,DNS不会因为一台或者一组服务器故障而瘫痪。上一页下一页返回4.1TCP/IP为了提高通信效率,DNS服务分为3部分:解析器、域名服务器和名字空间。解析器是以太网上需要查询域名信息的任何一台主机。解析器建立在TCP/IP的应用层,比如HTTP。如果在浏览器地址栏里输入“http://www.loc.gov",则HTTP客户端软件启动解析服务来查找www.loc.gov的IP地址。如果曾经访问过这个网站,这个信息可能保存在临时存储里面,可以很快被解析。否则,解析器通过查询机器指定的域名服务器来查找www,loc.gov的IP地址。上一页下一页返回4.1TCP/IP

域名服务器(DNS服务器)是包含保存有名称和IP对应的数据库并应答请求的服务器。如果一个域名服务器不能将域名解析为IP地址,便向上一级的域名服务器转发这个请求。例如,假设一台计算机第一次浏览www.loc.gov这个网页,这时临时存储里没有对应的IP信息,这台机器的解析器会到LAN内的域名服务器去查询www.loc.gov的IP地址。如果LAN内的域名服务器不能提供www.loc.gov的IP地址,则查询上一级网络。换句话说,该LAN的域名服务器向Internet服务提供商(ISP)的域名服务器发出查询请求。如果这台域名服务器的数据库中也没有这条信息,则向Internet上的其他域名服务器提交查询。这个过程,将一直持续到请求被回答为止,如图4-15所示。上一页下一页返回4.1TCP/IP

名字空间是指包含IP地址和对应域名的数据库。名字空间不像商场的产品数据库是公开可见的。相反,这个抽象的概念描述了世界上的域名服务器是如何分享DNS信息的。但是它的一部分确实是有形的,并存储在域名服务器的资源记录里,资源记录是DNS数据库的一条记录。比如,一个地址资源记录是将一个互联网上设备的IP地址映射成它的域名的一条资源记录。通过存储资源记录,每个域名服务器可以保存DNS名字空间的一部分。上一页下一页返回4.1TCP/IP

资源记录有很多种方式,这取决于它们的功能。每个资源记录包含一个名称字段来标识这条记录对应的计算机的域名;一个类型字段标识这条记录的类型;一个类别字段来标识这条记录数据的类别(通常是“IN”或者“Internet");一个生存周期字段来标识这条记录在临时存储器中保存的时间;一个数据长度字段标识这条记录包含的数据长度;另外还有实际的记录数据。现在正在使用的资源记录大约有20种。上一页下一页返回4.1TCP/IP在下面这个虚构的地址资源记录中,knight.chess.games.com是主机的域名,I代表了Internet记录等级,n表明这条记录的类型是“address(地址类型),203.99.120.76是主机的IP地址。knight.chess.games.comINA203.99.120.76上一页下一页返回4.1TCP/IP

过去网络管理员手动维护网络主机的资源记录。现在,大部分的现代机器自动升级资源记录。这不仅节省了时间,而且减少了在修改DNS信息时犯错的可能性。当客户机收到一个新的IP地址(比如通过DHCP),或是它们的主机名改变,又或是连接到一个新的网络时,可以设置客户机使其触发DNS更新。用户也可以通过发送命令的方式强迫DNS服务器升级记录。例如,在WindowsXP命令提示符下输入“ipconfig/registerdns”命令强迫客户的DNS注册信息进行升级。上一页下一页返回4.1TCP/IP4.配置DNS每个需要在互联网上同其他主机进行通信的机器都要知道怎样查找DNS服务器。大型组织一般维护两个DNS服务器--一个主服务器和一个从服务器,来保证以太网的连接。如果主服务器发生故障,所有网络节点转到从服务器接受服务。每个网络设备的工作都要依赖DNS服务器。在大多数网络中,DHCP服务自动通知客户主DNS服务器和从DNS服务器的IP地址。但是,有时则需要手动配置机器的DNS服务器。上一页下一页返回4.1TCP/IP在WindowsXP上浏览或修改DNS的内容的操作步骤如下:单击.‘开始”,打开.‘网上邻居”。从网络任务列表中打开“查看网络连接”窗口。右击网络适配器图标,单击“属性”菜单,弹出网络适配器的属性对话框。在此连接使用下面项目栏中选择“InternetProtocol(TCP/IP)”,单击“属性”。弹出“Internet”协议(TCP/IP)“属性”对话框,如图4-16所示。在“常规”标签下,选择“使用下面的DNS服务器地址”单选按钮。在“首选DNS服务器”地址和“备用DNS服务器”地址中愉入DNS服务器的IP地址。单击“确定”按钮,保存修改,关闭对话框。上一页下一页返回4.1TCP/IP5.DDNS

如果主机的IP地址是静态的,则可以使用DPIS来定位一个主机。但是,很多以太网的用户的IP地址是周期性改变的。对那些只想收发邮件以及网上冲浪的用户,经常性地改变IP地址并不是什么问题,但是对于维护一个Web网站的用户,这就是一个大问题。为了维护其网站的IP地址和主机域名相对应,用户必须修改自己机器的DAIS记录,并且每次变动IP都需要将改变提交到Internet上。当IP地址经常改变的时候,单靠手动修改DAIS记录是非常麻烦的事。有一个解决办法是使用DDNS(动态DNA)。在DDNS中,服务提供者在用户的计算机上运行一个程序,当用户的IP地址发生改变时,程序自动通知服务提供者。收到通知后,服务提供者的服务器运行一个自动修改客户DNS记录的程序。Internet上DNS记录的更新将在几分钟内实现。上一页下一页返回4.1TCP/IP注意:DDNS没有取代DNS,只是一个需要付费的额外服务。DDNS适用于家庭用户或是想维护一个Web网站,但又不想花很多钱去申请一个固定IP的用户。但由于每次IP地址的变更都会引起DNS记录的更新,或多或少会带来一些延迟,因此一些大的组织更喜欢花更多的钱来申请使用一个固定的IP地址。上一页下一页返回4.1TCP/IP4.1.7一些TCP/IP应用层协议除了核心的传输层和网络层协议,TCP/IP协议族还有一些应用层协议。这些协议工作在TCP,UDP和IP之上,将用户的请求变成网络可以理解的格式。前面已经学习了用来自动分配地址的应用层协议DHCP。下面介绍一些其他的应用层协议。上一页下一页返回4.1TCP/IP1.TelnetTelnet是一个使用TCP/IP协议族进行远程主机登录的终端仿真协议。使用Telnet会建立一个TCP连接,用户在自己的机器上的操作就像在远程连接的机器上的操作一样。通常Telnet被用来连接两个不同的系统(比如PC和UNIX机器)。使用Telnet可以通过局域网或者广域网控制远程主机。比如,网络管理员可以使用Telnet在局域网的一台计算机上登录路由器并修改路由器的配置。但是Telnet的安全性不佳(有恶意企图的程序员可以轻易地伪造Telnet请求而成功地登录到一个设备),因此通过广域网登录到路由器是不安全的。上一页下一页返回4.1TCP/IP2.FTPFTP(文件传输协议)是一个通过TCP/IP进行文件的发送和接收的应用层协议。在FTP会话中,一台主机运行FTP服务器部分,用来接收运行FTP客户端的主机的请求。FTP客户端由几个简单命令组成了其用户接口。客户端连接FTP服务器后,FTP数据通过TCP进行传输,这说明FTP提供的是可靠的传输。上一页下一页返回4.1TCP/IPFTP命令在操作系统的命令提示符下工作,不需要特殊的软件。作为一个网络专业的人员,可能需要这些命令下载软件(比如NOS补丁或者客户端)升级。比如,如果需要最新版本的NovellWindowsXP客户端,可以在命令提示符下使用FTP来从Novell的FTP服务器上下载压缩包,也可以通过在命令提示符下输入frp命令开始FTP。此时,命令提示符变为FTP提示符:FTP}。在这种模式下可以运行FTP命令。当然,如果知道要进行什么样的操作,也可以直接连接到一个FTP服务器。比如,直接连接到Novell的FTP服务器,输入“frpfrp.novell.com”并回车。如果服务器在运行,会应答一个欢迎信息,并要求登录。上一页下一页返回4.1TCP/IP很多FTP服务器,特别是那些提供软件更新的服务器,一般都可以使用匿名登录。当提交用户名时,只需要输入“anonymous(小写)。当在匿名的FTP网站填写密码时,可以使用E-mail地址。服务器的登录屏幕将显示是否接受;如果正在登录一个私人FTP网站,则必须从网站管理员那里获得一个有效的用户名和密码。上一页下一页返回4.1TCP/IP成功登录服务器后,可以使用其他命令管理连接和操控文件。比如,登录到Novell的FTP服务器后,输入“cdpub”,可以改变用户的工作目录到pub目录下,这里的文件对公众开放。然后输入“cdupdate”并回车,改变用户的工作目录到update下,这里保存了Novell软件的更新文件。在这个目录下,可以通过getXXX命令来下载文件,这XXX是想下载的文件的名称。输入“quit”可以结束连接。下面的列表总结了一些有用的FTP命令及其格式。若想学习更多的FTP命令,请在启动FTP后输入“help”。上一页下一页返回4.1TCP/IP

binary:设置文件传输方式为“二进制”。如果想从FTP网站下载二进制格式的文件,则在文件开始传输前在FTP提示符下输入“binary”并回车。cd:在服务器上修改工作目录。delete:删除主机上的文件(假如有删除权限)。get:从服务器下载一个文件。例如,要从服务器下载一个叫做“update.exe”的文件,可以输入“getupdate.exe"。文件将保存在启动FTP程序的目录下。如果想保存update.exe到C:\download\patches目录下,应该输入:getupdate.exe"c八download\patches"(包含双引号)。上一页下一页返回4.1TCP/IP

help:在FTP提示符下输入时,会给出命令列表。当和一个命令一起使用时,help将给出那个命令的帮助信息。例如,输入“helpis”后,将显示Is命令包含的内容。mget:同时从FTP站点下载多个文件。比如,为了下载一个目录下的所有文本文件,可以在FTP>提示符下输入“mget*,txt”

。mput:从用户的机器向FTP服务器上传多个文件。open:和一个FTP站点建立连接。put:从用户的机器向FTP服务器上传一个文件。quit:结束FTP连接,关闭FTP。上一页下一页返回4.1TCP/IP

图形化的FTP客户端,比如MacFTP,WSFTP,CuteFTP,SmartFTP逐渐取代了这种命令行形式的FTP。用户也可以通过浏览器直接实现FTP文件传输。为了实现这个功能,只需要用浏览器打开FTP站点。在浏览器里,可以移动目录或者上传下载文件。

FTP和Telnet有些相同点:它们都依赖TCP;都可以登录到远程主机并进行操作。不同点在于:使用Telnet时,用户输入的命令与自己的计算机有关系。当使用FTP时,输入的命令和登录上的远程主机有关。并且,Telnet没有内置的传输文件命令。上一页下一页返回4.1TCP/IP3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论