kl800.com省心范文网

网络协议2013课件


《网络协议》

JXZ-2011.11

第1章
1.1 1.2 1.3 1.4 1.5 1.6 1.7

TCP/IP协议概述

TCP/IP协议的体系结构 TCP/IP网络的地址与域名系统 TCP/IP协议的封装与拆封 客户-服务器模型与端口号 TCP/IP协议的标准化 TCP/IP协议实现与应用编程 习题

《网络协议》

JXZ-2011.11

1.1 TCP/IP协议的体系结构
? 1、TCP/IP的四层结构 ? TCP/IP通常被认为是一个四层协议系统(图1-1),每一层负责不同 的功能: ? 1)链路层,有时也称作数据链路层或网络接口层,通常包括操作系统 中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电 缆(或其他任何传输媒介)的物理接口细节。 ? 2)网络层,有时也称作互联网层,处理分组在网络中的活动,例如分 组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议), ICMP协议(Internet互联网控制报文协议),以及IGMP协议 (Internet组管理协议)。 ? 3)运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP 协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和 UDP(用户数据报协议)。

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用 程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的 分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可 靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方 面,UDP则为应用层提供一种非常简单的服务。它只是把称作数据报 的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另 一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分 别在不同的应用程序中有不同的用途,这一点将在后面看到。 ? 4)应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP实现 都会提供下面这些通用的应用程序:Telnet远程登录、FTP文件传输 协议、SMTP简单邮件传送协议、SNMP简单网络管理协议及其他应 用。

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? 2、TCP/IP协议在一个局域网内的应用实例 ? 一个FTP客户程序和另一个FTP服务器程序。大多数的网 络应用程序都被设计成客户—服务器模式。服务器为客户 提供某种服务,在本例中就是访问服务器所在主机上的文 件。在远程登录应用程序Telnet中,为客户提供的服务是 登录到服务器主机上。 ? 在同一层上,双方都有对应的一个或多个协议进行通信。 例如,某个协议允许TCP层进行通信,而另一个协议则允 许两个IP层进行通信。 ? 在图1-2的右边,我们注意到应用程序通常是一个用户进程, 而下三层则一般在(操作系统)内核中执行。尽管这不是 必需的,但通常都是这样处理的,例如UNIX操作系统。 ? 在图1-2中,顶层与下三层之间还有另一个关键的不同之处。 应用层关心的是应用程序的细节,而不是数据在网络中的 传输活动。下三层对应用程序一无所知,但它们要处理所 有的通信细节。

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? 在图1-2中列举了四种不同层次上的协议。FTP是一 种应用层协议,TCP是一种运输层协议,IP是一种 网络层协议,而以太网协议则应用于链路层上。 TCP/IP协议族是一组不同的协议组合在一起构成的 协议族。尽管通常称该协议族为TCP/IP,但TCP和 IP只是其中的两种协议而已(该协议族的另一个名 字是Internet协议族(InternetProtocolSuite))。 ? 网络接口层和应用层的目的是很显然的—前者处理 有关通信媒介的细节(以太网、令牌环网等),而 后者处理某个特定的用户应用程序(FTP、Telnet 等)。但是,从表面上看,网络层和运输层之间的 区别不那么明显。为什么要把它们划分成两个不同 的层次呢?

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? 3、TCP/IP协议跨网应用实例 ? 图1-3是一个包含两个网络的互连网:一个以太网 和一个令牌环网,通过一个路由器互相连接。尽管 这里是两台主机通过路由器进行通信,实际上以太 网中的任何主机都可以与令牌环网中的任何主机进 行通信。 ? 在图1-3中,我们可以划分出端系统(Endsystem) (两边的两台主机)和中间系统 (Intermediatesystem)(中间的路由器)。应用 层和运输层使用端到端(End-to-end)协议。在图 中,只有端系统需要这两层协议。但是,网络层提 供的却是逐跳(Hop-by-hop)协议,两个端系统 和每个中间系统都要使用它。

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? 在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。 也就是说,它只是尽可能快地把分组从源结点送到目的结 点,但是并不提供任何可靠性保证。而另一方面,TCP在 不可靠的IP层上提供了一个可靠的运输层。为了提供这种 可靠的服务,TCP采用了超时重传、发送和接收端到端的 确认分组等机制。运输层和网络层分别负责不同的功能。 ? 从定义上看,一个路由器具有两个或多个网络接口层(因 为它连接了两个或多个网络)。任何具有多个接口的系统, 英文都称作是多接口的multihomed)。一个主机也可以有 多个接口,但一般不称作路由器,除非它的功能只是单纯 地把分组从一个接口传送到另一个接口。同样,路由器并 不一定指那种在互联网中用来转发分组的特殊硬件盒。大 多数的TCP/IP实现也允许一个多接口主机来担当路由器的 功能,但是主机为此必须进行特殊的配置。在这种情况下, 我们既可以称该系统为主机(当它运行某一应用程序时, 如FTP或Telnet),也可以称之为路由器(当它把分组从 一个网络转发到另一个网络时)。

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? 4、TCP/IP的分层协议 ? TCP和UDP是两种最为著名的运输层协议,二者 都使用IP作为网络层协议。虽然TCP使用不可靠 的IP服务,但它却提供一种可靠的运输层服务。 UDP为应用程序发送和接收数据报。一个数据报 是指从发送方传输到接收方的一个信息单元(例 如,发送方指定的一定字节数的信息)。但是与 TCP不同的是,UDP是不可靠的,它 ? 不能保证数据报能安全无误地到达最终目的。 DNS域名系统、TFTP简单文件传送协议、 BOOTP引导程序协议等都是使用UDP的应用程序。 SNMP也使用了UDP协议,

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

《网络协议》

JXZ-2011.11

1.1

TCP/IP协议的体系结构

? IP是网络层上的主要协议,同时被TCP和UDP使用。TCP 和UDP的每组数据都通过端系统和每个中间路由器中的IP 层在互联网中进行传输。图1-4中,是一个直接访问IP的 应用程序。这是很少见的,但也是可能的(一些较老的选 路协议就是以这种方式来实现的。当然新的运输层协议也 有可能使用这种方式)。 ? ICMP是IP协议的辅助协议。IP层用它来与其他主机或路 由器交换错误报文和其他重要信息。尽管ICMP主要被IP 使用,但应用程序也有可能访问它。两个流行的诊断工具, Ping和Traceroute它们都使用了ICMP。 ? IGMP是Internet组管理协议。它用来把一个UDP数据报多 播到多个主机。 ? ARP(地址解析协议)和RARP(逆地址解析协议)是某 些网络接口(如以太网和令牌环网)使用的特殊协议,用 来转换IP层和网络接口层使用的地址。

《网络协议》

JXZ-2011.11

1.2 TCP/IP网络的地址与域名系统
? 互联网上的每个接 口必须有一个唯一 的Internet地址(也 称作IP地址)。IP地 址长32bit。Internet 地址并不采用平面 形式的地址空间, 如1、2、3等。IP地 址具有一定的结构 ,五类不同的互联 网地址格式如图1-5 所示。

《网络协议》

JXZ-2011.11

1.2 TCP/IP网络的地址与域名系统
? 这些32位的地址通常写成四个十进制的数,其中每个整数 对应一个字节。这种表示方法称作“点分十进制表示法 (Dotteddecimalnotation)”。例如,一个B类地址,它表 示为:140.252.13.33。区分各类地址的最简单方法是看它 的第一个十进制整数。图1-6列出了各类地址的起止范围, 其中第一个十进制整数用加黑字体表示。 ? 需要再次指出的是,多接口主机具有多个IP地址,其中每 个接口都对应一个IP地址。由于互联网上的每个接口必须 有一个唯一的IP地址,因此必须要有一个管理机构为接入 互联网的网络分配IP地址。这个管理机构就是互联网络信 息中心(InternetNetworkInformationCentre),称作 InterNIC。InterNIC只分配网络号。而主机号的分配则由本 地网络系统管理员来负责。

《网络协议》

JXZ-2011.11

1.2 TCP/IP网络的地址与域名系统
? Internet注册服务(IP地址和DNS域名)过去由NIC来负责,其 网络地址是nic.ddn.mil。 ? 1993年4月1日,InterNIC成立。现在,NIC只负责处理国防 数据网的注册请求,所有其他的Internet用户注册请求均由 InterNIC负责处理,其网址是:rs.internic.net。 ? InterNIC由三部分组成:注册服务(rs.internic.net),目录 和数据库服务(ds.internic.net),以及信息服务 (is.internic.net)。 ? 有三类IP地址:单播地址(目的为单个主机)、广播地址 (目的端为给定网络上的所有主机)以及多播地址(目的端 为同一组内的所有主机)。 ? 特殊的IP地址:主机号和网络号为全0或全1。

《网络协议》

JXZ-2011.11

1.2 TCP/IP网络的地址与域名系统
? 子网——对A、B、C类网络的进一步拆分; 支持地址的灵活分配和小网的划分 ? 超网——对地址相邻(连续地址空间)的 两个以上的同类A、B、C类网络的合并; 支持规模介于A、B、C类规模之间的网络 的划分 ? 无类型网络——完全依赖子网掩码划分网 络的规模,可以任意大小,抛弃A、B、C 类概念

《网络协议》

JXZ-2011.11

1.2 TCP/IP网络的地址与域名系统
? 域名系统 ? 尽管通过IP地址可以识别主机上的网络接口,进而访问主 机,但是人们最喜欢使用的还是主机名。在TCP/IP领域中, 域名系统(DNS)是一个分布的数据库,由它来提供IP地 址和主机名之间的映射信息。 ? 任何应用程序都可以调用一个标准的库函数来查看给定名 字的主机的IP地址。系统还提供一个逆函数——给定主机 的IP地址,查看它所对应的主机名。 ? 大多数使用主机名作为参数的应用程序也可以把IP地址作 为参数。例如,用Telnet进行远程登录时,既可以指定一 个主机名,也可以指定一个IP地址。

《网络协议》

JXZ-2011.11

1.2 TCP/IP网络的地址与域名系统
? 域名服务器类型 ? 同时设主辅域名服务器:热备份,定/随时镜像 ? 根域名服务器:存放到任何存在的域名服务器的 方向路径,全世界分布存放(7个或更多),定/ 随时镜像 ? 本地域名服务器:存放本地主机域名系统的服务 器 ? 授权域名服务器:可以注册永久域名的服务器 ? 增值服务:别名服务、一对多服务、通配符服务

《网络协议》

JXZ-2011.11

1.3 TCP/IP协议的封装与拆封
? 1、封装 ? 当应用程序用TCP传送数据时,数据被送入协议栈中,然 后逐个通过每一层封装处理直到被当作一串比特流送入网 络。其中每一层封装对收到的数据都要增加一些首部信息 (有时还要增加尾部信息),该过程如图1-7所示。TCP 传给IP的数据单元称作TCP报文段或简称为TCP段 (TCPsegment)。IP传给网络接口层的数据单元称作IP 数据报(IPdatagram)。通过以太网传输的比特流称作帧 (Frame)。 ? 图1-7中帧头和帧尾下面所标注的数字是典型以太网帧首 部的字节长度。以太网数据帧的物理特性是其长度必须在 46~1500字节之间。

《网络协议》

JXZ-2011.11

1.3 TCP/IP协议的封装与拆封

《网络协议》

JXZ-2011.11

1.3 TCP/IP协议的封装与拆封
? 图1-7中IP和网络接口层之间传送的数据单元应该是分组(packet)。 分组既可以是一个IP数据报,也可以是IP数据报的一个片 (fragment)。UDP数据与TCP数据基本一致。唯一的不同是UDP传 给IP的信息单元称作UDP数据报(UDPdatagram),而且UDP的首 部长为8字节。 ? 由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生 成的IP首部中加入某种标识,以表明数据属于哪个协议。为此,IP在 首部中存入一个长度为8bit的数值,称作协议域。1表示为ICMP协议, 2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。 ? 类似地,许多应用程序都可以使用TCP或UDP来传送数据。运输层协 议在生成报文首部时要存入一个应用程序的标识符。TCP和UDP都用 一个16bit的端口号来表示不同的应用程序。TCP和UDP把源端口号和 目的端口号分别存入报文首部中。 ? 网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以 太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。 为此,以太网的帧首部也有一个16bit的帧类型域。

《网络协议》

JXZ-2011.11

1.3 TCP/IP协议的封装与拆封
? 2、拆封 ? 当目的主机收到一个以太网数据帧时,数据就 开始从协议栈中由底向上升,同时去掉各层协 议加上的报文首部。每层协议处理程序都要去 检查报文首部中的协议标识,以确定接收数据 的上层协议。这个过程称作拆封 (Demultiplexing),图1-8显示了该过程是如 何发生的。 ? 协议是通过目的端口号、源IP地址和源端口号进 行解包的。 ? 注意协议ICMP和IGMP、ARP和RARP和IP的定 位关系。

《网络协议》

JXZ-2011.11

1.3 TCP/IP协议的封装与拆封

《网络协议》

JXZ-2011.11

1.4 客户-服务器模型与端口号
? 1、C-S模式 ? 大部分网络应用程序在编写时都假设一端是客户, 另一端是服务器,其目的是为了让服务器为客户 提供一些特定的服务。可将这种服务分为两种类 型:重复型或并发型。 ? 重复型服务器通过以下步骤进行交互: ? 1.等待一个客户请求的到来; ? 2.处理客户请求; ? 3.发送响应给发送请求的客户; ? 4.返回1步。 ? 重复型服务器主要的问题发生在2状态。在这个时 候,它不能为其他客户机提供服务。

《网络协议》

JXZ-2011.11

1.4 客户-服务器模型与端口号
? 相应地,并发型服务器采用以下步骤: ? 1.等待一个客户请求的到来; ? 2.启动一个新的服务器来处理这个客户的请求。 在这期间可能生成一个新的进程、任务或线程, 并依赖底层操作系统的支持。这个步骤如何进行 取决于操作系统。生成的新服务器对客户的全部 请求进行处理。处理结束后,终止这个新服务器; ? 3.返回1步。 ? 并发服务器的优点在于它是利用生成其他服务器 的方法来处理客户的请求。也就是说,每个客户 都有它自己对应的服务器。如果操作系统允许多 任务,那么就可以同时为多个客户服务。

《网络协议》

JXZ-2011.11

1.4 客户-服务器模型与端口号
? 2、端口号 ? TCP和UDP采用16bit的端口号来识别应用程序。服务器一般都是通过 知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器 的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个 TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP 实现所提供的服务都用知名的1~1023之间的端口号。这些知名端口 号由Internet号分配机构(InternetAssignedNumbersAuthority,IANA) 来管理。 ? 到1992年为止,知名端口号介于1~255之间。256~1023之间的端 口号通常都是由Unix系统占用,以提供一些特定的Unix服务—也就是 说,提供一些只有Unix系统才有的、而其他操作系统可能不提供的服 务。现在IANA管理1~1023之间所有的端口号。 ? 客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机 上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很 短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服 务器则只要主机开着的,其服务就运行。大多数TCP/IP实现给临时端 口分配1024~5000之间的端口号。大于5000的端口号是为其他服务 器预留。 ? 通常TCP和UDP的缺省临时端口号从32768开始。

《网络协议》

JXZ-2011.11

1.5 TCP/IP协议的标准化
? 1、标准化部门 ? 究竟是谁控制着TCP/IP协议族,又是谁在定义新的标准以 及其他类似的事情?事实上,有四个小组在负责Internet 技术。 ? 1)Internet协会(ISOC,Internet Society)是一个推动 、支持和促进Internet不断增长和发展的专业组织,它把 Internet作为全球研究通信的基础设施。 ? 2)Internet体系结构委员会(IAB,Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自 不同专业的15个志愿者组成,其职能是负责Internet标准 的最后编辑和技术审核。IAB隶属于ISOC。

《网络协议》

JXZ-2011.11

1.5 TCP/IP协议的标准化
? 3)Internet工程专门小组(IETF,Internet Engineering Task Force)是一个面向近期标准的组织,它分为9个领 域(应用、寻径和寻址、安全等等)。IETF开发成为 Internet标准的规范。为帮助IETF主席,又成立了 Internet工程指导小组(IESG,Internet Engineering Steering Group)。 ? 4)Internet研究专门小组(IRIF,Internet Research Task Force)主要对长远的项目进行研究。 ? IRTF和IETF都隶属于IAB。

《网络协议》

JXZ-2011.11

1.5 TCP/IP协议的标准化
? RFC ? 所有关于Internet的正式标准都以RFC(Request for Comment)文档出版。另外,大量的RFC并不是正式的 标准,出版的目的只是为了提供信息。RFC的篇幅从1页 到200页不等。每一项都用一个数字来标识,如RFC1122, 数字越大说明RFC的内容越新。 ? 所有的RFC都可以通过电子邮件或用FTP从Internet上免 费获取。如果发送下面这份电子 ? 邮件,就会收到一份获取RFC的方法清单: ? To:rfc-info@ISI.EDU ? Subject:getting rfcs ? help:ways_to_get_rfcs

《网络协议》

JXZ-2011.11

1.5 TCP/IP协议的标准化
? 一些重要的RFC文档: ? 1)赋号RFC(Assigned Numbers RFC)列出了所有Internet协议中使 用的数字和常数。所有著名的Internet端口号都列在这里。当这个 RFC被更新时(通常每年至少更新一次),索引清单会列出RFC1340 被替换的时间。 ? 2)Internet正式协议标准。这个RFC描述了各种Internet协议的标准化 现状。每种协议都处于下面几种标准化状态之一:标准、草案标准、 提议标准、实验标准、信息标准和历史标准。另外,对每种协议都有 一个要求的层次、必需的、建议的、可选择的、限制使用的或者不推 荐的。与赋值RFC一样,这个RFC也定期更新。 ? 3)主机需求RFC,1122和1123。RFC1122针对链路层、网络层和运 输层;RFC1123针对应用层。这两个RFC对早期重要的RFC文档作 了大量的纠正和解释。如果要查看有关协议更详细的细节内容,它们 通常是一个入口点。它们列出了协议中关于“必须”、“应该”、 “可以”、“不应该”或者“不能”等特性及其实现细节。 ? RFC1127[Braden1989c]对工作小组开发主机需求RFC过程中的讨论 内容和结论进行了非正式的总结。 ? 4)路由器需求RFC,它与主机需求RFC类似,但是只单独描述了路由 器的需求。

《网络协议》

JXZ-2011.11

1.5TCP/IP协议的标准化
? 简单服务 ? 有一些标准的简单服务几乎每种实现都要提供。而客户程 序通常选择Telnet。

《网络协议》

JXZ-2011.11

1.5 TCP/IP协议的标准化
? internet与Internet ? internet意思是用一个共同的协议族把多个 网络连接在一起的互联网。而Internet指的 是世界范围内通过TCP/IP互相通信的所有 主机集合(超过100万台)。Internet(因 特网)是一个internet(互联网),但 internet不等于Internet。

《网络协议》

JXZ-2011.11

1.6 TCP/IP协议实现与应用编程
? TCP/IP的实现软件 ? 图1-10列举了各种 BSD版本发布时间, 并标注了重要的 TCP/IP特性。列在左 边的BSD网络版,其 所有的网络源代码可 以公开得到:包括协 议本身以及BSD网络 软件2.0版,还有许多 应用程序和工具(如 Telnet和FTP)。

《网络协议》

JXZ-2011.11

1.6 TCP/IP协议实现与应用编程
? 应用编程接口 ? 使用TCP/IP协议的应用程序通常采用两种应用编 程接口(API):socket和TLI(运输层接口: Transport Layer Interface)。前者有时称作 “Berkeley socket‖,表明它是从伯克利版发展而 来的。后者起初是由AT&T开发的,有时称作XTI (X/Open运输层接口),以承认X/Open这个自 己定义标准的国际计算机生产商所做的工作。XTI 实际上是TLI的一个超集。 ? 所有关于socket和TLI的编程细节请参阅文献 [Stevens1990]。

《网络协议》

JXZ-2011.11

1.7 一个测试网络和习题
? 图1-11是一个可用于TCP/IP协议测试的网络。

《网络协议》

JXZ-2011.11

1.7 一个测试网络和习题
? 习题 ? 1.1 请计算最多有多少个A类、B类和C类网络号。 ? 1.2 用匿名FTP从主机nic.merit.edu上获取文件nsfnet/ statistics/history.netcount。该文件包含在NSFNET网络上登记的国内 和国外的网络数。画一坐标系,横坐标代表年,纵坐标代表网络总数 的对数值。纵坐标的最大值是习题1.1的结果。如果数据显示一个明 显的趋势,请估计按照当前的编址体制推算,何时会用完所有的网络 地址。 ? 1.3 获取一份主机需求RFC拷贝[Braden1989a],阅读有关应用于 TCP/IP协议族每一层的稳健性原则。这个原则的参考对象是什么? ? 1.4 获取一份最新的赋值RFC拷贝。“quoteoftheday‖协议的有名端 口号是什么?哪个RFC对该协议进行了定义? ? 1.5 如果你有一个接入TCP/IP互联网的主机帐号,它的主IP地址是多 少?这台主机是否接入了Internet?它是多接口主机吗? ? 1.6 获取一份RFC1000的拷贝,了解RFC这个术语从何而来。 ? 1.7 与Internet协会联系,isoc@isoc.org或者+17036489888,了解有 关加入的情况。 ? 1.8 用匿名FTP从主机is.internic.net处获取文件about-internic/ information-about-the-internic。

《网络协议》

JXZ-2011.11

第2章
2.1 2.2 2.3 2.4 2.5 2.6

TCP/IP链路层协议

链路层协议的功能作用、目的和服务 链路层协议的种类 局域网链路层协议 核心网链路层协议 接入网链路层协议 工业控制网链路层协议

《网络协议》

JXZ-2011.11

2.1

链路层协议的功能作用、目的和服务

几个基本概念 链路:所谓链路(1ink)就是一条无源的点到点的物理线路段,中间没有 任何其他的交换节点。在进行数据通信时,两个计算机之间的通路往 往是由许多条链路(犹如一节一节的链扣)串接而成的。 数据链路:把两个相邻节点通信时,实现控制数据传输协议(规程, procedure) 的 硬 件 和 软 件 加 到 链 路 上 , 就 构 成 了 数 据 链 路 (data link)。 链路与数据链路的差别:链路是物理链路,而数据链路是逻辑链路;采 用复用技术时,一条链路上可以有多条数据链路;链路不可靠(受电 磁干扰可能出现差错),而数据链路是可靠的(出现差错后可纠正); 链路连接的生存期是节点开机到节点关机时止,而数据链路连接的生 存期是从通信开始到通信结束时止。

《网络协议》

JXZ-2011.11

2.1

链路层协议的功能作用、目的和服务

? 1、链路层的功能 ? 数据链路层最重要的功能就是通过一些数据链路层协议(即链路控制规程)的作 用,在不太可靠的物理链路上实现可靠的数据传输。 ? 具体内容包括;链路管理 、帧同步 、流量控制 、差错控制 、区分数据和控 制信息 、透明传输 、寻址等 。 链路管理:数据链路的建立、维持和释放就叫做链路管理。 帧同步:帧同步指的是收方如何从收到的比特流中准确地区分出一帧的开始和结束。 控制流量:发方发送数据的速率必须使收方来得及接收。当收方来不及接收时,就 必须及时控制发方发送数据的速率。 控制差错:发现、检测差错,对差错进行纠正,从而把差错限制在数据传输所允许 的尽可能范围内的技术和方法。 区分数据和控制信息:由于数据和控制信息都是在同一信道中传送,而在许多情况 下,数据和控制信息处于同一帧中。因此一定要有相应的措施使收方能够将它 们区分开来。 透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传送。 寻址:在多点连接的情况下,必须保证每一帧都能送到正确的目的站。收方也应当 知道发方是哪一个站。

