1、网络学和通信学基础 :IP 网络协议讲解手册2009 年 3 月 19 日在网络学和通信学中,协议就是定义过程的正式规格说明书,当传送或者接受数据的时候必须严格遵守。协议定义了网络中数据传输的格式、时间选择、先后次序、错误检查。简单的说,上述说法意味着如果你想让两台或者两台以上的设备进行通信,它们就需要一个共同的协议或者说是一组规则来指导这些设备在什么时候、以什么方式进行相互之间会话。网络协议一般由 RFC(requests for comments,请求注释,Internet 标准草案定义组织)来定义,该组织中的 IETF(Internet 工程任务组,Internet Engineerin
2、g Task Group)负责制定新的标准的或者协议。网络产品供应商(例如 IBM、思科、微软、Novell)就根据这些标准并将这些标准在他们的产品中实现出来。已经出台的协议有成百上千个,将他们一一列举在这里是不可能的。所以我们现在仅仅介绍一下几个最常用的协议,而且,我们将在未来的文章中研究一些专业性更强的协议。下表展示了目前最流行的 TCP/IP 协议,同时我们用 OSI 模型来显示每个协议工作的网络层次。需要紧记在心的事情是,当你从最下边的物理层到最上边的应用层的时候,设备用于处理协议的时间将越来越长。IP 协议介绍 Internet 协议(或者叫 IP 协议)可能是网络通信中最重要也是最
3、著名的协议之一,它使我们能够唯一标识网络中(这里一般指企业内部的网络)或者 Internet 上的每一台电脑。当将一台计算机连入网络中或者连入 Internet 中的时候,它将被分配一个唯一的 IP 地址。如果你是将它连入 Internet 中,IP 地址的分配是由你所在的 ISP(网络服务提供商)自动完成的,如果你是将其连入到一个局域网(LAN)中,那么你的 IP 地址可以是自动分配的,你也可以按照分配给你的 IP 地址,在你的工作站上进行手动配置。如果你想真正的了解网络通信是如何工作的,那么深入了解 IP 协议就是不得不强调的事情,DNS(域名服务器)、FTP(文件传输协议)、SNMP(简
4、单网络管理协议)、HTTP(超文本传输协议)及其很多其他的协议和服务都需要依赖 IP 协议才能正常发挥功能,所以你立刻就能看到 IP 协议将不仅仅是你工作站上的一个地址而已!现在,因为 IP 协议是一个含有丰富知识的学科,我们不可能在一两页的文章中涵盖其全部内容,所以决定将其分成几个不同的部分,以便于使其更易懂易学。二进制:比特与字节 为了更好的理解 IP 协议,我们需要学习并理解二进制的相关知识,IP 协议中的一个重要部分就是子网划分,而只有 IP 地址转化成二进制才能合理解释并正确理解子网划分。我们很多人都没有意识到,当我们在电脑上玩游戏、读书或者在屏幕上画画的时候,其实电脑根本无法理解文
5、字、图像和声音这些东西。事实上,所有的电脑都仅仅能够理解 0 和 1,我们在电脑屏幕上看见的那些东西其实都来源于对电脑能理解的数据流的转化,所以显出出来的这些信息对于我们来说才变得有用并有意义。二进制:比特与字节 所有使用 Internet 的人总会在某个时候碰见“字节”(Byte)或者“ 比特”(Bit)术语,当你进行网络下载的时候它们会经常出现,同时你获取的速度指示也都以比特/每秒或者字节/每秒来显示。我们现在就来弄清楚比特(Bit)、字节(Byte)和千字节(Kbyte)究竟是什么意思,这样你就能理解它们了。要多简单就有多简单,一个比特就是一个二进制数的最小单元,就像我们说我们能够拥有的
6、最小金额的钱就是一分一样,只不过比特是在二进制数中罢了。一个比特只能拥有一个值,不是 0 就是 1,所以如果我给你一个值 0,你可以说它就是一个比特,如果我给你两个(00),你就可以说它们是两个比特了。现在,如果你将八个 0 或者 1 组合在一起,例如 0110 1010(在中间加一个空格是为了看起来清晰明了),你就可以说它们是八个比特或者说一个字节。好,这就对了,八比特就等于一字节,而不管它们都是全是 0、全是 1 或者是由若干 0 和若干 1 混合而成。将这些字节加起来,到了 1024 个字节的时候,就获得了一个千字(Kbyte)了,为什么是 1024 而不是 1000 呢?这是由二进制的
7、进位方式造成的,如果你学过数学,你就会知道上述结果是正确的。二进制与十进制之间的转换 那么,二进制与 IP 有什么关系呢?就像我在开始的介绍中解释的那样,计算机使用一种我们都能理解的信息方式来显示这些 0 或者1,IP 协议也按照类似方式工作,虽然我们在 98的时间里看到都是十进制数,但实际上计算机将它们转换成二进制数后才能理解。上边的例子就出现了一个十进制的 IP 地址,它是我们更容易理解的,当把这个地址(192.168.0.1)转化成二进制数计算机就能理解了。你可以看到得到的二进制数很长,对于我们来说,记住四个不同的数字肯定比记住 32 个 0 或 1 要容易。现在,紧记我们前边说到的关于
8、比特和字节的概念,你曾经听到过或者读到过人们常说一个 IP 地址是一个 32 比特地址吗?是的,就是这样,你现在可以知道为什么:所以,如果将上边所述总结一下,我们现在就知道什么是二进制数?什么是一个比特、字节或者千字节?以及二进制数与通常以十进制数表示的 IP 地址是什么样的关系?二进制与十进制之间的转换现在,我们开始考虑一下如何进行十进制和二进制之间的转换过程,这是一个非常重要的步骤,因为你将会发现,在处理一些比较复杂的子网的时候,你经常都需要进行这种转换,而且,一旦你这种掌握了这些基本概念,这种转换是不难的。下图就向你显示了一个 IP 地址向二进制的转换过程,请紧记我将要向你展示的方法对其
9、他的转换都是适用的。我们现在打算将 IP 地址中(192.168.0.1)第一个八位比特转换成二进制,换句话说我们需要将“192”转换成二进制数,我们根本就不需要做任何负责的运算,仅仅需要做一些简单的加法:如果你已经阅读并已经理解本页的第一部分,你应该知道我们需要八个比特来创建一个八位位组(一个字节)或者说就是这个数字 192。每个比特都代表一个永远不变的值,在图中我们在比特数字上方用紫色来显示这个值。然后我们采用这样一种方法来选择一些比特位,找出比特位所代表值加起来和我们需要的十进制数相等的比特位,这些位就是我们需要选择的比特位。如果你想利用数学术语来解释这种转换,你可能说每个位都是 2 的
10、幂(2),例如第 8 位就是 2 的 7次方(27,十进制数为 128)、第 7 位就是 2 的 6 次方(26 ,十进制数为 64)、第 6 位就是 2 的 5 次方(25,十进制数为 32)、第 5 位就是 2 的 4 次方(24 ,十进制数为 16)、第 4 位就是 2 的 3 次方(23,十进制数为 8)、第 3 位就是 2 的 2 次方(22 ,十进制数为 4)、第 2 位就是 2 的 1 次方(21,十进制数为 2)、第 1 位就是 2 的 0 次方(20 ,十进制数为 1)。注意:当我们计算一个八位位组的十进制的时候(如上述例子中的 192),比特位的位置参数并不是我们用来获得十
11、进制数是所使用的 2 的幂次数,这就意味着 Bit 1 并不能转换成十进制的时候不能算成212)。在我们的例子中,我们使用 192 这个数,就如你所看到的那样,我们需要第 8 个比特位和第 7 个比特位,这就获得了所求的二进制数 1100 0000,它就是十进制数 192 的二进制形式。你一定要记住每个比特位所代表的值是不能改变的。例如,第 8 位代表 128,而第 1 位总是代表 1,使用这种方法,你就会发现将十进制转换成二进制是非常简单的,它根本就不需要复杂的数学运算。现在我们来研究一下下一个八位位组,它的十进制形式是 168:这里你可以再一次看到我们需要选择第 8 位、第 6 位和第 4
12、 位(换句话说我们需要将这些位置都赋成“1”),这些位所代表值相加就能得到十进制数 168,所有二进制数 1010 1000 就和十进制数 168 相等。不管你是从十进制数转换成二进制数,还是从二进制数转换成十进制数,都可以使用同一种方法,如果你能理解上述方法,你就应该能转换任何十进制数或者二进制数。这仅仅是这部分需要掌握的内容,你应该开始准备下一部分。IP 协议报头 介绍 就象所有其他的协议一样,IP 协议在 OSI 模型占有一席之地,因为它是一个如此重要的网络以至于其他协议都依赖于它,所以 IP 协议需要先于其他协议放入 OSI 模型中,这就是你会在 OSI 模型的第三层发现它的原因(其它
13、的应用协议基本上都在三层以上)。 当一个计算机接受到来自网络的数据包的时候,它将首先在数据链路层(第二层)检查数据包中包含的目标机 MAC 地址,如果 MAC 地址于本机匹配,它才会将数据包传递给网络层。在网络层,计算机将检查数据包中的目标 IP 部分是否与本机的 IP 地址匹配(如果该数据包是一个广播数据包,则会无条件的通过网络层)。 来从那儿开始,数据包就被上层的按照要求进行处理。另一方面,计算机也可能产生一个数据包并将其送入网络,然后,当这个数据包沿着 OSI 模型向下传送到达网络层的时候,目标机的源主机(也就是本主机)的 IP 地址就被加入到 IP 头中去了。IP 报头 现在我们开始来
14、分析 IP 协议报文头,你可以看到它都有分成那些值域以及这些值域的位置安排,在 IP 头里边你可以找到对于每个使用该协议的数据包都至关重要的目标机和源主机 IP 地址。 值得一提的是第九个值域“协议”值域,它包含一些重要的信息,一旦计算机将 IP 剥离,它将告诉该计算机将该数据包送到那里。如果你还记得,OSI 模型中的第四层(我们叫它传输层)中存在着 TCP协议和 UDP 协议,当数据包到达一个计算机并且被网络层下边各层进行了处理以后,就需要知道将该数据包送往上层的什么地方。这个值域就是告诉计算机将剩下的数据是送给传输层的 TCP 协议还是送给 UDP 协议。目标机 IP 地址是另一个非常重要
15、的值域,该值域包含目标主机的 IP 地址。下一部分我们讨论 IP 地址的五个不同类别。 IP 地址结构与分类 介绍每个网络协议簇都会定义某种类型的寻址方式来标志网络中的计算机和子网,IP 协议也不例外,IEEE(国际电气与电子工程师协会)已经为 IP 协议定义了一种地址分配策略,它决定了一个 IP 地址究竟可以取那些数值。与其说一个简单的 IP 地址是一个数字,还不如说它是一个划分,它可以标识工作站所在的网络和该节点的 ID。IP 地址结构与分类当 IEEE 的专家们坐下来挑选出将供所有电脑做为 IP 地址使用的数字的范围时,他们提出一个五个不同范围(或者我们叫它“类型”)IP 地址的方案。当
16、某人申请 IP 地址的时候,就根据他们网络的大小,找出在一个合适的特定类别中找出某个范围的 IP 地址分配给他。这五个类别,第一个类别为 A 类,最后一个类别为 E 类,前边三个类别(A 类、B 类和 C 类)被用来标识工作站、路由器、交换机以及其他设备,而最后两个类别(D 类和 E 类)被保留做特殊用途。一个 IP 地址由 32 个比特位构成,这就意味着它有四个字节长,IP 地址的第一个八位位组(或者说前八个比特、第一个字节)就足于决定该 IP 地址究竟属于那个类别。同时,根据 IP 地址归属的这个类别的属性我们就能决定 IP 地址的那个部分代表网络 ID,那个部分代表主机 ID。例如,如果
17、我告诉你一个 IP 地址的第一个八位位组是“168”,利用上表,你将注意到它落入 128191的范围内,所以它就是一个 B 类 IP 地址。深入理解网络类别 我们现在准备对这五个类别做一个更深入的研究,前边我们已经提到将根据公司网络的大小来决定如何分配给公司这些类别中的不同 IP 地址范围。例如,如果一个公司需要 1000 个IP 地址,那么很可能分配给该公司一个 B 类地址而不是一个 A 类地址或者 C 类地址,因为 A 类地址往往分配给大型网络、B 类地址分配给中型网络而 C 类地址分配给一个更小的网络。网络 ID 和主机 ID 网络 ID 和主机 ID 概念介绍我们需要理解网络 ID 和
18、主机 ID(或者说节点 ID)这两个概念,因为它将帮助我们完全弄懂类别存在的原因,尽量简单的说,一个 IP 地址告诉我们两个部分有价值的东西:1)它告诉我们设备处在那个网络之中(由网络 ID 决定) 2)它唯一标识网络中的该设备(由节点 ID 决定)完全可以将网络 ID 看成你所居住的城市,那么就可以将主机 ID 看成你所居住的街道,如果你有别人的城市名称和街道名称,你就能知道别人究竟住在那儿。与此种方式相同,网络 ID 告诉我们一个特定的主机处于那个网络中,而主机 ID 使我们能够在该网络中将该主机和其它属于该网络的主机分辨开来。下面这张图片能够帮助大家理解: 我猜想大家想问的下一个问题就是
19、:我如何知道一个 IP 地址的那个部分是网络 ID,那个部分是主机 ID呢?这就是我们准备在下个部分回答的问题了。 每个类别的网络 ID 和主机 ID网络的类别帮助我们决定如何将这四个字节或者说 32 个比特的 IP 地址分成网络部分和主机部分。下面这张图片就显示了网络 ID 和主机 ID 因类的不同而不同。 所有的 A 类网络都有一个总共 7 比特的网络 ID 部分(第 8 位恒为 0)和 24 个比特的主机 ID 部分,现在我们需要做的所有事情就是计算这 7 位比特将含有多少中可能性:2 的 7 次方为 128,所以 A 类地址可以包含 128 个大型网络,同时对于主机 ID 来说,2 的
20、 24 次方为 16,777,216,所以每个 A 类网络中可以包含16,777,216 个主机,但是这 16,777,216 个主机地址中有两个不能使用,一个用来作为该网络地址,另外一个用来作为该网络内的广播地址(查看本页末尾部分的表格)。这也是我们在计算某个网络中的“合法”主机数目总是减去 2 的原因,所以,如果我问你在一个 A 类网络中最多可以有多少个“合法”主机时,你应该回答 16,777,214 而不是 16,777,216。当我们申请其它的两个类别(B 类地址和 C 类地址)的地址的时候,情形和申请 A 类地址相同,唯一不同的是,由于不同类别中用来标识网络和标识主机的地址值域不一样
21、,造成每类地址所涵盖的网络数目以及每个网络中的最大主机数目个数不一样。B 类网络中有 14 个比特位用来表示网络 ID(第 15 位、第 16 位被分别设置成 0 和 1 而不能改变)和16 个比特位来表示主机 ID,这意味着可以拥有达到 “2 的 14 次方等于 16,384”个 B 类网络,每个 B 类网络中还可以拥有“2 的 16 次方等于 65,536”个主机,当然了,这其中包括两个不能用主机 ID,因为他们被分别用来标识整个网络和网络中的广播地址(查看本页末尾部分的表格)。所以,如果我问你在一个 B类网络中最多可以有多少个“合法” 主机时,你应该回答 65,534 而不是 65,53
22、6。 C 类网络中有 21 个比特位用来表示网络 ID(第 22 位、第 23 位、第 24 位被分别设置成 0、1 和 1 而不能改变)和 8 个比特位来表示主机 ID,这意味着可以拥有达到“2 的 21 次方等于 2,097,152”个 C 类网络,每个 C 类网络中还可以拥有“2 的 8 次方等于 256”个主机,当然了,这其中包括两个不能用主机 ID,因为他们被分别用来标识整个网络和网络中的广播地址(查看本页末尾部分的表格)。所以,如果我问你在一个 C 类网络中最多可以有多少个“合法”主机时,你应该回答 254 而不是 256。现在,即使我们拥有三个类别的 IP 地址可以使用,这儿仍需
23、要保留部分 IP 地址以备特殊使用,这并不意味着你不能将他们赋给一个工作站,但是,如果你真的将一个保留地址赋给了你的工作站,它将使你的网络出现问题。基于此,我们要避免使用这些 IP 地址。下边这张表显示了你应该避免使用的 IP 地址: 现在你应该保证自己都遵循上述规则,因为你如果不遵守,你就将碰到很多问题。重要提示:对于任何网络,不论类别和大小,都拥有一个网络地址(第一个地址,例如 C 类地址的192.168.0.0)和一个广播地址(最后一个 IP 地址,例如 C 类地址中的 192.168.0.255),就如上述图标与注释中提高的一样,是绝对不能使用的。所以当我们计算一个网络的可用 IP 地
24、址的时候,一直需要记住从该网络上的 IP 地址总数上减去 2。分层网络协议OSI 模 型 是 国 际 标 准 化 组 织 ISO 创 立 的 。 这 是 一 个 理 论 模 型 , 并 无 实 际 产 品完 全 符 合 OSI 模 型 。 制 订 OSI 模 型 只 是 为 了 分 析 网 络 通 讯 方 便 而 引 进 的 一 套理 论 。 也 为 以 后 制 订 实 用 协 议 或 产 品 打 下 基 础 。 OSI 模 型 共 分 七 层 : 从 上 至 下 依 次 是 应 用 层 指 网 络 操 作 系 统 和 具 体的 应 用 程 序 , 对 应 WWW 服 务 器 、 FTP 服
25、务 器 等 应 用 软 件 表 示 层 数 据语 法 的 转 换 、 数 据 的 传 送 等 会 话 层 建 立 起 两 端 之 间 的 会 话 关 系 , 并负 责 数 据 的 传 送 传 输 层 负 责 错 误 的 检 查 与 修 复 , 以 确 保 传 送 的 质 量 ,是 TCP 工 作 的 地 方 。 ( 报 文 ) 网 络 层 提 供 了 编 址 方 案 ,IP 协 议 工 作的 地 方 (数 据 包 ) 数 据 链 路 层 将 由 物 理 层 传 来 的 未 经 处 理 的 位 数 据 包装 成 数 据 帧 物 理 层 对 应 网 线 、 网 卡 、 接 口 等 物 理 设 备
26、(位 ) 第 七 层 应 用 层 功 能 : 指 网 络 操 作 系 统 和 具 体 的 应 用 程 序 , 对 应 WWW服 务 器 、 FTP 服 务 器 等 应 用 软 件 1、 术 语 “应 用 层 ”并 不 是 指 运 行 在 网 络上 的 某 个 特 别 应 用 程 序 , 而 是 提 供 了 一 组 方 便 程 序 开 发 者 在 自 己 的 应 用 程 序中 使 用 网 络 功 能 的 服 务 。 2、 应 用 层 提 供 的 服 务 包 括 文 件 传 输( FTP) 、 文 件 管 理 以 及 电 子 邮 件 的 信 息 处 理 ( SMTP) 等 。 第 六 层 表 示
27、层 功 能 : 内 码 转 换 、 压 缩 与 解 压 缩 、 加 密 与 解 密 ,充 当应 用 程 序 和 网 络 之 间 的 “翻 译 官 ”角 色 。 1、 在 表 示 层 , 数 据 将 按 照 网 络 能理 解 的 方 案 进 行 格 式 化 ; 这 种 格 式 化 也 因 所 使 用 网 络 的 类 型 不 同 而 不 同 。 例如 , IBM 主 机 使 用 EBCDIC 编 码 , 而 大 部 分 PC 机 使 用 的 是 ASCII 码 。 在 这种 情 况 下 , 便 需 要 会 话 层 来 完 成 这 种 转 换 2、 表 示 层 协 议 还 对 图 片 和文 件 格
28、式 信 息 进 行 解 码 和 编 码 。 3、 表 示 层 管 理 数 据 的 解 密 与 加 密 ,如 系 统 口 令 的 处 理 。 如 果 在 Internet 上 查 询 你 银 行 账 户 , 使 用 的 即 是 一 种安 全 连 接 。 第 五 层 会 话 层 功 能 : 负 责 在 网 络 中 的 两 节 点 之 间 建 立 和 维 持 通 信 。 1、 会 话 层 的 功 能 包 括 : 建 立 通 信 链 接 , 保 持 会 话 过 程 通 信 链 接 的 畅 通 ,同 步 两 个 节 点 之 间 的 对 话 , 决 定 通 信 是 否 被 中 断 以 及 通 信 中 断
29、时 决 定 从 何 处重 新 发 送 例 : 使 用 全 双 工 模 式 或 半 双 工 模 式 , 如 何 发 起 传 输 , 如 何 结 束 传 输 , 如 何 设定 传 输 参 数 2、 会 话 层 通 过 决 定 节 点 通 信 的 优 先 级 和 通 信 时 间 的 长 短 来 设 置 通 信 期 限 。 第 四 层 传 输 层 功 能 : 编 定 序 号 、 控 制 数 据 流 量 、 查 错 与 错 误 处 理 ,确 保 数 据 可 靠 、 顺 序 、 无 错 地 从 点 到 传 输 到 点 1、 因 为 如 果 没 有 传 输 层 , 数 据 将 不 能 被 接 受 方 验 证
30、 或 解 释 , 所 以 , 传 输层 常 被 认 为 是 O S I 模 型 中 最 重 要 的 一 层 。 2、 传 输 协 议 同 时 进 行 流量 控 制 或 是 基 于 接 收 方 可 接 收 数 据 的 快 慢 程 度 规 定 适 当 的 发 送 速 率 。 3、 传 输 层 按 照 网 络 能 处 理 的 最 大 尺 寸 将 较 长 的 数 据 包 进 行 强 制 分 割 并 编 号 。例 如 : 以 太 网 无 法 接 收 大 于 1 5 0 0 字 节 的 数 据 包 。 发 送 方 节 点 的 传 输 层将 数 据 分 割 成 较 小 的 数 据 片 , 同 时 对 每 一
31、 数 据 片 安 排 一 序 列 号 , 以 便 数 据 到达 接 收 方 节 点 的 传 输 层 时 , 能 以 正 确 的 顺 序 重 组 。 该 过 程 即 被 称 为 排 序 。 4、 在 网 络 中 , 传 输 层 发 送 一 个 A C K ( 应 答 ) 信 号 以 通 知 发 送 方 数 据 已 被正 确 接 收 。 如 果 数 据 有 错 或 者 数 据 在 一 给 定 时 间 段 未 被 应 答 , 传 输 层 将 请 求发 送 方 重 新 发 送 数 据 。 NOTE: 工 作 在 传 输 层 的 一 种 服 务 是 TCP/IP 协 议 套 中 的 T C P( Tra
32、nsfer Control Protocol 传 输 控 制 协 议 ) , 另 一 项 传 输 层 服 务 是 IPX/SPX 协 议集 的 S P X( Serial package Exchange 序 列 包 交 换 ) 第 三 层 网 络 层 功 能 : 定 址 、 选 择 传 送 路 径 1、 网 络 层 通 过 综 合 考 虑 发 送 优 先 权 、 网 络 拥 塞 程 度 、 服 务 质 量 以 及 可 选 路由 的 花 费 来 决 定 从 一 个 网 络 中 节 点 到 另 一 个 网 络 中 节 点 的 最 佳 路 径 。2、 在 网 络 中 , “路 由 ”是 基 于 编
33、 址 方 案 、 使 用 模 式 以 及 可 达 性 来 指 引数 据 的 发 送 。 3、 网 络 层 协 议 还 能 补 偿 数 据 发 送 、 传 输 以 及 接 收 的 设 备能 力 的 不 平 衡 性 。 为 完 成 这 一 任 务 , 网 络 层 对 数 据 包 进 行 分 段 和 重 组 。 4、 分 段 和 重 组 是 指 当 数 据 从 一 个 能 处 理 较 大 数 据 单 元 的 网 络 段 传 送 到 仅 能处 理 较 小 数 据 单 元 的 网 络 段 时 , 网 络 层 减 小 数 据 单 元 的 大 小 的 过 程 。 重 组 是重 构 被 分 段 的 数 据 单
34、 元 。 Note 1、 网 络 层 的 分 段 是 指 数 据 帧 大 小 的 减 小 , 而 网 络 分 段 是 指 一 个 网 络分 割 成 更 小 的 逻 辑 片 段 或 物 理 片 段 。 Note 2、 路 由 器 : 由 于 网 络 层 处理 路 由 , 而 路 由 器 因 为 连 接 网 络 各 段 , 并 智 能 指 导 数 据 传 送 , 所 以 属 于 网 络层 。 Note 3、 TCP/IP 协 议 中 IP 属 于 网 络 层 ; IPX/SPX 协 议 中 IPX也 属 于 网 络 层 第 二 层 数 据 链 路 层 功 能 : 同 步 、 查 错 、 制 定 M
35、AC 方 法 1、 它 的 主 要 功 能 是 将 从 网 络 层 接 收 到 的 数 据 分 割 成 特 定 的 可 被 物 理 层 传输 的 帧 。 2、 帧 (Frame)是 用 来 移 动 数 据 的 结 构 包 , 它 不 仅 包 括 原 始( 未 加 工 ) 数 据 , 或 称 “有 效 荷 载 ”, 还 包 括 发 送 方 和 接 收 方 的 网 络 地 址 以及 纠 错 和 控 制 信 息 。 其 中 的 地 址 确 定 了 帧 将 发 送 到 何 处 , 而 纠 错 和 控 制 信 息则 确 保 帧 无 差 错 到 达 。 3、 通 常 , 发 送 方 的 数 据 链 路 层
36、 将 等 待 来 自 接 收方 对 数 据 已 正 确 接 收 的 应 答 信 号 。 4、 数 据 链 路 层 控 制 信 息 流 量 , 以允 许 网 络 接 口 卡 正 确 处 理 数 据 。 5、 数 据 链 路 层 的 功 能 独 立 于 网 络 和它 的 节 点 所 采 用 的 物 理 层 类 型 。 Note: 有 一 些 连 接 设 备 , 如 网 桥 或 交 换 机 , 由 于 它 们 要 对 帧 解 码 并 使 用帧 信 息 将 数 据 发 送 到 正 确 的 接 收 方 , 所 以 它 们 是 工 作 在 数 据 链 路 层 的 。 第 一 层 物 理 层 功 能 : 传
37、 输 信 息 的 介 质 规 格 、 将 数 据 以 实 体 呈 现 并 传 输的 规 格 、 接 头 规 格 1、 该 层 包 括 物 理 连 网 媒 介 , 如 电 缆 连 线 、 连 接 器 、 网 卡 等 。 2、 物理 层 的 协 议 产 生 并 检 测 电 压 以 便 发 送 和 接 收 携 带 数 据 的 信 号 。 3、 尽管 物 理 层 不 提 供 纠 错 服 务 , 但 它 能 够 设 定 数 据 传 输 速 率 并 监 测 数 例 : 在 你 的 桌 面 P C 上 插 入 网 络 接 口 卡 , 你 就 建 立 了 计 算 机 连 网 的 基 础 。换 言 之 , 你
38、提 供 了 一 个 物 理 层 。 OSI 模 型 7 层 的 运 作 方 式 数 据 由 传 送 端 的 最 上 层 ( 通 常 是 指 应 用程 序 ) 产 生 , 由 上 层 往 下 层 传 送 。 每 经 过 一 层 , 都 会 在 前 端 增 加 一 些 该 层 专用 的 信 息 , 这 些 信 息 称 为 “报 头 ”, 然 后 才 传 给 下 一 层 , 我 们 不 妨 将 “加上 报 头 ”想 象 为 “套 上 一 层 信 封 ”。 因 此 到 了 最 底 层 时 , 原 本 的 数 据 已 经 套上 了 7 层 信 封 。 而 后 通 过 网 络 线 、 电 话 线 、 光
39、缆 等 媒 介 , 传 送 到 接 收 端 。 接 收 端 收 到 数 据 后 , 会 从 最 底 层 向 上 层 传 送 , 每 经 过 一 层 就 拆 掉 一 层 信封 ( 亦 即 去 除 该 层 所 识 别 的 报 头 ) , 直 到 了 最 上 层 , 数 据 便 恢 复 成 当 初 从 传送 端 最 上 层 产 生 时 的 原 貌 。 第 二 层 数 据 链 路 层 功 能 : 同 步 、 查 错 、 制 定 MAC 方 法 1、 它 的 主 要 功 能 是 将 从 网 络 层 接 收 到 的 数 据 分 割 成 特 定 的 可 被 物 理 层传 输 的 帧 。 2、 帧 (Fram
40、e)是 用 来 移 动 数 据 的 结 构 包 , 它 不 仅 包 括 原 始 ( 未 加 工 ) 数据 , 或 称 “有 效 荷 载 ”, 还 包 括 发 送 方 和 接 收 方 的 网 络 地 址 以 及 纠 错 和 控 制信 息 。 其 中 的 地 址 确 定 了 帧 将 发 送 到 何 处 , 而 纠 错 和 控 制 信 息 则 确 保 帧 无 差错 到 达 。 3、 通 常 , 发 送 方 的 数 据 链 路 层 将 等 待 来 自 接 收 方 对 数 据 已 正 确 接 收 的应 答 信 号 。 4、 数 据 链 路 层 控 制 信 息 流 量 , 以 允 许 网 络 接 口 卡
41、正 确 处 理 数 据 。 5、 数 据 链 路 层 的 功 能 独 立 于 网 络 和 它 的 节 点 所 采 用 的 物 理 层 类 型 。 Note: 有 一 些 连 接 设 备 , 如 网 桥 或 交 换 机 , 由 于 它 们 要 对 帧 解 码 并 使 用帧 信 息 将 数 据 发 送 到 正 确 的 接 收 方 , 所 以 它 们 是 工 作 在 数 据 链 路 层 的 。 第 一 层 物 理 层 功 能 : 传 输 信 息 的 介 质 规 格 、 将 数 据 以 实 体 呈 现 并 传 输 的 规 格 、 接 头 规 格 1、 该 层 包 括 物 理 连 网 媒 介 , 如 电
42、 缆 连 线 、 连 接 器 、 网 卡 等 。 2、 物 理 层 的 协 议 产 生 并 检 测 电 压 以 便 发 送 和 接 收 携 带 数 据 的 信 号 。 3、 尽 管 物 理 层 不 提 供 纠 错 服 务 , 但 它 能 够 设 定 数 据 传 输 速 率 并 监 测 数 例 : 在 你 的 桌 面 P C 上 插 入 网 络 接 口 卡 , 你 就 建 立 了 计 算 机 连 网 的 基础 。 换 言 之 , 你 提 供 了 一 个 物 理 层 。 OSI 模 型 7 层 的 运 作 方 式 数 据 由 传 送 端 的 最 上 层 ( 通 常 是 指 应 用 程 序 ) 产
43、生 , 由 上 层 往 下 层 传 送 。每 经 过 一 层 , 都 会 在 前 端 增 加 一 些 该 层 专 用 的 信 息 , 这 些 信 息 称 为 “报 头 ”, 然 后 才 传 给 下 一 层 , 我 们 不 妨 将 “加 上 报 头 ”想 象 为 “套 上 一 层 信 封 ”。因 此 到 了 最 底 层 时 , 原 本 的 数 据 已 经 套 上 了 7 层 信 封 。 而 后 通 过 网 络 线 、电 话 线 、 光 缆 等 媒 介 , 传 送 到 接 收 端 。 接 收 端 收 到 数 据 后 , 会 从 最 底 层 向 上 层 传 送 , 每 经 过 一 层 就 拆 掉 一
44、 层 信封 ( 亦 即 去 除 该 层 所 识 别 的 报 头 ) , 直 到 了 最 上 层 , 数 据 便 恢 复 成 当 初 从 传送 端 最 上 层 产 生 时 的 原 貌 。 用 于 记 忆 层 ( 应 用 层 、 表 示 层 、 会 话 层 、 传 输 层 、 网 络 层 、 数 据 链 路 层 、物 理 层 ) 正 确 顺 序 的 普 通 方 法 是 无 数 网 络 通 过 传 输 语 音 信 号 来 表 示 它 的 应 用之 一 。TCP/IP 分层2008-1-23网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/ip,是一组不同层次上的多
45、个协议的组合。TCP/IP 通常被认为是一个四层协议系统,如图 1 - 1 所示。每一层负责不同的功能:1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在 TCP/IP协议族中,网络层协议包括 IP 协议(网际协议),ICMP 协议(internet 互联网控制报文协议),以及 IGMP 协议( internet 组治理协议)。3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在 TCP/IP 协议
46、族中,有两个互不相同的传输协议: TCP(传输控制协议)和 UDP(用户数据报协议)。TCP 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面, U D P 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。4 ) 应用层负责处理特定
47、的应用程序细节。几乎各种不同的 TCP/IP 实现都会提供下面这些通用的应用程序:? Telnet 远程登录。? FTP 文件传输协议。? SMTP 简单邮件传送协议。? SNMP 简单网络治理协议。另外还有许多其他应用,在后面章节中将介绍其中的一部分。假设在一个局域网( LAN)如以太网中有两台主机,二者都运行 FTP 协议,图 1 - 2 列出了该过程所涉及到的所有协议。这里,我们列举了一个 FTP 客户程序和另一个 FTP 服务器程序。大多数的网络应用程序都被设计成客户服务器模式。服务器为客户提供某种服务,在本例中就是访问服务器所在主机上的文件。在远程登录应用程序 Telnet 中,为客
48、户提供的服务是登录到服务器主机上。在同一层上,双方都有对应的一个或多个协议进行通信。例如,某个协议答应 TCP 层进行通信,而另一个协议则答应两个 IP 层进行通信。在图 1 - 2 的右边,我们注重到应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。尽管这不是必需的,但通常都是这样处理的,例如 U N I X 操作系统。在图 1 - 2 中,顶层与下三层之间还有另一个要害的不同之处。应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的通信细节。在图 1 - 2 中列举了四种不同层次上的协议。FTP 是一种应用层协议, TC
49、P 是一种运输层协议,IP 是一种网络层协议,而以太网协议则应用于链路层上。TCP/IP 协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为 TCP/IP,但 TCP 和 IP 只是其中的两种协议而已(该协议族的另一个名字是 internet 协议族(Internet PRotocol Suite))。网络接口层和应用层的目的是很显然的前者处理有关通信媒介的细节(以太网、令牌环网等),而后者处理某个特定的用户应用程序( FTP、Telnet 等)。但是,从表面上看,网络层和运输层之间的区别不那么明显。为什么要把它们划分成两个不同的层次呢?为了理解这一点,我们必须把视野从单个网络扩展到一组网络。在 8 0 年代,网络不断增长的原因之一是大家都意识到只有一台孤立的计算机构成的“孤岛”没有太大意义,于是就把这些孤立的系统组在一起形成网络。随着这样的发展,到了 9 0 年代,我们又逐渐熟悉到这种由单个网络构成的新的更大的“岛屿”同样没有太大的意义。于是,人们又把多个网络连在一起形成一个网络的网络,或称作互连网( internet ) 。一个互连网就是一