计算机网络资料剖析

上传人:今*** 文档编号:107981286 上传时间:2019-10-22 格式:PPT 页数:48 大小:1.40MB
返回 下载 相关 举报
计算机网络资料剖析_第1页
第1页 / 共48页
计算机网络资料剖析_第2页
第2页 / 共48页
计算机网络资料剖析_第3页
第3页 / 共48页
计算机网络资料剖析_第4页
第4页 / 共48页
计算机网络资料剖析_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《计算机网络资料剖析》由会员分享,可在线阅读,更多相关《计算机网络资料剖析(48页珍藏版)》请在金锄头文库上搜索。

1、第二章:TCP/IP简介,王玉,2.1 TCP/IP简介 2.2 TCP/IP协议栈 2.3 IP地址综述 2.4 TCP/IP使用工具 2.5名称解析,2.1 TCP/IP简介,TCP/IP(Transmission Control Protocol/Internet Protocol)最初由美国国防部高级研究计划局(Department of Defence Advanced Research Project Agency,DARPA)在1969年提出的,并把它用在ARPANET(Advanced Research Project Agency)中。随着ARPANET在规模和作用范围的日益

2、扩大,TCP/IP协议也逐渐完善,最终成为Internet的基础,并且应用范围也愈来愈广,几乎已成为广域网和局域网内的标准网络协议。TCP/IP协议族给出了独立于厂商硬件的数据传送格式及规则。由于它的独特的硬件独立性,所以迅速被众多系统使用,比如UNIX就采用TCP/IP协议,Windows NT和Novell的Net ware都有支持TCP/IP的支持软件或模块。之所以称之为TCP/IP协议族,是因为TCP/IP包含着一系列的协议和应用程序。,2.2 TCP/IP协议栈,所谓“协议”是关于通信过程的规则或条约,它规定了如何传输信号,如何在宿主计算机上将数据包重新组成计算机信息等等。IP的结构

3、模型与ISO的OSI模型略有不同,IP对OSI模型进行了更进一步的简化,它采用4层结构模型。图中也画出了对应的OSI层次,这里需说明的是IP协议分层并不严格对应OSI模型的相关协议层次。最上面第4层为应用层,它支持用户,提供通信工具和相关 服务(如FTP、E-mail等);往下第3层为传输层,负责传输控制,保证端对端数据传输的完整性(TCP);第2层为网络层,负责数据传输,将数据发往目的地;最底层为网络接口层,负责访问具体网络(如以太网、令牌网等)。,接口层: 模型的基础是网络接口层,它负责数据帧的发送和接收。该层通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。接口层还包括ARP(

4、地址解析协议)和RARP(反向地址解析协议)等。,网络层: 这一层负责把下层传来的数据进行分组,并进行必要的路由算法,把这些分组通过相同或者不同的路径传向目标。网络层有四个主要的协议:网际协议IP、Internet控制报文协议ICMP、地址解析协议APR和逆地址解析协议RARP。网络层的主要功能是使主机可以把分组发往任何网络并使分组独立地传向目标(可能经由不同的网络)。这些分组到达的顺序和发送的顺序可能不同,因此如果需要按顺序发送及接收时,高层必须对分组排序。这就象一个人邮寄一封信,不管他准备邮寄到哪个国家,他仅需要把信投入邮箱,这封信最终会到达目的地。这封信可能会经过很多的国家,每个国家可能

5、有不同的邮件投递规则,但这对用户是透明的,用户是不必知道这些投递规则。另外,网络层的网际协议IP的基本功能是:无连接的数据报传送和数据报的路由选择,即IP协议提供主机间不可靠的、无连接数据报传送。互连网控制报文协议ICMP提供的服务有:测试目的地的可达性和状态、报文不可达的目的地、数据报的流量控制、路由器路由改变请求等。地址转换协议ARP的任务是查找与给定IP地址相对应主机的网络物理地址。反向地址转换协议RARP主要解决物理网络地址到IP地址的转换。,IP协议: IP协议对应于OSI模型的第三层,即网络层,它提供了一种不可靠、无连接的投递机制。IP提供了三个重要的定义:第一,IP定义了在整个计