《网络协议》

JXZ-2011.11

2.1
? ? ? ? ? ? ? ? ? ? ? ? ?

链路层协议的功能作用、目的和服务

2、链路层的作用目的 在TCP/IP协议族中,链路层主要有三个目的: (1)为IP模块发送和接收IP数据报; (2)为ARP模块发送ARP请求和接收ARP应答; (3)为RARP发送RARP请求和接收RARP应答。 在工业控制局域网络中完成三种数据传输: (1)命令数据或控制数据; (2)状态数据或数值数据; (3)辅助数据或管理数据。 或 (1)突发实时数据; (2)周期实时数据; (3)非周期数据。

《网络协议》

JXZ-2011.11

2.1

链路层协议的功能作用、目的和服务

? 3、链路层的服务内容 一个链路层协议可能提供的服务如下: 成帧和链路访问服务:几乎所有的链路层协议在把数据传送到链路上之前首先要 把网络层数据报封装进链路层的帧。 可靠传送服务:只有链路层协议提供了可靠传送服务,才能保证网络层的数据报 无差错的通过整个链路。 流量控制服务:每个链路端节点都有帧缓冲器,用来缓存数据帧。防止链路一端 的发送节点的数据帧淹没链路另一端的接收节点。 错误检测服务:很多链路层协议提供了检测一处或多处错误的机制。在发送节点 设置检错位,在接收节点进行错误检测。检错是链路层协议提供的比较常见 的服务。链路层的检错功能由硬件来实现。 纠正错误服务:错误纠正的原理类似于错误检测,但是错误纠正不仅能检测出错 误而且能判定错误出发生在那里,对于二进制数据信息,知道了错误的位置, 就能够纠正错误。 半双工与全双工选择服务:链路层提供了这两种传输模式。

《网络协议》

JXZ-2011.11

2.1

链路层协议的功能作用、目的和服务

链路层对网络层的服务可概括地分为三种类型: (1)无确认的无连接服务:从源到宿发送独立帧,不确认帧 的到达,不提供纠错重传服务。适用于误码率较低的可靠 通信。 (2)有确认的无连接服务:对发送的每一帧独立确认其接收 情况,在一定时间间隔内未收到确认则重发这一帧,适用 于不可靠的通信。 (3)有确认的面向连接服务:从源到宿建立连接(占用资 源),在连接上传输赋予编号的帧,保证帧的正确顺序, 且每帧只接收一次,对每一帧都确认,传输结束或因故中 断,则断开连接(释放占用的资源)。

《网络协议》

JXZ-2011.11

2.1
? ? ? ?

链路层协议的功能作用、目的和服务

4、链路层的地位 必要性、基础性地位——element,basis,necessary (1)链路层是任何网络体系结构中都必须具有的一个功能层次。 (2)以数据为作用对象,利用数据特点,保证数据可靠传输的第一个 功能层次 ? (3)服务对象是网络通路中的最小组成单元——链路的两个相邻节点 上对等实体 ? 充分性地位——full,sufficient ? (2)在局域网中,只要拥有完整功能的链路层协议,就可保证网络的 有效可靠运行。 ? (3)在广域网中,只要基础设施均采用相同的链路层协议(ATM或 帧中继Frame Relay),就可保证网络的有效可靠运行。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? 链路层协议是组成网络的最小单元——“一 个链路+一对相邻节点”间传输数据要遵循 的第一个规范 ? 按照构成链路的相邻节点的作用,可将链路 分为以下四种类型: ? 资源网终端链路、核心网链路、接入网链路 和工业现场控制网链路。 ? 它们通通都属于局域网

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? 资源网链路层协议 ? 资源网终端链路连接的相邻节点要么是资 源所在的节点,要么是需要资源的节点— —它们也是使用网络的用户所在的节点, 即资源网链路是信源和信宿间的直接链路。 ? 资源网链路层使用的协议多为IEEE802系列 局域网协议,目前IEEE802工作组推出的 局域网协议共有23个编号(至2010),共 30多个协议

《网络协议》

JXZ-2011.11

2.2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?

链路层协议的种类

IEEE 802.1:高层局域网协议(Bridging (networking) and Network Management) IEEE 802.2:逻辑链路控制(Logical link control) IEEE 802.3:以太网路(Ethernet) IEEE 802.4:令牌总线(Token bus) IEEE 802.5:令牌環(Token-Ring) IEEE 802.6:城域網(MAN, Metropolitan Area Network) IEEE 802.7:宽带TAG(Broadband LAN using Coaxial Cable) IEEE 802.8:光纖分佈數據介面(FDDI) IEEE 802.9:综合业务局域网(Integrated Services LAN) IEEE 802.10:局域网网络安全(Interoperable LAN Security) IEEE 802.11a/b/g/n:无线局域网(Wireless LAN & Mesh) IEEE 802.12:需求优先级(Demand priority) IEEE 802.13:(未使用) IEEE 802.14:电缆调制解调器(Cable modems) IEEE 802.15:无线个人网(Wireless PAN) – IEEE 802.15.1:无线个人网络(WPAN, Wireless Personal Area Network) – IEEE 802.15.4:低速无线个人网络(LR-WPAN, Low Rate Wireless Personal Area Network) IEEE 802.16:宽带无线接入(Broadband Wireless Access) IEEE 802.17:彈性封包環傳輸技術(Resilient packet ring) IEEE 802.18:無線電管制技術(Radio Regulatory TAG) IEEE 802.19:共存標籤(Coexistence TAG) IEEE 802.20:移動寬頻無線接入(Mobile Broadband Wireless Access) IEEE 802.21:媒介獨立換手(Media Independent Handover) IEEE 802.22:無線区域網(Wireless Regional Area Network) IEEE 802.23:紧急服务工作组(Emergency Services Working Group),2010年3月新发布

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.1:高层局域网协议(Bridging (networking) and Network Management) ? IEEE802.1为IEEE的一个工作组(Working Group)。此 工作组负责IEEE802.1标准的制定。 ? IEEE802.1标准提供了一个对整个IEEE802系列协议的概 述,描述了IEEE802标准和开放系统基本参照模型(即 ISO的OSI 模型)之间的联系,解释这些标准如何和高层 协议交互,定义了标准化的介质访问控制(MAC)层地址 格式,并且提供一个标准用于鉴别各种不同的协议。 ? IEEE802.1工作组主要负责以下工作: ? 802系列的局域网,城域网,个人网的体系结构。 ? 802系列网络之间以及与其他广域网的互连问题。 ? 802网络的网络管理 ? 介质访问控制(MAC)层及逻辑链路控制(LLC)层之上 的协议层的一些问题。

《网络协议》

JXZ-2011.11

2.2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

链路层协议的种类

LLC提供了两种无连接和一种面向连接的三种操作方式: 方式一:无回复的非连接导向方式,它允许发送帧时: 给单一的目的地址(点到点协议或单点传输); 给相同网络中的多个目的地址(多点传输); 给网络中的所有地址(广播传输)。 多点和广播传输在同一信息需要发送到整个网络的情况下可以减少网络流量。单点传输不 能保证接收端收到帧的次序和发送时的次序相同。发送端甚至无法确定接收端是否收到了 帧。 方式二:面向连接的操作方式。给每个帧进行编号,接收端就能保证它们按发送的次序接 收,并且没有帧丢失。利用滑动窗口流控制协议可以让快的发送端也能流到慢的接收端。 方式三:有回复的无连接方式。它仅限于点到点通信。 LLC的头部包含: DSAP(Destination Service Access Point,目标服务接入点)字节,8位比特 SSAP(Source Service Access Point,来源服务接入点)字节,8位比特 Control(控制)字段,8或16位比特 为了便于区分,有三种LLC PDU控制字段,分别叫做U,I,S帧。 U(Unnumbered)帧,8位的控制字段,特别用于无连接的应用 I(Information)帧,16位的控制和帧编号字段,用于面向连接的应用 S(Supervisory)帧,16位的控制字段,用于在LLC层中进行管理监督。 在这三种格式中,只有U帧在广泛使用。用第一个字节的最后两位来区分这三种PDU帧格 式。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.3:以太网路(Ethernet) ? 以太网(Ethernet)是一种计算机局域网组网技术。 IEEE制定的IEEE 802.3标准给出了以太网的技术标准。 它规定了包括物理层的连线、电信号和介质访问层协议的 内容。以太网是当前应用最普遍的局域网技术。它很大程 度上取代了其他局域网标准,如令牌环网(token ring)、 FDDI和ARCNET。 ? 以太网的标准拓扑结构为总线型拓扑,但目前的快速以太 网(100BASE-T、1000BASE-T标准)为了最大程度的 减少冲突,最大程度的提高网络速度和使用效率,使用交 换机(Switch hub)来进行网络连接和组织,这样,以太 网的拓扑结构就成了星型,但在逻辑上,以太网仍然使用 总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detect 即带冲突检测的载波监听多路访 问)的总线争用技术。

《网络协议》

JXZ-2011.11

2.2
? ? ?

链路层协议的种类

?

? ? ? ?

10Mbps以太网 10BASE-T电缆 10BASE5(又称粗缆(Thick Ethernet)或黄色电缆)── 最早实现10 Mbit/s以太网。 早期IEEE标准,使用单根RG-11同轴电缆,最大距离为500米,并最多可以连接100台 电脑的收发器,而缆线两端必须接上50欧姆的终端电阻。接收端通过所谓的“插入式 分接头”插入电缆的内芯和屏蔽层。在电缆终结处使用N型连接器。尽管由于早期的大 量布设,到现在还有一些系统在使用,这一标准实际已经丢弃,被10BASE2所淘汰。 10BASE2(又称细缆(Thin Ethernet)或模拟网络)── 10BASE5后的产品,使用 RG-58同轴电缆,最长转输距离约200米(实际为185米),仅能连接30台计算机,计 算机使用T型适配器连接到带有BNC连接器的网卡,而线路两头需要50欧姆的终结器。 虽然在能力、规格上不及10BASE5,但是因为其线材较细,方便布线、成本也便宜, 所以得到更广泛的使用,淘汰了10BASE5。由于双绞线的普及,它也被各式的双绞线 网络取代。 StarLAN ── 第一个双绞线上实现的以太网标准10 Mbit/s。后发展成10BASE-T。 10BASE-T ── 使用3类双绞线,4类双绞线,5类双绞线的4根线(两对双绞线)100米。 以太网集线器或以太网交换机位于中间连接所有节点。 FOIRL ── 光纤中继器链路。光纤以太网原始版本。 10BASE-F ── 10Mbps以太网光纤标准通称,2千米。只有10BASE-FL应用比较广泛。 – 10BASE-FL ── FOIRL标准一种升级。 – 10BASE-FB ── 用于连接多个Hub或者交换机的骨干网技术,已废弃。 – 10BASE-FP ── 无中继被动星型网,从未得到应用。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? 百兆以太网(快速以太网)快速以太网(Fast Ethernet) 为IEEE在1995年发表的网络标准,能提供达100Mbps的 传输速度。 ? 100BASE-T -- 下面三个100 Mbit/s 双绞线标准通称,最 远100米。 – 100BASE-TX -- 类似于星型结构的10BASE-T。使用2 对电缆,但是需要5类电缆以达到100Mbit/s. – 100BASE-T4 -- 使用3类电缆,使用所有4对线,半双 工。由于5类线普及,已经废弃。 – 100BASE-T2 -- 无产品。使用3类电缆。支持全双工使 用2对线,功能等效100BASE-TX,但支持旧电缆。 ? 100BASE-FX -- 使用多模光纤,最远支持400米,半双工 连接 (保证冲突检测),2km全双工。 ? 100VG AnyLAN -- 只有惠普支持, VG最早出现在市场上。 需要4对三类电缆。也有人怀疑VG不是以太网。

《网络协议》

JXZ-2011.11

2.2
? 千兆以太网 ? ? ? ? ?

链路层协议的种类

1000BASE-SX的光信号与电气信号转换器 1000BASE-T -- 1 Gbit/s 介质超五类双绞线或6类双绞线。 1000BASE-SX -- 1 Gbit/s 多模光纤(小于500M)。 1000BASE-LX -- 1 Gbit/s 多模光纤(小于2KM)。 1000BASE-LX10 -- 1 Gbit/s 单模光纤(小于10KM)。长距 离方案 ? 1000BASE-LHX --1 Gbit/s 单模光纤(10KM至40KM)。长 距离方案 ? 1000BASE-ZX --1 Gbit/s 单模光纤(40KM至70KM)。长距 离方案 ? 1000BASE-CX -- 铜缆上达到1Gbps的短距离(小于25 m) 方案。早于1000BASE-T,已废弃。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? 万兆以太网 ? 新的万兆以太网标准包含7种不同的介质类型适用于局域网,城域网 和广域网。当前使用附加标准IEEE 802.3ae用以说明,将来会合并进 IEEE 802.3标准。 ? 10GBASE-CX4 -- 短距离铜缆方案用于InfiniBand 4x连接器和CX4电 缆,最大长度15米。 ? 10GBASE-SR -- 用于短距离多模光纤,根据电缆类型能达到26-82米, 使用新型2GHz多模光纤可以达到300米。 ? 10GBASE-LX4 -- 使用波分复用支持多模光纤240-300米,单模光纤 超过10公里。 ? 10GBASE-LR 和10GBASE-ER -- 通过单模光纤分别支持10公里和40 公里 ? 10GBASE-SW, 10GBASE-LW,10GBASE-EW。用于广域网PHY, OC-192 / STM-64 同步光纤网/SDH设备。物理层分别对应 10GBASE-SR, 10GBASE-LR和10GBASE-ER,因此使用相同光纤支 持距离也一致。(无广域网PHY标准) ? 10GBASE-T -- 使用屏蔽或非屏蔽双绞线,使用CAT-6A类线至少支持 100米传输。CAT-6类线也在较短的距离上支持10GBASE-T。 ? 以全双工方式连接到网络交换器,它不支持半双工模式与CDMA/CD

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? 十万兆以太网 100G以太网 ? 新的40G/100G 以太网标准在2010年中制定完成,包含若 干种不同的介质类型。当前使用附加标准IEEE 802.3ba 用以说明。 ? 40GBASE-KR4 -- 背板方案,最少距离1米。 ? 40GBASE-CR4 / 100GBASE-CR10 -- 短距离铜缆方案, 最大长度大约7米。 ? 40GBASE-SR4 / 100GBASE-SR10 -- 用于短距离多模光 纤,长度至少在100米以上。 ? 40GBASE-LR4 / 100GBASE-LR10 -- 使用单模光纤,距离 超过10公里。 ? 100GBASE-ER4 -- 使用单模光纤,距离超过40公里。 ? 以全双工方式连接,它不支持半双工模式与CDMA/CD。

《网络协议》

JXZ-2011.11

2.2
? ?
? ? ? ?

链路层协议的种类

?

IEEE 802.4:令牌总线(Token bus) 令牌总线(Token Bus)是一种在总线拓扑结构中利用令牌(Token)作为 控制节点访问公共传输介质的控制方法。在令牌总线网络中,任何一个节点 只有在拿到令牌后才能在共享总线上发送数据。若节点不需发送数据,则将 令牌交给下一个节点。 IEEE802.4工作组负责令牌总线的标准化工作。令牌总线主要应用在工业通 讯中。 IEEE 802.5:令牌環(Token-Ring) 令牌环(Token-Ring)是定义在IEEE 802.5标准中的一种局域网接入方式。 令牌环网络的基本原理是利用令牌(代表发讯号的许可)来避免网络中的冲 突,与使用冲突检测算法CSMA/CD的以太网相比,提高网络的数据传送率。 此外,还可以设定传送的优先度。一个4M的令牌环网络和一个10M的以太网 数据传送率相当,一个16M的令牌环网络的数据传送率接近一个100M的以太 网。但网络不可复用,导致网络利用率低下。当网络中一个结点拿到令牌使 用网络后,不管此结点使用多少带宽,其它结点必须等待其使用完网络并放 弃令牌后才有机会申请令牌并使用网络。此外网络中还需要专门结点维护令 牌。 令牌环也暗示了除了使用令牌外,这还是一个环形的网络拓扑。令牌环是一 个OSI 7层模型中的第二层(数据链路层)协议。除了4Mbps,16Mbps外, IEEE 802.5也定义了100Mbps和1Gbps的数据率,不过后两者极少被用到。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.6:城域網(MAN, Metropolitan Area Network) ? 城域网(Metropolitan Area Network,MAN)指大型的计 算机网络,是介于LAN和WAN之间能传输语音与数据的公 用网络,这些网络通常涵盖一个大学校园或一座城市。一 些常用于城市区网的技术包括:异步传输模式(ATM)、光 纤分布式数据接口(FDDI)、千兆以太网。 ? IEEE 802.7:宽带TAG(Broadband LAN using Coaxial Cable) ? IEEE 802.7标准,定义了 A)光纤技术 B)宽带技术 C) 城域网MAN介质访问控制子层与物理层规范 D)局 ? IEEE 802.8:光纖分佈數據介面(FDDI) ? IEEE 802.9:综合业务局域网(Integrated Services LAN) ? 802.9--综合话音/数据局域网(IVD LAN )。定义综合话音 /数据终端访问综合话音/数据局域网(包括IVD LAN、MAN、 WAN )的媒体访问控制(MAC)子层和物理层规范。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.10:局域网网络安全(Interoperable LAN Security) ? IEEE 802.10是一项“VLAN”标准。它的正式名称是IEEE 802.10 Interoperable LAN/MAN Security Standard,是一个OSI第二层的协议,包括 了验证(Authentication)和加密(Encryption)等机制。由802.10a(安全架构) 和802.10.c(密钥管理)两个协议组成,其目的是在数据链路层内安全地交 换数据,为此它定义了称为安全数据互换(SDE:Secure Data Exchange)的协议 数据单元(PDU)。经过802.10协议处理过的MAC帧,实际上是在MAC的帧头和数 据区之间插入了一个802.10报头,该报头中的SAID(Security Association Identifier)域被一些厂家用作VLAN的标志域。虽然802.10确实是一个标准, 但它毕竟只是一个安全性标准,并不能完全满足虚拟网的需要,而且目前对 802.10报头中域的使用,各厂家仍是各自为政,互不兼容。 ? IEEE 802.12:需求优先级(Demand priority)

《网络协议》

JXZ-2011.11

2.2
? ?

链路层协议的种类

IEEE 802.11a/b/g/n:无线局域网(Wireless LAN & Mesh) 802.11是IEEE最初制定的一个无线局域网标准,主要用于难于无法布线的环境或移动 环境中计算机的无线接入,由于传输速率最高只能达到 2Mbps,所以,业务主要被用 于数据的存取。鉴于802.11在速率和传输距离上都不能满足人们的需要,因此,IEEE 小组又相继推出了 802.11b、802.11a和802.11g三个新标准。 802.11b工作于2.4GHz频带,物理层支持5.5 Mbps 和 11 Mbps两个新速率。802.11b 的传输速率可因环境干扰或传输距离而变化,在11 Mbps、5.5 Mbps、2 Mbps、1 Mbps之间切换,而且在2 Mbps、1 Mbps速率时与802.11兼容。802.11b使用直接序列 (Direct Sequence)DSSS作为协议。提供数据加密,使用的是高达128bit的WEP。 需要注意的是,802.11b和工作在5GHz频率上的 802.11a标准不兼容。由于价格低廉, 802.11b产品已经被广泛地投入市场,并在许多实际工作场所运行。 802.11a工作于5GHz频带,物理层速率可达54 Mb/s,传输层可达25Mbps。802.11a 采用正交频分复用(OFDM)的独特扩频技术;可提供25Mbps的无线ATM接口和 10Mbps的以 太网无线帧结构接口,以及TDD/TDMA的空中接口;支持语音、数据、 图像业务;一个扇区可接入多个用户,每个用户可带多个用户终端。802.11a使 用垂直 频率划分多路复用传输(OFDM)列表来增大传输范围,数据加密可达152bit WEP。
802.11g。802.11g也工作于 2.4GHz频带,使无线网络传输速率可达54Mbps,比现在 通用的802.11b要快出5倍,并且与802.11b完全兼容。由于802.11g和 802.11a的设计 方式是一样的。因此,设备供应商可以制造同时支持这三种标准的无线PC卡。 802.11b+是一个非正式的标准,称为增强型802.11b。802.11b+跟 802.11b完全兼容, 只是采用了Packet Binary Convolutional Coding (PBCC)数据调制技术,所以,能够实 现高达22Mbps的通讯速率,完全适用于数字图像、视频、MP3等多媒体文件的传输。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.14:电缆调制解调器(Cable modems)
? 本标准对交互式电视网(包括Cable Modem)进行了定义 以及相应的技术参数规范。该工作组开发有线电视和有线 调制解调器的物理与介质访问控制层的规范。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.15:无线个人网(Wireless PAN) ? 本标准规定了短距离无线网络(WPAN),包括蓝牙技术的所有技术 参数。个人区域网络设想将在便携式和移动计算设备之间产生无线互 连,例如PC、 外围设备、蜂窝电话、个人数字助理(PDA)、呼机 和消费电子,该网络使用这些设备可以在不受其他无线通信干扰的情 况下进行相互通信和互操作。 ? IEEE 802.15 WPAN共拥有4个工作组: ? 蓝牙WPAN工作组蓝牙是无线个人局域网的先驱。在初始阶段, IEEE并没有制定蓝牙相关的标准,所以经过一段快速发展时期后,蓝 牙很快就有了产品兼容性的问题。现在,IEEE决定制定行业标准来开 发能够相互兼容的蓝牙芯片、网络和产品。 ? 共存组 为所有工作在2.4GHz频带上的无线应用建立一个标准。 ? 高数据率 WPAN工作组 其802.15.3标准适用于高质量要求的多媒体 应用领域。 ? 802.15.4工作组为了满足低功耗、低成本的无线网络要求,IEEE标 准委员会在2000年12月份正式批准并成立了802.15.4工作组,任务就 是开发一个低数据率的 WPAN(LR-WPAN)标准。它具有复杂度低、 成本极少、功耗很小的特点,能在低成本设备(固定、便携或可移动 的)之间进行低数据率的传输。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

IEEE 802.15.1:无线个人网络(WPAN, Wireless Personal Area Network) 蓝牙短距离无线通信协议 IEEE 802.15.4:低速无线个人网络(LR-WPAN, Low Rate Wireless Personal Area Network)

– IEEE 802.15.4 满足国际标准组织 (ISO)开放系统互连(OSI)参考模式。它包括物理 层、介质访问层、网络层和高层。 – 物理层 – IEEE 802.15.4 提供两种物理层的选择(868/915 MHz和2.4GHz),物理层与 MAC层的协作扩大了网络应用的范畴。这两种物理层都采用直接序列扩频(DSSS) 技术,降低数字集成电路的成本,并且都使用相同的包结构,以便低作业周期、 低功耗地运作。2.4G物理层的数据传输率为250kb/s,868/915MHz物理层的数据传 输率分别是20 kbps、40 kbps。 – 2.4GHz物理层的较高速率主要归因于一个较好的调制方案:基于DSSS方法 (16个状态)的准正交调制技术。来自PPDU的二进制数据被依次(按字节从低到高) 组成4位二进制数据符号,每种数据符号(对应16状态组中的一组)被映射成32位伪 噪音CHIP,以便传输。然后这个连续的伪噪音CHIP序列被调制(采用最小移位键 控方式MSK)到载波上,即采用半正弦脉冲波形的偏移四相移相键控(O_QPSK)调 制方式。 – 868/915MHZ物理层使用简单DSSS方法,每个PPDU数据传输位被最大长为 15的CHIP序列(m-序列)所扩展。即被多组+1,-1构成的 m-序列编码,然后使用二 进制相移键控技术调制这个扩展的位元序列。不同的数据传输率适用于不同的场 合。举例如下,868/915MHz物理层的低速率换取了较好的灵敏度(-85dbm/2.4G,92dbm/868,915MHz)和较大的覆盖面积,从而减少了覆盖给定物理区域所需的节 点数。2.4G物理层的较高速率适用于较高的数据吞吐量、低延时或低作业周期的 场合。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

