维普资讯 http://www.cqvip.com
SCI NCE & TECHN L E O OG Y NF I OR MA T ON I
浅议计算机 网络协议与分层
林晓
高 新技术
( 浙江省 临海 市台州学 院计 算机科学 与应用专业 3 0 0 1 0) 7 摘 要 :本文 叙述 了用于 网络 系统的软件 的结构 并解释 硬件何 以不能 单独 解决所有 的通讯 问题 , 说 明 了协 议软件 的必要性 ,讨论 了 网络协 议软件必须 处理的 问题 ,以及 解决问题 的技 术。更 重要的是 ,本文简述 了分 层的概念 ,为理解一 套完整的协议 怎样与硬件协 同 工作而 构成一个 强大的通信 系统提供 了概念 基础 。 关键 词 :计算 机网络 网络协议 网络 分层 中图分类号 : P 9 .4 T 3 3 0 文献标识 码 : A 文章编号 :6 2 3 9 (0 6 1 ( 一 0 2 0 1 7 — 7 l2 0 ) 1 ) 0 0 — l c
基本的通 信硬件包括 了点到点 的位 串传送 机制 。但是 , 使用裸硬 件来进行通信就 像用二 进制位 1 0来编程一样 笨拙。为 了方便程序 和 员, 网计算机使用 了复 杂的软件 , 联 为应 用程序 提供方便的高层接 口。 这种软件 自动处理大部 分低层通讯 细节和 问题 , 使应 用程序 间的通信 变得很容 易。因此 , 大多数应用 程序依靠 网络 软件 通信 , 不直接与 网络 硬 件打交 道 。 并 通信涉及的所有部分都必须认同一套用于 信息 交换 的规 则 。人们把 这种 认 同称为 协议 ( r tc 1 。这一 术语 也可用于计算 机通信 : poo o) 规定消息的格式以及每条消息所需的适 当动作 的一 套规 则称之 为网络协议 ( e wo k r n t r p o tc 1 oo) 或计算 机通信协议 (o u e o c mp t r c m— mu i t n p oo o ) n c i r tc 1 。实现这些规 则的软 件 ao 称 为协议软件 ( r tc ls f r ) p o o o o t e 。规定 计 wa 算 机信息交换中消息的格 式和含 义的协 定称 为 通信协议 。 网络设计者采取 了把通信 问题划分成 多个 子 问题 的方法 , 然后 为每 个子问题设 计一个单 独 的协议 。 这样做使得每 个协议的设计 、 析、 分 实现 和测试比较容易 。 正如我们将 要看到的那 样 , 通信软 件划分 为多个协议增加 了灵活性 。 将 必须仔细 地划 分各个协 议 , 以确保生成 的通信 系统有效和高效 。 怎样保证这些 协议 很好地协 同工作呢?答案在于一 个完整的设计方案 : 不 是孤立地 开发每个协 议 , 而
是 将协议设 计 、开 发 成 完 整 、协 作 的 集 合 , 称 为 协 议 系 列 ( r t C 1 S ie p o O O u t )或协议 族 (a 1 。 f miy) 协议 系列 中的每 个协议解决部 分通信 问题 , 这 些 协议合起来 就解决 了整 个通信问题 。而且 , 整个系列被设计成能在协议 之间高效交互 。 分 层模型( y r g mo e 是其 中最 重要的工具 1 ei d 1 a n ) 之一 。本 质上说 , 分层模型描述 了把通信 问题 分为几个子问题( 称为层 , y r l e) a 的方法 , 一个协 议 系列可通 过 对应每 一 层规定 一个协 议来 设 计 。在 早 期 网络 历 史 中 ,国 际标 准 化 组 织 (ne n t n l g nz to o S a d r It r ai a Or a ia in f r t n a o dz t n i o 定 义了一 个七层参考模 型 (一 iai , ) o s 7 ly rReee c d 1。 a e frn e Mo e) 分 层的 重要 意 义源于一 个 简单 的科 学原 理, 称为分 层原理 ( y r g pic l) 在 目 1 ei r i e 。 a n n p 标计 算机 上的第 N 层软 件必须恰 好接收 由发 送计算机 上的第 N层软件所 发送 的数据。 换句 话说 , 发送帧之前协 议进行的任 何转换必须 在 在接 收时完全地逆转换 。 如果在发送计算 机上 的一个特 定层把一个头 部放人帧 中 , 在接 收计 算机上 的相应 层必须除去该头部 。 如果一个层 序方 式传 递包 。要理 解这 一 点 , 考虑 一 序 可 列发送 中的 包 , 并记 住网络在任 何时候都试 图 使用最短可 用路径 。假如在这一 序列 中的第 i 个包被发送后 , 马上有一个较短路径可用了 , 网 络将按这一较短路 径发送第 i 个包 , t1 使得它 比第 i 个包先到 。 为了处理乱序传递 , 传输层使 用 了排序 ( q e c g 。 s u n i ) 发送方为每个包指定 e n 个序列号 。 接收 方保存当前按顺序收到的最 后 一个包的序列号 , 同时 保存一个 乱序到达的 包 的链表 。当一个包到达时 , 接收 方检查其序 列号 以决定怎样处理 。 如果是所期待 的下一个 包 ( , 即 按顺序到达 的包 ) 协议软件将 包发送 , 到上一 层 , 并检查 乱序包链表 看是否有适合 的 包可取 出发到上一 层。如果是 乱序到达的包 , 协议软件把 它加 到链表中。硬件发生故障可能 会产 生重复的包 。 在计算机 网络 中 , 的丢失是一 个基本问 包 题 , 为传 输错误 可能导 致位 串破 坏 , 因 使帧失
效。 若接收方检测到 这种错 误 , 将丢弃该帧 。 为 了保证可靠 ( l be r i l)传输 , ea 协议使 用带 重发 的确认 (oi v c n wld ewih rta s p st e a k o e g t ern i miso 。当一 个帧完好 无损地 到达 , 收 si n) 接 方协议软 件都将返 回一 个小的消 息 , 告接收 报 成 功 。这 个消 息称为 确认 ( c n wl d e a k o e g me t ACK) n , 。发送方 负责确保每 个包传输 成功 。当发 出一 个包时 , 发送端协议软 件将启 动 一个 计时 器。如 果确 认在 计时 器超时 前到 达, 软件便取消计时 器。 如果计时 器已超时 , 软 件将发 出该 包的另一个副 本 , 重新启动计 时 并 器 。 发 送 第 二 个 副 本 的 动 作 称 为 重 发 (e r n mitn ) 该 副本通 常称为重 发包 r ta s ti g , ( t n m s o )如 果硬件故障导 致网络 永久 r r s i in 。 ea s 性断开 , 或接收方计算机崩溃 , 重发就 不可能成 功 。因此 , 重发协议通常设 定一个最大 的重发 次数 。当达到这个 最大重发次数 时 , 协议停止
一
确认 前可 以发 送的 最大数 据量 。 如 果只有一台计算 机在发送包 , 网络运行 得很好 。 但任何更 多的信 息通过 中间连 线的话 将导 致拥塞 。例 如 , 如果 一个连接到站 点 2的 计算 机开 始发送 包给连接在站点 6 上的 目标计 算机 , 一定通过 中间的连线。 当站点 1 站 包 和 点 2同时发送包 时, 到达站点 3 的数据速 率两 倍 于站点 3 所能通过连线发到站 点 4 的数据速 率。对应于站点 3 的包 交换把 从站点 1 和站点 2中发送 到的包放入队列 中, 直到它们被发送 。 由于到达的包比能发送的要 多, 队列增大 , 有效 延迟增加 。 这种情况被称为拥塞 ( n et n 。 c gso ) o i 如果 拥塞持续下去 , 包交换机将溢出内存 , 开始 丢弃包。虽然 重发能恢复丢失 的包 , 但这 样就 浪费 了时 间。另外 , 果这种情况持续下 如 去, 整个 网络将 变得不可用 。这种情况称为拥 塞 崩溃 (o g t n c l p e 。协议 通过监 视 c n e i o a s) s o 网络 , 旦发现拥塞就迅速地反应 , 一 避免拥塞崩 溃。 除 了硬 件以外 , 网络系统还有控制 通信的 复杂协议软件 。 多数应用程序和用 户同协议 大
软 件打交 道 , 不是直接 同 网络 硬件打 交道 。 而 分 层把 复杂的 通信 问题划 分成 几个不 同的部 分,
允许设计 者一次集 中于一 个部分 。尽管 对 所 有的现代协议来说 , O提 出的传统七层参 I S 考 模型并不够 , 它常 在非正 式的讨论 中被 引 但 用。分层的科 学原理规定 , 目标机 器上的第 在 N层把源机第 N层进行的转换还原 。 协议软件 的组织遵循所设计分 层模型。 每一层对应于一 个软件模块 , 厂商将 模块 集总称为栈 ( a k 。 sc ) t 理论 上说 , 发送 的数据在 发送 机上向下通过栈 的每一 层 , 在接 收机 上向上 通过栈 的每一 层。 协 议使用几个基本的技术解决通信 问题 : 使用 排 序来处理乱序包 和重复包 , 使用确认和重 发 来处理丢失包 , 使用唯一 的会话标识符来防 止 重播 , 使用简单停等协议 或滑动窗 口机制来控 重 发并宣布无 法通 信 。 使用降 低速率来处理 网络拥 塞。滑 虽然简 单停等协议避 免了过载 , 却降低 了 制数据流 , 网络带宽 的利用率 。要理 解这一点 , 考虑一 个 动窗 口的主要优点是性 能一滑动窗 口机制防止 可以进 行调节使计算机 包大小为 10 个字节 、 00 传输 速率为 2 p 、 Mb s 延 发送 方使接 收方过载 , 迟时 间为 5 毫秒的网络将会发生什么事 。网络 充分利 用可 用的硬件带宽 。 管协 议处理 问题 0 尽 协 硬件可以 2 p 的速率把数据从一台计算机传 的通 用技术 已众所 周知 , 议设计仍然很 不容 Mb s 送到 另一台计算机 。但是每发送 一个包后 , 发 易。
送方 必须等 10 0 毫秒 , 才能发送 另一个包 ( , 即 包到达接收方需 5 0毫秒 , 回确认也需 5 毫 参考 文献 传 0 秒) 。因此 , 使用简单停等协 议传送数据的最大 【】贺平 . 1 计算机 网络基础 . 机械工业出版社 . 速率为每 10毫秒 一个包。若以位传送 速率表 IJ a s F.K r s 等 . 0 2 me 2 J u o e 计算机 网络—— 自 顶向下方法 与 I t r e 特 色 ( ne nt 第三版 影 示, 简单停等协议的最大速率可达8 0 0 p , 0 0 b s这 印 版 ) 高等 教育 出版社 . . 只是硬 件容量 的 4 %。为 了获得较高的吞吐量 , 3 北京邮 电大学 出版 s i i d w)的 【 】王建新 .计 算机 网络 . i l n 在发送 帧前进行 了加密 , 则接收计算机 的相应 协议使用称为滑动窗 口 ( d g w n o 社 . 流量控制技 术。程 序设 置发送 方和接收方使用 层必须把该帧解 密 。 wid w s e , z 个可变路由的无连接 网络 系统 可能以乱 固定的窗
口尺寸 ( n o i )这 是在收到
一
2
科技资 讯 S IN E & T C N L G N O MA I N CE C E H O O Y IF R TO
维普资讯 http://www.cqvip.com
SCI NCE & TECHN L E O OG Y NF I OR MA T ON I
浅议计算机 网络协议与分层
林晓
高 新技术
( 浙江省 临海 市台州学 院计 算机科学 与应用专业 3 0 0 1 0) 7 摘 要 :本文 叙述 了用于 网络 系统的软件 的结构 并解释 硬件何 以不能 单独 解决所有 的通讯 问题 , 说 明 了协 议软件 的必要性 ,讨论 了 网络协 议软件必须 处理的 问题 ,以及 解决问题 的技 术。更 重要的是 ,本文简述 了分 层的概念 ,为理解一 套完整的协议 怎样与硬件协 同 工作而 构成一个 强大的通信 系统提供 了概念 基础 。 关键 词 :计算 机网络 网络协议 网络 分层 中图分类号 : P 9 .4 T 3 3 0 文献标识 码 : A 文章编号 :6 2 3 9 (0 6 1 ( 一 0 2 0 1 7 — 7 l2 0 ) 1 ) 0 0 — l c
基本的通 信硬件包括 了点到点 的位 串传送 机制 。但是 , 使用裸硬 件来进行通信就 像用二 进制位 1 0来编程一样 笨拙。为 了方便程序 和 员, 网计算机使用 了复 杂的软件 , 联 为应 用程序 提供方便的高层接 口。 这种软件 自动处理大部 分低层通讯 细节和 问题 , 使应 用程序 间的通信 变得很容 易。因此 , 大多数应用 程序依靠 网络 软件 通信 , 不直接与 网络 硬 件打交 道 。 并 通信涉及的所有部分都必须认同一套用于 信息 交换 的规 则 。人们把 这种 认 同称为 协议 ( r tc 1 。这一 术语 也可用于计算 机通信 : poo o) 规定消息的格式以及每条消息所需的适 当动作 的一 套规 则称之 为网络协议 ( e wo k r n t r p o tc 1 oo) 或计算 机通信协议 (o u e o c mp t r c m— mu i t n p oo o ) n c i r tc 1 。实现这些规 则的软 件 ao 称 为协议软件 ( r tc ls f r ) p o o o o t e 。规定 计 wa 算 机信息交换中消息的格 式和含 义的协 定称 为 通信协议 。 网络设计者采取 了把通信 问题划分成 多个 子 问题 的方法 , 然后 为每 个子问题设 计一个单 独 的协议 。 这样做使得每 个协议的设计 、 析、 分 实现 和测试比较容易 。 正如我们将 要看到的那 样 , 通信软 件划分 为多个协议增加 了灵活性 。 将 必须仔细 地划 分各个协 议 , 以确保生成 的通信 系统有效和高效 。 怎样保证这些 协议 很好地协 同工作呢?答案在于一 个完整的设计方案 : 不 是孤立地 开发每个协 议 , 而
是 将协议设 计 、开 发 成 完 整 、协 作 的 集 合 , 称 为 协 议 系 列 ( r t C 1 S ie p o O O u t )或协议 族 (a 1 。 f miy) 协议 系列 中的每 个协议解决部 分通信 问题 , 这 些 协议合起来 就解决 了整 个通信问题 。而且 , 整个系列被设计成能在协议 之间高效交互 。 分 层模型( y r g mo e 是其 中最 重要的工具 1 ei d 1 a n ) 之一 。本 质上说 , 分层模型描述 了把通信 问题 分为几个子问题( 称为层 , y r l e) a 的方法 , 一个协 议 系列可通 过 对应每 一 层规定 一个协 议来 设 计 。在 早 期 网络 历 史 中 ,国 际标 准 化 组 织 (ne n t n l g nz to o S a d r It r ai a Or a ia in f r t n a o dz t n i o 定 义了一 个七层参考模 型 (一 iai , ) o s 7 ly rReee c d 1。 a e frn e Mo e) 分 层的 重要 意 义源于一 个 简单 的科 学原 理, 称为分 层原理 ( y r g pic l) 在 目 1 ei r i e 。 a n n p 标计 算机 上的第 N 层软 件必须恰 好接收 由发 送计算机 上的第 N层软件所 发送 的数据。 换句 话说 , 发送帧之前协 议进行的任 何转换必须 在 在接 收时完全地逆转换 。 如果在发送计算 机上 的一个特 定层把一个头 部放人帧 中 , 在接 收计 算机上 的相应 层必须除去该头部 。 如果一个层 序方 式传 递包 。要理 解这 一 点 , 考虑 一 序 可 列发送 中的 包 , 并记 住网络在任 何时候都试 图 使用最短可 用路径 。假如在这一 序列 中的第 i 个包被发送后 , 马上有一个较短路径可用了 , 网 络将按这一较短路 径发送第 i 个包 , t1 使得它 比第 i 个包先到 。 为了处理乱序传递 , 传输层使 用 了排序 ( q e c g 。 s u n i ) 发送方为每个包指定 e n 个序列号 。 接收 方保存当前按顺序收到的最 后 一个包的序列号 , 同时 保存一个 乱序到达的 包 的链表 。当一个包到达时 , 接收 方检查其序 列号 以决定怎样处理 。 如果是所期待 的下一个 包 ( , 即 按顺序到达 的包 ) 协议软件将 包发送 , 到上一 层 , 并检查 乱序包链表 看是否有适合 的 包可取 出发到上一 层。如果是 乱序到达的包 , 协议软件把 它加 到链表中。硬件发生故障可能 会产 生重复的包 。 在计算机 网络 中 , 的丢失是一 个基本问 包 题 , 为传 输错误 可能导 致位 串破 坏 , 因 使帧失
效。 若接收方检测到 这种错 误 , 将丢弃该帧 。 为 了保证可靠 ( l be r i l)传输 , ea 协议使 用带 重发 的确认 (oi v c n wld ewih rta s p st e a k o e g t ern i miso 。当一 个帧完好 无损地 到达 , 收 si n) 接 方协议软 件都将返 回一 个小的消 息 , 告接收 报 成 功 。这 个消 息称为 确认 ( c n wl d e a k o e g me t ACK) n , 。发送方 负责确保每 个包传输 成功 。当发 出一 个包时 , 发送端协议软 件将启 动 一个 计时 器。如 果确 认在 计时 器超时 前到 达, 软件便取消计时 器。 如果计时 器已超时 , 软 件将发 出该 包的另一个副 本 , 重新启动计 时 并 器 。 发 送 第 二 个 副 本 的 动 作 称 为 重 发 (e r n mitn ) 该 副本通 常称为重 发包 r ta s ti g , ( t n m s o )如 果硬件故障导 致网络 永久 r r s i in 。 ea s 性断开 , 或接收方计算机崩溃 , 重发就 不可能成 功 。因此 , 重发协议通常设 定一个最大 的重发 次数 。当达到这个 最大重发次数 时 , 协议停止
一
确认 前可 以发 送的 最大数 据量 。 如 果只有一台计算 机在发送包 , 网络运行 得很好 。 但任何更 多的信 息通过 中间连 线的话 将导 致拥塞 。例 如 , 如果 一个连接到站 点 2的 计算 机开 始发送 包给连接在站点 6 上的 目标计 算机 , 一定通过 中间的连线。 当站点 1 站 包 和 点 2同时发送包 时, 到达站点 3 的数据速 率两 倍 于站点 3 所能通过连线发到站 点 4 的数据速 率。对应于站点 3 的包 交换把 从站点 1 和站点 2中发送 到的包放入队列 中, 直到它们被发送 。 由于到达的包比能发送的要 多, 队列增大 , 有效 延迟增加 。 这种情况被称为拥塞 ( n et n 。 c gso ) o i 如果 拥塞持续下去 , 包交换机将溢出内存 , 开始 丢弃包。虽然 重发能恢复丢失 的包 , 但这 样就 浪费 了时 间。另外 , 果这种情况持续下 如 去, 整个 网络将 变得不可用 。这种情况称为拥 塞 崩溃 (o g t n c l p e 。协议 通过监 视 c n e i o a s) s o 网络 , 旦发现拥塞就迅速地反应 , 一 避免拥塞崩 溃。 除 了硬 件以外 , 网络系统还有控制 通信的 复杂协议软件 。 多数应用程序和用 户同协议 大
软 件打交 道 , 不是直接 同 网络 硬件打 交道 。 而 分 层把 复杂的 通信 问题划 分成 几个不 同的部 分,
允许设计 者一次集 中于一 个部分 。尽管 对 所 有的现代协议来说 , O提 出的传统七层参 I S 考 模型并不够 , 它常 在非正 式的讨论 中被 引 但 用。分层的科 学原理规定 , 目标机 器上的第 在 N层把源机第 N层进行的转换还原 。 协议软件 的组织遵循所设计分 层模型。 每一层对应于一 个软件模块 , 厂商将 模块 集总称为栈 ( a k 。 sc ) t 理论 上说 , 发送 的数据在 发送 机上向下通过栈 的每一 层 , 在接 收机 上向上 通过栈 的每一 层。 协 议使用几个基本的技术解决通信 问题 : 使用 排 序来处理乱序包 和重复包 , 使用确认和重 发 来处理丢失包 , 使用唯一 的会话标识符来防 止 重播 , 使用简单停等协议 或滑动窗 口机制来控 重 发并宣布无 法通 信 。 使用降 低速率来处理 网络拥 塞。滑 虽然简 单停等协议避 免了过载 , 却降低 了 制数据流 , 网络带宽 的利用率 。要理 解这一点 , 考虑一 个 动窗 口的主要优点是性 能一滑动窗 口机制防止 可以进 行调节使计算机 包大小为 10 个字节 、 00 传输 速率为 2 p 、 Mb s 延 发送 方使接 收方过载 , 迟时 间为 5 毫秒的网络将会发生什么事 。网络 充分利 用可 用的硬件带宽 。 管协 议处理 问题 0 尽 协 硬件可以 2 p 的速率把数据从一台计算机传 的通 用技术 已众所 周知 , 议设计仍然很 不容 Mb s 送到 另一台计算机 。但是每发送 一个包后 , 发 易。
送方 必须等 10 0 毫秒 , 才能发送 另一个包 ( , 即 包到达接收方需 5 0毫秒 , 回确认也需 5 毫 参考 文献 传 0 秒) 。因此 , 使用简单停等协 议传送数据的最大 【】贺平 . 1 计算机 网络基础 . 机械工业出版社 . 速率为每 10毫秒 一个包。若以位传送 速率表 IJ a s F.K r s 等 . 0 2 me 2 J u o e 计算机 网络—— 自 顶向下方法 与 I t r e 特 色 ( ne nt 第三版 影 示, 简单停等协议的最大速率可达8 0 0 p , 0 0 b s这 印 版 ) 高等 教育 出版社 . . 只是硬 件容量 的 4 %。为 了获得较高的吞吐量 , 3 北京邮 电大学 出版 s i i d w)的 【 】王建新 .计 算机 网络 . i l n 在发送 帧前进行 了加密 , 则接收计算机 的相应 协议使用称为滑动窗 口 ( d g w n o 社 . 流量控制技 术。程 序设 置发送 方和接收方使用 层必须把该帧解 密 。 wid w s e , z 个可变路由的无连接 网络 系统 可能以乱 固定的窗
口尺寸 ( n o i )这 是在收到
一
2
科技资 讯 S IN E & T C N L G N O MA I N CE C E H O O Y IF R TO