6、算机网络上数据传输所用的基本单元,它规定了互连网上传输数据的确切格式;第二,IP软件完成路由选择的功能,选择一个数据发送的路径;第三,除了数据格式和路由选择的精确而正式的定义外,IP还包括了一组嵌入了不可靠分组投递思想的规则,这些规则指明了主机和路由器应该如何处理分组、何时以及如何发出错误信息以及在什么情况下可以放弃数据包。现在所用的以及所指的IP协议版本为1981年定义的第四版,即IPv4,其数据报的格式如图2所示。在传输过程中从左到右,从上到下,即最左位为MSB。图中各字段说明如下: 版本号为4比特,用来标明数据报采用的版本为IPv4,首部长度字段也是4个比特,用来给出以32比特字长为单位

7、的首部长度。服务类型字段为8个比特,可用来对数据报划分优先级别。总长度字段为16比特,给出要传输数据报的以八位组为单位的总长度,IP数据报的最大长度为216即65535个八位组。标识符、标志和分片偏移量分别为16、3和13比特,用来控制数据报的分片和重组,以便让主机识别每个到达数据报片,将数据完整复原。寿命(TTL)字段为8个比特,用来设置该数据在互联网中允许存在的以秒为单位的时间,其目的是避免数据报在网络中出现无限循环。协议字段为8比特,类似于网络帧中的类型字段,它说明数据报的数据字段中的数据是用哪种高层协议产生的。校验和字段为16比特,用于保证首部数据的完整性。源地址和目的地址均为32比特

8、,用来标明数据报的源地址和目的地址,在IPv4中将地址分为4类地址,在本讲座的第一讲已经作了介绍。IP选项字段是任选的,主要用于网络测试或调试。数据字段用来传送需传送的数据,可以为065535个字节。,地址解析协议(ARP): 在IP数据包能够转发到另外一台计机之前,必须知道接收机器的硬件地址,ARP就是用来确定与IP地址相对应的MAC地址的协议。如果ARP在它自己的缓存中没有包含这个地址,那么,这就对这个地址发出一个广播请求,网络上所有主机都处理这个请求,如果其中包含对那个地址的映射,那么就把该地址传递到发出广播请求的那台主机,然后再把数据包发送上路,并且将新的信息地址存储到路由器的缓存中,

9、逆向地址解析协议(RARP): RARP服务器以ARP表(或者缓存)的形式维护着机器号码的数据库,这个数据库由系统管理员所创建。跟ARP相反的是,RARP协议提供了一个IP号码与一个请求硬件地址相对应。当RARP服务器接收到来自网络上某个节点发出的对某个IP号码的请求时,该服务器就通过检查它的路由表来获取发出请求的那个节点的机器号码、并把合适的IP号码发送回去到请求节点以做出响应。,Internet控制信息协议(ICMP): ICMP由IP所使用,它们是一些更高层次的协议,用来发送和接收有关正在传输信息的状态报告。路由器通常使用ICMP来控制路由器之间数据的通信量或者速度。如果数据通信量对于某

10、台路由器来说太快的话,这台路由器就请求其他的路由器把速度降低。 ICMP的两种基本类别是报告错误和发查询。,Internet组管理协议 (IGMP): 该协议运行于主机和与主机直接相连的组播路由器之间,是IP主机用来报告多址广播组成员身份的协议。通过IGMP协议,一方面可以通过IGMP协议主机通知本地路由器希望加入并接收某个特定组播组的信息;另一方面,路由器通过IGMP协议周期性地查询局域网内某个已知组的成员是否处于活动状态。 IGMP协议的主要作用是解决网络上广播时占用带宽的问题。在网络中,当给所有客户端发出广播信息时,支持IGMP的交换机会将广播信息不经过滤地发给所有客户端。但是这些信息只

11、需要通过组播的方式传输给某一个部分的客户端。,传输层: 传输层的功能是使源端和目标端主机上的对等实体可以进行端到端的通信。 TCP/IP的运输层提供了两个主要的协议,即传输控制协议TCP和用户数据报协议UDP,它的功能是使源主机和目的主机的对等实体之间可以进行会话。其中TCP是面向连接的协议。所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。面向连接服务是在数据交换之前,必须先建立连接。当数据交换结束后,则应终止这个连接。面向连接服务具有连接建立、数据传输和连接释放这三个阶段。在传送数据时是按序传送的。用户数据协议是无连接的服务。在无连接服务的情况下,两个实体之间的通信不需要先建立好一