– 介质访问层 – IEEE 802.15.4 MAC层的特征是:联合,分离,确认帧传递,通道访问机 制,帧确认,保证时隙管理,和信令管理。MAC子层提供两个服务与高层 联系,即通过两个服务访问点(SAP)访问高层。通过MAC通用部分子层 SAP(MCPS-SAP)访问MAC数据服务,用MAC层管理实体SAP(MLME-SAP) 访问MAC管理服务。这两个服务为网络层和物理层提供了一个接口。 – 逻辑链路层 – 逻辑链路控制子层。802.2标准定义了LLC,并且通用于诸如802.3,802.11 及802.15.1等802系列标准中,而MAC子层与硬件联系较为紧密,并随不 同的物理层实现而变化。网络层负责拓扑结构的建立和维护、命名和绑定 服务,它们协同完成寻址、路由及安全这些必须的任务。这个标准的网络 层被期望能自己组织和维护。 – IEEE 802.15.4标准支持多种网络拓扑结构,包括星型和点-点拓扑结构。 应用的设计选择决定了拓扑结构;一些应用,诸如PC外设,适合低延时的 星型连接,而对于别的,诸如涉及安全要求领域,适合大面积的点-点拓扑 结构。 – 802.15.4 WPAN具有如下的特点: – 可升级卓越的网络能力,可对多达254个的网络设备进行动态设备寻址。 – 适应性与现有控制网络标准无缝集成。通过网络协调器(Coordinator)自动 建立网络,采用CSMA-CA方式进行信道存取。 – 可靠性 为了可靠传递,提供全握手协议。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.16:宽带无线接入(Broadband Wireless Access) ? 该标准主要应用于宽带无线接入方面。802.16工作组的目标 是开发固定宽带无线接入系统的标准,这些标准主要解决最 后一英里本地环路问题。 802.16与802.11a的相似之处在于 它使用未经当局许可的国家信息底部结构(U-NII)频谱上的 未许可频率。802.16不同于802.11a 的地方在于它为了提供 一个支持真正无线网络迂回的标准,从一开始就提出了有关 声音、视频、数据的服务质量问题。 ? IEEE 802.16负责对无线本地环路的无线接口及其相关功能 制定标准,它由三个小工作组组成,每个小工作组分别负责 不同的方面:IEEE 802.16.1负责制定频率为10G到60G赫兹 的无线接口标准;IEEE 802.16.2负责制定宽带无线接入系 统共存方面的标准;IEEE 802.16.3负责制定频率范围在2G 到10G赫兹之间获得频率使用许可的应用的无线接口标准。 我们可以看到,802.16.1所负责的频率是非常高的,而它的 工作也是在这三个组中走在最前沿的。由于其所定位的带宽 很特殊,在将来802.16.1 最有可能会引起工业界的兴趣。

《网络协议》

JXZ-2011.11

2.2
?

链路层协议的种类

802.16无线服务的作用就是在用户站点同核心网络之间建立起一个通信路径,这个核 心网络可以是公用电话网络也可以是因特网。IEEE 802.16标准所关心的是用户的收发 机同基站收发机之间的无线接口。其中的协议专门对在网络中传输大数据块时的无线 传输地址问题做了规定,协议标准是按照三层结构体系组织的。
三层结构中的最底层是物理层,该层的协议主要是关于频率带宽、调制模式、纠错技 术以及发射机同接收机之间的同步、数据传输率和时分复用结构等方面的。对于从用 户到基站的通信,标准使用的是按需分配多路寻址-时分多址DAMA-TDMA技术。按 需分配多路寻址DAMA技术是一种根据多个站点之间的容量需要的不同而动态地分配信 道容量的技术。时分多址TDMA是一种时分技术,它将一个信道分成一系列的帧,每个 帧都包含很多的小时间单位,称为时隙。时分多路技术可以根据每个站点的需要为其 在每个帧中分配一定数量的时隙来组成每个站点的逻辑信道。通过DAMA-TDMA技术, 每个信道的时隙分配可以动态地改变。

在物理层之上是数据链路层,在该层上IEEE 802.16规定的主要是为用户提供服务所需 的各种功能。这些功能都包括在介质访问控制MAC层中,主要负责将数据组成帧格式 来传输和对用户如何接入到共享的无线介质中进行控制。MAC协议对基站或用户在什 么时候采用何种方式来初始化信道做了规定。因为MAC层之上的一些层如ATM需要提 供服务质量服务 QoS,所以MAC协议必须能够分配无线信道容量。位于多个TDMA帧 中的一系列时隙为用户组成一个逻辑上的信道,而MAC帧则通过这个逻辑信道来传输。 IEEE 802.16.1规定每个单独信道的数据传输率范围是从2M比特/秒到155M比特/秒。
在MAC层之上是一个会聚层,该层根据提供服务的不同提供不同的功能。对于IEEE 802.16.1来说,能提供的服务包括数字音频/视频广播、数字电话、异步传输模式ATM、 因特网接入、电话网络中无线中继和帧中继。

《网络协议》

JXZ-2011.11

2.2

链路层协议的种类

? IEEE 802.17:彈性封包環傳輸技術(Resilient packet ring) ? 弹性分组环是一种城域网络的技术,目的在于采用一种全新的分组承 载技术以优化环型拓扑上数据包的传输,它吸收了千兆以太网的经济 性和SDH的可靠性,采用互逆双光纤传输环的拓扑结构,两根光纤外 环顺时钟方向而内环逆时钟方向可以同时传送数据或控制分组,因此 网络的带宽利用率有所提高。另外还采用空间重利用、自动保护倒换、 自动拓扑发现、业务分级别服务以及带宽资源动态分配等新技术来提 高环网的资源利用率。 ? RPR技术标准于2004年9月由IEEE802.17WG制定,是一种面向纯环 (单环)网络传输,专为优化数据包传输而提出的新的MAC层协议。
? “弹性”是弹性分组环的一个重要特性,它是由弹性分组环中的保护 机制来实现的。弹性分组环的保护机制提供小于50ms的保护倒换, 即当业务流途经的链路或结点发生故障而不可用时,业务流可以在小 于50ms的时间内选择另外一条路径,从而使业务流避开故障而达到 目的地。在正常情况下,两条路径都可以承载业务,不需要把一条路 径专门用作备份路径,从而高效地利用了带宽资源。IEEE802.17协 议中规定了两种保护机制——源结点定向保护机制(Steering)和环 回保护机制(Wrapping)。

《网络协议》

JXZ-2011.11

? IEEE 802.18:無線電管制技術(Radio Regulatory TAG) ? IEEE 802.19:共存標籤(Coexistence TAG) ? IEEE 802.20:移動寬頻無線接入(Mobile Broadband Wireless Access) ? IEEE 802.21:媒介獨立換手(Media Independent Handover) ? IEEE 802.22:無線区域網(Wireless Regional Area Network) ? IEEE 802.23:紧急服务工作组(Emergency Services Working Group),2010年3月新发 布

2.2

链路层协议的种类

《网络协议》

JXZ-2011.11

2.2
? 核心网链路层协议
? 高速以太网

链路层协议的种类

? ATM

《网络协议》

JXZ-2011.11

2.2
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

链路层协议的种类
Type16 SERCOSⅠ、Ⅱ 现场总线

? 工业控制网链路层协议
Type1 TS61158现场总线 Type2 CIP现场总线 Type3 Profibus现场总线 Type4 P-NET现场总线 Type5 FFHSE高速以太网 Type6 SwiftNet被撤消 Type7 WorldFIP现场总线 Type8 INTERBUS现场总线 Type9 FFH1现场总线 Type10 PROFINET实时以太网 Type11 TCnet实时以太网 Type12 EtherCAT实时以太网 Type13 EthernetPowerlink实时以太网 Type14 EPA实时以太网 Type15 Modbus-RTPS实时以太网

Type17 VNET/IP实时以太 网
Type18 CC-Link现场总线

Type19 SERCOSⅢ实时 以太网
Type20 HART现场总线 CAN现场总线 Lonwork现场总线

《网络协议》

JXZ-2011.11

2.3
? 以太网

局域网链路层协议

《网络协议》

JXZ-2011.11

提高速率的技术
? 速率是硬指标——物理指标,物理层实现 ? 实现方法
? 提高时钟 :10MHZ——25MHZ ? 增加传输线数: 2对线——3对线——4对线 ? 多态编码技术:8B/6T——PAM5

? 速度和距离的矛盾

《网络协议》

JXZ-2011.11

以太网的速度演变
? ? ? ? ? ? ?10 Mbps—10Base-T 10Base-2 10Base-5 ?100 Mbps—Fast Ethernet ?1000 Mbps—1-Gigabit Ethernet ? 10 000 Mbps— 10-Gigabit Ethernet ? 100 000Mbps— 100-Gigabit Ethernet 它们都是基带传输(Base的含义)

? 命名规则:<速率><方法><介质|线对数|最大段长>

《网络协议》

JXZ-2011.11

以太网的基带编码技术
? ? ? ? ? ? 10 Mb/s :10 Mb/s Manchester 100BASE-T4 : 100 Mb/s 8B/6T 100BASE-X : 100 Mb/s 4B/5B 100BASE-T2 : 100 Mb/s PAM5X5 1000BASE-X : 1000 Mb/s 8B/10B 1000BASE-T : 1000 Mb/s 4D-PAM5

《网络协议》

JXZ-2011.11

8B/6T编码

《网络协议》

JXZ-2011.11

4B/5B编码

《网络协议》

JXZ-2011.11

8B/10B编码

《网络协议》

JXZ-2011.11

PAM5X5编码

《网络协议》

JXZ-2011.11

传输线的使用0
? 100BASE-T2 : 100 Mb/s PAM5X5

《网络协议》

JXZ-2011.11

传输线的使用1
? 100BASE-T4 : 100 Mb/s 8B/6T

《网络协议》

JXZ-2011.11

传输线的使用2
? 1000BASE-T :1000 Mb/s 4D-PAM5

《网络协议》

JXZ-2011.11

以太网的拓扑结构的演变
? 总线结构:同轴电缆介质(细缆、粗缆) ? 分段串联:5-4-3原则
? 星形结构:双绞线(3类、5类、超5类、6 类、7类:绞距/线径) ? 级联树形: 5-4原则

《网络协议》

JXZ-2011.11

总线结构
? 冲突域:全网一个,广播传输 ? 段间设备:中继器 ? 增大了传输距离,延长了传输时间

《网络协议》

JXZ-2011.11

星形结构
? 冲突域:全网一个或多个,广播或点到点传输 ? 段间设备:集线器或交换机 ? 增大了传输距离,延长了传输时间

《网络协议》

JXZ-2011.11

5-4-3原则的根由
? 节点功能电路间延迟:498.9bit
? 线路延迟:0.585C; 0.65C ; 0.77C ; 0.67C ; ? 冲突窗口:511bit ? 最小帧限制:512bit

《网络协议》

JXZ-2011.11

以太网的标准规范
? IEEE802.3/ IEEE802.3x/ IEEE802.3xx ? IEEE802.3 version:1998;2000;2002; 2005 ? 物理层规范的不断更新(提高速率,增加 功能) ? 以太网:遵循IEEE802.3/ IEEE802.3x/ IEEE802.3xx标准的局域网;兼容其软硬件 的局域网。

《网络协议》

JXZ-2011.11

以太网协议结构
? 802.3所定义的功能规范,接口规范 ? 链路层的一部分功能,物理层的全部功能

《网络协议》

JXZ-2011.11

LLC、MAC与MAC control
? LLC:定义了以太网上信号传输帧的负载帧/客户 帧的结构和功能。可实现流量控制、单双工传输、 主从控制、区分监控命令和数据,基于HDLC设 计 ? MAC:定义物理节点,实现传输检错,实现冲突 避让和重发安排 ? MAC control:新增可选子功能层。位于LLC和 MAC之间,可以控制MAC的作用时刻

《网络协议》

JXZ-2011.11

高速以太网的MAC帧结构

《网络协议》

JXZ-2011.11

高速以太网的MAC帧结构

《网络协议》

JXZ-2011.11

高速以太网的物理层
? 从以太网实现的 带宽来说,其核 心是在它的物理 层技术,事实上 不断推陈出新的 也是以太网的物 理层。 ? 物理层的不断革 新源于对它的功 能的不断地细化, 对每一个子功能 实现细节的挖掘, 不断提出新的实 现方法和新的设 计

《网络协议》

JXZ-2011.11

? ? ? ? ? ? ? ?

RS、MII、PCS、PMA、PMD、 MDI RS:Reconciliation sublayer
MII:Media Independent Interface GMII:Giga MII PCS:Physical Coding Sublayer PMA:Physical Media Attachment PMD:Physical Media Dependent MDI:Media Dependent Interface PLS: Physical layer Signaling PHY: Physical layer Device,物理层=PCS+PMA+PMD+
MDI

? MAU:Media Attachment Unit,PMA的另一种表示 ? AUI:Attachment Unit Interface,PLS和PMA间的接口

《网络协议》

JXZ-2011.11

调理子层RS
? 完成MAC位串到四位一组、八位一组、三十二位一 组的转换,生成前导码和起始定界符。 ? 完成四位一组、八位一组、三十二位一组到MAC位 串的转换,丢弃前导码和起始定界符。 ? 接收载波监听信号和冲突发现信号 ? 生成两个简单管理信号 ? 将提供给MII的信号映射到PLS

《网络协议》

JXZ-2011.11

介质无关接口MII
? ? ? ? ? ? ? 支持10/100、1000、10000(Mbps)的传输速率 数据和定界符与参考时钟同步 提供独立的双向4位、8位、16位、32位数据通道 信号采用TTL电平与通用CMOS专用集成电路兼容 提供简单管理接口 可驱动有限长度屏蔽电缆 提供双工操作

《网络协议》

JXZ-2011.11

MII的信号
? 双向信号:数据(4-32)、定界符(1)、 出错(1)、时钟(1) ? 介质状态信号:载波检测和冲突出现 ? 管理接口信号:参数和服务

《网络协议》

JXZ-2011.11

MII的两端的实现方式
? 芯片到芯片方式(一个电路区域的两芯片或一个集成电路内的两区域) ? 母电路和子电路方式(一块板上的两个电路区域) ? 板间方式(两块电路板)

《网络协议》

JXZ-2011.11

物理编码子层PCS
? 实现传输编码和解码
? 8B/6T、 4B/5B 、 8B/10B、 PAM5 、 64B/66B

? 实现并行码组的串行化和串行码组的并行 化 ? 生成载波检测信号和冲突出现信号 ? 完成MII和下面PMA之间的发送、接收、载 波和冲突信号的映射传递

《网络协议》

JXZ-2011.11

介质关联附件子层PMA(MDU)
? 完成串行编码数据到介质线缆的分配和传 输流的转换 ? 完成介质上的传输流到串行编码数据的转 换及合成 ? 检测载波 ? 检测冲突 ? 提取时钟 ? 协商速率

《网络协议》

JXZ-2011.11

介质关联子层PMD
? ? ? ? ? ? 提供与介质的物理连接端口 提供物理信号(电或光)功率 发送电路(及光电转换) 接收电路(及电光转换) 环回电路(用于冲突检测和介质监视) 直连-交叉自适应

《网络协议》

JXZ-2011.11

介质相关接口MDI
? ? ? ? 介质和收发电路之间的物理接口 信号线的排列 接口的材料组成 接口的几何结构

? RJ45、ST、MIC、BNC等等

《网络协议》

JXZ-2011.11

以太网的传输介质
? 同轴电缆
? ? 细缆、粗缆 0.65C、0.77C的传播速度

? 双绞线
? ? 3、5、超5、6、7 0.575C的传播速度

? 光缆
? ? 塑料、多模、单模 0.67C的传播速度

? 延迟特性、衰减特性、温度特性、无中继距离

《网络协议》

JXZ-2011.11

以太网系列芯片
? ? ? ? ? ? PHY芯片——中继器、集线器芯片 am58xx MAC+ PHY芯片——交换机芯片 KS8995 Ethernet芯片(TCP/IP协议族) AX88796

? 支持速率、支持的介质、支持的连接、支持的工 作环境、功耗

《网络协议》

JXZ-2011.11

目前以太网的用户体系
? 以太网用户 可以分成四 个不同的体 系:内容供 应商、宽带 接入网络、 数据中心和 企业、研究 以及政府机 构。 将这 四个部分连 接起来的就 是互联网主 干。

《网络协议》

JXZ-2011.11

更高速度以太网技术的 动力
? 整个体系的许多部分正在转向万兆(10G)以太网,但网 络业务流量的增长速度已经快速超过万兆以太网的能 力。 这在很大程度上是由于链路汇接(LAG)问题导致 的。目前普遍使用链路汇接技术将多个不同的网络管道汇 接到单个虚拟管道中。 LAG主要是针对大约四个链路进 行性能和管理优化的。 在整个用户体系的一些部分,业 务流量几乎每年翻一番,到2010年都一直保持这一速 度。 即使四个万兆以太网管道连接起来,也不足以提供 所需要的容量。 要满足需求,需要更新的技术。 这也是 目前IEEE正在开发的。

《网络协议》

JXZ-2011.11

IEEE更高速研究组
? IEEE高速研究组(Higher Speed Study Group)最近同意研究40 Gbps和100 Gbps 下一代以太网技术标准。 两种速度主要针 对服务器和网络方面不同的需求。 IEEE研 究40 Gbps主要针对计算应用,而100 Gbps则主要针对核心和汇接应用。 通过提 供两种速度,IEEE意在保证以太网能够更 高效更经济地满足不同应用的需要,进一 步推动基于以太网技术的网络会聚。

《网络协议》

JXZ-2011.11

100Gbps以太网进展
? 已放弃40G标准的制定,开始起草100G的标准, 2010年推出 ? 2006年,日本已经完成100Gbps商用技术的实验 ? demonstrate 100Gbit/s DQPSK transmission experiment over 50km SMF. Without resorting OTDM, 100Gbit/s transmission was enabled with DQPSK format and commercially available electronics. Possibility of DQPSK modulation for future 100G Ethernet transport is verified.

《网络协议》

JXZ-2011.11

国内外厂商对100G以太网的态度
? Extreme、Force10、Foundry、锐捷等厂商都已经推出了 支持未来100G以太网的核心交换机产品。思科、Juniper、 北电、华为等 厂商对100G的态度并不是十分积极。在未 来以太网标准问题上,一直有两个阵营。其中一个是沿袭 以太网传输 的思路,与SONET规范的4倍递进有密切关 系,即从SONET OC-3到OC-12、OC-48、OC-192(与 10G对应),下一步很自然是OC-768,也就是40G的标 准。另一个阵营则是从以太网技术角度出 发,以传统的 提高10倍速度作为以太网演进方向。

《网络协议》

JXZ-2011.11

2.4

核心网链路层协议

? 广域网链路层协议 ? ATM

《网络协议》

JXZ-2011.11
章首

ATM协议体系结构
? ? ? ? ? ATM的全部结构包括四层三平面 物理层:任何实用的标准 ATM层:信元流传输 AAL层:将高层信息映射到ATM信元中 高层:任何形式的用户信息数据(其它系列的协 议数据) ? 控制平面:信令系统,负责呼叫和连接控制 ? 用户平面:传递用户信息及流量和差错控制 ? 管理平面:负责平面间,层次间的协调、管理

上一个

《网络协议》

JXZ-2011.11
章首

ATM逻辑连接
? ATM的数据链路(虚电路)是通过虚通路和虚通道来构成的 ? 虚通路VCC(Virtual Channel Connection)——用来传输信元的链路 ? 虚通道VPC(Virtual Path Connection) ——一群具有相同端点的 VCC ? “虚”的含义:通过虚通道标识符VPI和虚通路标识符VCI来分配链路 资源 ? 面向连接:用户在传输信息前,首先申请长期占用(专用电路)或临 时占用(临时电路)的虚电路(VCC或VPC),然后再进行信息元的传 输 ? 在ATM系统中,申请虚电路时,可申明最大通信速率、平均通信速 率、最大允许时延等业务质量要求

上一个

《网络协议》

JXZ-2011.11
章首

ATM逻辑连接
? VCC和VPC的建立过程: ? 请求VCC——使用或建立VPC——有满足要求的 VCC否?——有,建立连接;无,阻塞或申请— —申请到,建立连接;申请不到,拒绝这次VCC 请求 ? 虚通道的建立包括计算路由、分配容量以及保存 连接状态信息 ? 虚通路的建立只是业务质量的申请,通过保存需 要的状态信息来建立

上一个

《网络协议》

JXZ-2011.11
章首

ATM逻辑连接
? ? ? ? ? VCC/VPC的应用 端用户之间:运载用户数据 端用户到网络实体之间:传输控制信令 两个网络实体之间:通信管理和路由选择 网络实体:通信子网中的节点

上一个

《网络协议》

JXZ-2011.11
章首

ATM逻辑连接
? VCC/VPC的特性 ? 服务质量参数:信元丢失率、信元时延偏差 ? 交换VCC(临时)和半永久VCC(专用):前者 通过呼叫控制按需临时申请;后者有网管建立, 持续时间长 ? 信元序列完整性:同一VCC内传输的信元按序完 整 ? 参数协商和监控使用:VCC的通信要求可协商确 定、VCC的信元输入由网络监视

上一个

《网络协议》

JXZ-2011.11
章首

ATM逻辑连接
? ? ? ? VCC/VPC的建立和释放 1.半永久VCC:无需控制信令 2.专用元信令通道:永久性控制信令通道 3.非专用元信令通道:传输完信令后,用于 传输数据 ? 4.用户和用户间的元信令通道:在用户间传 输信令和数据

上一个

《网络协议》

JXZ-2011.11
章首

ATM信元
组成:首部(5字节)+信息字段(48字节) 首部的构成:VPI(8/12),VCI(16/16),净负荷类型PT (3/3),信元丢失优先级CLP(1),首部差错检测HEC (8/8),一般流量控制GFC(4/0) 两种首部:用户型和网络型 用户型:在用户和网络(通信子网边界)之间交流的信元。 特征:具有一般流量控制字段 网络型:在网络和网络(通信子网内)之间交流的信元。特 征:无一般流量控制字段

上一个

《网络协议》

JXZ-2011.11
章首

上一个

《网络协议》

JXZ-2011.11
章首

上一个

《网络协议》

JXZ-2011.11
章首

ATM信元
? ATM信元的特点 ? 1.大小固定(53字节)、格式固定(5字节首部+48字节 信息部) ? 2.有两种首部(用户型和网络型) ? 3.首部具有差错检测,信息部无差错检测 ? 4.用户型信元有一般流量控制,网络型信元没有 ? 5.网络型信元的VP比用户型信元的VP多 ? 6.信息部可以传送8种净负荷,其中4种是用户数据,其余 为操作、管理、维护以及预留的信息类型 ? 7.信元在发生阻塞时,可以按优先级自动丢失

上一个

《网络协议》

