什么是互联网?
一: 互联网概述
1.1 网络,互联网与因特网的区别和关系
- 若干节点和链路互连形成网络
- 若干网络通过路由器互连形成互联网
- 因特网是当今世界上最大的互联网
1.2 因特网发展的三个阶段
二: 电路交换,分组交换,报文交换
2.1 电路交换
计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%
2.2 分组交换
优点:
- 没有建立连接和释放连接的过程
- 分组传输过程中逐段占用通信链路,有较高的通信线路利用率
- 交换节点可以为每一个分组独立选择转发路由,使网络有更好的生存性
缺点:
- 分组首部带来了额外的传输开销
- 交换节点存储转发分组会造成一定的时间延迟
- 无法确保通信时端到端通信资源全部可用,在通信量较大时候可能造成网络拥塞
2.3 报文交换
- 报文交换式分组交换的前身
- 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送
- 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点
- 因此,报文交换比分组交换带来的转发时间延迟要长很多,需要交换节点具有的缓存空间也大很多
2.4 三种方式对比
- 若要连续传送大量数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可能有较高的传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低
- 报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率
- 将报文构造成若干个更小的分组进行分组交换,比将整个报文进行报文交换的时间延迟要小,并且还可以避免太长的报文长时间占用链路,有利于差错控制,同时具有更好的灵活性
三: 计算机网络的定义和分类
3.1 计算机网络的定义
- 计算机网络的精确定义并未统一
- 计算机网络的最简单定义:一些互连的,自治的计算机的集合
- 计算机网络主要是由一些通用的,可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如:传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛和日益增长的应用
3.2 计算机网络的分类
交换方式:电路交换,报文交换,分组交换
使用者:公用网,专用网
传输介质:有线网络,无线网络
覆盖范围:广域网WAN,城域网MAN,局域网LAN,个域网PAN
拓扑结构:总线型,星型,环形,网状型
四: 计算机网络的性能指标
4.1 速率
- 速率是指数据的传送速率(即每秒传送多少个比特),也称为数据率或比特率
- 速率的基本单位:bit/s(b/s, bps);常用单位:Kb/s,Gb/s,Tb/s
- 速率单位中的K,M,G,T的数值分为别10^3,10^6,10^9,10^12
4.2 带宽
带宽在模拟信号系统中的意义:某个信号所包含的各种不同频率成分所占据的频率范围。单位:Hz(kHz,MHz,GHz)
带宽在计算机网络中的意义:用来表示网络的通信线路所能传送数据的能力,即在单位时间内从网络中的某一点到另一点所能通过的最高数据率。单位与速率单位相同
带宽的上述两种表述之间有着密切的联系:一条通信线路的“频带带宽”越宽,其所传输数据的“最高数据率”也就越高
4.3 吞吐量
- 吞吐量是指单位时间内通过某个网络或接口的实际数据量。吞吐量常用于对实际网络的测量,以便获知到底有多少数据量通过了网络
- 吞吐量受到网络带宽的限制
4.4 时延
- 时延是指数据从网络的一端传送到另一端所耗费的时间,也称为延迟或者迟延。数据可由一个或多个分组,甚至是一个比特构成
4.5 时延带宽积
- 传播时延和带宽的乘积
- 若发送端连续发送数据,则在发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
- 链路的时延带宽积又称为以比特为单位的链路长度
4.6 往返时间RTT
- 在许多情况下,因特网上的信息不仅仅是单方向传输,而是双向交互
4.7 利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用过的(有数据通过)
- 网络利用率:全网络的信道利用率的加权平均
- 利用率并非越高越好:当某信道的利用率增大时,该信道引起的时延也会迅速增加
- 也不能使信道利用率太低,这会使宝贵的通信资源白白浪费
- 当网络的利用率达到50%时,时延就要加倍
- 当网络的利用率超过50%时,时延急剧增大
- 当网络的利用率接近100%,时延就会趋于无穷大
- 因此,一些拥有较大主干网的ISP通常会控制它们的信道利用率不超过50%。如果超过了,就要准备扩容,增大线路的带宽
4.8 丢包率
- 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
- 分组丢失的两个主要原因:分组误码,结点交换机缓存队列满(网络拥塞)
五: 计算机网络体系结构
5.1 常见的计算机网络体系结构
5.2 计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统。早在最初的APRANET设计时就提出了分层的设计理念
- “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理
5.2.1 物理层
5.2.2 数据链路层
5.2.3 网络层
5.2.4 运输层
5.2.5 应用层
5.3 计算机网络体系结构分层思想举例
- 应用层通过HTTP协议,构建HTTP请求报文
- 运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段。该首部作用主要是为了区分应用进程,以及实现可靠传输。
- 运输层将TCP报文段交付给网络层处理,网络层给TCP报文段添加一个IP首部,使之成为IP数据报。该首部作用是使IP数据报可以在互联网上传输,也就是被路由器转发。
- 网络层将IP数据报交付给数据链路层处理,数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧。该首部作用是主要是为了让帧能够在一段链路上或一个网络上进行传输,能够被相应目的主机接收。ETH帧尾部的作用是让目的主机检查,所接收到的帧是否有误码。
- 数据链路层将帧交付给物理层,物理层将帧看作是比特流,物理层会给比特流前面加上前导码,作用是让目的主机做好接收帧的准备。物理层将添加有前导码的比特流变换为相应的信号发送到传输媒体,信号通过传输媒体到达路由器。
5.4 实体 协议 服务
5.4.1 实体
- 实体:任何可发送或接受信息的硬件或软件进程
- 对等实体:收发双方相同层次中的实体
5.4.2 协议
- 协议:控制两个对等实体进行逻辑通信的规则的集合
- 协议三要素:语法 语义 同步
- 语法:定义所交换信息的格式
- 语义:定义收发双发所要完成的操作
- 同步:定义收发双方的时序关系
5.4.3 服务
- 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
- 要实现本层协议,还需要使用下面一层所提供的服务
- 协议是”水平的“,服务是“垂直的”
- 实体看得见相邻下层所提供的服务,但不知道实现该服务的具体协议。
- 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
- 数据链路层的服务访问点为帧的“类型”字段
- 网络层的服务访问点为IP数据报首部中的“协议字段”
- 运输层的服务访问点为“端口号”
- 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
- 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元
- 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元
- 多个SDU可为合成成为一个PDU;一个SDU也可以划分为几个PDU