论TCPIP协议的体系的结构及其各层协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录1.1TCP/IP协议的历史和发展过程1.2TCP/IP协议的体系结构模型2.1IP网际层的功能2.2IP地址及其转换2.2.1IP地址2.2.2IP地址的转换2.2.3子网技术2.3IP数据报的格式2.4Internet控制报文协议ICMP3.1TCP运输层协议概述3.2端口及套接字3.3TCP报文的格式3.4差错控制与流量控制3.5TCP连接管理3.6用户数据报协议UDP4.1应用层的概述4.2应用层协议简介4.2.1文件传送协议FTP、TFTP4.2.2简单邮件传输协议SMTP4.2.3远程登录TELNET论TCP/IP协议的体系的结构及其各层协议(易家傅99714001卢凌凌99714004)摘要:本文主要论述了TCP/IP协议体系结构及各层协议。重点说明IP网际协议的数据报格式、IP地址及地址转换,TCP传输控制协议的数据报格式、差错控制、流量控制和连接的建立等原理。最后还简介了应用层的几个常用协议。关键字:TCP/IPIP地址子网掩码端口套接字引言:当前的世界经济正在从工业经济向知识经济转变,这种以知识基础的经济有两个重要的特点,就是信息化和全球化。而要实现信息化和全球化,就必须依靠完善的网络。计算机网络是其中最重要的一部分,然而计算机网络远比电信网络复杂,它不仅仅是计算机之间简单的连接,还是相互通信的计算机系统之间的高度协调工作,因此必须将这庞大而复杂的问题分层处理,转化成若干个局部问题,从而形成了像建筑框架那样的网络体系结构。由于Internet已得到全世界的承认,因此Internet所使用的TCP/IP体系计算机网络中占有真重要的地位,了解其内容和工作原理对学习计算机网络是很有帮助的。1.1TCP/IP协议的历史和发展过程TCP协议最早由斯坦福大学的两名研究人员于1973年提出。1983年,TCP/IP被Unix4.2BSD系统采用。随着Unix的成功,TCP/IP逐步成为Unix机器的标准网络协议。Internet的前身ARPANET最初使用NCP(NetworkControlProtocol)协议,由于TCP/IP协议具有跨平台特性,ARPANET的实验人员在经过对TCP/IP的改进以后,规定连入ARPANET的计算机都必须采用TCP/IP协议。随着ARPANET逐渐发展成为Internet,TCP/IP协议就成为Internet的标准连接协议。1.2TCP/IP协议的体系结构模型TCP/IP协议其实是一个协议集合,它包括了TCP协议(TransportControlProtocol,传输控制协议)、IP协议(InternetProtocolInternet协议)及其它一些协议。如图1,TCP/IP体系结构模型自下往上分别是:(1)网络接口层:严格来说它不是一个层次,而仅仅是一个接口,用以提供在下面的数据链路层和物理层的接口。网络接口层并没有什么具体的内容,这里就不再讨论了。图1(2)IP网络层:主要有网际协议IP,地址解析协议ARP,逆地址解析协议RARP。(3)TCP运输层:有运输控制协议TCP,用户数据报协议UDP。(4)应用层:有TELNET,FTP,SMTP等应用层协议。层与层之间的关系是,下层总是为上一层服务的,上层屏蔽下一层的服务细节。2.1IP网际层的功能不同的物理网络技术有不同的编址方式;不同物理网络中的主机,有不同的物理网络地址。网间网技术是将不同物理网络技术统一起来的高层软件术。网间网技术采用一种全局通用的地址格式,为全网的每一网络和每一主机都分配一个网间网地址,以此屏蔽物理网络地址的差异。IP协议提供一种全网间网通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台网间网主机(包括网关),这样物理地址的差异被IP层所屏蔽。IP提供的是无连接服务。2.2IP地址及其转换2.2.1IP地址每个Internet上的主机和路由器都有一个IP地址,包括网络号和主机号,其中网络号标识该网络,而主机号标识该网络中的主机。所有的IP地址都是32位,分成4个字段,每个字段8位。32位的IP地址可以有五种格式,如图2所示:IP地址通常用带点十进制记法来书写,即IP地址写成四个十进制数,相互之间用小数点隔开,每个十进制数(从0到255)表示IP地址的一个字节。值得指出的是0和1有特殊的意义,见表格1:表格12.2.2IP地址的转换IP地址是网络层的地址,而下传到链路层要转变为MAC帧后才能发送到网络。而MAC帧使用的是硬件地址。如何将32位的IP地址转变成48位的局域网地址,这就是地址解析协议ARP要解决的问题。假设是在本局域网中,A主机向B主机发生数据报。首先A主机查看ARP高速缓存内的IP地址到物理地址的映射表,如果找到就写入MAC帧发送,否则进行以下步骤:(1)在本局域网上广播发送一个ARP请求分组,上面有主机B的IP地址;(2)在本局域网上的所以主机上运行的ARP进程都收到此ARP请求分组;(3)主机B在ARP请求分组中见到自己的IP地址,就向主机A发送一个ARP响应分组,上面写入自己的物理地址;(4)主机A收到主B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到物理地址的映射。有时还要用到逆地址解析协议RARP使只知道自己物理地址的主机能够知道其IP地址,如无盘工作站的引导就可以通过逆地址解析协议RARP来解决。2.2.3子网技术我们知道一个单位分配到的IP地址是IP地址中网络号net-id,而后面的主机号host-id则由本单位进行分配。若该单位的所有主机都使用同一个网络号,主机的数量很多,分布在很大的地理范围时,往往需要一些网桥将这些主机互连起来。网桥的缺点较多,例如,容易引起广播风暴,同时当网络出现故障时也不太容易隔离和管理。为了让本单位的主机便于管理,可以将本单位所属主机划Net-idHost-id源地址使用目的地址使用代表的意思00可以不可在本网络上的主机0Host-id可以不可在网络上的某个主机全1全1不可可以只在本网络上进行广播Net-id全1不可可以对net-id上的所以主机进行广播127任何数可以可以用作本地软件回送测试之用分为若干个子网,用IP地址中的主机号字段中的前若干个比特作为“子网号字段”,后面剩下来的仍为主机号字段。这样便可以用路由器把本单位的各子网互连起来,使全单位的网络便于管理。从外部看,这个单位只有一个网络号。只有当外面的分组进入到本单位范围后,再由该单位的路由器根据子网号进行选路,最后找到目的主机。这样一来该单位的网络管理就很方便得多了。同时IP地址的使用不至于造成很大的浪费,缓解了日益增加的局域网和网上主机对IP地址的需求。如图3所示,说明了子网掩码的意义。每一个路由器当收到一个分组时,首先检查该分组的IP地址中的网络号,若不是本网络号则发送到下一站路由器,若是本网络号则用子网掩码与IP地址按位相与运算,然后取出子网号进行判断,决定是发送到其他子网,或直接交付给本网络的主机端口。2.3IP数据报的格式IP数据报的格式能够说明IP协议都具有什么样的功能,图4就是数据报的格式。从图4中可以看出,一个数据报首部由和数据两部分组成。首部的前20字节是固定部分,后一部分则是可变部分。数据报首部的固定部分中的各字段。版本占4bit,指的版本。通信双方使用的协议的版本必须一致。。首部长度占4bit,可表示的最大数值是15个单位(每个单位为4字节),因此IP的首部长度的最大值是60字节。当IP分组的首部长度不是4字节的整数倍的时开始,这样在实现起来会比较方便。首部长度的限制为60个字节的缺点是有时(如采用源站选路的时)不够用。但这样的用意是要用户尽量减少额外开销。。服务类型占8bit用来获得更好的服务,其意义见图一的上面部分所示。服务类型字段的前三个比特表示优先级,它可使数据报具有8个有限级中的一个。第四个比特是D比特,表示要求有更低的时延。第五个比特是T比特,表示要求有更高的吞吐量。第六个比特是R比特,表示要求有更高的可靠性,即在数据报传送的过程中,被节点交换机丢弃的概率比较更小一些。第七个比特是C比特,是新增加的,表示要求选择费用更低廉的路由。最后一个字节目前尚未使用。。总长度总长度指首部和数据之和的长度,单位为字节。总长度字段为16bit,因此数据报的最大长度为65535字节。这在目前是够用的。当很长的数据报要分片记性传送时,“总长度”不是指数据报长度,而是指分片后的首部长度和数据长度的总和。。标识标识字段是为了使分片后的各数据报最后能准确地重装成为原来的数据报。请注意:这里的“标识”并没有顺序号的意思,因为IP是无连接服务,数据报不存在按序接受的问题。。标志占3bit。目前只有前两个比特有意义。标志字段中的最低位记为MF(MoreFragment)。MF=1即表示后面还有分片的数据报。MF=0表示这已是若干数据报片中的最后一个。标志字段中间的一位记为DF(Don'tFragment).只有当MF=0时才允许分片。。片偏移片偏移指出:较长的分组在分片后,某个片在原分组中的相对位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。。寿命寿命字段记为TTL(TimeToLive),其单位为秒,建议寿命值为32秒。。协议占8bit,协议字段指出此数据报携带的运输层的数据是使用何种协议以便目的主机的IP层知道应将此数据报上交给哪个进程。常用的协议和相应的协议字段值是:UDP(17),TCP(6),ICMP(1),GGP(3)。。首部检验和此字段只检验数据报的首部不包括数据部分。IP检验和的计算方法是:将数据报首部看成为16bit字的序列。先将检验和字段置零,将所有的16bit字相加后,将和的二进制反码写进检验和字段。收到数据报后,将首部的16bit字的序列再相加一次,若首部未发生任何变化,则和必全为1,否则即认为出错,并将数据报丢弃。IP数据报首部的可变部分主要用来进行网络测试或调试,可选项是变长的,定义了5种选项:即安全性、严格路由选择、宽松路由选择、路由记录、时间标记。2.4Internet控制报文协议ICMPICMP主要由网际网中的主机和路由器使用,用来交换支持数据报传输的信息。通常ICMP路由问题而引起的差错报告,但是同ICMP一起使用的有十一种不同类型的报文。主要分成为两种类型,即ICMP差错报文和ICMP询问报文。在ICMP差错报文中,改变路由报文使用的最多,它用于更新主机的路由表。ICMP源站抑制报文用于控制网络拥塞,解决速率较高的源主机向速率较低的目的主机发送数据报时的匹配问题。询问报文主要有:(1)Echo请求报文:用于测试目的站是否可达到,及其有关状态。(2)时间戳请求报文:可用来进行时钟同步和测量时间。(3)地址掩码请求报文:可使主机向子网掩码服务器得到某个接口的地址掩码3.1TCP运输层协议概述从通信和信息处理的角度看,运输层属于面向通信部分的最高层。但从网络功能或用户功能来划分,则运输层又属于用户功能中的最低层。运输层向高层用户屏蔽了下面通信子网的细节,使用户看不到实现通信功能的物理链路是什么,看不见数据链路采用的是什么协议。TCP协议提供的是面向连接服务,是在不可靠的网络服务上提供端到端的可靠字节流。3.2端口及套接字端口是应用层与运输实体进行交互的接口。端口号是一个16bit的地址,不同的应用进程用不同的端口号来标识。端口号分为两类,一类是专门分配给一些最常用的应用程序,这叫熟知端口(well—knownport),数值为0-1023。“熟知”就表示这些端口号是TCP/IP体系确定并公布的;另外一类则是一般的端口号,用来随时分配给请求通信的客户进程。套接字即是IP地址与端口号的组合,TCP的一个连接就是以一对套接字来标识的,所以在运输层通信的一对套接字必须是唯一的。3.3TCP报文的格式下图是TCP报文格式图:。源端口和目的端口各占两个字节。端口是运输层与高层的服务接口,16bit的端口,32bit的IP地址,构成了相当于运输层服务访问点TSAP的地址(总共是48b

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功