JXZ-2011.11
章首

ATM信元
? 一般流控制GFC ? 控制用户网络接口(UNI)上的通信量,减 轻短期超负荷; ? 为可变长度的报文的高值突发通信量提供 良好的服务; ? 流控制由网络一侧在用户到网络的方向上 实施。

上一个

《网络协议》

JXZ-2011.11
章首

ATM信元
? 首部差错控制 ? 1.采用循环冗余校验(CRC),生成多项式 为X8+X2+X+1; ? 2.具有单比特差错(99.64%)纠正能力; ? 3.具有信元同步作用; ? 4.不能纠错时,及时将信元丢弃。

上一个

《网络协议》

JXZ-2011.11
章首

ATM信元传输
? ? ?
? ? ? ? ?

基于信元的物理层 直接传输信元流,信元间的同步是通过首部差错控制信息HEC实现的 信元定界算法:从捕获第一个数据位开始按照固定长度(32位后)应是HEC, 若和HEC匹配,则进入预同步,若不是,则逐位后移,进行上述过程。 预同步后,再进行δ次确认后,才进入同步状态。 在同步状态下,若出现连续α次HEC错误,则认为信元定界丢失。 δ大,建立同步的时延大,抵抗假信元定界的能力强;α大,信元失界识别时 延大,抵抗假信元失界的能力强。 基于SDH的物理层 时分多路复用下的信元流传输,多个信元被组织成SDH帧,每个SDH帧都有 自己的同步控制信息,此外会有一个信元跨接两个SDH帧的现象

上一个

《网络协议》

JXZ-2011.11
章首

ATM信元传输
? 一个物理信道,可以按照频分复用或时分复用划分成许多子信 道。每个子信道可被独立地分配给某个用户用来传输信息。 ? ATM传输主要采用的是SDH时分复用技术 ? 由于ATM信元,是固定大小的数据块。而且传输前,先协商建 立虚通路,所以每个最小时间片对应传输一个信元,这样最小时间片 就是一个子信道,每个子信道对应ATM的一个VC,多个VC组成一个 VP。 ? ATM信元传输时,先由发送用户向用户ATM交换机提交传送请 求,ATM用户交换机根据其要求,及路由算法在通往目的端点的方 向上,建立一条VPC,再在这条VPC内,分配一条或多条VC给该用 户。分配过程是在沿途各ATM交换机中,建立为该用户专用的 VPI/VCI转换表,构成一条虚电路。以后ATM信元沿着这条虚电路以 存储转发的方式发往目的端。

上一个

《网络协议》

JXZ-2011.11
章首

ATM服务种类
? 服务种类:信息传输比特率的不同要求
? ? ? ? ? ? ? 实时服务: 恒定比特率 实时可变比特率 非实时服务: 非实时可变比特率 不指明比特率 可用比特率

上一个

《网络协议》

JXZ-2011.11
章首

ATM适配层AAL
? 将非ATM的信息组织成适于ATM协议结构传输的
? ? ? ? ? 形式 AAL服务: 传输差错处理 拆装,以允许大块的数据能够在ATM的信元的信 息字段中运载 丢失和误插入信元情况的处理 流控制和时延控制

上一个

《网络协议》

JXZ-2011.11
章首

ATM适配层AAL
? AAL协议:
? AAL有两个逻辑子层:会聚子层CS和拆装子层SAR ? 会聚子层CS(convergence sublayer)的任务是完成某个 具体应用使用ATM的控制信息(服务质量要求)的组织, 其内容是与服务相关的。 ? 拆装子层SAR(segmentation and reassembly sublayer)的任务是将CS层组织的信息单位分解成ATM信 元中净负荷嵌到ATM信元中去,而在接收方将其从净负 荷中提取出来组装成CS信息单位,交给CS。

上一个

《网络协议》

JXZ-2011.11
章首

上一个

《网络协议》

JXZ-2011.11
章首

ATM适配层AAL
? 四种AAL协议类型 ? AAL类型1:专用于恒定速率服务,适于传 输实时信息流,无需净负荷差错控制 ? 48字节的净负荷,其中有一个字节的头信 息,用于存放信元序号(3位)、序号差错 检验纠正码(4位)和1位指针标志。 ? AAL类型1没有独立定义CS子层

上一个

Header (1B)

SAR PDU payload (47 bytes)

《网络协议》

JXZ-2011.11
章首

ATM适配层AAL
AAL类型2: 一种为实时可变速率流量服务 的规则,适于压缩声频视频信息的传输, 但该类型没有得到广泛应用。其SAR的格 式如下:

上一个

SeqNo

Type

payload (45 bytes) 48 bytes

Length CRC

《网络协议》

JXZ-2011.11
章首

ATM适配层AAL
AAL类型3/4: ATM 论坛将 AAL3 and 4 合并 成一个协议规范. 它主要针对面向连接和无 连接的可变速率的数据传输,具有按序和错 误检测功能,并能在一条VC上用多路复用技 术传输几个数据流。 AAL类型3/4对CS和SAR进行了分别定义

上一个

《网络协议》

JXZ-2011.11
章首

上一个

Application
Data stream

Convergence Sublayer
CS-PDU header 44 bytes User data 44 bytes CS-PDU trailer 44 bytes

SAR Sublayer

Cell payload ATM header AAL header AAL trailer Padding

《网络协议》

JXZ-2011.11
章首

Convergence Sublayer
上一个

1

2

< 64 KB
User Data

0-3
Pad

1
0

1

2

CPI Btag BASize

Etag Length

Common Part Indicator (version no.)

Buffer Allocation Size

Pad data to 32-bit word length

SAR Sublayer

40 bits

2

4

10
MID

352 bits (44 bytes)
Segment of CS-PDU

6

10

ATM Header Type SEQ

Length CRC-10

First, last, or middle cell; or single-cell PDU

SAR-PDU sequence no.

Multiplexing ID

CRC of 48 byte ATM payload

《网络协议》

JXZ-2011.11
章首

ATM适配层AAL
? AAL类型5:它是对AAL类型3/4的改进,进一步减少协议 处理开销,减少传输开销,进一步确保与已存在协议的兼 容,进一步增强检错交错能力。

上一个

AAL5 Convergence Sublayer
< 64 KB Data 0– 47 bytes Pad 16 Reserved 16 Len 32 CRC-32

AAL5 SAR Sublayer 48 bytes 48 bytes Cell payload

....
48 bytes

ATM header

《网络协议》

JXZ-2011.11
章首

ATM的特点

? 1.采用统计时分复用技术,每个时隙传送一 个ATM信元,是电路交换方式的演进 ? 2.将ATM信元看作特殊的分组,信元传输前, 按需申请虚通路连接,是一种面向连接的 分组交换技术的演进 ? 3.信元在途中节点间,不进行差错检测和纠 正。

上一个

《网络协议》

JXZ-2011.11

2.5
? ? ? ? ?

接入网协议及特点

接入网链路层协议 SLIP PPP X.25 帧中继

《网络协议》

JXZ-2011.11

SLIP
串行线路互联网协议SLIP SLIP的全称是Serial Line IP。它是一种在串行线路上对IP 数据报进行封装的简单形式,SLIP适用于家庭中每台计算 机几乎都有的RS-232串行端口和高速调制解调器接入 Internet。SLIP是一种只能传输IP数据包的协议。 SLIP的帧格式 SLIP帧是一种封装IP数据报的简单帧,它就是在IP报文的头 和尾分别加上END(0xc0)。如果IP报文中含有c0数据,则 代之以dbc0两个字节,如果IP报文中含有db数据,则代之 以dbdd两个字节,接受方发现两个END之间的dbdd就恢复 成db,发现dbc0就恢复为c0。

《网络协议》

JXZ-2011.11

SLIP
在SLIP帧中,额外的控制信息除了帧标志字符以外没有其它信息,因此它的功 能也很有限:没有地址字段所以不能寻址;没有校验字段所以不能检错;没 有类型字段所以只能传送一种类型帧(IP报文帧)。
压缩的SLIP:由于串行线路的速率通常较低,而且通信经常是交互式的(如 Telnet和Rlogin,二者都使用TCP),因此在SLIP线路上有许多小的TCP分组 进行交换。为了传送1个字节的数据需要20个字节的IP首部和20个字节的TCP 首部,总数超过40个字节。 于是人们提出一个被称作CSLIP(即压缩SLIP)的新协议。CSLIP一般能把上面 的40个字节压缩到3或5个字节。 这些被压缩的首部大大地缩短了交互响应 时间。从而提高了线路传输有效数据的利用率。

《网络协议》

PPP

JXZ-2011.11
章首

点对点协议PPP 上一个 PPP是在拨号到因特网的连接中使用得比较普遍的一种通信协议。这主要是因为它不 像SLIP那样要求配置客户端。使用SLIP时,一般都要在你的拨号网络的配置文件 中为你的客户机和服务器指定一个IP地址。 而PPP则在连接到服务器时,可以自 动获得这些信息。 PPP能够传输多种不同网络的数据包,以及网络不同层的数据包;它既支持异步传输 也支持同步传输;还可以通过协商确定不同的传输选项。 PPP的帧格式 PPP数据帧的格式看上去很像ISO的HDLC标准。每一帧都以标志字符0x7e开始和结束。 紧接着是一个地址字节,值始终是0xff,然后是一个值为0x03的控制字节。接下 来是协议字段,类似于以太网中类型字段的功能。 CRC字段(或FCS,帧检验序 列)是一个循环冗余检验码,以检测数据帧中的错误。

《网络协议》

PPP

JXZ-2011.11
章首

由于标志字符的值是0x7e,因此当该字符出现在信息字段中时,PPP需要对它进行转 上一个 义。在同步链路中,该过程是通过一种称作比特填充(bitstuffing)的硬件技术 来完成的。在异步链路中,特殊字符0x7d用作转义字符。当它出现在PPP数据帧 中时,那么紧接着的字符的第6个比特要取其补码,具体实现过程如下: 1)当遇到字符0x7e时,需连续传送两个字符:0x7d和0x5e,以实现标志字符的转义。 2)当遇到转义字符0x7d时,需连续传送两个字符:0x7d和0x5d,以实现转义字符的转 义。 3)默认情况下,如果字符的值小于0x20(比如,一个ASCII控制字符),一般都要进 行转义。例如,遇到字符0x01时需连续传送0x7d和0x21两个字符(这时,第6个 比特取补码后变为1,而前面两种情况均把它变为0)。 PPP比SLIP具有下面这些优点:(1)PPP支持在单根串行线路上运行多种协议,不只是 IP协议;(2)每一帧都有循环冗余检验;(3)通信双方可以进行IP地址的动态协商 (使用IP网络控制协议);(4)与CSLIP类似,对TCP和IP报文首部进行压缩;(5)链 路控制协议可以对多个数据链路选项进行设置。为这些优点付出的代价是在每一 帧的首部增加3个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实 现。

《网络协议》

环回接口

JXZ-2011.11
章首

环回接口 所谓环回接口(Loop back Interface),就是允许运行在同一台主机上的 客户程序和服务器程序通过TCP/IP进行通信的接口。它通常与一个特殊 的IP地址相联系。

上一个

《网络协议》

环回接口

JXZ-2011.11
章首

1)传给环回地址(一般是127.0.0.1)的任何数据均作为IP输入。 2)传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以 太网上。 3)任何传给该本机IP地址的数据均送到环回接口。 利用环回地址,可以测试本机的客户机和服务器程序能否正常工作。 最大传输单元MTU 以太网和令牌总线网对数据帧的长度都有一个限制,其最大值分别是1500 和1492字节。链路层的这个特性称作MTU,即最大传输单元。不同类型 的网络大多数都有一个上限。如果IP数据报长度比链路层的MTU还大, 那么IP层就需要进行分片(fragmentation),使每一片都小于MTU。 路经MTU 两台通信主机沿途路径中的最小MTU被称作路径MTU。两台主机之间的路径 MTU不一定是个常数。它取决于当时所选择的路由。由于选路不一定是 对称的(从A到B的路由可能与从B到A的路由不同),因此路径MTU在两 个方向上不一定是一致的。

上一个

《网络协议》

MTU

JXZ-2011.11
章首

点到点的链路层(如SLIP和PPP)的MTU并非指的是网络媒体的物理 特性。它只是一个逻辑限制,目的是为交互使用提供足够快的响 应时间。

上一个

《网络协议》

x.25

JXZ-2011.11
章首

上一个 X.25 X.25的分组级相当于OSI参考模型中的第三层,即网络层, 主要功能是向主机提供多信道的虚电路服务。X.25分 组级的主要功能是将链路层所提供的连接DTE/DCE的 一条或多条物理链路复用成数条逻辑信道,并且对每 一条逻辑信道所建立的虚电路执行与链路层单链路协 议类似的链路建立、数据传输、流量控制、顺序和差 错检测、链路的拆除等操作。所发送的数据均按分组 格式,各种类型的分组长度及交互时的逻辑顺序在标 准中均有严格的规定、利用X.25分组级协议,可向网 络层的用户提供多个虚电路连接,使用户可以同时与 公用数据网中若干个其它X.25数据终端用户(DTE)通 信。

《网络协议》

JXZ-2011.11

X.25
? X.25协议是一个广泛使用的协议,它由CCITT的一个咨询委员会ITUT提出。它允许不同网络中的计算机通过一台工作在网络层的中间计 算机相互通信。X.25协议标准和OSI的数据链路层和物理层相对应。 它用在分组交换网络中,在X.25网络中有许多中间设备,但是这些中 间设备因为需要可能变化很快,因此不好说其中有什么固定的东西。 早期的X.25网络工作在电话线上,电话线这个介质可靠性不好,因此 X.25有一套复杂的差错处理及重发机制,因此X.25运行的时候速度就 不怎么快了。今天的X.25网络定义在同步分组模式主机或其它设备和 公共数据网络之间的接口,这个接口实际上是DTE和DCE接口。 ? X.25的优点是经济实惠安装容易。X.25的速率可高达56K bps。 X.25的缺点是反复的错误检查过程颇为费时并加长传输时间。 ? X.25 协议集有三层,与 OSI 协议栈的底三层相关联。 X.25实际上是DTE与PSN之间接口的一组协议,X.25协议组包括三个层次, 即物理层、数据链路层和分组层,分别定义了三个级别上的接口。

《网络协议》

JXZ-2011.11

X.25
? 物理层:描述物理环境接口。该组包括三种协议: 1)X.21 接口运行 于8个交换电路上;2)X.21bis 定义模拟接口,允许模拟电路访问数 字电路交换网络;3)V.24 使得 DTE 能在租用模拟电路上运行以连 接到包交换结点或集中器。 ? 链路层:负责 DTE 和 DCE 之间的可靠通信传输。包括四种协议:1) LAPB 源自 HDLC,具有 HDLC 的所有特征,使用较为普遍,能够形 成逻辑链路连接。2)链路访问协议(LAP)是 LAPB 协议的前身, 如今几乎不被使用;3)LAPD 源自 LAPB,用于 ISDN,在 D 信道上 完成 DTE 之间,特别是 DTE 和 ISDN 节点之间的数据传输;4)逻 辑链路控制(LLC)一种 IEEE 802 LAN 协议,使得 X.25 数据包能 在 LAN 信道上传输。 ? 分组层:描述网络层(第三层)中分组交换网络的数据传输协议。 PLP 负责虚电路上 DTE 设备之间的分组交换。PLP 能在 LAN 和正 在运行 LAPD 的 ISDN 接口上运行逻辑链路控制(LLC)。PLP 实现 五种不同的操作方式:呼叫建立(call setup)、数据传送(data transfer)、闲置(idle)、呼叫清除(call clearing)和重启 (restarting)。

《网络协议》

帧中继

JXZ-2011.11
章首

帧中继 上一个 帧中继是在传输介质的质量不断提高的基础上发展起来的一种快速分组交 换技术。随着传输介质广泛采用光纤,其抗干扰能力大大增强,数据传 输可靠性成数量级的提高。于是传统数据帧传输过程中的“步步纠错, 步步确认”的处理方法,就显得多余了。帧中继就是一种减少节点处理 时间的技术。 1 帧中继原理:在采用帧中继技术的网络中,各中间节点不对数据帧进行 差错控制和确认。一旦知道帧的地址就立即转发它。也就是说,一个节 点在接收到帧的头部(含有地址信息)后,只要路由的下一个节点有空, 就立即转发该帧,而不需要等到帧内容全部到达后再转发。数据帧像流 水一样沿着路由节点不停的接连不断的向前转发,在相邻的节点之间不 进行传输确认,直到到达传输的目的节点,才向源节点发回确认帧,确 认只在源节点和目的节点之间进行。 帧中继技术是一种面向连接的传输技术。它极大的减少了传输时延,提 高了传输速度。这种技术的应用要求优质的传输线路,保证很低的误码 率。其次端设备要速度快,性能高,以便快速完成端到端的帧的检错和 纠错。

《网络协议》

帧中继

JXZ-2011.11
章首

帧中继的帧结构 在面向连接的分组交换传输技术中,有两种虚电路。一种是交换式 虚电路,这种虚电路需要一个呼叫过程来建立。在同一对端点之 间,不同次呼叫建立起来的虚电路可能是由不同的节点连接而成 的。或者说在同一对端点之间可以有很多条交换式虚电路。另一 种是永久式虚电路,这种虚电路无需呼叫建立,是在固定的一对 端用户之间设定的逻辑通道,是永久不变的。帧中继网络采用的 是永久虚电路。因此帧中继的帧结构相对十分简单。 帧头字段H:2-4字节。主要用来放置地址,用来指示连接的通路及 目的地址。此外,该字段还包含几个指示数据链路链接标示、前 后向拥塞通知及拥塞处理(丢弃)的控制位。

上一个

《网络协议》

JXZ-2011.11

帧中继
在物理层,帧中继网络的所有信号都是二进制的,并且用1或0表示。 FRAD负责接收电话通信公司的这些二进制信号。为了在电子介质上 传输二进制信号,电压需要可以升或降。大部分的编码方法都是双 极性的。 帧中继网络被静态地时分多路复用,以组合多条虚拟电路,并在一 条传输线路上进行传输,帧中继网络会分配给每一组DTE一个数据 链路连接标识符。因为帧中继网络使用STDM,所以为了在不使用 空时隙的情况下更好地利用链路,就要动态分配时隙。因此,帧中 继网络可以更有效地使用带宽,尤其对于客户机和服务机之间的突 发数据通信量和内部LAN链路。最后,帧中继网络使用可变长度数 据包进行有效且灵活的传输。

《网络协议》

JXZ-2011.11

帧中继

标志符——定义帧的开始和结束。这个字段的值始终相同,并且要么表示为十六进制数字7E,要么表 示为二进制数字01111110。 ?地址——包含如下信息: ?DLCI——10位DLCI是帧中继题头的本质内容。这个值表示DTE设备和交换机之间的虚拟连接。 每一条被多路复用到物理信道上的虚拟连接都将由惟一的DLCI表示。DLCI值只具有本地意义,这 意味着这些值仅用于驻留值的物理信道。因此,位于连接的另一端的设备可以使用不同的DLCI值 来表示相同的虚拟连接。 ?EA(扩展地址,Extended Address)——EA用于表示EA值是1的字节是否是最后的寻址字段。 如果值是1,那么当前字节最后就是DLCI八位字节。尽管当前帧中继实现全部使用两个八位字节 的DLCI,但是这项功能确实允许在将来使用更长的DLCI。地址字段的每一个字节的第8位用于表 明EA。 ?C/R——C/R是紧接着地址字段中最重要的DLCI字节的位。目前C/R位还没有定义。 ?拥塞控制——它由控制帧中继拥塞通知机制的3个位组成。该地址字段中的最后3位是FECN、 BECN和DE位。 ?数据——包含经过封装的上层数据。这个可变长度字段中的每一个帧都包括用户数据,或者有 效负载字段,它的长度变化将多达16 000个八位字节。这个字段通过帧中继网络,用于传输上层 PTU。 ?FCS——确保被传输数据的完整性。此值由源设备计算并由接收器验证以确保传输的完整性。

《网络协议》

帧中继

JXZ-2011.11
章首

帧中继网的体系结构 由于帧中继传输是建立在优质传输通道上,面向永久连接的端到端的快速 包交换。所以帧中继网不需要路由功能,因而没有网络层。因为帧中继 网追求的是高的吞吐量,所以其链路层没有流量控制,差错控制功能也 很有限。这些功能都由端点的高层(传输层以上层次)来完成。 帧中继网的中间节点都是简单的尽力快速转发的帧中继交换机。除了读帧 头以外,帧中继交换机几乎不对帧作任何处理。
帧中继交换机
高层 “帧流” “确认流” 高层

上一个

链路层 物理层 源端

链路层 物理层

链路层 物理层

链路层 物理层 目的端

《网络协议》

帧中继

JXZ-2011.11
章首

帧中继网具有以下几个显著特点: ①高效率:帧中继使用统计时分复用向用户提供共享的网络资源,每一条 线路和网络端口都可由多个端点用户按信息流量共享,大大提高了网络 资源的利用率。由于帧中继减少了网络的复杂性,网络节点处理的信息 量减少,网络的性能和响应时间明显改善。 ②吞吐量大:由于帧中继减少了中间节点的处理时间,既减轻了中间节点 的控制负荷,又大大缩短了传输的延迟,使用户数据可以拥有更多的带 宽。 ③经济:首先对投资者来说,帧中继网对中间节点处理能力要求不高,不 需大的投资代价。其次对用户来说,统计时分复用允许用户在网络资源 空闲时超过预定值占用更多的带宽,而只需付预定的费用。此外,用户 的多条逻辑链接复用到一条物理连接上,也可减少接入费用。 ④高可靠:由于帧中继实现的前提是传输线路质量高,传输误码率低;端 节点处理能力强,检错纠错能力强;所以帧中继具有高可靠性。 ⑤灵活:帧中继的协议十分简单。可以很容易地配置成容纳多种不同的网 络协议的通信量,它对高层协议透明。将现有数据网上的硬件设备稍加 修改,同时进行软件升级就可实现。

上一个

《网络协议》

JXZ-2011.11

帧中继
帧中继是一个极为有效且经济的WAN解决方案。 帧中继是X.25的直系分支,并且由ITU Q.922和Q.933 标准定义。帧中继是面向连接的包交换协议,是为 使用高速数字主干链路支持现代协议而设计的。帧 中继不像X.25那样提供错误处理和流量控制,而是 依赖上层协议提供WAN上连接设备的错误处理和流 量控制。它只定义OSI模型中的物理层和数据链路 层,从而使在帧中继上运行上层协议更加灵活。帧 中继在OSI参考模型中的物理层和数据链路层运行。

《网络协议》

思考题

JXZ-2011.11
章首

思考题:

上一个

1.SLIP和PPP的主要区别有那些?它们主要用于什么链路?
2.环回接口的作用及用途有那些?

3.为什么会有MTU?怎样获得路经MTU?
4.X.25是运行在什么位置的协议?位于OSI的那一层? 5.帧中继网络的关键技术有那些?其实现前提主要是什么?

《网络协议》

JXZ-2011.11

2.6

工业控制网链路层协议

? 目前工业环境下的现场总线标准有30多种, 其中国际标准25种左右,其中比较典型的市 场占有率大的有: ? CAN——汽车 ? Lonwork——智能大厦 ? Profibus——过程控制 ? Real Ethernet——通用

《网络协议》

JXZ-2011.11

第3章 TCP/IP网络层协议
3.1 ARP协议

3.2
3.3 3.4 3.5 3.6 3.7 3.8

RARP协议
IP协议 ICMP协议 IGMP协议 RIP协议 OSPF协议 BGP协议

