普通高等教育“十一五”国家级规划教材 第3章 计算机网络协议 与体系结构 计算机网络技术基础 高等教育出版社
本章学习目标: 了解:计算机网络协议 了解:网络系统的分层体系结构 掌握:ISO的OSI七层参考模型 了解:网络的3个著名标准化组织 掌握:ARPA的TCP/IP四层模型
3.1 网络协议 3.1.1 协议的本质 网络中的计算机之间进行通信时,的语言被称 为“协议”。只有能够讲,而且可以理解这些“语 言”的计算机才能在网络上与其他计算机彼此通信。 从这个意义上讲,“协议”就是网络的本质。 协议定义了网络上的各种计算机和设备之间相 互通信、数据管理、数据交换的整套规则。
3.1.2 协议的中心任务 1. 协议的语法(如何讲)问题 2. 协议的语义(讲什么)问题 3. 协议的定时(讲话次序)问题 3.1.2 协议的中心任务 在计算机网络的一整套规则中,任何一种协议 都需要解决语义、语法和定时的问题。 1. 协议的语法(如何讲)问题 2. 协议的语义(讲什么)问题 3. 协议的定时(讲话次序)问题
3.1.3 协议的功能和种类 1. 协议的功能 (1)分割与重组 3.1.3 协议的功能和种类 1. 协议的功能 (1)分割与重组 协议的“分割”功能将较大的数据单元分割成 较小的数据包,其反过程为“重组”如图3-1所示。 图3-1 分割与重组
1. 协议的功能 (2)寻址 协议的“寻址”功能使得设备彼此识别,同时 可以进行路径选择,如图3-2。 图3-2 路径选择
1. 协议的功能 (3)封装与拆装 协议的“封装”功能是指在数据单元(数据包) 的始端或者末端增加控制信息,其相反的过程是 “拆装”,如图3-3。 图3-3 数据封装与拆装
1. 协议的功能 (4)排序 图3-4 排序
1. 协议的功能 (5)信息流控制 协议的流量控制功能是指在信息流过大时,所 采取的一系列措施,如图3-5示。 图3-5 信息流控制
1. 协议的功能 2. 协议的分类 (6)差错控制 (7)同步 (8)干路传输 (9)连接控制 (1)标准或非标准协议 (2)直接或间接协议 1. 协议的功能 (6)差错控制 (7)同步 (8)干路传输 (9)连接控制 2. 协议的分类 (1)标准或非标准协议 (2)直接或间接协议 (3)整体的协议或分层的结构化协议
3.2 计算机网络体系结构 3.2.1 计算机网络体系结构工作流程 3.2 计算机网络体系结构 3.2.1 计算机网络体系结构工作流程 计算机网络体系结构的工作流程与图2-6所示的 邮政系统的工作流程十分相似。 图2-6中,清楚地表明了信件发送和接收的过程, 以及怎样利用邮政系统来发送和接收信件。 在图2-6所示的邮政系统中,将发信端和收信端 从上到下分为A、B、C、D四个层次。
3.2 计算机网络体系结构 1. 发送端(发件人所在地区) 2. 接收端(收件人所在地区) 3.2 计算机网络体系结构 1. 发送端(发件人所在地区) 在“发信人端”是按照从上至下,即 A→B→C→D的顺序进行处理的。在每一层,都是 按照本层和下层联系的要求,依次封装成新的邮包, 并加入本层特有的标签;之后,再传递到下一层指 定的位置。 2. 接收端(收件人所在地区) 在接收端是按照由下至上,即D→C→B→A, 的顺序进行处理的。在每一层,都是依次拆封收到 的包装,完成本层应当完成的功能。
图3-6 邮政系统中信件传递工作过程示意图
3.2 计算机网络体系结构 3.2.2 计算机网络体系结构概述 1.层次化体系结构中的几个基本概念 (1)协议(protocol) 3.2 计算机网络体系结构 这种分层体系结构的最大优点是层与层相互独 立。而且每层无须知道其他层次的功能;改变某一 层的功能不会影响其他层的工作。 3.2.2 计算机网络体系结构概述 1.层次化体系结构中的几个基本概念 (1)协议(protocol) (2)层次(layer) (3)接口(interface)
3.2 计算机网络体系结构 (4)层次性模型结构 一个功能完备的计算机网络系统,采用了层次 性结构;每层都会包含一个或多个协议。为此,我 们将网络层次性结构模型与各层次协议的集合定义 为计算机网络的体系结构。 (5)实体(Entity) 实体通常是通信时能发送和接收信息的具体的 软硬件设施。
3.2 计算机网络体系结构 (6)数据单元(Data Unit) 3.2 计算机网络体系结构 (6)数据单元(Data Unit) 在OSI参考模型的不同结点内的对等层传送的 是相同名称的数据包。这种网络中传输的数据包, 被称为“数据单元”。由于每一个层次完成的功能 不同,处理的数据单元的大小、名称和内容也就不 相同,如,帧、分组、报文等;另外,数据单元不 同,地址的类型也不相同,如,物理(MAC)地 址、IP地址、端口号等。
2.网络体系结构的研究意义与划分原则 ① 各层之间相互独立。 ② 结构上独立分割。 ③ 灵活性好。 ④ 易于实现和维护。 ⑤ 有益于标准化的实现。。
3.3 ISO的七层参考模型 1. OSI参考模型的基本知识 3.3.1 OSI七层参考模型的层次划分原则与功能 国际标准化组织(ISO)颁布的开放系统互连 参考模型(OSI/RM),即七层网络通信模型。 OSI/RM体系结构七层模型从上到下依次为应 用层、表示层、会话层、传输层、网络层、数据链 路层和物理层,参见图3-7。
图3-7 OSI/RM网络模型的结构示意图
2. OSI参考模型的层次划分原则 ① 网络中各结点都划分为7个相同的层次结构。 ② 不同结点的相同层次都有相同的功能。 ③ 同一结点内各相邻层次之间通过层间接口, 并按照接口协议进行通信。 ④ 每一层直接使用下面一层提供的服务,间接 的使用下面所有层的协议。 ⑤ 每一层都向上一层提供服务。 ⑥ 不同结点之间按同等层的同层协议的规定, 实现对等层之间的通信。 网络中还有其他的体系结构的模型的分层数目 虽然各不相同;但目的和分层思想都是类似的。
3. OSI/RM七层模型的各层的功能 (1)应用层(Application) ①功能:为了满足用户的需要,根据进程之间 的通信性质,负责完成用户要完成的各种程序或网 络服务的接口工作。 处理的数据单元:报文。 处理的地址:进程标识,端口号。
3. OSI/RM七层模型的各层的功能 (2)表示层(Presentation) (3)会话层(Session) ① 功能:处理结点间或通信系统间信息表示方 式方面的问题。 ② 处理的数据单元:报文。 (3)会话层(Session) ①功能:会话层的主要作用是组织、协商、管 理两个应用进程之间的会话。 会话的含义:就是在不同主机的应用进程之间 建立、维持联系。 处理的数据单元:报文。
3. OSI/RM七层模型的各层的功能 (4)运输层(Transport) ① 功能:在两个端系统(源站和目的站)的会 话层之间,建立一条可靠或不可靠的运输连接,以 透明的方式传送报文。 ② 处理的数据单元:报文段。 处理的地址:进程标识,TCP和UDP端口号。
3. OSI/RM七层模型的各层的功能 (5)网络层(Network) ①功能:使用逻辑地址(IP地址)进行寻址, 通过路由选择算法为数据分组通过通信子网选 择最适当的路径,并提供网络互联及拥塞控制 功能。 处理的数据单元:分组。 处理的地址:逻辑地址,如,IP地址。
3. OSI/RM七层模型的各层的功能 (6)数据链路层(Data Link) ① 功能:负责在两个相邻结点间的线路上,无 差错地传送以“帧”为单位的数据。 ② 处理的数据单元:数据帧。 处理的地址:硬件的物理地址。
3. OSI/RM七层模型的各层的功能 (7)物理层(Physical) ②物理层协议 ① 功能:为“数据链路层”提供一个物理连接。 物理层定义了以下4个规章特性,用以确定如何使 用物理传输介质来实现两个结点间的物理连接。 ②物理层协议 ③处理的数据:二进制比特信号,如,二 进制的基带信号或模拟信号。 ④处理的地址:直接面向物理端口的各个 管脚,如RS-232的管脚。
4. OSI参考模型的各个部分 (1)OSI模型在功能上分为3个部分 (2)OSI模型从控制上分为2个部分 ① 第1、2、3层:即物理层、数据链路层和网络 层属于通信子网,负责处理数据的传输、转发、交 换等通信方面的问题; ② 第4、5、6、7层:即传输层、会话层、表示 层和应用层属于资源子网,负责数据的处理、网络 服务、网络资源的访问和服务方面的问题。
3.3.2 OSI参考模型结点间的数据流 在OSI环境中,主机与主机之间通信时,实 际的数据流是如何传递的呢? 1. OSI参考模型主机结点间通信的数据流 不同的主机之间在没有中间结点设备时,主 机之间数据通信的数据流动参见图3-8。
图3-8 OSI环境中主机结点之间 传输的数据流
3.3.2 OSI参考模型结点间的数据流 (1)发送结点 (2)接收结点 在发送方结点内的上层和下层之间传输数据时,每经过 一层都对数据附加一个信息头部,即“封装”,而该层的 功能正是通过这个“控制头”(附加的各种控制信息,) 来实现的。 (2)接收结点 在接收方结点内,这七层的功能又依次发挥作用,并将 各自的“控制头”去掉,即“拆封”,同时完成各层相应 的功能。 不同的主机之间在有中间结点(网络互联设备)时,主 机之间进行数据通信的实际传输的数据流动参见图3-9。
图3-9 OSI环境中含有中间结点的主机 系统间传输的数据流
3.4 TCP/IP参考模型 3.4.1 TCP/IP参考模型概述 1. 模型的名称与制定者 (1)TCP/IP的名称 (2)制定者 1. 模型的名称与制定者 (1)TCP/IP的名称 中文名称是“传输控制协议/互连网络协议”。 TCP/IP模型是一个协议集。 (2)制定者 ARPA的英文全称是“Advanced Research Projects Agency”,其中文名称是“美国国防部高 级研究计划局”。
2. TCP/IP四层参考模型: 参见表3-1和表3-2。 应用层 Telnet FTP SMTP HTTP DNS SNMP TFTP 传输层 TCP UDP IP 网际层 ARP RARP 网络接口层 Ethernet Token Ring X.25 其他协议
表3-2 OSI与TCP/IP标准比较
3.4.2 TCP/IP协议簇 1. 网络接口层 2. 网际层(Internet) TCP/IP四层参考模型,虽然不是ISO的标准, 是Internet上使用的主要标准,因而成为一种“实 际上的工业标准”。 1. 网络接口层 TCP/IP的最低层是网络接口层。该层可以直接 兼容常用的局域网和广域网协议。 2. 网际层(Internet)
3.4.2 TCP/IP协议簇 网际层又被称为互联层、互联网络层或网间网 络层。主要负责相邻结点之间,数据分组的逻辑 (IP)地址寻址与路由。 ① IP(Internet Protocol,网际协议):为IP数 据包进行寻址和路由。 ② ICMP(Internet Control Message Protocol, 网际控制报文协议):用于处理路由、协助IP层实 现报文传送的控制机制,并为IP协议提供差错报告。
3.4.2 TCP/IP协议簇 ③ ARP(Address Resolution Protocol,地址解 析协议):用于完成主机的IP(Internet)地址向 物理地址的转换。 ④ RARP(Reverse Address Resolution Protocol, 逆向地址解析协议):用来完成主机的物理地址到 IP地址的转换或映射功能。
3. 传输层(Transport) 传输层又称运输层。提供端到端的可靠或不可 靠的通信服务。端到端的通信服务通常是指网络结 点间应用程序之间的连接服务。 ① TCP(Transmission Control Protocol)传输 控制协议:是一种面向连接的、高可靠性的、提供 流量与拥塞控制的传输层协议。 ② UDP(User Datagram Protocol)用户数据报 协议:是一种面向无连接的、不可靠的、没有流量 控制的传输层层协议。
3. 传输层(Transport) TCP或UDP端口号(port) 定义:不同的进程用进程号或进程标识惟一地 标识出来。进程标识符就是“端口号”,又被称为 “进程地址”。 端口号的表示:端口号的长度定义为16位二进 制,其值可以是0~65535之间的任意十进制整数。 全局端口号:又称“默认端口号”或“公认端 口号”,每个客户进程都知道相应服务器的全局端 口号。默认端口号的值定义在0~1023范围内。 端口号与传输层协议的关联: TCP和UDP有各 自独立的端口号,如表3-3和表3-4所示。
表3-3 TCP端口号与服务进程 端口号 服务进程 说明 20 FTP 文件传输协议(数据连接) 21 FTP 文件传输协议(控制连接) 端口号 服务进程 说明 20 FTP 文件传输协议(数据连接) 21 FTP 文件传输协议(控制连接) 23 Telnet 远程登录或仿真(虚拟) 终端协议 25 SMTP 简单邮件传输协议 53 DNS 域名服务 80 HTTP 超文本传输协议 110 POP 邮局协议 111 RPC 远程过程调用 ……
表3-4 UDP端口号与服务进程 端口号 服务进程 说明 53 DNS 域名服务 67 BOOTP 引导程序协议又称 自举协议 67 DHCP 动态主机配置协议69 TFTP 简单文件传输协议 111 RPC 远程过程调用 123 NTP 网络时间协议 161 SNMP 简单网络管理协议
套接字(Socket) ④ 套接字(Socket):套接字中的IP地址组件 可以协助标识和定位目标计算机,而其中的端口则 决定数据所要送达的具体应用程序。 定义:套接字,即Socket地址,又称“套接 字”或“插口”,它是应用子程序连接的标识,也 是传输层的一种地址。 组成:套接字由IP地址(32 位)和端口号 (16 位),总共48 位二进制组成。 应用:有了编程套接字的信息,网络通信的 编程才能实现。
4. 应用层(Application) (1)依赖于TCP协议的应用层协议 (2)依赖于无连接UDP协议的应用层协议 (3)非标准化协议 TCP/IP模型的应用层与OSI模型的上3层相对应。 应用层常用的协议有下几类: (1)依赖于TCP协议的应用层协议 (2)依赖于无连接UDP协议的应用层协议 (3)非标准化协议 非标准化协议属于用户自己开发的专用应用程 序,它们建立在TCP/IP协议簇基础上。
3.5 TCP/IP协议的基本参数 3.5.1 IPV4编址技术 1. IP地址的表示 在TCP/IP网络中,每个节点(计算机或设备) 都有一个惟一的IP地址。根据其IP地址,可以找到 这台计算机所在网络的编号,以及该计算机在该网 络上的主机编号。 1. IP地址的表示 每个IP地址由32位二进制位组成;IP地址分为4 个部分,每部分的8位二进制使用十进制数字表示。 使用点分十进制的方式表示,如,128.64.32.8。
3.5 TCP/IP协议的基本参数 2. IP地址的结构 每个IP地址由两部分组成,其两层地址结构如 图3-10所示。
2. IP地址的结构 (1)网络地址 (2)主机地址 主机地址用于辨认同一网络中的主机,也被 称为主机ID、主机编号或主机标识。
3. IP地址的划分 Internet委员会定义了5种标准的IP地址类型, 格式参见图3-11。 (1)A类地址:一般分配给大规模的网络。 (2)B类地址:一般分配给中等规模的网络。 (3)C类地址:一般分配给小规模的网络。 (4)D类地址:用于多播,所谓的多播就是 把数据同时发送给一组主机。 (5)E类地址:是为将来预留的,也可以作 为实验地址。
图3-11 IP地址的分类结构
4. 特殊IP地址及其使用 (1)本网地址 (2)直接广播地址(Directed Brordcasting) 将IP地址中主机地址位的各位全为“0”的IP地 址叫做“本网地址”,也被称为“0”地址。 (2)直接广播地址(Directed Brordcasting) 将主机号各位全为“1”的IP地址称为直接广播 地址。该地址主要用于广播。
4. 特殊IP地址及其使用 (3)有限广播地址(Limiting Brordcasting) (4)回送地址 TCP/IP协议规定,32比特位全为“1”的IP地址 (255.255.255.255)为“有限广播地址”,这个地 址主要用来进行本网广播。当需要在本网内广播, 又不知道本网的网络号时,即可使用“有限广播地 址”。 (4)回送地址 IP地址中以127开始的IP地址作为保留地址,被 称为“回送地址”。
3.5.2 IP地址的使用 1. IP地址中网络地址的使用规则 ① 网络地址必须惟一。 ② 网络地址的各位不能全为“0”。 ③ 网络地址字段的各位不能全为“1”。 ④ 网络地址不能以127开头。。 ⑤ IP地址的32位不等全为“1” 。
2. IP地址中主机地址的使用规则 ① 在网络地址相同时,主机地址(编号) 必须惟一。 ② 主机编号的各位不能全为0。 ③ 主机编号的各位不能全为“1”。
3. 私有地址和公有地址 允许在Internet中使用的IP地址为公有地址, 仅在局域网中使用的IP地址为私有地址。 3. 私有地址和公有地址 允许在Internet中使用的IP地址为公有地址, 仅在局域网中使用的IP地址为私有地址。 InterNIC在IP地址中专门保留了以下三个 区域作为私有地址: ① 10.0.0.0/8:10.0.0.0~10.255.255.255,8表示 32位二进制中的前8位是网络地址。 ② 172.16.0.0/12:172.16.0.0~172.31.255.255, 12表示32位中的前12位是网络地址。 ③ 192.168.0.0/16:192.168.0~192.168.255.255, 16表示32位中的前16位是网络地址。
4. IP地址的分配和使用的基本原则 ① 同一个网络内的所有主机应当分配相同的网 络地址,而同一个网络内的所有主机必须分配不同 的主机编号。 ② 不同网络内的主机必须分配不相同的网络地 址,但是可以分配相同的主机编号。例如:不同网 络132.112.0.0和152.112.0.0中的A主机和X主机。 在私有网络中,仅使用IP地址是无法区分网络 地址和主机编号的。因此,IP地址必须结合子网掩 码一起使用。
3.5.3 TCP/IP协议的基本参数 1. 子网掩码(subnet masks) (1)什么是子网掩码 (2)默认子网掩码的类型 在配置TCP/IP协议时,一共有3个重要参数, 即IP地址、子网掩码和默认网关。 1. 子网掩码(subnet masks) (1)什么是子网掩码 (2)默认子网掩码的类型 表3-5 列出了各类网络默认的子网掩码 (3)子网掩码的两个功能 ① 区分IP地址的网络编号与主机编号。 ② 用于划分子网。
2. 默认网关或IP路由 (default gateway或 IP router) “默认网关”又称IP路由。简单地说,默认网 关就是通向远程网络的接口。 默认网关负责对非本网段的数据包进行处理, 并转发到目的网络上。在配置TCP/IP时若没有指 明默认网关,则通信仅局限于本地网络。 当TCP/IP主机在不同网络(包含子网段)之间 通信时,至少应当配置IP地址、子网掩码和默认网 关3个参数。
3.5.4 划分子网 1. 子网和超网 (1)IP子网(subnet) 子网的类型有IP子网、超网和VLAN子网等。 3.5.4 划分子网 1. 子网和超网 子网的类型有IP子网、超网和VLAN子网等。 (1)IP子网(subnet) 子网技术就是将一个大网络划分成几个较小网 络的技术。子网是多网络环境中的一个网络。将网 络分解成多个子网时,要求各子网使用不同的子网 编号。
3.5.4 划分子网 (2)超网(supernet) 由于Internet迅猛发展,因特网中的主机数目剧 增,IPv4中的地址已消耗殆尽。为了解决这个问题, Internet信息管理中心设计了“超网”的管理方法。 超网就是将一个单位所属的多个同类型的网络地址 (大多是C类地址)合并为一个更大地址范围的逻 辑网络。这样既可以满足用户的需求,又避免了IP 地址的浪费。
2. 划分IP子网的原因 (1)充分利用现有的IP地址资源 (2)减轻网络的拥挤,提高网络的性能 (3)提高网络层设备的工作效率 (4)提高安全性和可管理性 (5)利于混合不同的物理网络技术
3. 划分子网后IP地址的三层结构 (1)划分子网的思想 (2)三级层次结构IP地址的特点 ① 第一级网络地址。 第二级子网号。 第三级主机号。
3. 划分子网后IP地址的三层结构 图3-12 TCP/IP网络中IP地址的三层结构
4. 划分子网的规则与计算公式 (1)划分子网时的注意事项: 需要综合考虑子网的数目和子网主机的数目。 (2)按照RFC950标准划分子网的计算公式 (3)不按RFC950标准划分子网的计算公式 (4)划分子网计算公式中的符号说明
5. 设计示例 6. 划分子网的步骤归纳 ① 确定所需的子网数目和子网中主机的数目。 ② 确定子网地址需要的位数m。 ③ 确定新的子网掩码。 5. 设计示例 6. 划分子网的步骤归纳 ① 确定所需的子网数目和子网中主机的数目。 ② 确定子网地址需要的位数m。 ③ 确定新的子网掩码。 ④ 确定各子网的IP地址。 ⑤ 确定各子网的广播地址。 ⑥ 确定各子网中主机可配置使用的IP范围,即 有效地址范围。 ⑦ 确定各子网之间通信时的连接设备和网络结 构示意图。
3.6 网络相关的三个著名标准化组织 1. ISO国际标准化组织 (1)组成 美国国家标准组织ANSI及其它各国的国 家标准组织的代表组成。 3.6 网络相关的三个著名标准化组织 1. ISO国际标准化组织 (1)组成 美国国家标准组织ANSI及其它各国的国 家标准组织的代表组成。 (2)主要贡献 开放系统互连OSI(Open System Interconnection)参考模型,也就是七层网络通信 模型的格式,通常称为“七层模型”。
3.6 网络相关的三个著名标准化组织 2. IEEE(The Institute of Electrical and Electronic Engineer)电气电子工程师协会 (1)组成 电气电子工程师。IEEE是世界上最大的专业 组织之一。 (2)主要贡献 对于网络而言,IEEE一项最了不起的贡献就 是对IEEE 802协议进行了定义。
3.6 网络相关的三个著名标准化组织 3. ARPA美国国防部高级研究计划局 (1)组成 (2)主要贡献 国防部美国国防部高级研究计划局。 3.6 网络相关的三个著名标准化组织 3. ARPA美国国防部高级研究计划局 (1)组成 国防部美国国防部高级研究计划局。 (2)主要贡献 TCP/IP通信标准。