1.1
互联网的两个重要基本特点:
-
连通性
- 无论用户相隔多远,都可以非常便捷、经济地交换各种信息,好像这些用户终端都彼此直接连通一样
-
资源共享
- 信息共享、软件共享、硬件共享。由于网络的存在,这些资源好像就在用户身边一样地地方方便使用
1.2
1.2.1 网络的网络
计算机网络由若干个节点和连接这些节点的链路组成,节点可以是计算机、集线器、交换机、路由器等
网络:把许多计算机连接在一起
互连网(internet
):由多个计算机网络互连而成的计算机网络,网络之间的通信协议没有使用限制
互联网(Internet
): 指的是全球最大的、最开放的、由众多网络相互连接而成的特定互联网,采用TCP/IP协议
互连网 (internet) ≠ 互联网 (Internet)
1.2.2 互联网基础结构发展的三个阶段
- 1969-1990 从单个网络ARPANET向互联网发展
- 1985-1993 建成了三级结构的互联网,分为主干网、地区网、校园网
- 1993-现在 全球范围的多层次 ISP 结构的互联网,分为主干ISP、地区ISP、本地ISP。(ISP:互联网服务提供者
互联网交换点IXP:允许两个网络直接相连并快速交换分组
1.3
1.3.1 互联网的边缘部分(资源子网)
由所有连接在互联网上的主机组成,由用户直接使用,用来进行通信(传送数据、音频或视频)和资源共享
连接在互联网上的所有主机又被称为端系统
计算机之间通信:主机A的某个进程和主机B上的另一个进程进行通信
端系统之间的通信方式可以分为两大类:
- 客户-服务器方式(C/S方式)
- 对等方式(P2P)
C/S方式描述的是进程之间服务与被服务的关系,客户是服务的请求方、服务器是服务的提供方。通信可以是双向的,客户端和服务器都可以发送和接受数据
P2P的两台主机在通信时不区分服务请求方和服务提供方,只要都运行了P2P软件,就可以进行平等的、对等连接通信。本质上还是C/S方式,只是对等连接中的每一个主机既是服务钱又是客户。
1.3.2 互联网的核心部分(通信子网)
- 是互联网最复杂的部分
- 向网络边缘的主机提供连通性
- 路由器在网络核心部分起特殊作用,是实现分组交换的关键结构
- 转发收到的分组是网络核心的部分的重要功能
交换技术包括:
- 电路交换
- 分组交换
- 报文交换
电路交换:
为了解决电话通信产生的电线对数量很多的问题,采用了交换机的技术,即每一部电话都连接到交换机上去,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信,这种交换方式就是电路交换
从通信资源的分配角度来看,就是按照某种方式动态地分配传输线路的资源。
电路交换分为三个阶段:建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)
特点:通话的两个用户始终占用端到端的通信资源,线路传输效率很低
分组交换:
发送端将报文划分成若干段更小的等长的数据段,在数据段前面添加首部,构成分组(分组又称包,分组的首部又称包头),分组是互联网中传送的数据单元。发送端依次把各个分组发送到接收端,接收端收到分组后剥去首部,还原成原来的报文
优点:
- 高效:在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用
- 灵活:为每一个分组独立地选择最合适的转发路由
- 迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
- 可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性
缺点:
- 排队延迟:分组在各路由器存储转发时需要排队。
- 不保证带宽:动态分配。
- 增加开销:各分组必须携带控制信息;路由器要暂存分组,维护转发表等。
报文交换
也是基于储存转发的原理,不过是人工转发,时延较长
三种交换方式的比较
- 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
- 报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
- 由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
1.5
计算机网络的定义
较好的一种定义方式:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
可编程的硬件一定含有中央处理器CPU
1.6 计算机网络的性能
性能指标:
-
速率:指的是数据的传送速率,是最重要的一个性能指标,也称数据率、比特率
单位:bit/s、kbit/s、Mbit/s、Gbit/s等等
小写的b是以103为进位,大写的B时以210为进位
速率往往指的是额定速率或标称速率,并非实际运行的速率
-
带宽
-
频域角度:
指某个信号具有的频带宽度,单位是赫(或者千赫、兆赫、吉赫等),某信道允许通过的信号频带范围称为该信道的带宽
-
时域角度:
网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的最高数据率,单位是bit/s
-
-
吞吐量:单位时间内通过某个网络的实际数据量
受网络的带宽或者网络的额度塑速率限制,可以是每秒传送的比特数、字节数、帧数
-
时延 = 发送时延+传播时延+处理时延+排队时延
-
发送时延:从数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需要的时间,
-
传播时延:电磁波在信道中传播一定的距离需要花费的时间,
-
处理时延:主机或者路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验或者查找路由)所花费的时间
-
排队时延:分组在路由器输入输入队列中排队等待处理和转发所经历的时延。
排队时延的长短往往取决于网络中当时的通信量,通信量很大时会发生队列溢出,时得分组丢失。
-
-
“在高速链路上,比特会传送的更快速些”,这种说法是错误的,这仅仅降低了发送时延,而不能降低传播时延
-
-
,得到的是第一个比特到达接接收端时,发送端发送了多少的数据,即管道的体积,表示这样的链路可以容纳多少的比特 -
往返时间RTT = 节点A到节点B的传播时延 + 节点B处理时延和排队时延 + 节点B发送时延 + 节点B到A的传播时延,表示从发送方发送完数据,到发送方收到确认来自接收方的确认总共经历的时间
-
利用率
- 信道利用率:信道有百分之几的时间是被利用的
- 网络利用率:全网络的信道利用率的加权平均值
- 信道利用率不是越高越好,信道利用率增大时,时延会迅速增加
1.7计算机网络的体系结构
发展过程
1974年,IBM公司提出了系统网络体系结构SNA,有分层的结构
1984年,国际标准化组织(ISO)提出开放系统互连(OSI)参考模型,目的是支持 异构网络系统的互联互通,是一个抽象的概念,属于国际标准,理论成功,市场失败。
TCP/IP 被称为事实上的国际标准,它得到了广泛的应用
网络协议
网络协议 (network protocol),简称为协议, 是为进行网络中的数据交换而建立的规则、标准或约定。
三个组成要素:
- 语法:数据与控制信息的结构或格式。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
体系结构
OSI将网络分成了7层,从上到下依次是应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
前四层是端到端层,后三层是非端到端层
PDU:协议数据单元
数据封装:为了增加控制信息来构造协议数据单元
控制信息包括:
- 地址(Address):标识发送端/接收端
- 差错检测编码:用于差错检测或纠正。(并不是所有协议都有
- 协议控制:实现协议功能的附加信息,例如优先级、服务质量等等
TCP/IP只有四层协议,从上到下是应用层、运输层、网际层、网络接口层。其中的网络接口层并没有什么具体内容
为了方便学习两者各自的优点,我们将网络分成5层,从上到下是应用层、运输层、网络层、数据链路层、物理层。主要就研究这个五层协议的体系结构
OSI模型
应用层
- 应用层的任务是通过应用进程间的交互来完成特定网络应用。
- 应用层协议定义的是应用进程间通信和交互规则。
- 例如:域名系统DNS,支持万维网应用的HTTP协议等。
- 应用层交互的数据单元称为报文。
表示层
处理两个系统间交换信息的语法与语义
-
数据表示转化
- 将来自应用层的主机相关的编码转换为一个独立的编码,或者将一个独立的编码转换成主机相关的编码
-
加密/解密
-
压缩/解压缩
-
实现的功能也很少,实际的网络中也不存在这一层
会话层
接受表示层的PDU,构造会话层的PDU,然后发给传输层,并不会进行分割
- 对话控制,支持通信之间的建立、维护、拆除
- 对话的同步,通过插入同步控制点syn来实现的
- 最薄的一层,实现的内容很少,实际上的网络中不存在这一层
传输层
会将来自会话层的报文划分成一个个数据段,构造对应的结构数据单元,然后交给网络层进行传输
负责源到目的(端到端)(进程间)完整报文传输
-
分段与重组
-
SAP寻址
- 确保将完整的报文提交给正确的进程,如端口号
-
端到端的连接控制,一种逻辑连接
-
流量控制
-
差错控制
网络层:
- 逻辑寻址,负责源主机到目的主机数据分组交付,由于可能穿越多个网络,所以需要全局唯一的逻辑地址,确保数据分组被送达目的主机,例如IP地址
- 路由,路径选择
- 分组转发
数据链路层
- 负责结点-结点数据传输
- 组装成帧,每一帧需要包含数据和必要的控制信息,包括帧头和帧尾
- 物理寻址,在帧头中增加发送端和/或接收端的物理地址,标识数据帧的发送端和/或接收端
- 流量控制,匹配发送端的发送速度和接收端的接受速度
- 差错控制
- 访问(接入)控制,在任意给定时刻决定哪个设备拥有链路控制使用权
物理层
- 传输比特
五层参考模型
从上到下分别是:应用层、运输层、网络层、数据链路层、物理层
应用层
- 任务:通过应用进程间的交互来完成特定的网络应用
- 协议:定义的是应用进程间通信和交互规则
- 把应用层交互的数据单元称为报文
- 例如:DNS、HTTP、SMTP
运输层
-
任务:负责向两台主机中进程之间的通信提供通用的数据传输服务
-
具有复用和分用的功能
-
主要使用两种协议:
- 传输控制协议TCP
- 用户数据协议UDP
网络层
-
为分组交换网上的不同主机提供通信服务
-
两个具体任务:
- 路由选择:通过一定的算法,在互联网中的每个路由器上,生成一个用来转发分组的转发表
- 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器
-
互联网使用的网络层协议是无连接的网际协议IP和许多种路由选择协议,因此互联网的网络层也叫做网际层或IP层
-
IP协议分组也叫做IP数据报,或简称为数据报
数据链路层
- 简称链路层
- 任务:实现两个相邻节点之间的可靠通信
- 在两个相邻节点间的链路上传送帧
- 如发现有差错,就简单地丢弃出错帧
- 如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的错误,但这会使得数据链路层协议复杂
物理层
- 任务:实现比特的传输
- 确定连接电缆的插头应有几个引脚,以及引脚应该如何连接
- 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面