《网络协议》

JXZ-2011.11

3.1

ARP协议

? 网络接口有一个硬件地址(一个48 bit的值,标识不同的以 太网或令牌环网络接口)。在硬件层次上进行的数据帧交 换必须有正确的接口地址。但是,TCP/IP有自己的地址: 32bit的IP地址。知道主机的IP地址并不能让内核发送一帧 数据给主机。内核(如以太网驱动程序)必须知道目的端 的硬件地址才能发送数据。

? ARP的功能是在32 bit的IP地址和采用不同网络技术的硬件 地址之间提供动态映射。 ? 点对点链路不使用ARP。当设置这些链路时(一般在引导 过程进行),必须告知内核链路每一端的IP地址。像以太 网地址这样的硬件地址并不涉及。

《网络协议》

JXZ-2011.11

ARP高速缓存
? ARP高效运行的关键是由于每个主机上都有一个ARP高速 缓存。这个高速缓存存放了最近Internet地址到硬件地址 之间的映射记录。高速缓存中每一项的生存时间一般为20 分钟,起始时间从被创建时开始算起。 ? 我们可以用arp命令来检查ARP高速缓存。参数-a的意思 是显示高速缓存中所有的内容。 ? arp -a ? 8:0:20:3:f6:42 ? 0:0:c0:c2:9b:26 ? 48bit的以太网地址用6个十六进制的数来表示,中间以冒 号隔开。

《网络协议》

JXZ-2011.11

ARP的分组格式
? 在以太网上解析IP地址时, ARP请求和应 答分组的格式如图所示(ARP可以用于其 他类型的网络,可以解析IP地址以外的地址。 紧跟着帧类型字段的前四个字段指定了最 后四个字段的类型和长度)。

《网络协议》

JXZ-2011.11

ARP详解
? ? ? ? 以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全1的 特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。 两个字节长的以太网帧类型表示后面数据的类型。对于ARP请求或应答来说, 该字段的值为0x0806。 硬件和协议用来描述ARP分组中的各个字段。例如,一个ARP请求分组询问 协议地址(这里是IP地址)对应的硬件地址(这里是以太网地址)。 硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。协议类型 字段表示要映射的协议地址类型。它的值为0x0800即表示IP地址。它的值与 包含I P数据报的以太网数据帧中的类型字段的值相同,这是有意设计的(参 见图)。 接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址 和协议地址的长度,以字节为单位。对于以太网上I P地址的ARP请求或应答 来说,它们的值分别为6和4。 操作字段指出四种操作类型,它们是ARP请求(值为1)、ARP应答(值为 2)、RARP请求(值为3)和RARP应答(值为4)。这个字段必需的,因为 ARP请求和AR应答的帧类型字段值是相同的。 接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端 的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址。注意,这 里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送 端的硬件地址。 对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。 当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去, 然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后 把它发送回去。

? ? ?

?

《网络协议》

JXZ-2011.11

ARP应用程序(CL命令)
? arp
? Displays and modifies the IP-to-Physical address translation tables used by address resolution protocol (ARP). ? ARP -s inet_addr eth_addr [if_addr] ? ARP -d inet_addr [if_addr] ? ARP -a [inet_addr] [-N if_addr] ? ? Example: ? > arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Adds a static entry. ? > arp -a .... Displays the arp table. ? C:\Documents and Settings\Administrator>

《网络协议》

JXZ-2011.11

ARP 参数
? -a Displays current ARP entries by interrogating the current protocol data. If inet_addr is specified, the IP and Physical addresses for only the specified computer are displayed. If more than one network interface uses ARP, entries for each ARP table are displayed. ? -g Same as -a. ? inet_addr Specifies an internet address. ? -N if_addr Displays the ARP entries for the network interface specified by if_addr. ? -d Deletes the host specified by inet_addr. inet_addr may be wildcarded with * to delete all hosts. ? -s Adds the host and associates the Internet address inet_addr with the Physical address eth_addr. The Physical address is given as 6 hexadecimal bytes separated by hyphens. The entry is permanent. ? eth_addr Specifies a physical address. ? if_addr If present, this specifies the Internet address of the interface whose address translation table should be modified. If not present, the first applicable interface will be used.

《网络协议》

JXZ-2011.11

3.2 RARP协议
? RARP协议是许多无盘系统在引导时用来获取I P地址的。 ? 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件 中读取IP地址。但是无盘机,如X终端或无盘工作站,则 需要采用其他方法来获得IP地址。 ? 网络上的每个系统都具有唯一的硬件地址,它是由网络接 口生产厂家配置的。 ? 无盘系统的RARP实现过程是从接口卡上读取唯一的硬件 地址,然后发送一份RARP请求(一帧在网络上广播的数 据),请求某个主机响应该无盘系统的IP地址(在RARP 应答中)。 ? 在概念上这个过程是很简单的,但是实现起来常常比ARP 要困难,其原因在本章后面介绍。RARP的正式规范是 RFC 903 [Finlayson et al. 1984]。

《网络协议》

JXZ-2011.11

RARP的分组格式
? RARP分组的格式与ARP分组基本一致(见 图)。它们之间主要的差别是RARP请求或 应答的帧类型代码为0x8035,而且RARP 请求的操作代码为3,应答操作代码为4。 对应于ARP,RARP请求以广播方式传送, 而RARP应答一般是单播(unicast)传送的。

《网络协议》

JXZ-2011.11

RARP服务器
? 虽然RARP在概念上很简单,但是一个RARP服务器的设计与系统相 关而且比较复杂。相反,提供一个ARP服务器很简单,通常是TCP/IP 在内核中实现的一部分。由于内核知道IP地址和硬件地址,因此当它 收到一个询问IP地址的ARP请求时,只需用相应的硬件地址来提供应 答就可以了。 ? RARP服务器是个作为用户进程:RARP服务器的复杂性在于,服务 器一般要为多个主机(网络上所有的无盘系统)提供硬件地址到IP地 址的映射。该映射包含在一个磁盘文件中(在Unix系统中一般位于 /etc/ethers目录中)。由于内核一般不读取和分析磁盘文件,因此 RARP服务器的功能就由用户进程来提供。 ? 每个网络有多个RARP服务器:。为了让无盘系统在RARP服务器关 机的状态下也能引导,通常在一个网络上(例如一根电缆)要提供多 个RARP服务器。当服务器的数目增加时(以提供冗余备份),网络 流量也随之增加,因为每个服务器对每个RARP请求都要发送RARP 应答。发送RARP请求的无盘系统一般采用最先收到的RARP应答 (对于ARP,我们从来没有遇到这种情况,因为只有一台主机发送 ARP应答)。另外,还有一种可能发生的情况是每个RARP服务器同 时应答,这样会增加以太网发生冲突的概率。

《网络协议》

JXZ-2011.11

3.3 IP协议
? IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及 IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的数据报传 送服务。 ? 不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的 地。IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂 时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后 发送ICMP消息报给信源端。任何要求的可靠性必须由上层来提供(如 TCP)。 ? 无连接(connectionless)这个术语的意思是IP并不维护任何关于后续 数据报的状态信息。每个数据报的处理是相互独立的。这也说明,IP数 据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的 数据报(先是A,然后是B),每个数据报都是独立地进行路由选择, 可能选择不同的路线,因此B可能在A到达之前先到达。

《网络协议》

JXZ-2011.11

I P数据报的格式

《网络协议》

JXZ-2011.11

网络传输中的大端顺序
? 最高位在左边,记为0 bit;最低位在右边,记为 31 bit。 ? 4个字节的32 bit值以下面的次序传输:首先是0~ 7 bit,其次8~15 bit,然后1 6~23 bit,最后是 24~31 bit。这种传输次序称作big endian字节序。 由于TCP/IP首部中所有的二进制整数在网络中传 输时都要求以这种次序,因此它又称作网络字节 序。以其他形式存储二进制整数的机器,如little endian格式,则必须在传输数据之前把首部转换 成网络字节序。

《网络协议》

JXZ-2011.11

IP报文的服务类型字段

《网络协议》

JXZ-2011.11

IP协议中的路由表
路由表中的每一项都包含下面这些信息: ? 目的IP地址。它既可以是一个完整的主机地址,也可以是 一个网络地址,由该表目中的标志字段来指定(如下所 述)。主机地址有一个非0的主机号(见图1-5),以指定 某一特定的主机,而网络地址中的主机号为0,以指定网 络中的所有主机(如以太网,令牌环网)。 ? 下一站(或下一跳)路由器( next-hop router)的IP地址, 或者有直接连接的网络IP地址。下一站路由器是指一个在 直接相连网络上的路由器,通过它可以转发数据报。下一 站路由器不是最终的目的,但是它可以把传送给它的数据 报转发到最终目的。 ? 标志。其中一个标志指明目的IP地址是网络地址还是主机 地址,另一个标志指明下一站路由器是否为真正的下一站 路由器,还是一个直接相连的接口。 ? 为数据报的传输指定一个网络接口。

《网络协议》

JXZ-2011.11

IP路由选择过程
? I P路由选择主要完成以下这些功能:
? 1) 搜索路由表,寻找能与目的IP地址完全匹配的表目(网 络号和主机号都要匹配)。如果找到,则把报文发送给该 表目指定的下一站路由器或直接连接的网络接口(取决于 标志字段的值)。 ? 2) 搜索路由表,寻找能与目的网络号相匹配的表目。如果 找到,则把报文发送给该表目指定的下一站路由器或直接 连接的网络接口(取决于标志字段的值)。目的网络上的 所有主机都可以通过这个表目来处置。例如,一个以太网 上的所有主机都是通过这种表目进行寻径的。 ? 这种搜索网络的匹配方法必须考虑可能的子网掩码。关于 这一点我们在下一节中进行讨论。 ? 3) 搜索路由表,寻找标为“默认( default)”的表目。 如果找到,则把报文发送给该表目指定的下一站路由器。

《网络协议》

JXZ-2011.11

IP路由选择过程? 如果上面这些步骤都没有成功,那么该数据报就不能被传 送。如果不能传送的数据报来自本机,那么一般会向生成 数据报的应用程序返回一个“主机不可达”或“网络不可 达”的错误。 ? 完整主机地址匹配在网络号匹配之前执行。只有当它们都 失败后才选择默认路由。默认路由,以及下一站路由器发 送的ICMP间接报文(如果我们为数据报选择了错误的默 认路由),是IP路由选择机制中功能强大的特性。我们在 后面章节对它们进行讨论。为一个网络指定一个路由器, 而不必为每个主机指定一个路由器,这是IP路由选择机制 的另一个基本特性。这样做可以极大地缩小路由表的规模, 比如Internet上的路由器有只有几千个表目,而不会是超 过100万个表目。

《网络协议》

JXZ-2011.11

子网掩码及子网计算
? 掩码是一个32 bit的值,其中值为1的比特留给网 络号和子网号,为0的比特留给主机号。 ? 给定IP地址和子网掩码以后,主机就可以确定IP 数据报的目的是:(1)本子网上的主机;(2)本网络 中其他子网中的主机;(3)其他网络上的主机。如 果知道本机的IP地址,那么就知道它是否为A类、 B类或C类地址(从IP地址的高位可以得知),也就 知道网络号和子网号之间的分界线。而根据子网 掩码就可知道子网号与主机号之间的分界线。

《网络协议》

JXZ-2011.11

特殊IP地址

《网络协议》

JXZ-2011.11

ifconfig命令
? 'ipconfig?' 不是内部或外部命令,也不是可运行的程序或批处理文件。
? USAGE: ? ipconfig [/? | /all | /renew [adapter] | /release [adapter] | ? /flushdns | /displaydns | /registerdns | ? /showclassid adapter | ? /setclassid adapter [classid] ] ? ? (wildcard characters * and ? allowed, see examples)

《网络协议》

JXZ-2011.11

Option
? Options: ? /? Display this help message ? /all Display full configuration information. ? /release Release the IP address for the specified adapter. ? /renew Renew the IP address for the specified adapter. ? /flushdns Purges the DNS Resolver cache. ? /registerdns Refreshes all DHCP leases and re-registers DNS names ? /displaydns Display the contents of the DNS Resolver Cache. ? /showclassid Displays all the dhcp class IDs allowed for adapter. ? /setclassid Modifies the dhcp class id.
? The default is to display only the IP address, subnet mask and ? default gateway for each adapter bound to TCP/IP.

《网络协议》

JXZ-2011.11

Example
? ?
? ? ? ? ? ? ? ? ? ? ?

For Release and Renew, if no adapter name is specified, then the IP address leases for all adapters bound to TCP/IP will be released or renewed.
For Setclassid, if no ClassId is specified, then the ClassId is removed. Examples: > ipconfig ... Show information. > ipconfig /all ... Show detailed information > ipconfig /renew ... renew all adapters > ipconfig /renew EL* ... renew any connection that has its name starting with EL > ipconfig /release *Con* ... release all matching connections, eg. "Local Area Connection 1" or "Local Area Connection 2" C:\Documents and Settings\Administrator>

《网络协议》

JXZ-2011.11

netstat命令
? 这个命令打印出每个接口的M T U、输入分组数、输入错误、输出分 组数、输出错误、冲突以及当前的输出队列长度。 ? 显示协议统计信息和当前 TCP/IP 网络连接。
? NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] ? ? -a 显示所有连接和监听端口。 -b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况 下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建 连接或监听端口的组件序列被显示。这种情况下,可执行组件名 在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注 意此选项可能需要很长时间,如果没有足够权限可能失败。 ? -e 显示以太网统计信息。此选项可以与 -s选项组合使用。 ? -n 以数字形式显示地址和端口号。 ? -o 显示与每个连接相关的所属进程 ID。 ?

《网络协议》

JXZ-2011.11

? -p proto 显示 proto 指定的协议的连接;proto 可以是下列协议之一: ? TCP、UDP、TCPv6 或 UDPv6。 ? 如果与 -s 选项一起使用以显示按协议统计信息,proto 可 以是下列协议之一: ? IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 ? -r 显示路由表。 ? -s 显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、 ? TCP、TCPv6、UDP 和 UDPv6 的统计信息; ? -p 选项用于指定默认情况的子集。 ? -v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接 或监听端口的组件。 ? interval 重新显示选定统计信息,每次显示之间暂停时间间隔(以秒 计)。 ? 按 CTRL+C 停止重新显示统计信息。如果省略,netstat 显示当前配 置信息(只显示一次)

《网络协议》

JXZ-2011.11

3.4

ICMP协议

? ICMP通常被认为是IP层的一个组成部分。 它传递差错报文以及其他需要注意的信息。 ? ICMP报文通常被IP层或更高层协议(TCP 或UDP)使用。一些ICMP报文把差错报文 返回给用户进程。 ? ICMP报文是在IP数据报内部被传输的

《网络协议》

JXZ-2011.11

ICMP报文格式

? 所有ICMP报文的前4个字节都是一样的,但是剩下的其他 字节则互不相同。 ? 类型字段可以有15个不同的值,以描述特定类型的ICMP 报文。某些ICMP报文还使用代码字段的值来进一步描述 不同的条件。最终不同类型由报文中的类型字段和代码字 段来共同决定。 ? 检验和字段覆盖整个ICMP报文。使用的算法与IP首部检 验和算法相同。ICMP的检验和是必需的。

《网络协议》

JXZ-2011.11

ICMP报文类型

《网络协议》

JXZ-2011.11

ICMP差错报文产生机制
? 在对ICMP差错报文进行响应时,永远不会生成另 一份ICMP差错报文(如果没有这个限制规则,可 能会遇到一个差错产生另一个差错的情况,而差 错再产生差错,这样会无休止地循环下去)。 ? 当发送一份ICMP差错报文时,报文始终包含IP的 首部和产生ICMP差错报文的IP数据报的前8个字 节。这样,接收ICMP差错报文的模块就会把它与 某个特定的协议(根据IP数据报首部中的协议字 段来判断)和用户进程(根据包含在IP数据报前8 个字节中的TCP或UDP报文首部中的TCP或UDP 端口号来判断)联系起来。

《网络协议》

JXZ-2011.11

避免ICMP差错报文风暴
? 下面各种情况都不会导致产生ICMP差错报文: ? 1) ICMP差错报文(但是,ICMP查询报文可能会 产生ICMP差错报文)。 ? 2) 目的地址是广播地址或多播地址(D类地址) 的IP数据报。 ? 3) 作为链路层广播的数据报。 ? 4) 不是IP分片的第一片。 ? 5) 源地址不是单个主机的数据报。这就是说, 源地址不能为零地址、环回地址、广播地址或多 播地址。 ? 这些规则是为了防止产生ICMP差错报文广播风暴。

《网络协议》

JXZ-2011.11

ICMP地址掩码请求与应答
? ICMP地址掩码请求用于无盘系统在引导过程中获 取自己的子网掩码,系统广播它的ICMP请求报文 (这一过程与无盘系统在引导过程中用RARP获 取IP地址是类似的)。无盘系统获取子网掩码的 另一个方法是BOOTP协议。ICMP地址掩码请求 和应答报文的格式如图。报文中的标识符和序列 号字段由发送端任意选择设定,这些值在应答中 将被返回。这样,发送端就可以利用该应答与请 求进行匹配。

《网络协议》

JXZ-2011.11

ICMP时间戳请求与应答
? ICMP时间戳请求允许系统向另一个系统查询当前的时间。 返回的值是自午夜开始计算的毫秒数,协调的统一时间 CoordinatedUniversalTime,UTC)(早期的参考手册认为 UTC是格林尼治时间)。这种ICMP报文的好处是它提供 了毫秒级的分辨率,而利用其他方法从别的主机获取的时 间(如某些Unix系统提供的rdate命令)只能提供秒级的 分辨率。由于返回的时间是从午夜开始计算的,因此调用 者必须通过其他方法获知当时的日期,这是它的一个缺陷。 ICMP时间戳请求和应答报文格式如图。

《网络协议》

JXZ-2011.11

ICMP端口不可达差错报告报文
? ICMP端口不可达差错报文是ICMP目的不可到达 报文中的一种。一个ICMP端口不可达差错报告报 文是由TFTP启动生成且立刻返回的。ICMP报文 是在主机之间交换的,而不用目的端口号,而每 个20字节的UDP数据报则是从一个特定端口 (2924)发送到另一个特定端口(8888)。

《网络协议》

JXZ-2011.11

ICMP差错报文结构

《网络协议》

JXZ-2011.11

Ping程序
? Ping程序由MikeMuuss编写,目的是为了测试另一台主机是否可达。该 程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。 ? 一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那 台主机。反过来,如果不能Telnet到某台主机,那么通常可以用Ping程 序来确定问题出在哪里。Ping程序还能测出到这台主机的往返时间,以 表明该主机离我们有“多远”。Ping还给我们提供了检测IP记录路由和 时间戳选项的机会。 ? 当返回ICMP回显应答时,要打印出序列号和TTL,并计算往返时间。 ping程序通过在ICMP报文数据中存放发送请求的时间值来计算往返时 间。当应答返回时,用当前时间减去存放在ICMP报文中的时间值,即 是往返时间。

《网络协议》

JXZ-2011.11

带IP记录路由选项的Ping命令
? ping程序提供有查看IP记录路由(RR)选项的机会。大 多数不同版本的ping程序都提供-R选项,以提供记录路由 的功能。它使得ping程序在发送出去的IP数据报中设置 RR选项(该IP数据报包含ICMP回显请求报文)。这样, 每个处理该数据报的路由器都把它的IP地址放入选项字段 中。当数据报到达目的端时,IP地址清单被复制到ICMP 回显应答中,这样返回途中所经过的路由器地址也被加入 清单中。当ping程序收到回显应答时,它就显示出这份IP 地址清单。

《网络协议》

JXZ-2011.11

带IP时间戳选项的Ping命令
? IP时间戳选项与记录路由选项类似。IP时间戳选项的格式如图。

? 时间戳选项的代码为0x44。其他两个字段len和ptr与记录路由选项相同 :选项的总长度(一般为36或40)和指向下一个可用空间的指针(5, 9,13等)。接下来的两个字段是4bit的值:OF表示溢出字段,FL表示 标志字段。时间戳选项的操作根据标志字段来进行,如下表所示。

《网络协议》

JXZ-2011.11

ping在局域网上运行结果输出用例

《网络协议》

JXZ-2011.11

Ping在广域网上的运行结果用例

《网络协议》

JXZ-2011.11

Ping在Slip线路上的输出用例

《网络协议》

JXZ-2011.11

Ping命令格式
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[j host-list] | [-k host-list]] [-w timeout] 目的IP地址

《网络协议》

JXZ-2011.11

Traceroute程序
? 由VanJacobson编写的Traceroute程序是一个能让我们看到IP数据报从 一台主机传到另一台主机所经过的路由的应用程序。Traceroute程序还 可以让我们使用IP源路由选项。尽管不能保证从源端发往目的端的两份 连续的IP数据报具有相同的路由,但是大多数情况下它们的路由是相同 的。 ? Traceroute程序使用ICMP报文和IP首部中的TTL字段。TTL字段是由发 送端初始设置一个8bit字段。推荐的初始值由分配数字RFC指定,当前 值为64。较老版本的系统经常初始化为15或32。从一些ping程序例子 中可以看出,发送ICMP回显应答时经常把TTL设为最大值255。 ? 当路由器收到一份IP数据报,如果其TTL字段是0或1,则路由器不转发 该数据报(接收到这种数据报的目的主机可以将它交给应用程序,这是 因为不需要转发该数据报。但是在通常情况下,系统不应该接收TTL字 段为0的数据报)。相反,路由器将该数据报丢弃,并给信源主机发一 份ICMP―超时”信息。Traceroute程序的关注的正是包含这份ICMP信息 的IP报文的信源地址是该路由器的IP地址。 ? Traceroute程序发送一份UDP数据报给目的主机,但它选择一个不可能 的值作为UDP端口号(大于30000),使目的主机的任何一个应用程序 都不可能使用该端口。且依次发送若干个其IP报文的TTLL值依次为 1,2,3,...,的UDP,以每经历一个节点即生成一个ICMP―超时”差错报 告报文,直到最后生成端口不可达差错报文为止。

《网络协议》

JXZ-2011.11

Traceroute的应用输出

《网络协议》

JXZ-2011.11

带IP源站选路选项的Traceroute
? 源站选路(source routing)的思想是由发送者指定路由。它 可以采用以下两种形式: ? *严格的源路由选择。发送端指明IP数据报所必须采用的 确切路由。如果一个路由器发现源路由所指定的下一个路 由器不在其直接连接的网络上,那么它就返回一个“源站 路由失败”的ICMP差错报文。 ? *宽松的源站选路。发送端指明了一个数据报经过的I P地 址清单,但是数据报在清单上指明的任意两个地址之间可 以通过其他路由器。 ? Traceroute程序提供了一个查看源站选路的方法,我们可 以在选项中指明源站路由,然后检查其运行情况。

《网络协议》

JXZ-2011.11

带源路由选择的Traceroute输出

《网络协议》

JXZ-2011.11

ICMP主机与网络不可达差错
? 当路由器收到一份IP数据报但又不能转发时, 就要发送一份ICMP―主机不可达”差错报文 (ICMP主机不可达报文的格式如前) ? 当路由器发现找不到能到达主机的路由时, 它就响应一个主机不可达的回显请求报文。

《网络协议》

JXZ-2011.11

ICMP重定向差错
? 当IP数据报应该被发送到另一个路由器时,收到数据报的 路由器就要发送ICMP重定向差错报文给IP数据报的发送 端。如图所示。只有当主机可以选择路由器发送分组的情 况下,我们才可能看到ICMP重定向报文。 ? 重定向一般用来让具有很少选路信息的主机逐渐建立更完 善的路由表。主机启动时路由表中可以只有一个默认表项, 一旦默认路由发生差错,默认路由器将通知它进行重定向, 并允许主机对路由表作相应的改动。

