一,因特网概述
网络 互联网 因特网
网络:由若干个节点(Node)和连接这些节点的链路(Link)组成,
互联网:多个网络通过路由器互连起来,就构成了范围更大的网络,因此互联网也可成为“网络的网络”
因特网:最大的互连网络
Internet 和 Internet
internet:通用名词,泛指由多个计算机网络互连而成的网络,网络之间的通讯协议可以是任意的
Internet:专用名词,指全球最大的,开放的,由众多网络互相连接而成的特定计算机网络,采用TCP/IP协议族作为通信的规则
因特网发展的三个阶段
- 第一:从单个网络ARPANET向互联网发展
- 1969,第一个分组交换网
- 70年代中期,研究多种网络之间的互连
- 1983,TCP/IP协议成为ARPANET的标注协议(因特网诞生时间)
- 第二:逐步建成三级结构的因特网
- 1985,NSF围绕六个大型计算机中心建设NSFNET(主干网,地区网,校园网)
- 1990,ARPANET任务完成,正式关闭
- 1991,因特网主干网开始由私人公司运营,并开始对接入因特网的单位收费(公开使用)
- 第三:逐步形成了多层次ISP结构的因特网
- 1993,NSFNET逐渐被取代,因特网运营由各种因特网服务商ISP运营
- 1994,万维网WWW技术促使因特网迅速发展
- 1995,NSFNET停止运作,因特网彻底商业化
因特网服务提供者ISP(Internet Service Provider)
普通用户通过ISP接入因特网(移动 联通 电信等),ISP可以从因特网管理机构申请到成块的IP地址
基于ISP的三层结构的因特网
- 第一层:主干网,覆盖国际性区域范围,拥有高速链路和交换设备,第一层ISP之间直接互联
- 第二层:是第一层ISP的用户,区域性国家性覆盖范围,与少数第一层ISP相连接
- 第三层:本地ISP,是第二层ISP的用户,本地范围
目前情况:相隔较远的两台主机之间通讯,需要经过多个ISP;且个人用户只要能接入Internet,那么也可以成为ISP,需要调制解调器或路由器等设备,让其他用户相连
因特网的标准化工作
特点:面向公众
文档资料:因特网所有的RFC(Request For Comments)技术文档都可以从因特网上免费下载
因特网协会ISOC:是一个国际性组织,负责对因特网进行全面管理,以及促进发展和使用
定制因特网的正式标准:
- 因特网草案
- 建议标准
- 草案标准
- 因特网标准
因特网的组成
功能组成:
- 边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享
- 台式电脑,笔记本,手机,智能摄像头,智能手表,部分仪器
- 核心部分:由大量网络和连接这些网络的路由器组成,是为边缘部分提供服务的(提供连通性和交换)
二,实现通讯的三种交换方式
电路交换 Circuit Switching
当两个电话进行通讯,则只需要连接一个电线
当五个电话进行通讯,则需要连接10个电线
当n个电话进行通讯,则需要连接n(n-1)/2个电线
- 此时应需要一个中间设备(电话交换机),将这些电话连接,当电话数量增多时,则需要很多彼此连接起来的电话交换机来完成全网的交换任务
- 从通讯资源分配的角度看,交换就是按照某种方式动态地分配传输线路的资源
用户线归电话用户专用,中继线由各种用户共享
电路交换的三个步骤:
- 建立连接(分配通讯资源)
- 如拨号,从主叫端到被叫端建立物理通路
- 通话(一直占用通信资源)
- 释放连接(归还通讯资源)
分组交换Packet Switching
如果计算机使用电路交换进行通讯,则效率很低(一直占用资源,其他用户无法使用)
因此计算机通常使用分组交换方式进行通信
分组交换机:路由器,负责将各种网络互联起来,并对接收到的分组进行转发(分组交换)
简单描述通讯过程:在主机H1(发送方)通过路由器(转发方)要给主机H2(接收方)的通讯中
- 通常把表示某个消息的整块数据成为报文
- 在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段
- 在每个数据段前面,加上一些控制信息组成的首部后(包头),就构成一个分组(包)
- 首部的作用:包含了分组的目的地址,分组的排列顺序等
- 分组交换机收到分组后,先将分组暂时存储下来,检查首部
- 按照首部中的目的地址进行查表转发,找到合适的转发接口
- 通过该接口将分组转发给下一个分组交换机
- 每个分组(包)的传输路线不是固定一致的
- 主机H2收到分组后,去掉首部,按照分组的排列顺序组成一个原始报文
主机H1 ,路由器 ,主机H2 完成的任务
发送方:构造分组,发送分组
转发方:缓存分组,转发分组
接收方:接收分组,还原报文
报文交换Message Switching
报文交换中的交换节点也采用存储转发方式,但报文交换对报文的大小没有限制,这也要求了交换节点要拥有较大的缓存空间,报文交换主要用于早期的电报通信网,目前较少使用
三个交换方式的对比
- A,B,C,D:节点
- 纵坐标 :时间
- 电路交换:建立连接,传输数据,释放连接
- 报文交换:不需要建立连接,随时进行报文传输,节点交换机全部存储后转发下一个节点交换机
- 分组交换:不需要建立连接,随时进行报文传输,构成原始报文的各个分组,依次在各个节点交换机上存储转发,各个节点交换机在发送分组的同时,又缓存接收到的分组
分组交换和报文交换的对比:分组交换一边存储一边转发,减少了转发时延,避免过长的报文长时间占用链路,有利于进行差错控制
优缺点
电路交换
分组交换
报文交换
三, 计算机网络的定义和分类
计算机网络的定义
- 计算机网络的精确定义并未统一
- 简单定义:一些互相连接的,自治的计算机的集合
- 互连:计算机之间可以通过有线或者无线的方式进行数据通信
- 自治:独立的计算机,有自己的硬件和软件,可以单独运行使用
- 集合:至少需要两台计算机
- 较好的定义:计算机网络主要是由一些通用的,可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件可以用来传输多种不同类型的数据,并能支持广泛的日益增长的应用
- 计算机网络所连接的硬件,并不限于一般的计算机,还有手机等设备
- 计算机网络并非专门用来传送数据,而是能够支持很多种应用
计算机网络的分类
交换技术分类
- 电路交换网络
- 分组交换网络
- 报文交换网络
按使用者分类
- 公用网络(公众网络,一般民用网络等)
- 专用网络(私有网络,军队网络等)
传输介质分类
- 有线网络
- 无线网络
覆盖范围分类
- 广域网WAN
- 城域网MAN
- 局域网LAN
- 个人网PAN
拓扑结构分类
- 总线型网络
- 星型网络
- 环形网络
- 网状型网络
四,计算机网络的性能指标
速率:
- 简介:连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率,数据率;
- 计算机中数据量的单位
- bit,,代表二进制中的 1 或者 0
- Byte,8 bit = Byte
- KB = 2^10 B | MB = 2^10 * 2^10 B = 2^20 B | GB = 2^10 * 20 B = 2^30 B
- 比特率
- bit/s
- kb/s = 10^3 b/s
- Mb/s = k*kb/s = 10^3 * 10^3 b/s
- 有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块需要时间
带宽:
- 带宽模拟信号系统中的意义:信号所包含的各种不同频率成分所占据的频率范围
- 单位:Hz(赫兹)
- 带宽在计算机网络中的意义:用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率
- 两者关系:一条通信线路的频带宽度越宽,其所传输数据的最高数据率也越高
吞吐量:
- 简介:吞吐量通常指在单位时间内通过某个网络(或信道,接口)的数据量
- 经常用于对现实网络的一种测量,以便知道实际上到底有多少数据量能够通过网络
- 吞吐量受网络的带宽或额定速率的限制
时延:
- 发送时延:主机发送数据到数据链路的时间
- 传播时延:数据链路传输数据到交换机的时间
- 处理时延:交换机完成存储(排队时延),转发的时间(一般忽略不计)
源主机和目的主机之间的路径一般会由多段链路和多个路由器组成,因此会有多个传播时延和处理时延
在处理时延忽略不计的情况下,网络总时延的时延主要应该具体问题具体分析
时延带宽积:
- 传播时延与带宽的乘积
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
- 链路的时延带宽积又称为以比特为单位的链路长度
往返时间:
- 指两个主机之间双向交互一次所需要的时间RRT(Round-Trip Time)
- 交互:从源主机发送分组开始,到源主机收到来自目的主机的确认分组为止,所需要的时间
利用率:
- 信道利用率:用来表示信道有百分之几的时间是被利用(有数据通过)
- 网络利用率:全网的信道利用率加权平均
根据排队论,当某信道利用率增大时,该信道的时延也会迅速增加
丢包率:
- 分组的丢失率,在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
- 丢包率分类
- 接口丢包率
- 节点丢包率
- 链路丢包率
- 路径丢包率
- 网络丢包率
- 丢包情况:
- 分组误码:在传输过程中出现误码,被节点丢弃
- 网络拥塞:分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞
- 因此丢包率也反映了网络的拥塞情况
五,计算机网络体系结构
常见的计算机网体系结构
法律上的国际标准 OSI体系结构
| 事实上的国际标准 TCP/IP体系结构 应用层 运输层 网际层 网络接口层 | 原理体系结构 应用层 运输层 网络层 数据链路层 物理层 |
计算机网络体系结构分成的必要性
- 计算机网络是一个非常复杂的系统,早在最初的ARPANET设计时,就提出了分层的设计理念
- 分层可将庞大而复杂的问题,转化为若干较小的局部问题
每层需要解决的问题
物理层,解决使用何种信号来传输比特的问题
- 采用怎样的传输媒体
- 采用怎样的物理接口
- 使用怎样的信号表示0或1(主要)
数据链路层,解决分组在一个网络(或一段链路)传输的问题
- 如何表示网络中的各个主机(主机编址问题,MAC地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据(分组的封装格式问题)
- 以太网交换机如何实现功能
网络层,解决分组在多个网络上传输(路由)的问题
- 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如ip地址)
- 路由器如何转发分组,如何进行路由选择
传输层,解决进程之间基于网络的通信问题
- 如何解决进程之间基于网络的通信问题
- 出现传输错误时,如何处理
应用层,通过应用程序间的交互来完成特定的网络应用
- 万维网应用:HTTP协议
- 电子邮件:SMTP协议
- 文件传输:FTP协议
计算机网络体系结构分层思想举例
浏览器应用进程间基于网络的通信,按体系结构自顶向下的顺序来看
- 主机的应用层 :应用层按HTTP协议规定,构建一个HTTP请求报文
- 主机的运输层 : 应用层将报文交付给运输层处理,运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段
- TCP首部: TCP首部的作用主要是为了区分应用进程和实现可靠传输
- 主机的网络层 : 运输层将TCP报文段交付给网络层处理,网络层给TCP报文段添加一个IP首部,使之成为IP数据报
- IP首部:IP首部的作用主要是为了使IP数据报可以在互联网上传输,被路由器转发
- 主机的数据链路层:网络层将IP数据报交付给数据链路层处理,数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧
- 帧首部:该首部的作用是为了让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
- 帧尾部:其作用是为了让目的主机检查所接收到的帧是否有乱码
- 主机的物理层:数据链路层将帧交付给物理层,物理层将帧看作比特流,由于网络N1 是以太网,因此物理层还会给该比特流前面添加前导码
- 前导码:其作用是为了让目的主机做好接收帧的准备
- 信号传输:物理层将添加了前导码的比特流,变换成相应的信号发送到传输媒体,信号通过传输媒体到达路由器,以下是路由器的处理过程
- 路由器的物理层:物理层将信号变换为比特流,去掉前导码,将其交付给数据链路层(交付帧)
- 路由器的数据链路层:数据链路层将帧的首部和尾部去除,将其交付给网络层(交付IP数据报)
- 路由器的网络层:网络层解析IP数据报的首部,从中提取中目的网络地址,然后查找自身的路由表,确定转发端口,以便进行转发
- 信号传输:路由器的物理层将添加了前导码的比特流,变换成相应的信号发送到传输媒体,信号通过传输媒体到达web服务器,以下是web服务器的处理过程
- web服务器体系结构 :通过逐层拆包,最终在运输层去除TCP首部后,交付HTTP请求报文给应用层,应用层对HTTP请求报文进行解析,然后给主机发回HTTP响应报文。
计算机网络体系结构中的专用术语
- 实体:指任何可发送或接收信息的硬件或软件进程
- 对等实体:指收发双方相同层次中的实体
- 例如:主机H1的物理层 对应 主机H2的物理层 等等
- 协议:控制两个对等实体进行逻辑通信的规则的集合
- 应用层对等实体在应用层协议的控制下进行逻辑通信
- 协议三要素
- 语法:定义通信双方所交换信息的格式,定义了所交换信息由哪些字段以及何种顺序构成
- 语义:定义通信双方所要完成的操作,例如主机使用HTTP发送请求,web服务器需要相应请求
- 同步:定义收发双方的时序关系,
- 服务:在协议的控制下,两个对等实体间的逻辑通信是的本层能够向上一层提供服务
- 服务访问:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
- 访问点
- 数据链路层的服务访问点为 帧 的 “类型” 字段
- 网络层的服务访问点为IP数据报首部中的“协议字段”
- 运输层的服务访问点为 端口号
- 上层使用下层所提供的服务必须通过与下层交换一些命令,称为服务原语
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议,下层的协议对上层的实体是透明(不清楚的)的
协议是水平的,服务是垂直的
通信数据单元
在计算机网络体系结构中,对通信双方所交互的数据包,有专门的术语
- 协议数据单元PDU:实体对等层次之间传输的数据包
- 服务数据单元SDU:同一系统内,层与层之间交换的数据包
两者关系:多个SDU可以合成为一个PDU,一个SDU也可以划分为多个PDU