12、个连接,因此其下层的有关资源不需要事先进行预定保留。这些资源将在数据传输时动态地进行分配。无连接服务的另一特征就是它不需要通信的两个实体同时是活跃的(即处于激活态)。当发送端的实体正在进行发送时,它才必须是活跃的。无连接服务的优点是灵活方便和比较迅速。但无连接服务不能防止报文的丢失、重复或失序。无连接服务特别适合于传送少量零星的报文。,传输控制协议(TCP): TCP负责把数据从一个节点可靠地传输到另外一个节点,它是一种基于连接的协议,在任何数据发送之前,它在两台机器之间建立一个连接(也叫做会话、虚拟电路或者链接)。为了建立一个可靠的链接,TCP使用了叫做“三向握手”的方式,这样就在传输双方都

13、建立端口号码和初始序列号码。握手包括下面这3个步骤: 请求者发送一个用来指定它计划使用的端口号码和初始的序列号码的数据包到服务器。 服务器用它的ISN(SYN标志置位 )来确认,这个ISN由请求者的ISN加1组成。 请求者用服务器的ISN加1来发出确认信息。 为维护一个可靠的连接,每个数据包必须包含: 源和目的地TCP端口号码。 必须分割成为更小块的消息的序列号码。 一个用来确保消息无错误发送校验和。 一个用来告诉发送机器,消息的哪些小块已经到达的确认号码。,端口、套接字和滑动窗口 : 协议的端口号码是用来引用每一台机器上(在应用层中的)某个特定应用程序或者进程的位置的。就像IP地址是用来标志

14、网络上主机的地址一样,端口地址是用来给传输层标识应用程序的,这样就在一台主机上的应用程序和另外一台主机上的应用程序之间建立了一个完整的连接。 应用程序和服务(比如文件和打印服务、或者远程登录服务等)可以配置高达65536个端口。典型的TCP/IP应用程序和服务使用前面的1023个端口。 IANA已经把这些端口分配为标准的、默认的端口。任何客户端应用程序都根据需要动态分配端口号码。端口和节点地址一起就组成了套接字。 服务和应用程序使用套接字来建立一台计机同另外一台主机之间的连接。如果应用程序需要管理数据发送的话,那么,套接字就选择面向连接的服务,比如TCP。如果应用程序不需要管理数据发送,那么套

15、接字就选择非面向连接的服务,比如UDP。 TCP使用滑动窗口在主机之间进行数据传输。滑动窗口控制在接收主机必须发送一个确认信息之前可以通过TCP连接所进行传送的信息量。 每一台计算机都有一个发送窗口和一个接收窗口,计算机使用这两个窗口来缓冲保存数据,并使通信过程的效率更高。滑动窗口允许发送计算机以数据流的形式传输数据,而不用等待每个数据包的确认信息。这样也允许接收计算机不必按照顺序来接收数据包,在接收计算机等待接收更多数据包时,它可以识别出数据包。发送窗口跟踪已经发送了数据,如果在一个给定的时间内还没有收到确认信息的话,就重新发送数据包。,用户数据报协议(UDP) : 无连接协议UDP负责数据

16、的端对端传输。不过,与TCP不一样的是,UDP并不建立连接。它试图发送数据,并试图确认目的主机真正接收至了数据。 UDP最好用来发送数量很少的数据,在这样的情况下是不需要控制发送的。尽管UDP也使用端口,但这样的端口与TCP的端口是不一样的,所以,这两种协议可以使用相同的号码而不会相互影响。 UDP是一种非常简单的无连接的协议。它提供的是不可靠的数据传输服务。UDP的简单性使它不适合于一些应用,但对另一些更加复杂的、自身提供面向连接功能的应用却很适合。其它可能使用UDP的情况包括:转发路由表数据交换、系统信息、网络监控数据等的交换。这些类型的交换不需要流量控制、应答、重排序或任何TCP提供的服务。,应用层: 它包含所有的高层协议,应用程序通过这一层访问网络。这层包含的协议有Telnet(虚拟终端协议),FTP(文件传输协议),SMTP(简单邮件传输协议),SNMP(简单网络管理协议)和DNS(域名系统服务)等。 图一是TCP/IP协议族中不同层次的协议。,看到TCP/IP的四层参考模型,很自然就会想到非常著名的OSI七层参考模型。这两个模型

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号