《网络协议》

JXZ-2011.11

重定向报文结构
? ICMP重定向报文的接收者必须查看三个IP地址: ? (1)导致重定向的IP地址(即ICMP重定向报文的数据,位于 IP数据报的首部); ? (2)发送重定向报文的路由器的IP地址(包含重定向信息的 IP数据报中的源地址); ? (3)应该采用的路由器IP地址(在ICMP报文中的4~7字节)。

《网络协议》

JXZ-2011.11

重定向报文类型
? 关于ICMP重定向报文有很多规则。首先,重定向 报文只能由路由器生成,而不能由主机生成。另 外,重定向报文是为主机而不是为路由器使用的。 有四种不同类型的重定向报文,有不同的代码值, 如图所示。

《网络协议》

JXZ-2011.11

ICMP路由器发现报文
? 一般认为,主机在引导以后,要广播或多播传送 一份路由器请求报文。一台或更多台路由器响应 一份路由器通告报文。另外,路由器定期地广播 或多播传送它们的路由器通告报文,允许每个正 在监听的主机相应地更新它们的路由表。 ? ICMP路由器请求报文如下图所示。

《网络协议》

JXZ-2011.11

ICMP路由器通告报文格式
? 图中的地址数指的是报文中所含的地址数。地址项大小指 的是每个路由器地址32 bit字的数目,始终为2。生存期指 的是通告地址有效的时间(秒数)。IP地址必须是发送路 由器的某个地址。优先级是一个有符号的32bit整数,指出 该IP地址作为默认路由器地址的优先等级,这是与子网上 的其他路由器相比较而言的。值越大说明优先级越高。优 先级为0x80000000说明对应的地址不能作为默认路由器 地址使用,尽管它也包含中通告报文中。优先级的默认值 一般为0。

《网络协议》

JXZ-2011.11

ICMP路由器发现的实现
? 当路由器启动时,它定期在所有广播或多播传送接口上发 送通告报文。一般每两次通告间隔450秒和600秒。一份 给定的通告报文默认生命周期是30分钟。使用生命周期域 的另一个时机是当路由器上的某个接口被关闭时。在这种 情况下,路由器可以在该接口上发送最后一份通告报文, 并把生命周期值设为0。 ? 除了定期发送主动提供的通告报文以外,路由器还要监听 来自主机的请求报文,并发送路由器通告报文以响应这些 请求报文。 ? 主机在引导期间一般发送三份路由器请求报文,每三秒钟 发送一次。一旦接收到一个有效的通告报文,就停止发送 请求报文。 ? 主机也监听来自相邻路由器的请求报文。这些通告报文可 以改变主机的默认路由器。另外,如果没有接收到来自当 前默认路由器的通告报文,那么默认路由器会超时。只要 有一般的默认路由器,该路由器就会每隔10分钟发送通告 报文,报文的生命周期是30分钟。

《网络协议》

JXZ-2011.11

3.5

IGMP协议

? IGMP:Internet组管理协议。它让一个物理网络上的所有 系统知道主机当前所在的多播组。多播路由器需要这些信 息以便知道多播数据报应该向哪些接口转发。 ? 正如ICMP一样,IGMP也被当作IP层的一部分。IGMP报 文通过IP数据报进行传输。IGMP有固定的报文长度,没 有可选数据。IGMP报文封装在IP数据报中,IGMP报文通 过IP首部中协议字段值为2来指明。

《网络协议》

JXZ-2011.11

IGMP报文格式
? IGMP类型为1说明是由多播路由器发出的 查询报文,为2说明是主机发出的报告报文。 检验和的计算和ICMP协议相同。 ? 组地址为D类IP地址。在查询报文中组地址 设置为0,在报告报文中组地址为要参加的 组地址。

《网络协议》

JXZ-2011.11

加入一个多播组
? 多播组的成员是主机上的一个进程。该进程在一 个主机的给定接口上加入一个多播组。 ? 在一个给定接口上的多播组中的成员是动态的— 它随时因进程加入和离开多播组而变化。 ? 进程必须以某种方式在给定的接口上加入某个多 播组。进程也能离开先前加入的多播组。一个进 程可以在多个接口上加入同一多播组。 ? 主机必须保留一个表,此表中包含所有至少含有 一个进程的多播组以及多播组中的进程数量。主 机通过组地址和接口来识别一个多播组。

《网络协议》

JXZ-2011.11

IGMP 报告和查询
? 多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变 化情况。使用规则如下: ? 1)当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一 个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被 发送到进程加入组所在的同一接口上。 ? 2)进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一 个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到 的IGMP查询中就不再发送报告报文。 ? 3)多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属 于多播组的进程。多播路由器必须向每个接口发送一个IGMP查询。 因为路由器希望主机对它加入的每个多播组均发回一个报告,因此 IGMP查询报文中的组地址被设置为0。 ? 4)主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含 一个进程的组均要发回IGMP报告。 ? 使用这些查询和报告报文,多播路由器对每个接口保持一个表,表中 记录接口上至少还包含一个主机的多播组。当路由器收到要转发的多 播数据报时,它只将该数据报转发到(使用相应的多播链路层地址) 还拥有属于那个组主机的接口上。

《网络协议》

JXZ-2011.11

IGMP协议细节
? 首先,当一个主机首次发送IGMP报告(当第一个进程加 入一个多播组)时,并不保证该报告被可靠接收(因为使 用的是IP交付服务)。下一个报告将在间隔一段时间后发 送。这个时间间隔由主机在0~10秒的范围内随机选择。 ? 其次,当一个主机收到一个从路由器发出的查询后,并不 立即响应,而是经过一定的时间间隔后才发出一些响应 (采用“响应”的复数形式是因为该主机必须对它参加的 每个组均发送一个响应)。既然参加同一多播组的多个主 机均能发送一个报告,可将它们的发送间隔设置为随机时 延。在一个物理网络中的所有主机将收到同组其他主机发 送的所有报告,因为报告中的目的地址是那个组地址。这 意味着如果一个主机在等待发送报告的过程中,却收到了 发自其他主机的相同报告,则该主机的响应就可以不必发 送了。 ? 多播路由器并不关心有多少主机属于该组,而只关心该组 是否还至少拥有一个主机。一个多播路由器甚至不关心哪 个主机属于一个多播组。它仅仅想知道在给定的接口上的 多播组中是否还至少有一个主机。

《网络协议》

JXZ-2011.11

IGMP报文中的TTL和公共组
? IGMP报告和查询的生存时间( TTL )均设置为1,这涉及到 IP首部中的TTL字段。一个初始TTL为0的多播数据报将被 限制在同一主机。在默认情况下,待传多播数据报的TTL 被设置为1,这将使多播数据报仅局限在同一子网内传送。 更大的TTL值能被多播路由器转发。 ? 对发往一个多播地址的数据报从不会产生ICMP差错。当 TTL值为0时,多播路由器也不产生ICMP―超时”差错。 ? IP地址224.0.0.1被称为所有主机组地址。它涉及在一个物 理网络中的所有具备多播能力的主机和路由器。当接口初 始化后,所有具备多播能力接口上的主机均自动加入这个 多播组。这个组的成员无需发送IGMP报告。

《网络协议》

JXZ-2011.11

广播和多播
? ? ? ? ? 三种IP地址:单播地址、广播地址和多播地址 四种IP广播地址: (1)受限的广播地址是255.255.255.255; (2)指向网络的广播地址是主机号为全1的地址; (3)指向子网的广播地址为主机号为全1且有特定 子网号的地址; ? (4)指向所有子网的广播地址的子网号及主机号为 全1; ? 多播地址:D类地址

《网络协议》

JXZ-2011.11

多播用途
? IP多播提供两类服务: ? 1)向多个目的地址传送数据。有许多向多个接收 者传送信息的应用:例如交互式会议系统和向多 个接收者分发邮件或新闻。如果不采用多播,目 前这些应用大多采用TCP来完成(向每个目的地 址传送一个单独的数据复制)。然而,即使使用 多播,某些应用可能继续采用TCP来保证它的可 靠性。 ? 2)客户对服务器的请求。例如,无盘工作站需要 确定启动引导服务器。目前,这项服务是通过广 播来提供的,但是使用多播可降低不提供这项服 务主机的负担。

《网络协议》

JXZ-2011.11

多播组地址到以太网地址的转换
? IANA拥有一个以太网地址块,即高位24bit为00:00:5e(十六进制表 示),这意味着该地址块所拥有的地址范围从00:00:5e:00:00:00到 00:00:5e:ff:ff:ff。IANA将其中的一半分配为多播地址。为了指明一个多 播地址,任何一个以太网地址的首字节必须是01,这意味着与IP多播相 对应的以太网地址范围从01:00:5e:00:00:00到01:00:5e:7f:ff:ff。 ? 这种地址分配将使以太网多播地址中的23bit与IP多播组号对应起来, 通过将多播组号中的低位23bit映射到以太网地址中的低位23bit实现, 这个过程如图所示。

《网络协议》

JXZ-2011.11

IP协议选路过程
? IP最重要的功能之一是选路。图是IP层处理过程的简单流程。需要进行选路的 数据报可以由本地主机产生,也可以由其他主机产生。在后一种情况下,主机 必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不 是本机就要被丢弃(例如,悄无声息地被丢弃)。

《网络协议》

JXZ-2011.11

选路的原理
? ? ? ? ? 路由表中包含的信息决定了IP层所做的所有决策。 IP搜索路由表的几个步骤: 1) 搜索匹配的主机地址; 2) 搜索匹配的网络地址; 3) 搜索默认表项(默认表项一般在路由表中被指定为一个 网络表项,其网络号为0)。 ? 匹配主机地址步骤始终发生在匹配网络地址步骤之前。 ? IP层进行的选路实际上是一种选路机制,它搜索路由表并 决定向哪个网络接口发送分组。 ? 这区别于选路策略,它只是一组决定把哪些路由放入路由 表的规则。IP执行选路机制,而路由守护程序则一般提供 选路策略。

《网络协议》

JXZ-2011.11

路由表

? 对于一个给定的路由器的每条路由,可以给出五种不同的标志flag: ? U 该路由可以使用。 ? G 该路由是到一个网关(路由器)。如果没有设置该标志,说明目的 地是直接相连的。 ? H 该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。 如果没有设置该标志,说明该路由是到一个网络,而目的地址是一个 网络地址:一个网络号,或者网络号与子网号的组合。 ? D 该路由是由重定向报文创建的。 ? M 该路由已被重定向报文修改。

《网络协议》

JXZ-2011.11

3.6

RIP协议

? 静态选路与动态选路 ? 静态:须由人工才可以改变路由; ? 动态:通过主动交换信息,随时自动更改 路由。 ? 静态选路算法:洪泛、随即、固定 ? 动态路由算法:距离矢量(DV)、最短路 径(SP)

《网络协议》

JXZ-2011.11

动态选路原理
? 路由器上有一个进程称为路由守护程序( routing daemon),它运行 选路协议,并与其相邻的一些路由器进行通信。路由守护程序根据它 从相邻路由器接收到的信息,更新内核中的路由表。 ? 动态选路并不改变I P层的选路方式。这种选路方式称为选路机制 (routing mechanism)。IP层程序搜索路由表,查找主机路由、网 络路由以及默认路由的方式并没有改变。仅仅是放置到路由表中的信 息改变了—当路由随时间变化时,路由是由路由守护程序动态地增加 或删除。 ? 路由守护程序将选路策略(routing policy)加入到系统中,选择路由 并加入到内核的路由表中。如果守护程序发现前往同一信宿存在多条 路由,那么它(以某种方法)将选择最佳路由并加入内核路由表中。 如果路由守护程序发现一条链路已经断开(可能是路由器崩溃或电话 线路不好),它可以删除受影响的路由或增加另一条路由以绕过该问 题。

《网络协议》

JXZ-2011.11

自治系统与内外网关协议
? Internet是以一组自治系统(AS,AutonomousSystem)的 方式组织的,每个自治系统通常由单个实体管理。常常将 一个公司或大学校园定义为一个自治系统。NSFNET的 Internet骨干网形成一个自治系统,这是因为骨干网中的 所有路由器都在单个的管理控制之下。 ? 每个自治系统可以选择该自治系统中各个路由器之间的选 路协议。这种协议我们称之为内部网关协议IGP(Interior Gateway Protocol)或域内选路协议(intradomain routing protocol),最常用的IGP是选路信息协议RIP。 一种新的IGP是开放最短路径优先OSPF(Open Shortest Path First)协议。 ? 外部网关协议EGP(Exterier Gateway Protocol)或域内 选路协议的分隔选路协议用于不同自治系统之间的路由器。 当前在NSFNET骨干网和一些连接到骨干网的区域性网络 上使用的是边界网关协议BGP(Border Gateway Protocol)。

《网络协议》

JXZ-2011.11

? ? ? ? ? ? ?

RIP的报文格式
RIP报文包含中在UDP数据报中,如图所示。 命令字段为1表示请求,2表示应答。还有两个舍弃不用的命令( 3和4),两个非正式的命令: 轮询( 5)和轮询表项( 6); 请求表示要求其他系统发送其全部或部分路由表; 应答则包含发送者全部或部分路由表; 版本字段通常为1,而第2版RIP将此字段设置为2; 紧跟在后面的2 0字节指定地址系列(address family)(对于IP地址来说,其值是2)、IP地 址以及相应的度量。RIP的度量是以跳计数的。 采用这种20字节格式的RIP报文可以通告多达25条路由。上限25是用来保证RIP报文的总长 度为20×25 + 4 = 504,小于512字节。由于每个报文最多携带25个路由,因此为了发送整个 路由表,经常需要多个报文。

《网络协议》

JXZ-2011.11

RIP工作过程
? 初始化:在启动一个路由守护程序时,它先判断启动了哪些接口,并 在每个接口上发送一个请求报文,要求其他路由器发送完整路由表。 在点对点链路中,该请求是发送给其他终点的。如果网络支持广播的 话,这种请求是以广播形式发送的。目的U D P端口号是5 2 0(这是 其他路由器的路由守护程序端口号)。 ? 这种请求报文的命令字段为1,但地址系列字段设置为0,而度量字段 设置为1 6。这是一种要求另一端完整路由表的特殊请求报文。 ? 接收到请求。如果这个请求是刚才提到的特殊请求,那么路由器就将 完整的路由表发送给请求者。否则,就处理请求中的每一个表项:如 果有连接到指明地址的路由,则将度量设置成我们的值,否则将度量 置为1 6(度量为1 6是一种称为“无穷大”的特殊值,它意味着没有 到达目的的路由)。然后发回响应。 ? 接收到响应。使响应生效,可能会更新路由表。可能会增加新表项, 对已有的表项进行修改,或是将已有表项删除。 ? 定期选路更新。每过3 0秒,所有或部分路由器会将其完整路由表发 送给相邻路由器。发送路由表可以是广播形式的(如在以太网上), 或是发送给点对点链路的其他终点的。

《网络协议》

JXZ-2011.11

RIP工作过程(续)
? 触发更新。每当一条路由的度量发生变化时,就对它进行 更新。不需要发送完整路由表,而只需要发送那些发生变 化的表项。 ? 每条路由都有与之相关的定时器。如果运行R I P的系统发 现一条路由在3分钟内未更新,就将该路由的度量设置成 无穷大( 1 6),并标注为删除。这意味着已经在6个3 0 秒更新时间里没收到通告该路由的路由器的更新了。再过 6 0秒,将从本地路由表中删除该路由,以保证该路由的 失效已被传播开。 ? RI 所使用的度量是以跳( hop )计算的。所有直接连接接口 的跳数为1。如果在该AS内从一个路由器到一个网络有多 条路由,那么路由器将选择跳数最小的路由,而忽略其他 路由。跳数的最大值是15,这意味着RIP只能用在主机间 最大跳数值为15的AS内。度量为16表示到无路由到达该 IP地址。 ? 缺点:跳数<16;不支持子网;好消息传得快,坏消息传 的慢!

《网络协议》

JXZ-2011.11

RIP版本2的报文格式
? 路由域(routing domain)是一个选路守护 程序的标识符,它指出了这个数据报的 所有者。在一个Unix实现中,它可以是 选路守护程序的进程号。该域允许管理 者在单个路由器上运行多个RIP实例,每 个实例在一个选路域内运行。 路由标记(routing tag)是为了支持外部网 关协议而存在的。它携带着一个EGP和 BGP的自治系统号。 每个表项的子网掩码应用于相应的IP地 址上。下一站IP地址指明发往目的IP地 址的报文该发往哪里。该字段为0意味着 发往目的地址的报文应该发给发送RIP报 文的系统。
RIP-2提供了一种简单的鉴别机制。可以 指定RIP报文的前20字节表项地址系列 为0xffff,路由标记为2。表项中的其余 16字节包含一个明文口令。 最后,RIP-2除了广播外,还支持多播。 这可以减少不收听RIP-2报文的主机的负 载。

?
?

?

?

《网络协议》

JXZ-2011.11

3.7 OSPF协议
? OSPF是除RIP外的另一个内部网关协议 ? 与采用距离向量的RIP协议不同的是, OSPF是一 个链路状态协议。 OSPF直接使用I P。 ? 在一个链路状态协议中,路由器并不与其邻站交 换距离信息。它采用的是每个路由器主动地测试 与其邻站相连链路的状态,将这些信息发送给它 的其他邻站,而邻站将这些信息在自治系统中传 播出去。每个路由器接收这些链路状态信息,并 建立起完整的路由表。

《网络协议》

OSPF报文
16 类 型

JXZ-2011.11

比特 0 版 本

8 路

31 分 组 长 度

检 验 和

由 器 标 识 符 区 域 标 识 符 鉴 别 鉴 别 鉴 别





24 字节 OSPF 分组首部 类型 1 至类型 5 的 OSPF 分组

IP数据报首部

OSPF 分组
IP 数据报

《网络协议》

JXZ-2011.11

OSPF 的五种分组类型
? ? ? ? 类型1,问候(Hello)分组。 类型2,数据库描述(Database Description)分组。 类型3,链路状态请求(Link State Request)分组。 类型4,链路状态更新(Link State Update)分组, 用洪泛法对全网更新链路状态。 ? 类型5,链路状态确认(Link State Acknowledgment) 分组。

《网络协议》

JXZ-2011.11

OSPF的基本操作
确定可达性
问候 问候

数据库描述 达到数据库的同步
数据库描述 数据库描述 数据库描述 链路状态请求

新情况下的同步

链路状态更新 链路状态确认

OSPF 使用的是可靠的洪泛法
t1 R

《网络协议》

JXZ-2011.11

更新报文

t2 R

t3
R

t4

ACK报文 R

t

《网络协议》

JXZ-2011.11

OSPF优点
? 1) OSPF可以对每个IP服务类型计算各自的路由集。这意味着对于任 何目的,可以有多个路由表表项,每个表项对应着一个IP服务类型。 ? 2) 给每个接口指派一个无维数的费用。可以通过吞吐率、往返时间、 可靠性或其他性能来进行指派。可以给每个IP服务类型指派一个单独 的费用。 ? 3) 当对同一个目的地址存在着多个相同费用的路由时,OSPF在这些 路由上平均分配流量。我们称之为流量平衡。 ? 4) OSPF支持子网:子网掩码与每个通告路由相连。这样就允许将一 个任何类型的IP地址分割成多个不同大小的子网(变长度子网)。到 一个主机的路由是通过全1子网掩码进行通告的。默认路由是以IP地 址为0.0.0.0、网络掩码为全0进行通告的。 ? 5) 路由器之间的点对点链路不需要每端都有一个IP地址,我们称之为 无编号网络。这样可以节省IP地址—现在非常紧缺的一种资源。 ? 6) 采用了一种简单鉴别机制。可以采用类似于RIP-2机制的方法指定 一个明文口令。 ? 7) OSPF采用多播,而不是广播形式,以减少不参与OSPF的系统负 载。

《网络协议》

JXZ-2011.11

OSPF 的其他特点
? OSPF 还规定每隔一段时间,如 30 分钟,要 刷新一次数据库中的链路状态。 ? 由于一个路由器的链路状态只涉及到与相邻路 由器的连通状态,因而与整个互联网的规模并 无直接关系。因此当互联网规模很大时, OSPF 协议要比距离向量协议 RIP 好得多。 ? OSPF 没有“坏消息传播得慢”的问题,据统 计,其响应网络变化的时间小于 100 ms。

《网络协议》

JXZ-2011.11

3.8 BGP协议
? BGP是一种不同自治系统的路由器之间进行通信 的外部网关协议。 ? BGP系统与其他BGP系统之间交换网络可到达信 息。这些信息包括数据到达这些网络所必须经过 的自治系统AS中的所有路径。这些信息足以构造 一幅自治系统连接图。 ? 一个自治系统中的IP数据报分成本地流量和通过 流量。在自治系统中,本地流量是起始或终止于 该自治系统的流量。也就是说,其信源IP地址或 信宿IP地址所指定的主机位于该自治系统中。其 他的流量则称为通过流量。BGP的一个目的就是 减少通过流量。

《网络协议》

JXZ-2011.11

自治系统分类
? 自治系统分为以下几种类型: ? 1) 残桩自治系统(stub AS),它与其他自治系统只有单个连接。 stub AS只有本地流量。 ? 2) 多接口自治系统(multihomed AS),它与其他自治系统有 多个连接,但拒绝传送通过流量。 ? 3) 转送自治系统(transit AS),它与其他自治系统有多个连接, 在一些策略准则之下,它可以传送本地流量和通过流量。
? 这样,可以将Internet看成是由一些残桩自治系统、多接口 自治系统以及转送自治系统的任意互连。残桩自治系统和多 接口自治系统不需要使用BGP——它们通过运行EGP在自治 系统之间交换可到达信息。

《网络协议》

JXZ-2011.11

BGP的工作过程
? BGP与RIP和OSPF的不同之处在于BGP使用TCP作为其 传输层协议。两个运行BGP的系统之间建立一条TCP连接, 然后交换整个BGP路由表。从这个时候开始,在路由表发 生变化时,再发送更新信号。 ? BGP是一个距离向量协议,但是与(通告到目的地址跳数 的)RIP不同的是,BGP列举了到每个目的地址的路由 (自治系统到达目的地址的序列号)。这样就排除了一些 距离向量协议的问题。采用16bit数字表示自治系统标识。 ? BGP通过定期发送keepalive报文给其邻站来检测TCP连 接对端的链路或主机失败。两个报文之间的时间间隔建议 值为30秒。应用层的keepalive报文与TCP的keepaliv e选 项是独立的。

《网络协议》

JXZ-2011.11

CIDR:无类型域间选路
? CIDR的基本观点是采用一种分配多个IP地址的方式,使 其能够将路由表中的许多表项总和(summarization)成更少 的数目。 ? 1) 为进行选路要对多个IP地址进行总和时,这些IP地址必 须具有相同的高位地址比特。 ? 2) 路由表和选路算法必须扩展成根据32 bit IP地址和32 bit掩码做出选路决策。 ? 3) 必须扩展选路协议使其除了32 bit地址外,还要有32 bit 掩码。OSPF和RIP-2都能够携带第4版B G P所提出的32 bit掩码。 ? “无类型”的意思是现在的选路决策是基于整个32 bit IP 地址的掩码操作,而不管其I P地址是A类、B类或是C类, 都没有什么区别。

《网络协议》

JXZ-2011.11

