tcp-ip原理37035new

tcp-ip原理37035new

ID:17836539

大小:146.00 KB

页数:16页

时间:2018-09-07

上传者:xinshengwencai
tcp-ip原理37035new_第1页
tcp-ip原理37035new_第2页
tcp-ip原理37035new_第3页
tcp-ip原理37035new_第4页
tcp-ip原理37035new_第5页
资源描述:

《tcp-ip原理37035new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

TCP-IP原理TCP-IP原理一九九九年五月16第16页共16页 TCP-IP原理第一章TCP/IP概述3TCP/IP的特点3数据通信模型3TCP/IP协议结构4网络访问层(NetworkAccessLayer)5网间层(InternetLayer)5传输层(TransportLayer)7应用层(ApplicationLayer)10第二章数据传输10寻址、路由选择和多路复用11Internet的路由结构13路由器14路由表(RoutingTable)14地址转换15协议、端口和软插口1516第16页共16页 TCP-IP原理第一章TCP/IP概述TCP/IP是指一整套数据通信协议,其名字是由这些协议中的两个协议组成的,即传输控制协议(TransmissionControlProtocol——TCP)和网间协议(InternetProtocol——IP)。虽然还有很多其他协议,但是TCP和IP显然是两个最重要的协议。TCP/IP的特点TCP/IP协议有一些重要的特点,以确保在特定的时刻能满足一种重要的需求,即世界范围的数据通信。其特点包括:·开放式协议标准。可免费使用,且与具体的计算机硬件或操作系统无关。由于它受到如此广泛的支持,因而即使不通过Internet通信,利用TCP/IP来统一不同的硬件和软件也是很理想的。·与物理网络硬件无关。这就允许TCP/IP可以将很多不同类型的网络集成在一起,它可以适用于以太网、令牌环网、拨号线、X.25网络以及任何其它类型的物理传输介质。·通用的寻址方案。该方案允许任何TCP/IP设备唯一的寻址整个网络中的任何其他设备,该网络甚至可以象全球Internet那样大。·各种标准化的高级协议。可广泛而持续地提供多种用户服务。数据通信模型虽然OSI模型非常有用,但TCP/IP协议并不完全与它的结构相匹配。因此,在讨论TCP/IP时,我们按下列方法使用该模型中的各层:应用层应用层是网络中与用户访问有关的协议层。本教材中所说的TCP/IP应用程序是在传输层以上发生的任何网络进程。表示层在OSI中,这一层可提供标准的数据表示例程,而在TCP/IP中,这种功能是在应用层内处理的。会话层OSI的会话层管理协作应用程序间的会话(连接),在TCP/IP中,这一功能基本上是在传输层中实现的,是使用软插口(socket)和端口(port)来说明协作应用程序间通信的路径。传输层在OSI参考模型中,传输层可以确保接收方正确的接收到所发出的数据。在TCP/IP中,这一功能是由传输控制协议(TCP)完成的。然而,TCP/IP还提供了第二种传输层服务,即用户的数据报协议(UDP),它并不执行端对端的可靠性检查。网络层网间协议(IP)通常可看作是TCP/IP的网络层,它可以将上层与基本网络隔离开,并处理寻址和数据传输功能。数据链路层在基本的物理网络上可靠的传输数据是由数据链路层完成的。TCP/IP16第16页共16页 TCP-IP原理很少创建数据链路层中的协议,与数据链路层有关的大多数RFC只讨论IP如何使用现有的数据链路协议。物理层TCP/IP不定义各种物理标准,它只使用现有的标准。TCP/IP协议结构在描述TCP/IP时,一般只定义如图所示的4层模型:应用层、主机对主机传输层、网络层和网络访问层。TCP/IP协议结构中的各层在TCP的应用层中,将数据称为“数据流(stream)”;而在用户数据报协议(UDP)的应用层中,则将数据称为“报文(message)”。TCP将它的数据结构称作“段(segment)”,而UDP将它的数据结构称作“分组(packet)”;网间层则将所有数据看作是一个块,称为“数据报(datagram)”。TCP/IP使用很多种不同类型的底层网络,每一种都用不同的术语定义它传输的数据,大多数网络将传输的数据称为“分组”或“帧(frame)”.16第16页共16页 TCP-IP原理数据结构网络访问层(NetworkAccessLayer)网络访问层(NetworkAccessLayer)是TCP/IP协议结构的最低层,该层中的协议提供了一种数据传送的方法,使得系统可以通过直接连接的网络将数据传送到其它设备,并定义了如何利用网络来传送数据报。网络访问层协议与较高层协议不一样,它必须知道底层网络的各种细节(如它的分组结构、寻址方式等),以便准确的格式化传输的数据,使其遵守网络规定。TCP/IP网络访问层可以包括OSI参考模型中下三层(网络层、数据链路层和物理层)的全部功能。网络访问协议种类繁多,每一个协议都对应一种物理网络标准。该层执行的功能包括将IP报文封装成被网络传输的帧,并将IP地址映射为网络使用的物理地址。在UNIX中实施时,这一层的协议通常以设备驱动程序和有关程序的组合形式出现。这种用网络设备名称标识的模块,通常用来封装数据并传送给网络,而其它程序则执行相关功能,如地址映射。网间层(InternetLayer)网间协议IP是TCP/IP的核心,也是网间层中最重要的协议。IP可提供基本的分组传输服务,这是构建TCP/IP网络的基础。所有的TCP/IP数据都流经IP,(不管是出去的还是进来的)与它的最终目的地无关。网间协议(InternetProtocol——IP)网间协议的功能包括:1.定义数据报,它是在Internet上的基本传输单元。2.定义网间寻址方案。3.在网络访问层和主机对主机传输层之间传输数据。4.为数据报选择至远程主机的路由。16第16页共16页 TCP-IP原理1.执行数据报的分解和重组。IP是一个“无连接协议”,是要依靠其它层的协议提供错误检测和错误恢复。有时将该网间协议称为“不可行协议”,因为它并不包含错误检测和恢复的程序代码。这并不是说IP协议是不能信赖的,恰恰相反,它可以正确地将数据传送到已连接的网络,不过它并不检验数据是否被正确地接收。必要是,TCP/IP结构中其它层的协议可以提供这一检验功能。数据报(Datagram)数据报(datagram)是网间协议定义的一种分组格式。如图表示一个IP数据报,数据报中前5个或6个32位字为控制信息,称为报头。在缺省形式下,报头的长度是5个字,第6个字是可选的。由于报头的长度是可变的,因而它包含一个称为“Internet报头长度(IHL)”的字段,以字为单位指出报头的长度。报头包含着传输该分组所需的全部信息。    31           16 15            0版本号 IHL  服务类型        总长度           识别码        标志    片偏置量  寿命    协议     报头校验和           源地址       目的地址选项           填空数据区                                     报                                   头                                               IP数据报的格式网间协议通过检查报头第5个字中的目的地址(DestinaationAddress)传送数据报,该目的地址是一个标准的32位IP地址,它可以标识目的网络和在该网络上的特定主机。如果目的地址是本地网络中一个主机的地址,该分组就直接伟送给目的地;如果目的地址不在本地网络中,该分组就被传送到网关(gateway)再进行传送。网关是在不同的物理网络之间交换分组报文的设备。确定使用哪个网关称为路由选择(routing),IP为每个单独的分组作出路由选择决定。数据报的路由选择Internet网关通常(或许更精确地说)是指IP路由器(router),因为它使用网间协议在网络之间选择分组的路由。在传统的TCP/IP术语中,只有两种类型的网络设备,即网关(gatway)和主机(host16第16页共16页 TCP-IP原理)。网关可以在网络之间转发分组报文,主机却不能。然而,如果一台主机连接多个网络(称为多地址主机),则就可以在网络间转发分组报文。当一个多地址主机转发分组报文时,它的作用与其它任何网关一样,可以看成是一个网关。目前的数据通信术语有时将网关与路由器区别开,术语“网关”和“IP路由器”是可以互换的。数据报的拆分每一种类型的网络都有一个“最大传输单元(MTU)”,即网络上可以传输的最大分组。如果从一个网络上接收到的数据报大于另一个网络的最大传输单元,就必须将它分成较小的“块”才能传输,这一过程称为“拆分(fragmentation)”。如以太网与X.25网络在物理上也是不同的。当一个较大的以太网分组在X.25网络上传输之前,IP必须将它分割成较小的分组。传送数据报到传输层当IP接收到一个寻址本地主机的数据报时,它必须将该数据报中的数据部分传送给合适的传输层协议,这是利用数据报报头中第3个字内的“协议号(ProtocolNumber)”完成的。每个传输层协议都有一个唯一的协议号,用来在IP中标识它自己。网间控制报文协议网间控制报文协议(InternetControlMessageProtocol–TCMP)是IP的一个不可分割的部分。该协议是网间层的一部分,它使用IP数据报传输设施去发送报文。它发送的报文可以为TCP/IP执行下列控制、错误报告、信息等功能:流控制当数据报到达的速度太快而无法处理时,目的主机或中间网关就会发送一个“ICMP源站抑制报文(ICMPSourceQuenchMessage)”块给发送者,以通知源站暂时停止发送报评议文。检测不可达的目地当目的地不可到达时,检测到该问题的系统就发送一个“目的地不可达报文(DestinationUnreachableMessage)”给数据报的源站。如果不可达的目的地是一个网络或主机,就由中间网关发送该报文;如果是一个不可达的端口,则由目的地主机发送该报文。重定向路由网关发送“ICMP重定向报文(ICMPRedirectMessage)”通知主机使用另一个网关,这大概是因为另一个网关更合适。只有当源主机与这二个网关都在同一个网络上时才能使用这一报文。检查远程主机一台主机可以发送“ICMP回送报文(ICMPEchoMessage)”以了解远程系统的网间协议是否正在工作。当系统接收到该回送报文时,便将同样的分组报文发送回源主机。UNIX的ping命令就使用这一报文。传输层(TransportLayer)传输层中两个最重要的协议是传输控制协议(TCP)和用户数据报协议(UDP)。TCP利用端对端错误检测与纠正功能提供可靠的数据传输服务;而UDP16第16页共16页 TCP-IP原理提供低开销的无连接数据报传输服务,二者都可以在应用层和网间层之间传输数据。对于特定的应用程序,程序设计者可以选择最适合的服务。用户数据报协议用户数据报协议(UserDatagramProtocol——UDP)是一个不可靠的无链接数据报协议,其格式如图:0151631源站端口目的站端口长度校验和数据区UDP的报文格式选用UDP作为一种数据传输服务的原因有好几个,如果传输的数据量很少,那末为建立连接和确保可靠传输而花费的开销可能比重新传输全部数据的开销还高。在此情况下,UDP就是传输层协议最好的选择。使用“查询——响应”方式的应用程序也非常适宜使用UDP,其响应可以用作对查询的肯定确认,如果在一定的时间内没有收到响应,应用程序便发出另一个查询。有些应用程序可提供自己的技术去确保可靠的数据传输,而不需要传输层协议的服务。传输控制协议(TCP)TCP是一种可靠的、面向连接的、字节流协议。TCP提供的可靠性是利用一种称为“重传肯定确认(PositiveAcknowledgmentWithRetranmission——PAR)”机制来实现的。换句话说,除非一个利用PAR的系统接收到从远端系统发来的肯定确认,否则就重发原数据。在相互协作的TCP模块之间交换的数据单元称为“段(Segment)”如图:    31           16 15            0     原端口           目的端口            序列号            确认号偏移  保留   标志        窗口校验和           紧急指针任选           填空数据区                                     报                                   头                                               TCP的段格式16第16页共16页 TCP-IP原理每一段包含一个校验值,接收方用它来验证数据是否遭到破坏。如果接受到的数据段没有遭到破坏,接收者就发送一个肯定确认应答给发送者;如果遭到破坏,接收者就废弃该段。过了一段时间后,发送端TCP就重新发送没有受到肯定确认的任何段。TCP是面向连接的,它在两个通信主机之间建立一个逻辑的端对端连接。在传输数据之前,建立对话的两个端点之间交换称为握手的控制信息。TCP通过在段头第4个字的标志字段中设置相应的位来表示一个段的控制功能。TCP有三个段要交换,故称为“三段试握手”。如图:主机A主机B三段试握手主机A通过将一个具有“同步序列号(SYN)”的段发送给主机B而开始连接,该段告诉主机B:主机A希望建立连接并且使用哪个序列号作为主机A的段的起始号(序列号可用来保持数据的正确顺序);主机B用一个带有“确认应答(ACK)”和“同步序列号(SYN)”位的段响应主机A,以确认收到了A的段,并通知A它将从哪个序列号开始;最后,A发送一个段,确认收到了B的段,并开始传送第一个实际数据。当协作双方的模块结束数据传输时,它们就利用包含“无数据发送(FIN)”位的段来交换三段试握手信息,以关闭连接。·TCP发送的是连续的字节流而不是单独的分组。因此要确保发送和接受的顺序,即用TCP的段头中的“序列号”和“确认号”字段来保持这个顺序。·每个系统可选择任意“号”作为起点。但通常情况下ISN总是0。·数据中的每个字节是从ISN开始顺序编号的,因而被发送数据的第一个实际字节的顺序号为ISN+1(通常为1)。·确认段(ACK)执行两种功能:肯定确认和流控制。确认:是告诉发送者已经接收了多少数据和接收方还可以接收多少数据。确认号是远端接收到的最后一个字节的顺序号。该标准并不要求每个分组都要单独确认,确认号就是对在该号之前的所有字节的肯定确认。·窗口字段:含有远端有能力接收的字节数。如图:16第16页共16页 TCP-IP原理窗口6000已接收的数据                   当前段11001200130014001500160017001       起始序号   确认号序列号400102000TCP数据流TCP还负责将从IP接收到的数据传送给合适的应用程序。接收该数据的应用程序是用一个16位的“端口号”标识的。源端口和目的端口是包含在段头的第一个字节中,使数据正确地传进和传出应用层,这是传输层的一个重要服务。应用层(ApplicationLayer)该层中包含了使用传输层协议去传输数据的所有协议,应用层协议很多,一些著名的应用层协议有:·TELNET这是网络终端协议,可通过网络提供远程登陆。·FTP这是文件传输协议,可用于交互式文件传输。·SMTP这是简单邮件传输协议,可用于传送电子邮件。此外还有:·域名服务(DomainNameService——DNS):可以将IP地址映射成赋予网络设备的名字。·路由信息协议(RoutingInformationProtocol——RIP):路由选择是TCP/IP的工作核心,网络设备使用RIP去交换路由选择信息。·网络文件系统(NetworkFileSystem——NFS):该协议允许文件被网络上的各种主机共享。综上所述,FTP、TELNET、和SMTP基本上是依赖于TCP的,而NFS、DNS和RIP则基本上依赖于UDP。一些应用程序型协议,如外部网关协议(ExteriorGatewayProtocol——EGP),它是另一个路由协议,它们不使用传输层服务,而直接使用IP服务。第二章数据传输我们已经了解到TCP/IP是一个四层结构。本章将更详细地探讨数据是如何在网络的协议之间和系统之间传送的,以及如何利用地址路由将数据送到它的目的地、如何为了构建子网而在本地重定义寻址规则。16第16页共16页 TCP-IP原理寻址、路由选择和多路复用为了在二个Internet主机之间传送数据,就必须通过网络将数据传送给相应的主机,并在该主机内传送给相应的用户或进程。TCP/IP利用三种方法来完成这些任务:寻址(Addressing)IP地址可以唯一地标识Internet中的每一台主机,它可以将数据传送到相应的主机。路由选择(Routing)网关可以将数据传送到相应的网络。多路复用(Multiplexing)协议和端口号可以将数据传送到主机内相应的软件模块。其中的每一个功能(在主机之间寻址、在网络之间选择路由和在层间多路复用)对于通过Internet在两个协作应用程序间传送数据都是必需的。IP地址网间协议(IP)以数据报的形式在主机之间传输数据,每个数据报传送到一个地址,该地址包含在该数据报报头的目的地址(第5个字)中。目的地址是一个32位的IP地址,它包含着足够的信息以唯一地标识一个网络和该网络中的特定主机。一个IP地址由一个网络部分和一个主机部分组成,但在每个IP地址中它们的格式是不同的。用来标识网络和主机的地址位数将根据地址的“类型”而变,A类、B类和C类是三个主要的地址类型。通过检查一个地址的前几位,IP软件很快就可以确定地址的类别及其结构。IP遵循以下规则确定地址的类别:·如果IP地址的第一位是0,它就是A类网络的地址。A类地址的第1位标识其地址类别,接着的7位标识其网络。最后的24位标识主机。A类网络的编号小于128,但每个A类网络可以包含数百万台主机。·如果该地址的前2位是10,它就是B类网络地址。在B类地址中,前2位标识类,接着的14位标识网络,最后16位标识主机。可以有数千个B类网络编号,每个B类网络可以包含数千台主机。·如果该地址的前3位是110,它就是C类网络地址。在C类地址中,前3位是类标识符,接着的21位是网络地址,最后8位标识主机。有数百万个C类网络编号,而每个C类网络包括的主机数量少于254台。·如果该地址的前3位是111,它就是一个专门保留的地址。这类地址有时称为D类地址,实际上它并不指向特定的网络,目前这一范围内的编号是赋予广播地址。广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机,这与共享同一网络的一组计算机恰好相反。IP地址通常写成用点(英语句号)分隔开的4个十进制数,其中每一部分的数字值在0到255(一个字节可表达的十进制值)之间。因为标识类的位和网络地址的位是连在一起的,因而我们可以把IP地址看成是由所有网络地址字节和所有主机地址字节两部分组成。第1个字节的值的含义是:·如果值小于128,则表示A类地址;其第1个字节就是网络号,紧接着的三个字节是主机地址。·值在128到191之间,表示B类地址;前二个字节标识网络,后二个字节标识16第16页共16页 TCP-IP原理主机。·值在192到223之间,表示C类地址;前三个字节是网络地址,最后一个字节是主机号。·值大于223,表示该地址是保留的,我们可以不管保留的地址。并不是所有的网络地址或主机地址都是可用的:·第一个字节大于223的地址都是保留的。·在A类地址中,由两个地址0和127也是留作专用地址,网络0是“缺省路由”,网络127是“回送地址”。缺省路由用来简化IP必须处理的路由选择信息,回送地址由于允许本地主机与远程主机以同样的方式寻址而简化了网络应用程序。在配置主机时使用这些专用网络地址。·在所有的网络中主机号0和255也是保留的。所有主机位都置成0的IP地址用以标识网络本身。主机号为0的IP地址是广播地址,即发送到该地址的数据传送到网络上的每一台主机。·由于合法IP地址的缺乏,设置了一定的保留地址,这些地址将决不被正式的分配给任何人,而且决不应该被使用在自己网络的外部机构。(即Internet网上)如:A类网10B类网172.16直到172.31C类网192.168.0直到192.168.255一般将IP地址称为主机地址,但实际上IP地址是赋予网络接口的并不是赋予计算机系统的。IP使用地址的网络部分为数据报在网络之间选择路由。当数据报到达目的网络是它的全部地址(包括主机信息)用来进行最终的传输。子网将主机地址位用作附加的网络地址位,就可以局部地修改IP地址的标准结构。其实质就是移动网络地址位和主机地址之间的“分解线”,从而创建附加的网络,但却减少了每个网络的主机数量。这种新分配的网络位就可在一个大型网络内定义一个网络,称为子网(subnet)。为了解决柘朴上的或组织上的问题,一些组织往往决定组建子网。构建子网可以分散对主机寻址的管理。建立子网还可解决硬件差异和距离限制问题。IP路由器可以将不同的物理网络连接在一起,但这只有当每个物理网络具有唯一的网络地址时才可以。构建子网则将一个单独的网络地址分成很多唯一的子网地址,因此每个物理网络可以具有自己唯一的地址。在IP地址上使用一个位掩码(即子网掩码——subnetmask)就可以定义一个子网。如果掩码位是1,那么其地址中等价位就解释成一个网络位;如果掩码位是0,则该位就属于主机地址部分。子网只能在本地识别,对于Internet的其它部分,其地址仍然被看成是标准的IP地址。例如,与标准B类地址相关的子网掩码是255.255.0.0。最通用的子网掩码是通过一个附加字节来扩充一个B类地址的网络部分,这样一来该子网就是255.255.255.0。前三个字节的所有位都是1,而最后一个字节的所有位都是0;前二个字节定义B类网络,第三个字节定义子网地址,第四个字节定义子网上的主机。16第16页共16页 TCP-IP原理很多网络管理员喜欢使用面向字节的掩码,因为易于阅读和理解。然而,不要求都以字节边界来定义子网,子网掩码可以面向位,从而就能适用于任何地址类。例如,利用掩码255.255.255.192,一个小型单位就可将C类地址分成4个子网。这个掩码将一个C类地址的第四个字节的前二个位定义为该地址的子网部分。同一个掩码如果用于B类地址,就可构建1000多个子网,因为有10个位,包括前三个字节的全部和第四字节的2位,都用来定义子网。如下表可说明了基于不同网络地址的各种子网掩码的作用。子网掩码的作用IP地址子网掩码说明128.66.12.1255.255.255.0子网128.66.12.0上的主机1130.97.16.132255.255.255.192子网130.97.16.128上的主机4192.178.16.66255.255.255.192.子网192.178.16.64上的主机2132.90.132.5255.255.240.0子网132.90.128.0上的主机4.518.20.16.91255.255.0.0子网18.20.0.0上的主机16.91Internet的路由结构现在的路由选择模型是以各自治系统的相互平等为基础的,称为路由域(Routingdomain)。注:自治系统AS,是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。路由域使用边界网关协议(BGP)或外部网关协议(EGP)来与其它域交换路由信息,每个路由域各自处理从其它域接收来的信息。这种结构的特点是扩充性较好。如图:用三个相交的圆表示这一模型,每个圆就是一个路由域,其重叠区就是边界区,路由信息就在这里共享。这些域共享路由信息,但并不依靠任何一个系统去提供所有的路由选择信息。无论路由信息是如何得来的,它最终总会到达你的本地网关,IP以此来决定路由。路由选择域16第16页共16页 TCP-IP原理路由器TCP/IP的开放性为各网络间的信息集成提供了可能。但对于采用不同技术的各个网络,如何在硬件上将它们连接起来是实现TCP/IP的基本保障。路由器在网络互联上起着至关重要的作用,通过路由器设备可以把不同的网络连接成一个范围更大的网络。路由器是一种比较成熟的网络互联技术。它不仅能够很好的实现路由、协议转换功能,而且在网络安全、网络管理方面也起者重要的作用。主要功能:(1)连接不同的网络(2)协议转换和路由选择功能(3)网络管理和安全路由表(RoutingTable)网关要在网络之间为数据选择路由,其它所有的网络设备、主机也和网关一样必须作出路由选择的决定。主机选择路由的策略是:·如果目的主机在本地网络上,就将数据传给目的主机。·如果目的主机在远程网络上,就将数据转发给本地网关。IP模块根据IP地址的高位来确定目的IP地址的网络部分。如果目的网络是本地网络,就可在目的地址上使用本地子网掩码。确定目的网络后,IP模块就在本地路由表中查找该网络,各分组报文就流向路由表所指定的目的地。路由表可由系统管理员或路由协议建立。IP的路由选择策略只是简单的查表过程。利用netstat–nr命令可显示路由表的内容。例如:mail$netstat–nrRoutingtablesDestinationGatewayFlagsRefcntUseInterface127.0.0.1127.0.0.1UH1298lo0default128.66.12.1UG250360le0128.66.12.0128.66.12.2U40111379le0128.66.2.0128.66.12.3UG41179le0·表的第一项是用于本地主机的回送路由,这一项在每个主机路由表中都有。H表示为主机;G表示为网关·default-缺省路由。该项所指定的网关为缺省网关,即该表中没有目的网络的专有16第16页共16页 TCP-IP原理落由的,就使用此缺省网关。注:路由表中的所有网关都必须在与本地系统直接连接的网络上。·路由表并不包含端对端路由,一个路由只能沿着到达目的网络的路径指向下一个网关,称为下一跳。主机依靠本地网关传输数据,而网关依靠其它网关传输数据。地址转换IP地址和路由表将数据报引向一个特定的物理网络,但是当数据通过网络传输时,必须遵从该网络使用的物理层协议。作为TCP/IP网络底层的物理网并不懂得IP寻址,它有它自己的寻址方案,有多少种物理网络就有多少种寻址方案。网络访问协议的一个任务就是将IP地址映射为物理网络地址。IP地址与以太网地址之间的关系就是这种网络访问层功能的最普通例子,执行这一功能的协议是地址转换协议(ARP)。ARP软件维护着一张IP地址和以太网地址的转换表,它是动态构建的。当ARP接收到转换IP地址的请求时,就它的表中查看该地址,如果找到该地址,就将其以太网地址返回给请求软件;如果在该表中找不到该地址,APR就发出一个广播分组报文给以太网上的每人主机。该分组报文内包含着需要转换成以太网地址的IP地址,如果一个接收主机识别出该IP地址就是它自己,便立即将它的以太网地址发回请求主机,这一响应内容随即存储在该APR表中。Arp命令可显示arp表的内容。例如:almond%arppeanutpeanut(128.66.12.2)at8:0:20:0:e:c8显示主机peanut的物理地址。利用arp–a命令可显示整个ARP表的内容。注:ARP表是由ARP协议自动建立的。协议、端口和软插口一旦数据在网络上传送并到达一台特定的主机,就必须将它交给相应的用户或进程。由于数据在TCP/IP的各层之间上下传送,因此就需要一个机构能将数据传送到每一层的相应协议。系统必须能够将来自多个应用程序的数据组合到少数几个传输协议中,再从这些传输协议传给网间协议。为此,IP使用协议号去标识传输协议,而传输协议使用端口号去标识应用程序。协议号协议号是数据报报头的第三个字中的一个字节,其值标识IP上必须传送数据的那一层协议。在UNIX系统中,协议号定义在/etc/protocols文件中,它是一个简单的表格,含有协议名及其协议号。例如:16第16页共16页 TCP-IP原理%cat/etc/protocolsip0IPicmp1ICMPtcp3TCPudp17UDP┊这个表的含义是,当一个数据报到达,并且它的目的地址与本地IP地址符合时,IP层就知道必须将该数据报传送到它上面的一个传输层协议。为了决定哪个协议接收该数据报,IP就查看该数据报的协议号。利用此表可以看出,如果协议号是6,IP就将该数据报传送给TCP;如果是17,IP就将它传送给UDP。端口号IP将进来的数据发送给传输协议后,该传输协议就将它传送到相应的应用程序进程中。应用程序的进程(又称网络服务)是用端口号标识的,它是一个16位的值。标识数据发送进程的“源端口号”和标识数据接收进程的“目的端口号”都包含在每个TCP段和UDP分组的第一个报头字中。在UNIX系统中,端口号在/etc/services文件中定义。网络应用程序的数量要比该表中所示的传输层协议数多得多。低于256和端口号是留给“知名服务”的(如同FTP和TELNET一样),从256到1024的端口号用于UNIX的专用服务。下面列出了部分/etc/services文件。Peanut%cat/etc/servicesecho7/udpecho7/tcpsystat11/tcpnetstat15/tcpftp-data20/tcp┊将该表与/etc/protocols表结合在一起,就可提供将数据传送到相应的应用程序所需的全部信息。数据报根据其报头第5个字内的目的地址抵达其目的地,IP使用该数据报报头第3个字内的协议号将数据传输给适当的传输层协议。到达该传输协议的数据的第一个字内含有目的端口号,它告诉传输协议将数据传送到特定的应用程序。软插口(Socket)一个IP地址和一个端口号的组合称为一个“软插口(socket)“,一个软插口可以唯一地标识整个Internet中的一个网络进程。“软插口”是IP地址和端口号的组合,一对软插口(一个用于接收主机,另一个用于发送主机)可定义面向连接协议(如TCP)的一次连接。16第16页共16页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