Qit_计网笔记
第1章 概述
1.1 计算机网络在信息时代中的作用
一、计算机网络基础概念
(一)计算机网络的定义
- 定义:计算机网络在信息时代中起到核心作用,实现了万物联网和人人用网的目标。
(二)计算机网络的特点
- 信息时代特征:以网络为核心,万物联网人人用网。
- 三大类网络:有线电视网络、电信网络、计算机网络。
- 计算机网络提供电话、电报及传真等服务,使用户能在计算机之间传送数据文件,是发展最快的并起到核心作用的网络。
(三)三网融合
- 概念:融入现代计算机网络技术,实现有线电视网络、电信网络和计算机网络的融合。
二、Internet基础
(一)Internet的定义与称呼
- 定义:全球最大、最重要的计算机网络。
- 称呼:
- 因特网:推荐但未广泛推广。
- 互联网:目前流行最广,事实上的标准译名。
- 互连网:局部范围互连起来的计算机网络,互联网 ≠互连网。
(二)Internet提供的服务与应用
- 服务与应用:游戏、视频、社交、电子邮件、购物、网店等。
- 金融服务:网银、无现金支付、数字钱包、数字货币等。
(三)Internet的技术基础
- 互连结构与交换技术。
- TCP/IP体系结构与协议。
三、互联网的基本特点与地位
(一)互联网的基本特点
- 连通性 (connectivity):
- 使上网用户之间可以非常便捷、非常经济地交换各种信息。
- 用户终端好像彼此直接连通一样。
- 资源共享 (Sharing):
- 实现信息共享、软件共享、硬件共享。
- 资源好像就在用户身边一样方便使用,是Internet提供许多服务的基础。
(二)互联网在生活中的地位
- 融入生活:已经融入人们的生活、工作、学习和交往。
- 基础设施:成为社会最为重要的基础设施之一。
四、互联网+与经济形态
(一) 互联网+的定义
- 定义:指“互联网+各个传统行业”,把互联网的创新成果深度融合于经济社会各领域。
(二)互联网+的应用领域
- 应用领域:互联网工业、农业、教育、医疗、商业、交通、金融、政务等。
五、互联网的负面影响与管理
(一) 互联网的负面影响
- 安全问题:传播病毒、窃取数据与钱财、散布谣言、不良信息、欺诈等。
- 社会问题:网瘾等。
(二)互联网管理的重要性
- 管理需求:需要加强对互联网的管理,以应对其负面影响。
1.2 互联网概述
1.2.1 网络的网络
一、计算机网络
- 定义:由若干节点(node)和连接这些节点的链路(link)组成。节点可以是计算机、集线器、交换机或路由器等。
二、互连网 (internetwork 或 internet)
- 定义:多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更大的计算机网络,即“网络的网络”(network of networks)。
- 与网络的区别:
- 网络:把许多计算机连接在一起。
- 互连网:把许多网络通过一些路由器连接在一起。与网络相连的计算机常称为主机。
三、互联网 (Internet)
- 定义:当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,采用TCP/IP协议族作为通信的规则,前身是美国的ARPANET。
- 关键区别:
- 以小写字母“i”开始的internet是通用名词,泛指多个计算机网络互连而成的网络。
- 以大写字母“I”开始的Internet是专用名词,特指全球最大的互联网。
1.2.2 互联网基础机构发展的三个阶段
一、第一阶段:1969 – 1990
- 特点:从单个网络ARPANET向互连网发展。
- 关键事件:
- ARPANET最初只是一个单个的分组交换网,不是一个互连网。
- 1983年,TCP/IP协议成为ARPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网相互通信。人们把1983年作为互联网的诞生时间。
- 1990年,ARPANET正式宣布关闭。
二、第二阶段:1985 – 1993
- 特点:建成了三级结构的互联网。
- 三级结构:主干网、地区网和校园网(或企业网)。覆盖了全美国主要的大学和研究所以及成为互联网中的主要组成部分。
三、第三阶段:1993 – 现在
- 特点:全球范围的多层次ISP结构的互联网。
- 关键组成部分:
- 互联网服务提供者 ISP (Internet Service Provider):提供接入到互联网的服务,需要收取一定的费用。
- 多层次ISP结构:主干ISP、地区ISP和本地ISP,覆盖面积大小和所拥有的IP地址数目的不同。
- 互联网交换点IXP (Internet eXchange Point):允许两个网络直接相连并快速交换分组,常采用工作在数据链路层的网络交换机。世界上较大的IXP的峰值吞吐量都在Tbit/s量级。
- 内容提供者(Content Provider):在互联网上向所有用户提供视频等内容的公司,不向用户提供互联网的转接服务。
1.2.3 互联网的标准化工作
一、标准化组织架构
- 互联网研究部IRTF
- 互联网工程部IETF
- 互联网体系结构研究委员会IAB
- 互联网研究指导小组IRSG
- 互联网工程指导小组IESG
- 互联网协会ISOC
二、标准发表形式
- RFC:Request For Comments(请求评论),所有RFC文档均可从互联网上免费下载。
任何人都可以用电子邮件随时发表对某个文档的意见或建议。
但并非所有的 RFC 文档都是互联网标准。只有很少部分的 RFC 文档最后才能变成互联网标准。 RFC 文档按发表时间的先后编上序号(即 RFCxxxx,xxxx 是阿拉伯数字)。
三、标准化过程
- 互联网草案(Internet Draft)
- 建议标准(Proposed Standard)
- 草案标准(Draft Standard)
- 互联网标准(Internet Standard, 记为STDxx)
- 标准轨道:包括互联网草案、建议标准、互联网标准等正式流程。
- 非标准轨道:包括历史(Historic)、信息(Informational)、实验(Experimental)等非正式文档。
1.3 互联网的组成
一、互联网的组成
1. 互联网的工作方式划分
- 边缘部分:
- 由所有连接在互联网上的主机组成,用户直接使用,进行通信(传送数据、音频或视频)和资源共享。
- 处在互联网边缘部分的是连接在互联网上的所有主机,又称端系统(end system)。
- 端系统在功能上可能有很大差别:
- 小的端系统:普通个人电脑、智能手机、网络摄像头等。
- 大的端系统:昂贵的大型计算机或服务器。
- 端系统拥有者:个人、单位或某个ISP。
- 核心部分:
- 由大量网络和连接这些网络的路由器组成,为边缘部分提供服务(提供连通性和交换)。
- 在网络核心部分起特殊作用的是路由器(router)。
1.3.1 互联网边缘部分的通信方式
- “计算机之间通信”的含义:是指主机 A 的某个进程和主机 B 上的另一个进程进行通信。
一、客户/服务器方式(C/S方式)
- 描述:进程之间服务和被服务的关系,客户是服务的请求方,服务器是服务的提供方。
- 通信过程:
- 客户A向服务器B发出请求服务,服务器B向客户A提供服务。
- 通信关系建立后,可以是双向的,客户和服务器都可发送和接收数据。
- 程序特点:
- 客户程序:
- 被用户调用后运行,需主动向远地服务器发起通信(请求服务),必须知道服务器程序的地址。
- 不需要特殊的硬件和很复杂的操作系统。
- 服务器程序:
- 专门用来提供某种服务的程序,可同时处理多个客户请求。
- 一直不断地运行着,被动地等待并接受来自各地的客户的通信请求,不需要知道客户程序的地址。
- 一般需要强大的硬件和高级的操作系统支持。
- 客户程序:
二、对等连接方式(P2P方式)
- 描述:两台主机在通信时不区分服务请求方和服务提供方,只要都运行了P2P软件,就可以进行平等的、对等连接通信。
- 本质:仍然使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。
1.3.2 互联网核心部分的技术
- 互联网的核心部分是互联网中最复杂的部分。 向网络边缘中的主机提供连通性,使任何一台主机都能够向其他主机通信。
一、路由器的作用
- 功能:路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组。
- 重要性:分组转发是网络核心部分最重要的功能。
二、交换技术
- 典型交换技术:电路交换、分组交换、报文交换等。
- 互联网采用:分组交换技术。
三、电路交换
- 特点:
- 电线对的数量与电话机数量的平方(N²)成正比。
- 当电话机的数量增多时,使用电话交换机将这些电话连接起来。并且每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。 这种交换方式就是电路交换 (circuit switching)。
- “交换 (switching)”的含义
- 转接:把一条电话线转接到另一条电话线,使它们连通起来。
- 从通信资源的分配角度来看,就是按照某种方式动态地分配传输线路的资源。
- 电路交换特点分为三个阶段:
- 建立连接:建立一条专用的物理通路(占用通信资源)。
- 通话:主叫和被叫双方互相通电话(一直占用通信资源)。
- 释放连接:释放刚才使用的专用的物理通路(归还通信资源)。
- 电路交换特点:通话的两个用户始终占用端到端的通信资源,导致通信线路利用率低。
四、分组交换(互联网采用分组交换技术)
- 主要特点:
- 采用存储转发技术。
- 分组交换以“分组”作为数据传输单元。 发送端依次把各分组发送到接收端。
- 在发送端,把较长的报文划分成更小的等长数据段,每个数据段前面添加首部构成分组(packet)。分组又称为“包”,而分组的首部也可称为“包头”。
- 发送端依次把各分组发送到接收端,接收端收到分组后剥去首部,还原成原来的报文。
- 根据首部中包含的目的地址、源地址等重要控制信息进行转发。
- 每一个分组在互联网中独立选择传输路径。
- 路由器负责转发分组,即进行分组交换,要创建和动态维护转发表。
- 优点:
- 高效:动态分配传输带宽,对通信链路是逐段占用。
- 灵活:为每一个分组独立地选择最合适的转发路由。
- 迅速:以分组作为传送单位,可不先建立连接就能发送分组。
- 可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性。
- 问题:
- 排队延迟:分组在各路由器存储转发时需要排队。
- 不保证带宽:动态分配。
- 增加开销:各分组必须携带控制信息;路由器要暂存分组,维护转发表等。
五、报文交换
- 原理:基于存储转发原理。
- 时延:较长,从几分钟到几小时不等。
- 现状:现在已很少使用。
六、三种交换方式的比较
- 电路交换:若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
- 报文交换和分组交换:不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
- 分组交换与报文交换:分组交换比报文交换的时延小,灵活性更好,因为一个分组的长度往往远小于整个报文的长度。
1.4 计算机网络在我国的发展
一、关键发展节点
(一)早期实验与初建
- 1980年:铁道部开始进行计算机联网实验。
- 1989年11月:我国第一个公用分组交换网CNPAC建成运行。
(二)正式接入互联网
- 1994年4月20日:我国用64 kbit/s专线正式连入互联网,被国际上正式承认为接入互联网的国家。
- 1994年5月:中国科学院高能物理研究所设立了我国的第一个万维网服务器。
- 1994年9月:中国公用计算机互联网CHINANET正式启动。
(三)后续发展与扩展
- CERNET与下一代互联网:
- 1994年:中国教育和科研计算机网CERNET成为我国第一个IPv4互联网主干网。
- 2004年2月:我国的第一个下一代互联网CNGI的主干网CERNET2试验网正式开通,以2.5~10 Gbit/s的速率连接北京、上海和广州三个CERNET核心节点,并与国际下一代互联网相连接。
- 全国范围公用计算机网络建设:
- 陆续建造了多个全国范围的公用计算机网络,包括:中国电信互联网CHINANET、中国联通互联网UNINET、中国移动互联网CMNET、中国教育和科研计算机网CERNET、中国科学技术网CSTNET。
(四)互联网发展统计与现状
- 中国互联网络信息中心CNNIC:每年两次公布我国互联网的发展情况。
- 国际出口带宽:到2019年底,我国的国际出口带宽已超过8.8 Tbit/s(1 Tbit/s = 103 Gbit/s)。
二、中国互联网发展的重要企业和事件
1. 互联网企业创立与发展
(一)互联网公司创立与搜索引擎发展
- 1996年:张朝阳创立中国第一家以风险投资资金建立的互联网公司—爱特信公司,后推出“搜狐”产品并更名为搜狐公司,搜狐网站是中国首家大型分类查询搜索引擎。
- 1997年:丁磊创立网易公司,推出中国第一家中文全文搜索引擎,并开发超大容量免费邮箱(如163和126等)。
- 2000年:李彦宏和徐勇创建百度网站,现已成为全球最大的中文搜索引擎。
(二)社交媒体与即时通信软件兴起
- 1998年:王志东创立新浪网站,新浪的微博是全球使用最多的微博之一。
- 1998年:马化腾、张志东创立腾讯公司。
- 1999年:腾讯推出PC上的即时通信软件OICQ,后改名为QQ。
- 2011年:腾讯推出专门供智能手机使用的即时通信软件“微信”。
(三)电子商务与支付平台发展
- 1999年:马云创建阿里巴巴网站。
- 2003年:马云创立个人网上贸易市场平台—淘宝网。
- 2004年:阿里巴巴集团创立第三方支付平台—支付宝。
2. 中国公用计算机网络
- 到目前为止:我国陆续建造了基于互联网技术的并能够和互联网互连的多个全国范围的公用计算机网络,其中规模最大的五个为:
- 中国电信互联网CHINANET(原来的中国公用计算机互联网)
- 中国联通互联网UNINET
- 中国移动互联网CMNET
- 中国教育和科研计算机网CERNET
- 中国科学技术网CSTNET
3. 互联网发展统计与信息发布
- 中国互联网络信息中心CNNIC:每年两次公布我国互联网的发展情况。
1.5 计算机网络的类别
1.5.1 计算机网络的定义
- 精确定义未统一:计算机网络的精确定义在学术界和工业界并未完全统一。
- 较好的定义:
- 硬件组成:
- “可编程的硬件”表明这种硬件一定包含有中央处理器 CPU,并且能够用来传送多种不同类型的数据,能支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件包括一般的计算机、智能手机、智能电视等。
- 功能特点:
- 计算机网络可以传送数据。
- 支持多种应用(包括今后可能出现的各种应用)。
- 硬件组成:
1.5.2 计算机网络的类别
一、按照网络的作用范围进行分类
- 广域网 WAN (Wide Area Network):
- 通常为几十到几千公里。有时也称为远程网(long haul network)。是互联网的核心部分。
- 城域网 MAN (Metropolitan Area Network):
- 作用范围一般是一个城市,作用距离约为 5~50 公里。
- 局域网 LAN (Local Area Network):
- 局限在较小的范围(如 1 公里左右)。通常采用高速通信线路。
- 个人区域网 PAN (Personal Area Network):
- 范围很小,大约在 10 米左右。有时也称为无线个人区域网 WPAN (Wireless PAN)。
- 若中央处理机之间的距离非常近(如仅 1 米甚至更小些),比如手机热点,则一般就称之为多处理机系统,而不称它为计算机网络。
二、按照网络的使用者进行分类
- 公用网(public network):
- 定义:按规定交纳费用的人都可以使用的网络,也可称为公众网。
- 专用网(private network):
- 定义:为特殊业务工作的需要而建造的网络。
- 业务类型:公用网和专用网都可以传送多种业务,如传送计算机数据时,则分别是公用计算机网络和专用计算机网络。
三、用来把用户接入到互联网的网络
- 接入网AN(Access Network):
- 定义:又称为本地接入网或居民接入网,用于将用户接入互联网,是用户能够与互联网连接的桥梁。
- 位置:实际上就是本地ISP所拥有的网络,它既不是互联网的核心部分,也不是互联网的边缘部分。
- 范围:是从某个用户端系统到本地ISP的第一个路由器(也称为边缘路由器)之间的一种网络。从覆盖范围看,很多接入网仍属于局域网。
1.6 计算机网络的性能
1.6.1 计算机网络的性能指标
一、速率
- 定义:数据的传送速率,也称为数据率或比特率。
- 单位:bit/s,或 k(10³)bit/s、M(10⁶)bit/s、G(10⁹)bit/s 等。
- 特性:速率往往是指额定速率或标称速率,非实际运行速率。
二、带宽
- 定义:
- 频域:信号具有的频带宽度,如话音信号3.1KHz(300Hz-3.4KHz)。单位是赫(Hz)、千赫(kHz)、兆赫(MHz)、吉赫(GHz)等。
- 时域:网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”,单位就是数据率的单位bit/s。
- 关系:两者本质相同,通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
三、吞吐量
- 定义:单位时间内通过某个网络(或信道、接口)的实际数据量。
- 限制因素:受网络的带宽或网络的额定速率的限制。
- 额定速率是绝对上限值。
- 可能会远小于额定速率,甚至下降到零!
- 表示方法:有时可用每秒传送的字节数或帧数来表示。
- 接入互联网的主机的实际吞吐量取决于互联网的具体情况。
四、时延
- 定义:数据从网络(或链路)的一端传送到另一端所需的时间。
- 组成:
- 发送时延:主机或路由器发送数据帧所需要的时间。计算公式为:发送时延 = 数据帧长度(bit)/ 发送速率(bit/s)。
- 传播时延:电磁波在信道中传播一定的距离需要花费的时间。计算公式为:传播时延 = 信道长度(米)/ 信号在信道上的传播速率(米/秒)。
- 处理时延:主机或路由器在收到分组时,为处理分组所花费的时间。
- 排队时延:分组在路由器输入输出队列中排队等待处理和转发所经历的时延。
- 总时延:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。
- 错误概念:“在高速链路(或高带宽链路)上,比特会传送得更快些”。实际上,提高的仅仅是数据的发送速率,而非比特在链路上的传播速率。
五、时延带宽积
- 定义:时延带宽积 = 传播时延 × 带宽,链路的时延带宽积又称为以比特为单位的链路长度。表示从发送端发出但尚未到达接收端的比特数。
- 意义:只有在代表链路的管道都充满比特时,链路才得到了充分利用。
六、往返时间 RTT
- 定义:从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。
- 计算公式:RTT = 2 × 传播时延 + 接收方处理和排队时延 + 接收方发送时延。
- 在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
- 当使用卫星通信时,往返时间 RTT 相对较长,此时,RTT 是很重要的一个性能指标。
七、利用率
- 信道利用率:某信道有百分之几的时间是被利用的(即有数据通过),完全空闲的信道的利用率是零。
- 网络利用率:全网络的信道利用率的加权平均值。
- 关系:根据排队论,当某信道的利用率增大时,时延会迅速增加。
- 时延与网络利用率的关系为:D = D₀ / (1 - U)
- D₀为网络空闲时的时延
- D为网络在当前的时延
- U为网络当前的利用率。
1.6.2 计算机网络的非性能特征
一、费用
影响因素:网络建设成本、维护成本、使用成本等。
二、标准化
重要性:确保不同厂商生产的网络设备和软件能够互联互通。
三、质量
衡量标准:包括误码率、丢包率、延迟抖动等。
四、可靠性
定义:网络在长时间运行过程中保持正常工作的能力。
五、管理和维护
内容:包括网络配置、故障排查、性能监控等。
六、可扩展性和可升级性
定义:网络能够方便地增加新节点、新设备或升级现有设备的能力。
1.7 计算机网络体系结构
1.7.1 计算机网络体系结构的形成
一、计算机网络体系结构的形成背景与问题
(一)两台计算机互相传送文件需解决的问题
- 传送通路:必须有一条传送数据的通路。
- 通路激活:发起方必须激活通路。
- 接收方识别:要告诉网络如何识别接收方。
- 接收方状态检查:发起方要清楚对方是否已开机,且与网络连接正常。
- 接收准备检查:发起方要清楚对方是否准备好接收和存储文件。
- 格式转换:若文件格式不兼容,要完成格式的转换。
- 差错处理:要处理各种差错和意外事故,保证收到正确的文件。
二、计算机网络体系结构的发展
(一)分层设计方法的提出
- ARPANET设计:最初的ARPANET设计时提出了分层的设计方法。
- 分层概念:将庞大而复杂的问题,转化为若干较小的局部问题。
(二)各大公司提出的体系结构
- IBM的SNA:1974年,IBM按照分层的方法制定并提出了系统网络体系结构SNA(System Network Architecture)。
- 其他公司:此后,其他一些公司也相继推出了具有不同名称的体系结构。
三、国际标准:开放系统互连参考模型OSI/RM
1. OSI/RM的提出与目标
- 提出者:ISO(国际标准化组织)提出的OSI/RM(Open Systems Interconnection Reference Model)。
- 提出原因:由于网络体系结构的不同,不同公司的设备很难互相连通。
- 目标:试图使各种计算机在世界范围内互连成网的标准框架。
- 抽象概念:OSI/RM是个抽象的概念。
- 形成时间:1983年,形成了著名的ISO 7498国际标准,即七层协议的体系结构。
2. OSI的理想境界与失败原因
- 理想境界:全球计算机网络都遵循这个统一标准,因而全球的计算机将能够很方便地进行互连和交换数据。
- 失败原因:
- 商业驱动力不足:OSI的专家们在完成OSI标准时没有商业驱动力。
- 协议复杂且效率低:OSI的协议实现起来过分复杂,且运行效率很低。
- 制定周期长:OSI标准的制定周期太长,使得按OSI标准生产的设备无法及时进入市场。
- 层次划分不合理:OSI的层次划分也不太合理,有些功能在多个层次中重复出现。
四、两种国际标准的现状
1. 法律上的国际标准OSI
- 地位:但并没有得到市场的认可。
2. 事实上的国际标准TCP/IP
- 地位:获得了最广泛的应用。
1.7.2 协议与划分层次
一、网络协议基础
1. 网络协议定义
- 网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。网络协议是计算机网络的不可缺少的组成部分。
2. 网络协议的组成要素
- 语法:数据与控制信息的结构或格式。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
3. 协议的形式
- 文字描述:便于人来阅读和理解。
- 程序代码:让计算机能够理解。不论什么形式,都必须能够对网络上信息交换过程做出精确的解释。
二、层次式协议结构
1. 层次式设计的必要性
- ARPANET经验:对于非常复杂的计算机网络协议,其结构应该是层次式的。
2. 划分层次的概念举例
- 两台主机通过网络传送文件:
- 文件传送模块:将文件传送模块作为最高的一层
- 通信服务模块层:负责文件的可靠传输。
- 网络接入模块层:负责与网络接口细节有关的工作,并向上层提供接入和通信服务。
3. 分层的优点与缺点
- 优点:
- 独立性:各层之间独立,灵活性好。
- 结构分割:结构上可分割开,易于实现和维护。
- 标准化:能促进标准化工作。
- 缺点:
- 功能重复:有些功能会重复出现,产生额外开销。
- 层数选择:层数太少会使每一层的协议太复杂,层数太多则会在描述和综合各层功能时遇到困难。
三、各层完成的主要功能
- 差错控制:使相应层次对等方的通信更加可靠。
- 流量控制:发送端的发送速率必须使接收端来得及接收,避免过快。
- 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
- 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
- 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
四、计算机网络的体系结构
1. 定义
- 网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
2. 体系结构与实现的区别
- 实现定义:在遵循体系结构的前提下,用何种硬件或软件完成这些功能的问题。
- 关系:体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
1.7.3 具有五层协议的体系结构
一、网络体系结构基础
(一)五层协议的体系结构
五层协议体系结构:综合了OSI七层模型和TCP/IP四层模型的优点,形成的一种更为实用的网络体系结构,包括应用层、运输层、网络层、数据链路层和物理层。
1、应用层:
- 任务:通过应用进程间的交互来完成特定网络应用。
- 协议:定义的是应用进程间通信和交互的规则。
- 把应用层交互的数据单元称为报文(message)。
- 例如:DNS,HTTP,SMTP
2、运输层:
- 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务,具有复用和分用的功能。
- 主要使用两种协议:
- 传输控制协议 TCP 用户数据报协议 UDP 。
- TCP (Transmission Control Protocol):
- 提供面向连接的、可靠的数据传输服务。
- 数据传输单位是报文段(segment)。
- UDP (User Datagram Protocol):
- 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。
- 数据传输的单位是用户数据报。
- TCP (Transmission Control Protocol):
3、网络层(网际层或IP层):
- 为分组交换网上的不同主机提供通信服务。
- 两个具体任务:
- 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。
- 转发:路由器依据转发表转发分组到下一个路由器。使用无连接的网际协议IP和多种路由选择协议。
- 数据链路层(链路层):实现两个相邻节点之间的可靠通信,传送帧(frame)。如发现差错,丢弃出错帧或采用可靠传输协议纠正差错。
- 物理层:实现比特(0或1)的传输,规定电压代表0/1的方式、接收方识别比特的方法,以及连接电缆的插头引脚数量和连接方式。物理媒体(如双绞线、同轴电缆、光缆、无线信道)不在物理层协议内。
(二)OSI七层协议体系结构与TCP/IP四层协议体系结构
- OSI七层协议体系结构:包括应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
- TCP/IP四层协议体系结构:包括应用层、运输层、网际层(网络层)、网络接口层(数据链路层+物理层)。
二、各层主要功能详解
(一)应用层功能
- 任务:完成特定网络应用,通过应用进程间交互实现。
- 协议:定义通信和交互规则,如DNS(域名解析)、HTTP(超文本传输)、SMTP(简单邮件传输)。
- 数据单元:报文(message)。
(二)运输层功能
- 任务:提供进程间通用数据传输服务。
- 复用与分用:允许多个应用进程使用同一运输层服务,并将接收到的数据分发给正确的应用进程。
- 协议:
- TCP(传输控制协议):面向连接,可靠传输,使用报文段(segment)作为数据单元。
- UDP(用户数据报协议):无连接,尽最大努力传输,不保证可靠性,使用用户数据报作为数据单元。
(三)网络层功能
- 任务:为主机间通信提供服务,处理分组交换。
- 具体任务:
- 路由选择:通过算法在路由器上生成转发表,用于指导分组转发。
- 转发:路由器依据转发表将接收到的分组转发到下一个路由器。
- 协议:主要使用无连接的网际协议IP(Internet Protocol)和多种路由选择协议,因此网络层也称为网际层或IP层。
(四)数据链路层功能
- 任务:实现两个相邻节点之间的可靠通信,传送帧(frame)。
- 差错处理:如发现差错,丢弃出错帧;如需改正差错,则采用可靠传输协议,但这会使数据链路层协议复杂化。
(五)物理层功能
- 任务:实现比特(0或1)的传输,规定电压、比特识别方法及连接方式。
- 具体任务:
- 确定传输比特的电压标准。
- 确定连接电缆的插头引脚数量及连接方式。
- 注意:传递信息所利用的物理媒体(如双绞线、同轴电缆、光缆、无线信道等)不在物理层协议之内,而是在物理层协议之下。
三、数据传输过程与协议数据单元
(一)数据在各层之间的传递过程
- 数据封装:发送方从应用层开始,逐层添加首部信息,形成PDU(协议数据单元),传递至物理层传输。
- 数据解封:接收方从物理层开始,逐层去除首部信息,将数据传递给上层应用进程。
- 传递示例:以主机1向主机2发送数据为例,数据在各层之间逐层封装首部信息,最终通过物理传输媒体进行传输。
- 封装过程:
- 应用层添加应用层首部(H5)。
- 运输层添加运输层首部(H4)。
- 网络层添加网络层首部(H3)。
- 数据链路层添加链路层首部(H2)和尾部(T2)。
- 物理层将数据转换为比特流进行传输。
(二)协议数据单元(PDU)
- 对等层通信:OSI参考模型中,对等层次之间传送的数据单位称为该层的协议数据单元PDU(Protocol Data Unit)。
- 通信方式:任何两个对等层之间通过水平虚线直接传递PDU,即进行“对等层”之间的通信。
- 协议定义:各层协议实际上是在各个对等层之间传递数据时的各项规定。
1.7.4 实体、协议、服务和服务访问点
一、基本概念
(一)实体(Entity)
- 定义:表示任何可发送或接收信息的硬件或软件进程。
(二)协议(Protocol)
- 定义:控制两个对等实体进行通信的规则的集合。
- 特性:
- 实现保证:协议的实现保证了能够向上一层提供服务,对上层服务用户透明。
- 通信方向:协议是“水平的”,控制对等实体间的通信。
- 上层使用服务原语获得下层所提供的服务,而上面的服务用户只能看见服务,无法看见下面的协议,这是“垂直的”关系。
- 组成要素:
- 语法:数据与控制信息的结构或格式。
- 语义:需要发出何种控制信息,完成何种动作及响应。
- 同步:事件实现顺序的详细说明。
- 重要性:协议很复杂,需要应付所有异常情况,没有一种协议能够确保100%的成功或获胜(如军事行动中的协议示例)。
(三)服务(Service)
- 定义:在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供的功能或能力。
- 特点:
- 服务透明性:对上层服务用户透明,上层只能看见服务,无法看见下面的协议。
- 服务方向:服务是“垂直的”,通过服务原语实现。
- 与协议的区别:协议是控制通信的规则,而服务是本层通过协议实现后向上层提供的功能。
二、服务访问点与数据单元
(一)服务访问点(SAP, Service Access Point)
- 定义:在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点。
- 特性:
- SAP是一个抽象的概念,实际上就是一个逻辑接口。
(二)服务数据单元(SDU, Service Data Unit)
- 定义:OSI模型中把层与层之间交换的数据的单位称为服务数据单元。
- 与PDU的关系:SDU可以与PDU(协议数据单元)不一样,例如可以是多个SDU合成为一个PDU,也可以是一个SDU划分为几个PDU。
三、层次间关系与交互
(一)协议实现与服务提供
- 协议实现:保证能够向上一层提供服务,是“水平的”交互。
- 服务使用:上层使用服务原语获得下层提供的服务,是“垂直的”交互。
(二)相邻两层之间的关系
- 交互方式:通过SAP进行服务原语的交换,实现上层(n+1层)对下层(n层)服务的请求和下层对上层请求的响应。
- 协议与服务区分:协议是控制对等实体通信的规则,服务是本层通过协议向上层提供的功能,两者在概念上不同。
- 层次结构:每一层都利用其下一层提供的服务,并为其上一层提供服务,形成层次化的网络体系结构。
(三)示例说明
- 对话示例(虽为非技术性示例,但说明了协议沟通的复杂性):
- “明日正午进攻,同意?”
- “同意”
- “你确认‘同意’?”
- “我确认‘同意’”
- “你真的确认‘同意’?我真的确认‘同意’”
- 结论:这样的协议无法确保100%的成功,因为协议需要考虑到所有可能的异常情况。