第4章 TCP/IP传输层协议
4.1 TCP概述

4.2
4.3 4.4 4.5 4.6 4.7 4.8

TCP连接建立与终止
TCP的数据传输 TCP的差错控制 TCP坚持与保活定时器 TCP最新技术及未来发展 UDP协议 基于Socket的通信

《网络协议》

JXZ-2011.11

4.1

TCP概述

? TCP提供一种面向连接的、可靠的字节流服务。 ? 面向连接意味着两个使用TCP的应用(通常是一个客户和 一个服务器)在彼此交换数据之前必须先建立一个TCP连 接。 ? 字节流服务意味着传输的最小单位是字节。TCP不在字节 流中插入记录标识符。称这为字节流服务(byte stream service)。TCP对字节流的内容不作任何解释。TCP不知 道传输的数据字节流是二进制数据,还是ASCII字符、 EBCDIC字符或者其他类型数据。 ? 可靠的意味着有差错检验和控制措施

《网络协议》

JXZ-2011.11

TCP的可靠性措施
TCP通过下列方式来提供可靠性: ? 应用数据被分割成TCP认为最适合发送的数据块,由TCP传递给IP的 信息单位称为报文段或段(segment)。 ? 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个 报文段。如果不能及时收到一个确认,将重发这个报文段。 ? 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确 认不是立即发送,通常将推迟几分之一秒。 ? TCP将保持它首部和数据的检验和。如果收到段的检验和有差错, TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重 发)。 ? 如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确 的顺序交给应用层。TCP的接收端自动丢弃重复的数据。 ? TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。 TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。

《网络协议》

JXZ-2011.11

TCP服务的七个主要特点
? 面向连接(Connection Orientation)
? 两点间通信(Point-To-Point Communication) ? 完全可靠性(Complete Reliability) ? 全双工通信(Full Duplex Communication) ? 流接口(Stream Interface)

? 可靠的连接建立(Reliable Connection Startup)
? 友好的连接终止(Graceful Connection Shutdown)

《网络协议》

JXZ-2011.11

TCP报文的结构
?
TCP在IP中的封装

? TCP报文结构

《网络协议》

JXZ-2011.11

TCP报文段的封装
TCP报文段 segment

应用数据 TCP头部 应用数据

IP头部

TCP头部

应用数据



IP头部

TCP头部

应用数据

《网络协议》

JXZ-2011.11

4.2 TCP连接建立与终止
?
?

传输连接建立的条件
在进程通信开始之前:
? 一方处于发出通信要求的状态; ? 另一方要处于接受通信连接的“倾听”状态;

① 双方进程要有共同的起始状态:

② 双方进程要有共同认可的通信环境:
? 是否提供差错控制; ? 是否提供流量控制;

③ 双方之间建立起双向的逻辑通道;

《网络协议》

JXZ-2011.11

TCP连接的建立与管理
? 连接建立

– 服务器:LISTEN,ACCEPT
– 客户机:CONNECT – 三次握手( three-way handshake) ? 数据传送 ? 连接释放 – CLOSE

《网络协议》

JXZ-2011.11

连接建立与释放的任务
? 通过交换连接请求和响应数据包,使连接的每

一端都确信另一端的存在;
? 提供可选参数的协商和交换,例如:最大报文

段长度、最大窗口大小和服务质量等;
? 分配传送资源,如缓冲空间;

? 在连接表中建立项目。

《网络协议》

JXZ-2011.11

TCP三次握手/建立连接
主机A 主机B

主动打开
发送 SYN (seq=100 ctl=SYN)

被动打开

1

SYN 收到 (seq=100)

《网络协议》

JXZ-2011.11

TCP三次握手/建立连接
主机A 主机B

1

发送SYN (seq=100 ctl=SYN) SYN 收到 (seq=100 )

SYN 收到 (seq=300 ack=101)

2 发送 SYN
(seq=300 ack=101 ctl=syn,ack)

《网络协议》

JXZ-2011.11

TCP三次握手/建立连接
主机 A 主机 B

1

发送 SYN (seq=100 ctl=SYN) SYN 收到 (seq=100 ) 发送 SYN

SYN 收到 (seq=300 ack=101)

2

3

发送 ack (seq=101 ack=301 ctl=ack)

(seq=300 ack=101 ctl=syn,ack) 第三个报文段的发送主要是 为了防止“已失效的连接请 求报文段”突然又传到了主 机B,从而产生错误。

SYN置1的报文段要消 耗一个序号

《网络协议》

JXZ-2011.11

TCP三次握手/建立连接
主机 A 主机 B

1

发送 SYN (seq=100 ctl=SYN) SYN 收到 (seq=100 ) 发送 SYN

2

SYN 收到 (seq=300 ack=101)

(seq=300 ack=101 ctl=syn,ack) SYN 收到 (seq=101 ack=301 )

3

发送 ack

(seq=101 ack=301 ctl=ack)
连接建立起来 (seq=101 ctl= Data) 前一个确认报文段并 不消耗序号

《网络协议》

JXZ-2011.11

TCP三次握手/释放连接
释放连接时,发出FIN位置1的TCP段并启动定时器,在 收到确认后关闭连接。若无确认并且超时,也关闭连接。当 两个方向的连接均关闭时,该连接就完全释放。 主机A
应用程序关闭连接, 停止发送,继续接 收
FIN,SEQ=x ACK,SEQ=y, ACK= x+1 通知应用程序,确认, 停止接收,可以发送

主机B

可合并

FIN,ACK, SEQ= y, ACK=x+1

应用程序关闭连接, 停止发送

ACK, SEQ=x+1, ACK=y+1

《网络协议》

JXZ-2011.11

4.3 TCP的数据传输
传输策略:
?基于确认和可变窗口大小的滑动窗口机制。TCP 实体使用滑动窗口协议,确认序号等于接收方希望 接收的下一个序号。 ?根据接收缓冲区和来自应用层数据确定策略。

发送和接收策略:
? 发送方:尽量不发送数据量小的数据段,而是 缓存上层数据,等到形成一个比较大的段再发送。

? 接收方:不请求对方发送短数据段,在没有可 能进行“捎带”的情况下,接收方延迟发送确认段。

《网络协议》

JXZ-2011.11

(1)序列编号和段
[字节203] [字节202] [字节201] [字节200]

[字节400] [字节401]

[字节402] [字节403]

81 80 79 SEQ79

78 77 76 75 74 SEQ74

73 72 71 70 69 68 SEQ68

67 66 65 64 63 SEQ63

《网络协议》

JXZ-2011.11

(2)推与应急标志
TCP提供了一种在即使没有足够多的字节填满缓冲器的情 况下也必须传送数据的机制 ? 推(PUSH)标志位

当目的TCP看到“push”标志时,会直接将数据传递给目 的进程,而不会等待更多数据,可以推进从源进程到目的进程 的数据传送。
? 应急标志位 通知目的进程在即将到来的数据流中有重要数据。由目 的进程确定采取适当行动并确保将数据迅速转发到接收进程。

《网络协议》

JXZ-2011.11

(3) 确认与重传
TCP不对数据流中的每个字节进行确认,而是使 用一种累计确认机制,对序列编号X的确认表示目的

主机已接收到截至X(但是不含X)的所有字节。

源主机

目的主机

八位组27

八位组26

八位组25

八位组24

八位组23

八位组22

段25

段24

段22

《网络协议》

JXZ-2011.11

示意图

注:数据段往往不止1个字节。 初始传送序列编号0,传送窗口为8字节。

源主机 0 1 2 3 4 5 6 7 2 3 4 5 6 8 9 10

目的主机

0 1 E 3 4 5 6 7 2 D D D D 8 9 10

错 接受器缓冲 释 被丢弃的帧 误 放 数 据 数据传送 —— 确认与重传 包 3~7

《网络协议》

JXZ-2011.11
目的主机 应用程序

(4)数据接收
输入

输出 TCP

请求
队列 输入

请求
队列 输出

丢弃已确认数 据

IP
输入 输出

网络

《网络协议》

JXZ-2011.11

4.4 TCP的差错控制
TCP的差错控制包括检错和纠错。
TCP的差错及处理: 数据被破坏 —— TCP校验和 重复 —— 根据序号判断 失序 —— 缓存后一起确认,丢弃重复段 丢失 —— 超时重传

问题:TCP在重传之前应该等待多长时间?

《网络协议》

JXZ-2011.11

估算往返时间
设计者为TCP的重传制定了自适应(adaptive) 重传机制,即TCP监视每一个连接中的当前延迟, 并适配(即改变)重传定时器来适应条件的变化。 TCP通过测量收到一个应答所需的时间来为每一活 动的连接估计一个往返延迟(round-trip delay)。 TCP发送一个数据包,并记录下发送的时间。 当应答到来时,TCP从当前时间减去记录的发送时 间来为连接产生往返延迟的一个新估计。在多次发 送数据报和接收确认后,TCP就产生了一系列的往 返的估计。

《网络协议》

JXZ-2011.11

RTT
早期用过的平均技术是使用一个常数因子 ? ,对旧的 平均值和最新的往返时间样本进行加权:
RTT = ? *(旧的往返延迟)+( 1 - ? )*(新的往返延迟) 0≤? <1

若?很接近于1,表示新算出的往返时延T和原来的值相比

变化不大,而新的往返时延样本的影响不大(T值更新较慢)。
若选择?接近于0,则表示加权计算的往返延迟T受新的 往返时延样本的影响较大(T值更新较快)。 典型的?值为7/8。

《网络协议》

JXZ-2011.11

Timeout
除了加权平均值,TCP还保留了一个变化量的估计,利用 平均值和变化量估计的一个线性组合作为重发的等待时间, 即定时时限: Timeout = ? * RTT

选择合适的?是很困难的。

? 为了迅速检测到分组的丢失,定时时限要尽可能接近当前 的往返时间RTT(即? 要接近1);因为TCP在重传之前无需进行 不必要的等待,可以提高网络吞吐量。 ? 如果? =1,那么任何微小的时延就会导致不必要的重传,这 会浪费网络带宽。 ? 最初规范的推荐值是? =2。

《网络协议》

JXZ-2011.11

RTT的二义性
是对哪一个报文段 的确认?

发送一个 TCP报文段

超时重传 TCP报文段

收到ACK

1

2
往返时延RTT?

3

时 间

往返时延RTT?

确认的二义性

《网络协议》

JXZ-2011.11

Karn算法与定时器补偿
基本思想:TCP不更改重传报文段的往返时间估计值, 只对没有二义性的确认(即对只发送一次的报文段的 到达的确认)的往返时间估计值进行调整。

存在的问题:在时延突然增大的情况下,TCP使用现
有的往返时间估计值设置定时时限,而这个定时时

限比当前的时延小很多,造成了重传。如果TCP忽略
了重传对往返时间的影响,它就不能修改估计值,

使得反复重传循环下去。

《网络协议》

JXZ-2011.11

Karn算法
Karn算法要求发送方使用定时器补偿(Timer Backoff)策略把超时重传的影响估计在内。

该技术建议为重传和第一次传输分别创建一个
单独的超时值。对于需要重传的每个段来说,其重

传超时值可能会加倍。当一个段被重传成功后,原
来的RTT会继续作为下一段的超时值。如果该段或者

任何其他后续段第一次传输时就成功了,那么RTT值
就会被重新计算以实现一个新的超时值。

《网络协议》

JXZ-2011.11

TCP的流量控制
当一个TCP连接建立时,连接的每一端分配一个 缓冲区来保存输入的数据,并将缓冲区的尺寸发送 给另一端。当数据到达时,接收方发送确认,其中 包含了自己剩余的缓冲区尺寸。剩余的缓冲区空间 的大小被称为窗口(window),指出窗口大小的通知 称为窗口通告(window advertisement)。接收方在 发送的每一确认中都含有一个窗口通告。
窗口机制允许TCP在确认(ACK)到达之前发送多 个数据包,以保证有效地进行数据传送。最初的窗 口大小是在连接建立过程中确定的。

《网络协议》

JXZ-2011.11

滑动窗口
已确认的数据

窗口滑动 已传送的 数据 未传送的 数据

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

左 传送边界



第一个指针标记窗口的左边。此指针左侧数据流中的所有字节都是已经 发送并被确认过的。此指针右侧的字节包含在传送窗口之中。 第二个指针标记窗口的右边。此指针左侧数据中的所有字节都包含在传 送窗口中。此指针右侧的所有字节在传送窗口之外,无法被TCP发送。窗口 内编号最高的字节是TCP在接收到另一个ACK之前能够发送的最后一个字节。 第三个指针定义窗口内的边界。窗口内此指针左侧的所有字节已被发送, 但是还没有被确认。窗口内此指针右侧的所有字节在接收到ACK之前可以发 送。

《网络协议》

JXZ-2011.11

(1)大小可变的窗口
利用大小可变的窗口可以获得对端到端流量的 控制。每个TCP进程将其“接收”窗口通知其远程对 方。接收窗口是TCP希望接收到的序列编号的范围。 正常情况下,接收窗口的尺寸在接收数据时缩小, 在数据成功地传送到客户应用程序时扩大。 大的窗口鼓励传送。为了响应接收窗口扩大的 通告,发送者扩大传送窗口,并发送未被确认的字 节。为了响应接收窗口缩小的通告,发送者缩小其 传送窗口。窗口大小的通告伴随ACK一道发布,因此 窗口大小随着向前滑动可动态变化。

《网络协议》

JXZ-2011.11

(2) 零接收窗口
TCP只接收和确认那些填充窗口的段。如果TCP不 能再接收更多的数据,它通过发送一个通知窗口大小 为零的ACK数据包来关闭接收窗口。TCP在关闭窗口之

后可以继续接收数据段,但是这些段将不会得到确认。
零发送窗口的TCP进程必须定期发送带有无效序

列编号、ACK编号和单字节无效数据的探测数据包,以
确认将窗口重新打开的消息能够可靠地报告给连接的 另一端。接收TCP立即发送一个ACK进行响应。

《网络协议》

JXZ-2011.11

以字节为单位滑动
头部 源端口 1028 发送方 应用层 2k write 应用层 3k write 发送受阻 4k 应用层Read 2k 宿端口 21 序列号 SEQ 确认号 ... ACK 接收方 WIN 缓冲区 0 2k 4K 窗口 ...

2k
1k 2k

《网络协议》

JXZ-2011.11

(3) 傻窗口症状
如果TCP接收到1字节或少字节窗口通告,将会发 送效率极低的报文段(41字节的IP报文),若连续收

到1字节或少字节窗口通告,就会使网络通信效率大
大下降,这种现象称为傻窗口症状。

解决办法——Nagle算法:只发送一次1字节或少字节 报文段。通过不发送1字节或少字节窗口通告确认和 不发送1字节和少字节报文段实现消除傻窗口症状。

《网络协议》

JXZ-2011.11

TCP的拥塞控制
拥塞的产生原因:

快网络小缓存接收者;
慢网络大缓存接收者。

导致网络拥塞的两个潜在因素是:

网络能力和接收能力。
发送 传输 接收

《网络协议》

JXZ-2011.11

接收方的处理能力不足
发送方
调整传输速率

传输网络

接收能力 小容量接收器

《网络协议》

JXZ-2011.11

网络不够畅通
发送方 调整传输速率

传输网络 内部拥塞

网络能力

大容量接收器

《网络协议》

JXZ-2011.11

拥塞的解决办法
TCP处理“快网络小缓存”产生拥塞的措施

? 在连接建立时声明最大可接受段长度。
? 利用可变滑动窗口协议防止出现拥塞。

TCP处理“慢网络大缓存”产生拥塞的措施

? 发送方维护两个窗口:可变发送窗口和拥塞 窗口,按两个窗口的最小值发送。
? 拥塞窗口依照慢启动(slow start)算法变化。

《网络协议》

JXZ-2011.11

慢启动-快递减-拥塞避免
? 在现在的大部分Internet中,网络拥塞造成的包丢失(或极长 的延迟)现象比硬件故障造成的包丢失现象更容易发生。而传 输协议中的重发,即向网络中送入消息的另外副本,会加重 拥塞。如果拥塞又引起额外的重发,则系统会进入拥塞崩溃 (congestion collapse) 状态。 ? 为了避免这一问题,Internet推荐使用三种技术,即慢启动 (slow-start),加速递减(multiplicative decrease)和拥塞避 免(congestion avoidance) 进行拥塞控制, 。 ? 使用这些技术的前提是:由于通信线路带来的误码而使得分 组丢失的概率很小(远小于1%)。因此,只要出现分组丢失或 迟延过长而引起超时重发,就意味着在网络中的某个地方比 现了拥塞。

《网络协议》

JXZ-2011.11

拥塞控制
拥塞窗口

“慢启动”是指初始时 设置拥塞窗口为1,每 确认一次就按指数级增 加,使报文段慢慢注入 到网络中。 “加速递减”是指每出 现一次超时,就将门限 窗口值减半。若超时频 繁出现,则门限窗口减 小的速率是很快的。

“拥塞避免”是指当拥塞窗口增大到门限窗口值时,就 将拥塞窗口指数增长速度降低为线性增长,避免网络再 次出现拥塞。

《网络协议》

JXZ-2011.11

初始值 : ssthresh = 64K

拥塞控制算法举例
超时

ssthresh0 = 32K ssthresh14 = 20K

拥塞窗口
传输次数

45 40 35 30 25 20 15 10 5 0

线性增长

发生超时

线性增长

指数增长

指数增长

MaxSegL=1024

慢启动

拥塞避免

慢启动

拥塞避免

关键参数(临界值,接收窗口,拥塞窗口)

《网络协议》

JXZ-2011.11

4.5 TCP坚持与保活定时器
对每个连接,TCP管理4个不同的定时器:
1)重传定时器——用于判断超时重传,可变、自适应计算(包 含加权平均、系数平滑、丢弃二义性和防止反复重传)。 2)坚持(persist)定时器——用以探查接收窗口是否不再为零, 以防止接收到0窗口通告后因为新的通告报文的丢失而造成死锁。 其值固定为60秒。 3)保活(keepalive)定时器——用以探查一个连接是否崩溃,以 防止空闲连接的长期存在。是一种可选的定时器。其值固定, 默认不得小于两小时。 4)2MSL定时器——用以测量一个连接处于释放前TIME_WAIT状态 的时间。

《网络协议》

JXZ-2011.11

重传定时器
初始值——上一个TCP连接最后一次测得的RTT,作为本次TCP连 接的初始重传定时器RTO计算用的初始值;

启动计时——从发送一个报文段开始计时;
复位重启——从接收到一个无二义性的确认后,即复位重启。

RTO的计算——可以一次TCP连接只计算一个RTO,且在连接建立 阶段即完成计算,自适应每个TCP连接;也可在一个TCP连接过 程中,连续计算RTO;自适应每个传输过程。

《网络协议》

JXZ-2011.11

坚持定时器
为防止0窗口通告后的确认丢失导致死锁,TCP坚持每 隔一个时间(5-60秒)发送一次接收窗口探寻报文段, 直到收到一个非0窗口通告,或者应用进程使用的连接 被终止。 定时值——5-60秒;根据重传定时值按指数增减,通 常为重传计时值的两倍; 启动计时——每接收到0窗口通告,即开始计时;每560秒发送一次接收窗口探查报文段;

复位重启——一接收到一个非0窗口通告即复位或计时 到0时重新复位或连接终止时复位。

《网络协议》

JXZ-2011.11

保活定时器
如果一个给定的TCP连接在两个小时之内没有任何动作,则服务 器就向客户发送一个探查报文段。TCP连接无活动意味着的可能 现象:客户机崩溃、客户机正在重启、网络阻塞或中断。 定时值——默认不小于两小时。 启动计时——连接一建立即开始计时,或TCP连接上无活动时开 始计时。 复位重启——只要发出探寻报文段后能收到正常确认即立刻复 位,且2小时候重新计时。如果发现连接正常传输数据,则在停 止正常数据传输后2小时候开始重新计时。

《网络协议》

JXZ-2011.11

2MSL定时器
每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime)。它是任何报文段被丢弃前在网络内的最长时间。这个 时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报有限制, 其生存时间的TTL字段为经历的跳数。 当TCP执行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT 状态停留的时间为2倍的MSL。这样可让TCP再次发送最后的ACK以防这个ACK丢 失(另一端超时并重发最后的FIN)。这种2MSL等待的另一个结果是这个TCP 连接在2MSL等待期间,定义这个连接的插口(客户的IP地址和端口号,服务 器的IP地址和端口号)不能再被使用。这个连接只能在2MSL结束后才能再被 使用。

MSL定时值——30秒,1分钟,或2分钟。

《网络协议》

JXZ-2011.11

TCP有限状态机
CLOSED LISTEN 收到连接请求 SYN RCVD 收到客户端的确认 客户应用进程请求连接

释放连接请求
请求建立连接

LISTEN
拒绝连接 SYN SENT 同时建立连接 ESTABLISHED 3 次握手建立连接 收到对方的释放请求 CLOSE WAIT 释放连接请求 LAST ACK 对方应答

释放连接请求 收到对方的 FIN WAIT1 释放请求 CLOSING 对方应答 FIN WAIT2

对方应答 对方请求 +应答 TIMED WAIT 收到对方的 释放请求 超时 CLOSED

《网络协议》

JXZ-2011.11

TCP连接的网络管理
? 为了管理因特网,在网络管理中心设有管理信息库 MIB (Management Information Base)。 ? 管理信息库存放着各主机的 TCP 连接表。 ? TCP 连接表对每个连接都登记了其连接信息。除本 地和远地的 IP 地址和端口号外,还要记录每一个 连接所处的状态。
连接状态 连接 1 连接 2 本地 IP 地址 本地端口 远地 IP 地址 远地端口

· · ·
连接 n

《网络协议》

JXZ-2011.11

4.6 TCP最新技术及未来发展
为了使得TCP在高速网络环境中能获得最大吞吐量,对TCP 协议进行了的改进,为了兼容早期TCP,尽量利用TCP中 的选项设置。

MTU发现机制 大带宽时延乘积 窗口扩大选项 时间戳选项 T/TCP

《网络协议》

JXZ-2011.11

TCP的选项

《网络协议》

JXZ-2011.11

MTU发现机制
? TCP的路径MTU发现按如下方式进行:在连接建 立时, TCP使用输出接口或对端声明的MSS中的 最小MTU作为起始的报文段大小。路径MTU发现 不允许TCP超过对端声明的MSS。 ? 如果对端没有指定一个MSS,则默认为536。 ? 一旦选定了起始的报文段大小,在该连接上的所 有被TCP发送的 IP数据报都将被设置DF(不可分 片)。

《网络协议》

JXZ-2011.11

大带宽时延乘积
? 把一个连接的容量表示为
? capacity(b)=bandwidth(b/s)×round-triptime(s)

? 并称之为带宽时延乘积。也可称它为两端 的管道大小。

《网络协议》

JXZ-2011.11

窗口扩大选项
? 窗口扩大选项使TCP的窗口定义从16bit增加为32bit。这 并不是通过修改TCP首部来实现的,TCP首部仍然使用 16bit,而是通过定义一个选项实现对16bit的扩大操作 (scaling operation)来完成的。于是TCP在内部将实际的窗 口大小维持为32bit的值。 ? 一个字节的移位记数器取值为0(没有扩大窗口的操作) 和14。这个最大值14表示窗口大小为1073725440字节 (65535×214)。 ? 这个选项只能够出现在一个SYN报文段中,因此当连接建 立起来后,在每个方向的扩大因子是固定的。为了使用窗 口扩大,两端必须在它们的SYN报文段中发送这个选项。 主动建立连接的一方在其SYN中发送这个选项,但是被动 建立连接的一方只能够在收到带有这个选项的SYN之后才 可以发送这个选项。每个方向上的扩大因子可以不同。

