计算机网络
基础概念疑问
-
什么是网络? 网络(Network) 是由若干节点( Node) 和连接这些节点的链路( Link) 组成的,链路可以有线也可以无线
-
什么是互联网? 互联网( i nternet )是由若干网络和连接这些网络的路由器组成的
-
互联网与因特网的区别 因特网是当今世界上最大的互联网,连接在因特网上的各种通信设备(例如智能手机、平板电脑、笔记本电脑、台式电脑、服务器、网络打印机和可联网家用电器等)称为主机( Host )
- internet的意思是互联网, 它是一个通用名词, 泛指由多个计算机网络互连而成的网络。在这些网络之间可以使用任意的通信协议作为通信规则。
- Internet 的意思是因特网,它是一个专用名词,专指当前全球最大的、开放的、由众多网络和路由器互连而成的特定计算机网络。在这些网络之间必须使用TCP/IP协议族作为通信规则。
因特网发展史
-
从单个分组交换网向互联网发展 1983年TCP/IP协议族成为ARPANET上的标准协议,任何使用TCP/IP协议族的计算机都能通过网络互连而通信,因此1983年成为因特网的诞生时间。
-
逐步建成三级结构的因特网 主干网、地区网和校园网三级结构
-
逐步形成多层次ISP结构的因特网 因特网服务提供者( Internet Service Provider, ISP ),提供因特网接入服务、信息服务和增值服务
可分为三级,国际级,国家级(区域级),本地级
RFC (Request For Comments )
制定因特网标准需要经过因特网草案( Internet Draft)、建议标准( Proposed Standard ) 、草案标准( Draft Standard ) 、因特网标准( Internet Standard ) 这4个阶段
由于“草案标准”容易与“ 因特网草案”混淆, 所以从2011 年IO月起取消了“ 草案标准” 这个阶段
因特网的组成
- 因特网的边缘部分。由连接在因特网上的台式电脑、笔记本电脑、平板电脑、服务器、智能手机、智能手表、网络摄像头和网络打印机等用户设备构成。这些用户设备常称为主机, 由用户直接使用,为用户直接提供各式各样的网络应用。
- 因特网的核心部分。由大量异构型网络和连接这些网络的路由器构成。因特网的核心部分为其边缘部分提供连通性和数据交换等服务。
电路、分组和报文交换
电路
分为三个步骤:
- 建立连接 专用物理通路,提供通信资源
- 通话 始终占用连接,不被其他用户占用
- 释放连接 交换机释放连接,资源归还电信网
问题: 计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至不到1% 。
分组交换
源主机将待发送的整块数据构造成若干个分组并发送出去,分组传送途中的各交换节点(也就是路由器)对分组进行存储转发,目的主机收到这些分组后将它们组合还原成原始数据块。
待发送的整块数据通常被称为报文( Message),太长的报文不利于缓冲存储与错误处理,需要划分成若干等长的数据段,每段添加一些必要的控制信息组成首部,构建出了分组
分组交换网中的分组交换机收到一个分组后,先将其缓存下来,然后从其首部中提取出目的地址,按照目的地址查找自己的转发表,找到相应的转发接口后将分组转发出去,把分组交给下一个分组交换机。
每次只占用转发所需要的链路,而不占用需要经过的所有链路。
优点:
- 没有建立连接和释放连接的过程,分组传输过程中逐段占用通信链路, 有较高的通信线路利用率。
- 交换节点可以为每一个分组独立选择转发路由,使得网络有很好的生存性。 缺点:
- 分组首部带来了额外的传输开销。
- 路由器存储转发分组会造成一定的时延。
- 无法确保通信时端到端的通信资源全部可用,在通信量较大时可能造成网络拥塞。
- 分组可能会出现失序(未按序到达)和丢失等问题。
报文交换
其实就是不分组的交换方式,全部缓冲之后再转发,会有更多的时延
计算机网络分类
计算机网络的定义
计算机网络主要是由一些通用的、可编程的硬件互连而成的
计算机网络的分类
按覆盖范围分类
- 广域网(Wide Area Network, WAN ) 广域网是因特网的核心部分,它为因特网核心路由器提供远距离高速连接,互连分布在不同国家和地区的城域网和局域网。
- 城域网(Metropolitan Area Network, MAN)
- 局域网(Loca l Area Network, LAN) 常称为校园网或企业网 1km
- 个域网(Personal Area Network, PAN)
按网络的使用者
- 公用网
- 专用网
其他角度
除上述两种分类角度外,计算机网络还有很多分类角度。例如按传输介质分类(有线 或无线)、按网络拓扑分类(总线型、星型、环型、网状型) 、按交换方式分类(电路交 换、报文交换、分组交换)以及按传输技术分类(点对点或广播)等。
计算机网络性能
速率
计算机网络中的速率是指数据的传送速率(即每秒传送多少个比特),也称为数据率( Data Rate ) 或比特率( Bit Rate)
这里要注意的是 字节的单位与速率单位不能直接换算,还是应该将字节单位换算成比特,再与速率做计算
带宽
其含义有两种:
- 带宽在模拟信号系统中的意义: 是指某个信号所包含的各种不同频率成分所占据的频率范围(Hz,kHz)
- 带宽在计算机网络中的意义: 用来表示网络的通信线路所能传送数据的能力,即单位时内从网络中的某一点到另一点所能通过的最高数据率
根据香农公式可知,线路的“频率带宽“越宽,其所传输数据的“最高数据率”也越高。
要注意的是带宽应该取各设备最小
吞吐量
吞吐量( throughput)是指在单位时间内通过某个网络或接口的实际数据量。
受网络带宽的限制
吞吐量是下载速率和上传速率的总和
时延
时延( delay或latency )是指数据(由一个或多个分组、甚至是一个比特构成)从网络的一端传送到另一端所耗费的时间,也称为延迟或迟延。
时延的类别
-
发送时延 发送时延是主机或路由器发送分组所耗费的时间
-
传播时延 传播时延是电磁波在链路(传输介质)上传播一定的距离所耗费的时间
-
排队时延 在路由器的输入队列中排队缓存并等待处理
-
处理时延 路由器从自己的输入队列中取出排队缓存并等待处理的分组后,会进行一系列处理工作。
经典例题
时延带宽积
时延带宽积是传播时延和带宽的乘积。
其实含义是通路内能容纳的最大的bit数量,或者说以bit为单位的链路长度
往返时间
往返时间(Round-Trip Time, RTT ) 是指从发送端发送数据分组开始,到发送端收到接收端发来的相应确认分组为止,总共耗费的时间。
就是收发的时间间隔,一般当距离很远时,时延起主导作用的是传播时延,也就是往返时间会因为传播时延变大而增大
利用率
链路利用率: 某条链路有百分之几的时间是被利用的( 即有数据通过)。完全空闲的链路的利用率为零。
网络利用率: 网络中所有链路的链路利用率的加权平均。
据排队论可知, 当某链路的利用率增大时,该链路引起的时延就会迅速增加
丢包率
丢包率是指在一定的时间范围内, 传输过程中丢失的分组数量与总分组数量的比例。
分组丢失主要有以下两种情况:
- 分组在传输过程中出现误码,被传输路径中的节点交换机(例如路由器)或目的主机检测出误码而丢弃。
- 节点交换机根据丢弃策略主动丢弃分组。
丢包率可以反映网络的拥塞情况:
- 无拥塞时路径丢包率为0.
- 轻度拥塞时路径丢包率为1%~4%。
- 严重拥塞时路径丢包率为5%~15%。
计算机网络体系结构
计算机网络层次结构模型,它是各层的协议以及层次之间的端口的集合
国际标准事实上是TCP/IP体系结构
路由器一般实现到网际层
TCP/IP体系结构中,网络接口层没有规定实际的内容,所以可以连接各种不同的接口
IP协议可以将不同的网络接口进行互连,向上为TCP/UDP提供网络服务,TCP再向上提供可靠的传输服务,UDP提供不可靠的传输服务
IP协议一方面互连不同的网络接口(IP over everything),一方面为各种网络应用提供服务(everything over IP)
由于TCP/IP在网络接口层没有规定任何内容,在学习上不便,所以提出一个五层的教学模型
分层必要性
“分层”可将庞大复杂的问题转化为若干较小的局部问题
物理层
数据链路层
差错控制,
网络层
识别网络与主机,分组转发方法(路由选择)
补充知识:其中192.168.0.254,前三者是网络号,不同网络使用不同的网络号,后者是主机号
运输层
识别进程,可靠与不可靠数据传输
应用层
总结
分层思想
专业术语
实体
- 实体是指任何可发送或接收信息的硬件或软件进程。
- 对等实体是指通信双方相同层次中的实体。
协议
协议是控制两个对等实体在“水平方向” 进行“逻辑通信”的规则的集合。
逻辑通信之所以叫逻辑通信,是因为这种通信其实并不存在,则是抽象的通信
三要素:
- 语法 信息格式
- 语义 通信双方要完成的操作
- 同步 通信双方的时序关系
服务
==协议是水平的,服务是垂直的==
- 在协议的控制下, 两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下面一层所提供的服务。
一些概念
-
实体看得见下层提供的服务,但并不知道实现该服务的具体协议。下层的协议对上层的实体是 “透明的。
-
在同一系统中相邻两层的实体交换信息的逻辑接口称为服务访问点SAP,它被用于区分不同的服务类型。 帧的“类型”字段、IP数据报的“协议”字段,TCP报文段或UDP用户数据报的“端口号”字段都是SAP。
-
上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语
-
对等层次之间传送的数据包称为该层的协议数据单元(Protocol Data Unit,PDU)。
-
同一系统内层与层之间交换的数据包称为**服务数据单元 **(Service Data Unit, SDU)。
遗留问题
- 各层作用
- 各层通信单元
- 各网络大小