您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第2章 TCPIP与子网规划
40第2章TCP/IP与子网规划2.1培训目标前面您已经学习了OSI参考模型和相关的网络基础知识,相信您已经对互联网络有了一个大致的了解。OSI参考模型为清晰理解互联网络、开发网络产品和网络设计等带来了极大的方便,但是由于OSI过于复杂,各层功能具有一定的重复性,难于实现,再加上OSI参考模型提出时间不是非常好(这时候,TCP/IP协议逐渐占据主导地位),OSI参考模型并没有流行开来。相反,TCP/IP协议现在得到了广泛应用,成为Internet的事实标准。TCP/IP协议源于美国国防部高级研究项目机构(DARPA,DefenseAdvancedResearchProjectAgency)六十年代开发的的AEPAnet。本章我们将重点介绍TCP/IP协议各层的功能,掌握支持TCP/IP协议的网络的数据通信流程。然后本文还介绍了IPv4发展的局限,以及简单介绍了IPv6。最后,您将学习基于2学习目标学习目标描述TCP/IP协议与OSI参考模型描述TCP/IP协议栈各层次功能和原理了解IPv4的不足和IPv6的基本特点描述IP地址分类和应用进行子网地址划分学习完本课程,您应该能够:第二章TCP/IP与子网规划41TCP/IP协议的网络地址表示方式和地址分配方法。这些内容是顺利完成后续章节学习的基础。2.2TCP/IP协议2.2.1TCP/IP协议与OSI参考协议与OSI参考模型一样,TCP(TransferControlProtocol)/IP(InternetProtocol)协议(传输控制协议/网际协议)也分为不同的层次开发,每一层负责不同的通信功能。但是,TCP/IP协议简化了层次设计,只有五层:应用层、传输层、网络层、数据链路层和物理层。从上图可以看出,TCP/IP协议栈与OSI参考模型有清晰的对应关系,覆盖了OSI参考模型的所有层次。应用层包含了OSI参考模型所有高层协议。因为TCP/IP协议栈支持所有的标准的物理层和数据链路层协议,而且物理层和数据链路层在前面已经做过简述,所以本章不对TCP/IP协议的物理层和数据链路层做进一步的描述。关于这两层协议和标准的深入细节,在后续章节会有讲解。4TCP/IP协议和OSI参考模型TCP/IP协议和OSI参考模型TCP/IP协议栈具有简单的分层设计,与OSI参考模型有清晰的对应关系。应用层表示层会话层传输层网络层数据链路层物理层传输层网络层7654321物理层数据链路层OSI参考模型TCP/IP第二章TCP/IP与子网规划42物理层和数据链路层涉及到在通信信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段,提供检错、纠错、同步等措施,使之对网络层显现一条无错线路;并且进行流量调控。网络层检查网络拓扑,以决定传输报文的最佳路由,执行数据转发。其关键问题是确定数据包从源端到目的端如何选择路由。网络层的主要协议有IP、ICMP(InternetControlMessageProtocol,互联网控制报文协议)、IGMP(InternetGroupManagementProtocol,互联网组管理协议)、ARP(AddressResolutionProtocol,地址解析协议)和RARP(ReverseAddressResolutionProtocol,反向地址解析协议)等。传输层的基本功能是为两台主机间的应用程序提供端到端的通信。传输层从应用层接受数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。传输层的主要协议有TCP、UDP(UserDatagraphProtocol,用户数据报协议)。应用层负责处理特定的应用程序细节。应用层显示接收到的信息,把用户的数据发送到低层,为应用软件提供网络接口。应用层包含大量常用的应用程序,例如HTTP(HyperTextTransferProtocol文本传输协议)、Telnet(远程登录)、FTP(FileTransferProtocol)等。5TCP/IP协议栈TCP/IP协议栈HTTP、Telnet、FTP、TFTP、Ping、etcTCP/UDPARP/RARPIPICMPEthernet、802.3、PPP、HDLC、FR、etc接口和线缆应用层传输层网络层数据链路层提供应用程序网络接口建立端到端连接寻址和路由选择物理介质访问二进制数据流传输物理层第二章TCP/IP与子网规划43同OSI参考模型数据封装过程一样,TCP/IP协议在报文转发过程中,封装和去封装也发生在各层之间。发送方,加封装的操作是逐层进行的。各个应用程序将要发送的数据送给传输层;传输层(TCP/UDP)对数据分段为大小一定的数据段,加上本层的报文头。发送给网络层。在传输层报文头中,包含接收它所携带的数据的上层协议或应用程序的端口号,例如,Telnet的端口号是23。传输层协议利用端口号来调用和区别应用层各种应用程序。网络层对来自传输层的数据段进行一定的处理(利用协议号区分传输层协议、寻找下一跳地址、解析数据链路层物理地址等),加上本层的IP报文头后,转换为数据包,再发送给链路层(以太网、帧中继、PPP、HDLC等);链路层依据不同的数据链路层协议加上本层的帧头,发送给物理层以比特流的形式将报文发送出去。在接收方,这种去封装的操作也是逐层进行的。从物理层到数据链路层,逐层去掉各层的报文头部,将数据传递给应用程序执行。6TCP/IP协议数据封装TCP/IP协议数据封装BITSFRAMESIP PACKETSTCP/UDP6/17TFTP69SMTP25FTP20/21TELNET23第二章TCP/IP与子网规划442.2.2应用层应用层为用户的各种网络应用开发了许多网络应用程序,例如文件传输、网络管理等,甚至包括路由选择。这里我们重点介绍常用的几种应用层协议。FTP(文件传输协议、FileTransferProtocol)是用于文件传输的Internet标准。FTP支持一些文本文件(例如ASCII、二进制等等)和面向字节流的文件结构。FTP使用传输层协议TCP在支持FTP的终端系统间执行文件传输,因此,FTP被认为提供了可靠的面向连接的服务,适合于远距离、可靠性较差线路上的文件传输。TFTP(TrivialFileTransferProtocol,简单文件传输协议)也是用于文件传输,但TFTP使用UDP提供服务,被认为是不可靠的,无连接的。TFTP通常用于可靠的局域网内部的文件传输。SMTP(SimpleMailTransferProtocol。简单邮件传输协议)支持文本邮件的Internet传输。POP3(PostOfficeProtocol)是一个流行的Internet邮件标准。SNMP(SimpleNetworkManagementProtocol。简单网络管理协议)负责网络设备监控7应用层应用层文件传输FTP、TFTP邮件服务SMTP、POP3网络管理SNMP、Telnet、Ping、Tracert网络服务HTTP、DNS、WINS第二章TCP/IP与子网规划45和维护,支持安全管理、性能管理等。Telnet是客户机使用的与远端服务器建立连接的标准终端仿真协议。Ping命令是一个诊断网络设备是否正确连接的有效工具。Tracert命令和Ping命令类似,tracert命令可以显示数据包经过的每一台网络设备信息,是一个很好的诊断命令。HTTP协议支持(WorldWideWeb,万维网)和内部网信息交互,支持包括视频在内的多种文件类型。HTTP是当今流行的Internet标准。DNS(DomainNameSystem,域名系统)把网络节点的易于记忆的名字转化为网络地址。WINS(WindowsInternetNameServer,WindowsInternet命名服务器),此服务可以将NetBIOS名称注册并解析为网络上使用的IP地址。BootP(BootstrapProtocol,引导协议)是使用传输层UDP协议动态获得IP地址的协议。2.2.3传输层传输层位于应用层和网络层之间,为终端主机提供端到端的连接,以及流量控制(由窗8传输层协议概述传输层协议概述应用层传输层网络层网络接入层TCPUDP第二章TCP/IP与子网规划46口机制实现)、可靠性(由序列号和确认技术实现)、支持全双工传输等等。传输层协议有两种:TCP和UDP。虽然TCP和UDP都使用相同的网络层协议IP,但是TCP和UDP却为应用层提供完全不同的服务。传输控制协议TCP:为应用程序提供可靠的面向连接的通信服务,适用于要求得到响应的应用程序。目前,许多流行的应用程序都使用TCP。用户数据报协议UDP:提供了无连接通信,且不对传送数据包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。TCP协议通过以下过程来保证端到端数据通信的可靠性:1.TCP实体把应用程序划分为合适的数据块,加上TCP报文头,生成数据段;2.当TCP实体发出数据段后,立即启动计时器,如果源设备在计时器清零后仍然没有收到目的设备的确认报文,重发数据段;3.当对端TCP实体收到数据,发回一个确认。4.TCP包含一个端到端的校验和字段,检测数据传输过程的任何变化。如果目的设备收到的数据校验和计算结果有误,TCP将丢弃数据段,源设备在前面所述的计时器清零后重发数据段。5.由于TCP数据承载在IP数据包内,而IP提供了无连接的、不可靠的服务,数据包有可能会失序。TCP提供了重新排序机制,目的设备将收到的数据重新排序,交给应用程序。6.TCP提供流量控制。TCP连接的每一端都有缓冲窗口。目的设备只允许源设备发送自己可以接收的数据,防止缓冲区溢出。7.TCP支持全双工数据传输。第二章TCP/IP与子网规划47TCP协议为终端设备提供了面向连接的、可靠的网络服务,UDP协议为终端设备提供了无连接的、不可靠的数据报服务。从上图我们可以看出,TCP协议为了保证数据传输的可靠性,相对于UDP报文,TCP报文头部有更多的字段选项。首先让我们来看一下TCP的报文头部主要字段:每个TCP报文头部都包含源端口号(sourceport)和目的端口号(destinationport),用于标识和区分源端设备和目的端设备的应用进程。在TCP/IP协议栈中,源端口号和目的端口号分别与源IP地址和目的IP地址组成套接字(socket),唯一的确定一条TCP连接。序列号(Sequencenumber)字段用来标识TCP源端设备向目的端设备发送的字节流,它表示在这个报文段中的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序列号对每个字节进行计数。序列号是一个32bits的数。既然每个传输的字节都被计数,确认序号(Acknowledgementnumber,32bits)包含发送确认的一端所期望接收到的下一个序号。因此,确认序号应该是上次已成功收到的数据字节序列号加1。TCP的流量控制由连接的每一端通过声明的窗口大小(windowssize)来提供。窗口大小用数据包来表示,例如Windowssize=3,表示一次可以发送三个数据包。窗口大小起始9TCP/UDP报文格式TCP/UDP报文格式0816243116位源端口16位目的端口32位序列号32位确认号URGACKPSHRSTSYNFIN首部长度保留(6位)16位窗口大小16位TCP校验和16位紧急指针选项数据0816243116位源端口16位目的端口16位UDP校验和数据UDP报文格式TCP报文格式16位UDP长度第二章TCP/IP与子网规划48于确认字段指明的值,是一个16bits字段。窗口大小可以调节。校验和(checksum)字段用于校验TCP报头部分和数据部分的正确性。最常见的可选字段是MSS(MaximumSegmentSize,最大报文大小)。MSS指明本端所能够接收的最大长度的报文段。当一个TCP连接建立时,连接的双方都要通告各自
本文标题:第2章 TCPIP与子网规划
链接地址:https://www.777doc.com/doc-1908461 .html