《网络协议》

JXZ-2011.11

时间戳选项
? 时间戳选项使发送方在每个报文段中放置 一个时间戳值。接收方在确认中返回这个 数值,从而允许发送方为每一个收到的 ACK计算RTT(我们必须说“每一个收到 的ACK‖而不是“每一个报文段”,是因为 TCP通常用一个ACK来确认多个报文段)。 我们提到过目前许多实现为每一个窗口只 计算一个RTT,对于小窗口而言这是正确的。 然而,较大的窗口则需要进行更好的RTT计 算。

《网络协议》

JXZ-2011.11

T/TCP
? T/TCP即为事务用的TCP扩展,允许一个客户/服务器的请求-应 答序列在通常的情况下只使用三个阶段来完成。它避免使用三 次握手,并缩短了TIME_WAIT状态,其方法是为每个主机高速 缓存少量的信息,这些信息曾用来建立过一个连接。它还允许 在数据报文段中使用SYN和FIN标志。最小的事务序列是交换三 个报文段: ? 1) 主动打开引起的客户到服务器:客户的SYN、客户的数据 (请求)、客户的FIN以及客户的CC。当被动的服务器TCP接 收到这个报文段的时候,如果客户的CC比为这个客户缓存的 CC要大,则客户的数据被传送给服务器应用程序进行处理。 ? 2)服务器到客户:服务器的SYN、服务器的数据(应答)、服 务器的FIN、对客户的FIN的ACK、服务器的CC以及客户的CC 的CCECHO。由于TCP的确认是累积的,这个对客户的FIN的 ACK也对客户的SYN、数据及FIN进行了确认。当客户TCP接 收到这个报文段,就将其传送给客户应用进程。 ? 3)客户到服务器:对服务器的FIN的ACK,它也确认了服务器的 SYN、数据和FIN。客户对它的请求的响应时间为RTT与SPT (服务器处理时间)的和。

《网络协议》

JXZ-2011.11

4.7 UDP协议
UDP数据报
应用数据

UDP头部 应用数据 UDP头部 应用数据

IP头部



IP头部

UDP头部 应用数据

《网络协议》

JXZ-2011.11

UDP协议的特征
? UDP不执行管理主机之间信息交换速率的流量控制;

? UDP不发送或接受保证数据成功传送的确认;
? UDP不提供数据包排序的方法,以便目的节点能够按 照正确顺序排序; ? UDP用最小的协议开销为应用程序之间的通信提供简 单的事务服务;

? UDP可根据目的端口编号,为应用程序进程提供数据 的多路分解;
? UDP报头包括一个校验和,以便检测从源主机向目的 主机传送数据时是否产生错误。

《网络协议》

JXZ-2011.11

端口是用报文队列来实现
应 用 层 TFTP 客户

?

TFTP 服务器

?

出队列


入队列

出队列

入队列


层 UDP 端口 51000 UDP 用户数据报 UDP 端口 69

《网络协议》

JXZ-2011.11

常用端口号
十进制数 Internet关键字 UNIX关键字
0 7 53 67 68 69 111 161 162 ECHO echo

描述
保留 回应

DOMAIN
BOOTPS BOOTPC TFTP SUNRPC -

nameserver
bootps bootpc tftp sunrpc snmp snmp-trap

域名服务器
引导协议服务器 引导协议客户机 简单文件传送 SUN远程过程调用 SNMP网络监控程序 SNMP陷阱

《网络协议》

JXZ-2011.11

UDP头部
16bit UDP源端口 UDP长度 16bit UDP目的端口 UDP校验和

最小值为8,理论 上最多可达65 535字节,但一些 UDP实现限制到 8192字节。

全“0”:不选,即不进行校验; 全“1”:校验和为0,即零的1 的补码,0xFFFF。

《网络协议》

JXZ-2011.11

UDP伪首部(12字节)
32bit
源IP地址 目的IP地址 00000000 协议=17 UDP长度

信息取自IP层报头,计入检验和,用于检错。

伪首部既不向下传送也不向上递交,而仅仅是为了计算检验和。

《网络协议》

JXZ-2011.11

UDP数据报的首部和伪首部
字节 4 源 IP 地址 12 伪首部 4 目的 IP 地址 1 0 1 2 17 UDP长度 2 检验和

字节

2 2 2 源端口 目的端口 长 度

首 部


UDP 数据报



首 部

数 IP 数据报



《网络协议》

JXZ-2011.11

4.8 基于Socket的通信
?进程标识-- Internet全局唯一标识方法:

-- 3元组(协议,本地IP地址,本地端口号) ?Internet 全局唯一标识: 5元组(协议,本地IP地址,本地端口号, 远地IP地址,远地端口号) ?Internet进程相互作用模式; * client/server model -- 网络资源的不均匀性; -- 通信的异步性; ?请求驱动; ?实现方法:处理并发请求/安全性 ?处理并发请求基本方法:并发服务器/重复服务器 * Server ---- 并发服务器(concurrent server) ---- 守护进程 (daemon)

《网络协议》

JXZ-2011.11

socket系统调用
? 4BSD UNIX进程通信的socket系统调用:

创建socket — socket(); 指定本地地址—bind()系统调用;

建立socket连接—connect()与accept()系统调用;
connect()— 建立连接; accept()— 面向连接服务; 准备接受连接— listen()调用; 发送数据 — write(),writev(), send(),sendto(),sendmsg(); 接收数据 — read(), readv(), recv(), recvfrom(), recvmsg();

《网络协议》

JXZ-2011.11

套接字
? SOCKET(套接字/管套/插口):标识连接的端点,IP地址 + 端口号 。 ? TCP和UDP的SOCKET机制的工作过程:
TCP SERVER CLIENT SERVER 申请SOCKET SENDTO UDP CLIENT 申请SOCKET RECVFROM SENDTO

申请SOCKET 申请SOCKET LISTEN CALL

ACCEPT
RECEIVE

CONNECT
SEND

RECVFROM

《网络协议》

JXZ-2011.11

面向连接客户机—服务器模型流程图
服务器
socket( ) bind( ) listen( ) accept( ) 阻塞,等待客户机连接请求 建立连接 connect( ) 服务请求 read( ) 处理服务请求 服务响应 write( ) read( ) write( )

客户机
socket( )

《网络协议》

JXZ-2011.11

无连接客户机—服务器模型流程图
服务器
socket( ) bind( ) readfrom( ) 阻塞,等待客户机连接请求 建立连接 bind( ) 服务请求 read( ) 处理服务请求 服务响应 sendto( ) readfrom( ) sendto( )

客户机
socket( )

《网络协议》

JXZ-2011.11

并发服务器建立过程
主服务器 fork( ) listen( ) accept( ) 请求处理 connect( ) 从服务器 客户机

连接建立

原公认socket

新socket

本地socket 连接请求

《网络协议》

JXZ-2011.11

第5章 TCP/IP应用层协议
5.1 DNS协议

5.2
5.3 5.4 5.5 5.6 5.7 5.8

BOOTP和DHCP协议
TFTP和FTP协议 NFS协议 SMTP协议 HTTP协议 SNMP协议 Telnet和Rlogin协议

《网络协议》

JXZ-2011.11

应用层协议概述
? 应用进程:为了解决具体的应用问题而彼此通信的进程。

? 应用层协议:应用进程在通信时所遵守的协议。
? 每个应用层协议都是为了解决某一类应用问题,而问题的解 决又往往是通过位于不同主机中的多个应用进程之间的通信 和协同工作来完成的。应用层的具体内容就是规定应用进程 在通信时所遵循的协议。

? 客户/服务器模式:TCP/IP体系采用客户/服务器模式使
两个进程能够进行通信。当A进程需要B进程的服务时就主 动呼叫B进程,这时,A是客户而B是服务器。也就是说,

主叫方是客户,被叫方是服务器。

《网络协议》

JXZ-2011.11

TCP/IP协议族中的应用层协议
Telnet HTTP NFS

应用层
针对不 同应用

FTP
SMTP

XWin

TFTP
SNMP

REXEC

DNS

RPC

传输层

TCP

UDP

网络层 数据链路层 针对不同硬件

ICMP

IP

IGMP

ARP

RARP

Ethernet, Token Ring, FDDI, PPP/SLIP, X.25

《网络协议》

JXZ-2011.11

5.1

域 名 系 统

1. 域名系统的概念
? Internet 上 的 主 机 名 : 用 英 文 字 母 和 数 字 组 成 。 如 : mail.cumt.edu.cn。
? 域名是一个逻辑概念,用于标识主机,并不反映主机所在 的物理地点。 ? 域名系统DNS(Domain Name System):负责将主机名 转换为IP地址。Internet的域名系统被设计成一个联机分布 式数据库系统,并采用客户/服务器模式。 ? 域名服务器程序:在专设的结点上运行。运行该程序的计 算机称为域名服务器。

《网络协议》

JXZ-2011.11

DNS的概念
域名系统DNS是用来进行IP地址和主机的名字之间的转换。
UDP数据报 www.cumt.edu.cn 的IP地址? www.cumt.edu.cn 的IP地址是 202.119.199.39 www.cumt.edu.cn202.119.199.39

DNS客户机

DNS服务器

《网络协议》

JXZ-2011.11

2 因特网的域名结构
1.域名采用层次结构 ? ….三级域名.二级域名.顶级域名 ? 每一级域名不超过63个字符(不分大小写),完整的域名 不超过255个字符。 2.域名管理 (1)顶级域名 ? 顶级域名由Internet的有关机构管理。 ? 顶级域名有三大类: ? 国家顶级域名:以英文缩写表示,如:cn、us、uk等。 ? 国际顶级域名:用于国际性组织,int。 ? 通用顶级域名:com表示公司企业;net表示网络服务机构; org表示非赢利性组织;edu表示教育机构;gov表示政府 部门(美国专用);mil表示军事部门(美);

《网络协议》

JXZ-2011.11

(2)下级域名
? 各级域名由其上一级域名管理机构管理。 ? 在国家顶级域名下注册的二级域名均由该国家自行确定。比如:荷兰不再

设二级域名,其所有机构均在其顶级域名nl之下。日本将其教育机构的二
级域名定为ac,企业机构的二级域名定为co。 ? 中国:将二级域名划分为“类别域名”和“行政区域域名”。

? 类别域名6个:ac科研机构;com企业;edu教育;gov政府;net网络信
息中心;org非赢利性组织。 ? 行政区域名34个:省、自治区、直辖市,如:bj北京,sh上海。

? 三级域名:在中国,在二级域名edu下申请注册三级域名由中国教育和科
研网网络中心负责;在二级域名edu之外的其他二级域名下申请注册三级 域名,则应向中国互联网网络信息中心(CNNIC)申请。 ? 注:Internet的名字空间是按照机构的组织来划分的,与物理网络无关, 与IP地址中的“子网”无关。

《网络协议》

JXZ-2011.11

众多的域名组成一个巨大的域名空间,按照域名的分层 机制,可以把这个空间的结构看作一棵倒向生长的树。树的 每个节点(包括分支节点和叶子节点)都有一个分级域名, 同时也有一个完整域名。完整域名是由沿本节点到根节点所 经过的节点的分级域名逐级顺序构成。 地区域 域 域名 cn com edu jp uk ae net 行业域


hk gov edu com mil 顶级域

yale

son

二级域
三级域

21cn tsinghua ihep

cs eng eng

…..

www ibm33 0

www

《网络协议》

JXZ-2011.11

DNS的分层结构图

.com

.net

.org

.gov

.cn

.edu

.net

.com

.scu

.smth

.xmu

ibmtc

cad

bbs

每个域可以由不同的组织管理。每个域可将相应的域 分为若干个子域,并将这些子域的管理分给其他单位

《网络协议》

JXZ-2011.11

DNS的授权
edu.cn

cumt.edu.cn

cumt.edu.cn

由cumt负责维护cumt.edu.cn域 内的所有主机的域名信息

ibmtc

cad

www

示例:edu.cn域授权cumt管理cumt.edu.cn子域, cumt建立自己的DNS服务器管理域内的所有主机域名 信息

《网络协议》

JXZ-2011.11

3 域名服务器及其组织
? 域名服务器:在DNS协议中用作服务器的计算机,其功能 就是将客户指定的域名变换成IP地址。记录本域的域名注 册信息;提供地址/域名解析服务,包括域内服务和域外服

务;记录根域名服务器(13个)及相邻域名服务器的IP地
址,并与其它域名服务器及时交换全网的DNS信息;提供域 名信息查询服务。 ? DNS服务器周期性地和其他DNS服务器上的各种数据库同 步,并检查其他服务器上的新表项。这个过程通常称为传 播。 ? 一个新域名大约会在3~4天内完成在世界各地的传播。

《网络协议》

JXZ-2011.11

? 本地域名服务器:靠近客户,通常和客户机在同

一个局域网上,是组内计算机域名的管辖者;
? 根域名服务器:知道所有域名的查找途径,确认

某个域名是否存在的最终权威服务器,全球13+7
个,均位于美国;

? 授权域名服务器:接受根域名服务器的轮询或定
期向根域名服务器报告,负责本地主机域名的申 请登记注册工作的服务器。通常和本地域名服务 器合而为一。

《网络协议》

JXZ-2011.11

? DNS服务器是按层次安排的,该层次对应于域名的 层次,每个服务器作为域名体系中某一部分的管辖 者(authority)。域名可以划分为若干个域名服务器 管辖区(zone),并在各管辖区中设置相应的授权域 名服务器。
域 abc.com
管辖区 abc.com 管辖区 abc.com 的授权域名服务器 com

根域名服务器

abc 管辖区 y.abc.com x y

管辖区 y.abc.com 的授权域名服务器

u

v

w

t

《网络协议》

JXZ-2011.11

4 域名解析
域名的转换过程:源主机的某个应用进程,将待转换的域名放在 DNS请求报文中,以TCP或UDP数据报方式发给本地域名服

务器。本地域名服务器在查找域名后,将对应的IP地址放在
回答报文中,返回给请求进程。若本地域名服务器不能回答 该请求,则该域名服务器就暂时成为DNS中的另一个客户, 去寻找能够回答该请求的域名服务器,直到找到为止。

反过来,由IP地址得出域名地址的过程则称为域名反向解析。
请求 请求

应用程序
应答

解析器
应答

DNS服务器

《网络协议》

JXZ-2011.11

在第二个服务器返回一个回答后,原先的服务器向发送请 求的解析器发送一个该回答的副本。这是递归查找的情形,也 称为循环方法。
若是迭代查找,则是由最初发送请求的解析器根据刚才访 问的服务器发回的地址,发起另一个新的客户/服务器交互。也 称为反复方法。
C C

B
B A

A
本 地 本 地

(a)递归查找

(b)迭代查找

《网络协议》

JXZ-2011.11

示例:cs.cumt.edu.cn域名的迭代查询过程

.cn 域名服务器 . 域名服务器 .edu.cn 域名服务器

4 3 2

5

6 7 8

.cumt.edu.cn 域名服务器
9

1

客户机解析器
10

本地 域名服务器

《网络协议》

JXZ-2011.11

示例:www.cnnic.cn域名的递归查询过程
www.cnnic.cn 地址是什么? 根服务器 · 向cn域查询 地址是什么 cn服务器 cn 向.cnnic.cn查找 cnnic.cn服务器 cnnic
159.226.1.19 www.cnnic.cn

ISP等 解 析 DNS 过 服务器 程

com

net

sohu whois asr

查询 www.cnnic.cn 地 址 是 159.226.1.19

Cnnic. cn 域名服务器

www

《网络协议》

JXZ-2011.11

递归与迭代相结合的查询
根域名服务器 dns.com ③ ⑤ ②


本地域名服务器 dns.abc.com ⑦

本地域名服务器 dns.y.abc.com



本地域名服务器 dns.xyz.com
① IP(t.y.abc.com)=? m.xyz.com

⑧ IP(t.y.abc.com) = (198.54.23.15) t.y.abc.com

《网络协议》

JXZ-2011.11

5

DNS报文

DNS报文或查询被发送到网络中的格式被称为DNS报文格 式。DNS报文先被封装在一个UDP数据报或者一个TCP分段中, 然后被发送到网络中。不管是何种情况,用来传送DNS报文的 协议一定都是IP。
0 标识 问题记录数 15 16 标志 回答记录数 31 头部(12 个字节)

授权资源记录数
查询问题

附加资源记录数

回答(资源记录数可变) 授权(资源记录数可变) 附加信息(资源记录数可变)

资源 记录

《网络协议》

JXZ-2011.11

标志域

1表示请求递归解析 0表示请求反复解析

在服务器的响应中有效 1表示其支持递归解析

授权 截断 回答 标志 1=响应报文 512B 返回码 0=标准查询 字段, 表示错 1=反向查询 误状态 2=服务器状态请 求 0=查询报文

0=无错 1=查询中格式错误 2=服务器失败 3=名字不存在 4=未实现 5=管理上拒绝 6~15=预留给将来 用

《网络协议》

JXZ-2011.11

?DNS查询报文中的问题部分 —— 一组问题记录

通常为1 ?查询名

0~63

《网络协议》

JXZ-2011.11

?查询类型

《网络协议》

JXZ-2011.11

?DNS响应报文中的资源记录部分
记录中资源数据对应的名字, 格式和查询名字段相同。

和查询类型 相同 客户程序保留该资源记录 的秒数 类型1为4 字节IP

通常为1
资源记录通常为2天

《网络协议》

JXZ-2011.11

6 域名系统的数据库
域名系统中大量的域名与IP地之间的对应关系数据是一 个典型的分布式数据库。 DNS数据库由记录有关域名信息的资源记录构成。DNS的 资源记录由四个域组成:(Name,Value,Type,TTL),即域名 、值、记录类型和生存时间 。 ? 域名:要解析的域名; ? 值:对应该域名的某种数值(如IP地址); ? TTL:该域名的有效时间,通常为两天; ? 记录类型:怎样解析域名。共有4种记录类型—— A、 NS、CNAME、MX。

《网络协议》

JXZ-2011.11

资源记录中Name和Value的含义依赖于Type:

?如果Type=A,则Name是一个主机名,而Value是此主机 名的IP地址。
?如果Type=NS,则Name是一个域(例如foo.com),而 Value是一个授权域名服务器的主机名。 ?如果Type=CNAME,那末name是一个主机的化名,而 value是此化名的正规主机名。 ?如果Type=MX,那末name是一个邮件服务器的化名,而 value是此邮件服务器的正规名。

《网络协议》

第三章Internet网络层协议设计2013_图文.ppt

第三章Internet网络协议设计2013 - Internet网络协议设计 提纲 ?网络层服务 ?网络路由基本原理 ?层次化路由体系结构 ?IP协议简介 ?Internet路由协议...

2013教科版选修3《网络安全基础》ppt课件_图文.ppt

2013教科版选修3《网络安全基础》ppt课件 - 第4章 网络安全协议 ? ? ? ? 4.1 TCP/IP协议族与网络安全协议 4.2 PGP协议 4.3 SSL协议 4.4 IPSec协议...

2013教科版选修3《组建简单的局域网》ppt课件_图文.ppt

2013教科版选修3《组建简单的局域网》ppt课件 - 组建简单的局域网 学习目标 ?掌握制作网线的基本方法 ?能够把计算机连接起来并合理设置网络 ?能够使用windows的...

外包合同范本2013课件资料.doc

外包合同范本2013课件资料 - 上海科原工程技术有限公司 工程内部承包合同 合同编号: 《2014》第 工程名称: 万正 尚都 号 发包单位:上海科原工程技术有限公司 承包...

2013版施工合同介绍课件_图文.ppt

2013版施工合同介绍课件 - 2013版施工合同简介 二○一五年三月 住房城乡建设部 工商总局关于印发建设工程施工 合同(示范文本)的通知 建市[2013]56号...

计算机网络技术基础课件第二章_图文.ppt

计算机网络技术基础课件第二章_理学_高等教育_教育专区。第二章 计算机网络体系...不同节点的同等层按照协议实现同等层之间 的通信 2013-12-9 计算机网络技术及...

电脑及网络维护服务协议2013-6-17.doc

电脑及网络维护服务协议2013-6-17 - 电脑及网络维护服务协议 甲方: 广

网络协议2012_2013第一学期A卷试题期末.docx.doc

网络协议2012_2013第一学期A卷试题期末.docx - ………装………订…

计算机网络课件_图文.ppt

互联网普及率为47.9%, 较2013年底提升了2.1个百分点。 ? 根据2016年CNNIC第...计算机网络协议: Hi Hi 请问几点了? Get http://www.awl.com/kurose-ross ...

2013以太网.pdf

2013以太网_IT认证_资格考试/认证_教育专区。计算机网络与应用 课件 一、 IEEE 802.3标准及以太网§ 802.3协议使用于1-持续的CSMA/CD局域网 § 以太网使用...

2013CCNA中文版PPT(2)_图文.pdf

2013CCNA中文版PPT(2)_其它技巧_PPT制作技巧_实用文档。配置路由器IP地址 wg_...使用CDP和Telnet管理网络 CDP协议上层地址 Cisco专有的链路层 协议 介质必须能够...

...第二章 计算机网络的协议与体系结构 课件_图文.ppt

02 计算机网络 第二章 计算机网络协议与体系结构 课件_理学_高等教育_教育...文档贡献者 迷路的国王1989 贡献于2013-02-06 1 /2 相关文档推荐 ...

工业控制网络(2013)15_图文.ppt

工业控制网络(2013)15 - 工业控制网络(15) 哈工大网络与电气智能化研究所 刘勇 2013(春) 四、Modbus协议 Modbus是由Modicon(现为施耐德电气公 司的一个品...

2013版建设工程施工合同培训课件_图文.ppt

2013版建设工程施工合同培训课件 - 第一部分 2013《建设工程施工合同(示范文本)》 概述 第二部分 2013《建设工程施工合同(示范文本)》 具体解读 《建设工程施工...

2013通信网协议试卷.doc

2013-2014 年南京邮电大学通信网协议考 卷(回忆版) 1、(1)在 NGN 体系架构...6、SIP 课件上的一幅图, (1)在这幅图中有哪些消息头以及消息体功能? (2)...

网络课件-第三章_图文.ppt

网络课件-第三章 - 第三章 数据链路层 ? ? ? ? ? ? 3.1 数据链路层的基本概念 3.2 停-等协议 3.3 连续ARQ协议 3.4 选择重传ARQ 3.5 HDLC协议 3.6...

网络体系结构课件zl_图文.ppt

网络体系结构课件zl - 网络体系结构及协议... 网络体系结构课件zl_哲学_高等教育_教育专区。网络体系结构及协议 网络体系结构及协议 文档贡献者 dzcpaq1101 贡献于20...

个人通信课件 第三章new_图文.ppt

个人通信课件 第三章new - 第三章 个人通信的空中接口 2013-8-16 1 3.1 空中接口的基本概念 3.1.1 空中接口的协议体系 物理层确定无线电参数 介质接入控制层...

2013届协议书推荐表注册打印说明学生版ppt - 南通大学....ppt

2013协议书推荐表注册打印说明学生版ppt - 南通大学研究生处 2013协议书推荐...返还学院发放 学生签订就业协议,登录网络联盟,填报就业协议书信息 院系审核协议书...

计算机网络第三章2013 c1_图文.ppt

计算机网络第三章2013 c1 - PPP 协议的帧格式 先发送 IP 数据报 首部 尾部 F 字节 ? A 1 C 1 协议 2 信 息 部 分 FCS 2 F 1 1 ...