计算机网络之概述
1. 计算机网络概述
笔记内容来源于《计算机网络微课堂》
1.2 因特网概述
网络、互连网(互联网)和因特网
- 网络(Network)由若干节点(Node)和连接这些节点的链路(Link)组成
- 互联网:多个网络通过路由器连接起来,形成覆盖范围更大的网络
- 因特网:(Internet)世界上最大的互连网络(用户数以亿计、互连的网络数以百万计)
因特网发展的三个阶段
- 从单个网络 APRANET 向互联网发展
- 逐步建成三级结构的因特网
- 逐步形成了多层次 ISP 结构的因特网 (ISP:因特网服务提供者)
因特网的组成
- 边缘部分:有所有连接在因特网上的主机组成。(用来通信、资源共享)
- 核心部分:由大量网络和连接这些网络的路由器组成。(为边缘部分提供服务)
1.3 三种交换方式
电路交换(Circuit Switching)
- 电话交换机接通电话线的方式称为电路交换
- 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源
- 电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放连接(归还通信资源)
优点:
- 通信时延小
- 有序传输
- 没有冲突
- 适用范围广
- 实时性强
- 控制简单
缺点:
- 建立连接时间长
- 线路独占、使用效率低
- 灵活性差
- 难以规格化
分组交换(Packet Switching)
将报文分割成多个组,在每个组前加上首部,从发送方开始,通过路由器抵达接收方,在接收方处将分组合并为原来的报文。
- 发送方:构造分组、发送分组
- 路由器:缓存分组、转发分组
- 接收方:接受分组、还原报文
优点:
- 无需建立连接
- 线路利用率高
- 简化了存储管理
- 加速传输
- 减少出错率和重发数据量
缺点:
- 引起了转发时延
- 需要传输额外的信息量
- 对于数据报服务,存在失序、丢失或重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程
1.4 计算机网络的定义和分类
计算机网络的定义
简单定义:一些互相连接、自治的计算机的集合。自治是说独立的计算机,它有自己的硬件和软件,可以单独运行使用。
较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成,而这些硬件并非专门用来实现某一特定目的的。
计算机网络的分类:
按交换技术分类:
- 电路交换网络
- 报文交换网络
- 分组交换网络
按使用者分类:
- 公用网
- 专用网
按传输介质分类:
- 有线网络
- 无线网络
按覆盖范围分类:
- 广域网 WAN
- 城域网 MAN
- 局域网 LAN
- 个域网 PAN
按拓扑结构分类:
- 总线型网络
- 星形网络
- 环形网络
- 网状型网络
1.5 计算机网络的性能指标
速率
连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率
基本单位:bit/s(b/s, bps) 常用单位:kb/s, Mb/s, Gb/s, Tb/s
带宽
用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”;单位与速率单位相同
吞吐量
吞吐量表示在*_单位时间内通过某个网络_(或信道、接口)的数据量;吞吐量受网络带宽或额定速率的限制
时延
- 发送时延 = 分组长度(b) / 发送速率(b/s)
- 传播时延 = 信道长度(m) / 电磁波传播速率(m/s)
- 处理时延
时延带宽积
- 含义:传播时延和带宽的乘积
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
- 链路的时延带宽积又称为以比特为单位的链路长度
往返时间 RTT
RTT 就是网络信息双向交换一次所需的时间
利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
- 网路利用率:全网络的信道利用率的加权平均
- 利用率并非越高越好:当某信道的利用率增大时,该信道引起的时延也会迅速增加
- 也不能利用率太低,否则浪费通信资源
丢包率
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组与总分组数量的比率;
分组丢失的两个主要原因:
- 分组误码
- 结点交换机缓存队列满(网络拥塞)
1.6 计算机网络体系结构
常见的计算机网路体系结构
OSI 体系结构
七层:物理层 - 数据链路层 - 网络层 - 运输层 - 会话层 - 表示层 - 应用层
TCP/IP 体系结构
四层:网络接口层 - 网际层 (例如 IP)- 运输层(例如 TCP、UDP) - 应用层(例如 HTTP SMTP DNS 等)
原理体系结构
五层:物理层 - 数据链路层 - 网络层 - 运输层 - 应用层
计算机网络分层的必要性
“分层”可将一个庞大而复杂的问题,转化为若干较小的局部问题,下面看看各层都解决了什么样的问题
- 物理层
- 采用怎样的传输媒体(介质)
- 采用怎样的信号表示比特
- 数据链路层
- 如何标识网络中的各主机(主机编址问题,例如 MAC 地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据
- 如何协调各主机争用总线
- 网络层
- 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如 IP 地址)
- 路由器如何转发分组,如何进行路由选择
- 运输层
- 如何解决进程之间基于网络的通信问题
- 出现传输错误,如何处理
- 应用层
- 通过应用进程之间的交互来完成特定的网络应用
计算机网络体系结构专用术语
- 实体:任何可发送或接受信息的硬件或者软件进程
- 对等实体:收发双方处于相同层次的实体
- 协议:控制两个对等实体进行逻辑通信的规则的集合
- 协议三要素
- 语法:定义所交换信息的格式,例如 IP 数据报的格式
- 语义:定义收发双方所要求完成的操作,例如主机 HTTP 的 GET 请求给 Web 服务器,Web 服务器受到后执行相应的操作,然后给主机返回 HTTP 的相应
- 同步:定义收发双方的时序关系,例如 TCP 的“三报文握手”建立连接
- 服务:在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下面一层所提供的服务
- 协议是“水平”的,服务是“垂直”的。
- 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
- 协议数据单元 PDU:对等层次之间传送的数据包称为该层的协议数据单元
- 应用层:报文(message)
- 运输层:TCP 报文段(segment)或者 UDP 用户数据报(datagram)
- 网络层:分组(packet)或者 IP 数据报
- 数据链路层:帧(frame)
- 物理层:比特流
- 服务数据单元 SDU:同一系统内,层与层之间交换的数据包