计算机网络复习笔记

第一章 概述

1.1 计算作用

  1. 21世纪的一些重要特征:数字化、网络化、信息化
  2. 网络分类:电信网络,有线电视网络,计算机网络
  3. 互联网两个基本特性:连通性共享
  4. 连通性:互联网使上网用户之间不管相距多远,都可以非常便捷非常经济地交换各种信息
  5. 共享:资源共享,包括信息共享,软件共享,硬件共享。

1.2 互联网概述

  1. 计算机网络由若干节点(node)和连接这些节点的链路(link)组成
  2. 互联网是“网络的网络”(network of networks)
  3. 连接在因特网上的计算机都称为主机 (host)
  4. 互联网三个阶段:
    • 第一阶段:从单个网络ARPANET向互联网发展的过程,1983年TCP/IP协议成为ARPANET上的标准协议,人们把1983年作为因特网的诞生时间,特点:TCP/IP首次成型
    • 第二阶段:建立了三级结构的互联网,特点:分为主干网,地区网,校园网
    • 第三阶段:形成了多层次的ISP结构的互联网,ISP的首次出现
  5. 小写开头的internet泛指多个计算机网络互连而成的网络,大写开头的Internet指代因特网,前身是ARPANET
  6. ISP(Internet Service Provider)划分成不同层次
    • 主干ISP:服务面积大,覆盖国家
    • 地区ISP:通过一个或多个主干ISP连接
    • 本地ISP:给用户提供直接服务的ISP,也称末端用户,可以是公司,学院或者大学
    • 三层ISP结构图:三层ISP结构图
  7. 互联网交换点IXP(Internet eXchange Point):允许两个网络直连交换分组,不需要通过第三个网络来转发分组,这样可以更快的转发分组,有效利用网络资源
  8. 万维网 WWW (World Wide Web)

1.3 互联网的组成

  1. 以工作方式划分为两大块:
    • 边缘部分:由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频) 和资源共享。低速接入互联网。
    • 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。高速进行分组交换。
  2. 处在因特网边缘的部分就是连接在因特网上的所有的主机。这些主机又称为端系统(end system)
    “主机 A 和主机 B 进行通信”,实际上是指:“运行在主机 A 上的某个程序和 运行在主机 B 上的另一个程序进行通信”。
    即“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。或简称为“计算机之间通信”
  3. 两种通讯方式:
    • 客户−服务器方式(C/S 方式),Client/Server
    • 对等方式(P2P 方式),Peer-to-Peer
  4. 客户-服务器方式C/S:都是指通信中所涉及的两个应用进程,所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。
  5. 客户软件的特点:被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。不需要特殊的硬件和很复杂的操作系统。
  6. 服务器软件的特点:一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客 户的通信请求。因此,服务器程序不需 要知道客户程序的地址。一般需要强大的硬件和高级的操作系统支持。
  7. 对等连接方式P2P:指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。只要两个主机都运行了对等连接软件 (P2P 软件),它们就可以进行平等的、 对等连接通信。双方都可以下载对方已经存储在硬盘中的共享文档。
  8. 对等连接方式的特点:对等连接方式从本质上看仍然是使用客 户服务器方式,只是对等连接中的每一个主机既是客户又同时是服务器。例如主机 C 请求 D 的服务时,C 是客户, D 是服务器。但如果 C 又同时向 F提供 服务,那么 C 又同时起着服务器的作用。
  9. 网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
  10. 在网络核心部分起特殊作用的是路由器(router),路由器是实现分组交换(packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能
  11. 电路交换:2部电话只需要1对电线,5部电话需要10对电线, N 部电话机两两相连,需 N(N – 1)/2 对电线。当电话机的数量很大时,这种连接方法需要的电线 对的数量与电话机数的平方成正比。
  12. 交换机交换(使用交换机进行电路交换):“交换”(switching)的含义就是转接——把一条电话线转接到另一条电话线,使它们连通起来。从通信资源的分配角度来看,“交换” 就是按照某种方式动态地分配传输线路的资源。
  13. 电路交换特点
    • 电路交换必定是面向连接的
    • 电路交换的三个阶段:
      • 建立连接
      • 通信
      • 释放连接
    • 电路交换传送计算机数据效率低
    • 在电话通话的全部时间内,通话的两个用户始终占用端到端的通信资源
  14. 分组交换:采用存储转发技术,我们把要发送的整块数据称为一个报文(message),在发送端,先把较长的报文划分成较短的、固定长度的数据段,每一个数据段前面添加上首部构成分组。分组又称为,分组的首部也可以称为包头
  15. 因特网的核心部分:
    • 由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分
    • 在因特网核心部分的路由器之间一般都用高速 链路相连接,而在网络边缘的主机接入到核心 部分则通常以相对较低速率的链路相连接。
    • 主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的
  16. 讨论互联网核心部分中的路由器转发分组的过程时,往往把单个网络简化成一条链路,而路由器成为核心部分的节点
  17. 路由器:在路由器中的输入和输出端口之间没有直接连线。路由器处理分组的过程是:
    • 把收到的分组先放入缓存(暂时存储)
    • 查找转发表,找出到某个目的地址应从哪个端口转发
    • 把分组送到适当的端口转发出去
  18. 主机和路由器的不同
    • 主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
    • 路由器对分组进行存储转发,实际就是分组交换,最后把分组交付目的主机
  19. 分组交换的优点
    • 高效——动态分配传输带宽,对通信链路是逐段占用。
    • 灵活——以分组为传送单位和查找路由。
    • 迅速——不必先建立连接就能向其他主机发送分组。
    • 可靠——保证可靠性的网络协议。
    • 分布式——的路由选择协议使网络有很好的生存性。
  20. 分组交换带来的问题
    • 分组在各结点存储转发时需要排队,这就会造成一定的时延
    • 分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销,还需要专门的管理和控制机制。
  21. 三种交换方式在数据传送阶段的主要特点:
    • 电路交换——整个报文的比特流连续地从源点直达终点,好像在一个管道中转发。
    • 报文交换——整个报文先转发到相邻节点,全部存储下来后查找转发表,转发到下一个节点
    • 分组交换——单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点
    • 三种交换的比较
    • 由于一个分组的长度往往远小于整个报文长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性
  22. 传统的电路交换(circuit switching)的电信网有一个缺点:正在通信的电路中有一个交换机或有一条链路被炸毁,则整个通信电路就要中断。如要改用其他迂回电路,必须重新拨号建立连接。这将要延误一些时间
  23. 新型网络的基本特点:
    • 网络用于计算机之间的数据传送,而不是为了打电话。
    • 网络能够连接不同类型的计算机,不局限于单一类型的计算机。
    • 所有的网络结点都同等重要,因而大大提高网络的生存性。
    • 计算机在进行通信时,必须有冗余的路由。
    • 网络的结构应当尽可能地简单,同时还能够非常可靠地传送数据。
  24. 早期的面向终端的计算机网络是以单个主机为中心的星形网.分组交换网则是以网络为中心,主机都处在网络的外围。

1.5 计算机网络的分类

  1. 不同的定义:
    • 计算机网络是一些互相连接的、自治的计算机的集合。
    • 因特网(Internet)是“网络的网络”。
  2. 不同的网络分类:
    1. 网络的作用范围分类:
      • 广域网 WAN (Wide Area Network)
      • 局域网 LAN (Local Area Network)
      • 城域网 MAN (Metropolitan Area Network)
      • 个人区域网 PAN (Personal Area Network)
    2. 网络的使用者分类:
      • 公用网 (public network)
      • 专用网 (private network)
    3. 主干和接入网:
      • ISP,提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用。
      • AN(Access Network),它又称为本地接入网或居民接入网。

1.6 计算机网络的性能

1.6.1 性能指标

  1. 速率:指的是数据的传送速率,也称为数据率。
  2. 带宽:原本指的是某个信号具有的频带宽带,计网中表达是的网络中某通道传送数据的能力,在单位时间内某信号所通过的“最高数据率”,这种意义下的单位是bit/s,比特每秒。前者是频域称谓,后者是时域称谓。
  3. 带宽:原本指的是某个信号具有的频带宽带,计网中表达是的网络中某通道传送数据的能力,在单位时间内某信号所通过的“最高数据率”,这种意义下的单位是bit/s,比特每秒。前者是频域称谓,后者是时域称谓。
  4. 吞吐量:单位时间内通过某个网络(或通道,端口)的实际数据量,吞吐量受到网络带宽或网络额定速率的限制。
  5. 时延:指数据(或一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,也称为延迟或迟延。
    1. 发送时延:从主机或路由器发送数据帧所需要的时间。发送时延=数据帧长度(bit)发送速率(bit/s)\text{发送时延}=\frac{\text{数据帧长度(bit)}}{\text{发送速率(bit/s)}}
    2. 传播时延:电磁波在信道中传播一定的距离需要花费的时间。传播时延=信道长度(m)电磁波在信道上的传播速度(m/s)\text{传播时延}=\frac{\text{信道长度(m)}}{\text{电磁波在信道上的传播速度(m/s)}}
    3. 处理时延:主机或路由器接受到分组之后需要时间进行处理。
    4. 排队时延:分组进过路由器时,需要进入缓存排队等待交换,出现排队时延,排队时延的长短往往取决于网络中当时的通信量
    5. 总时延=发送时延+传播时延+处理时延+排队时延
  6. 时延带宽积=传播时间×\times带宽,又称为以比特为单位的链路长度
  7. 往返时间RTT:有效数据率=数据长度发送时间+RTT(bit/s)\text{有效数据率}=\frac{\text{数据长度}}{\text{发送时间+RTT}}\left(bit/s\right)
  8. 利用率:
    • 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。
    • 网络利用率则是全网络的信道利用率的 加权平均值。信道利用率并非越高越好。
    • 如果D0D_0表示空闲时时延,U表示网络利用率,那么D=D01UD=\frac{D_0}{1-U}

1.6.2 非性能特征

  1. 费用
  2. 质量
  3. 标准化
  4. 可靠性
  5. 可扩展性和升级性
  6. 易于管理和维护

1.7 计算机网络体系结构

  1. 相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复 杂的。
  2. 分层”可将庞大而复杂的问题,转化 为若干较小的局部问题,而这些较小的 局部问题就比较易于研究和处理。
  3. 网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
  4. 网络协议的组成要素:
    • 语法——数据与控制信息的结构或格式 。
    • 语义——需要发出何种控制信息,完成何 种动作以及做出何种响应。
    • 同步——事件实现顺序的详细说明。
  5. 分层的好处:
    • 各层之间是独立的。
    • 灵活性好。
    • 结构上可分割开。
    • 易于实现和维护。
    • 能促进标准化工作。
  6. 层数多少要适当:若层数太少,就会使每一层的协议太复杂。层数太多又会在描述和综合各层功能的 系统工程任务时遇到较多的困难。
  7. 5层协议的体系结构:
    • 应用层(application layer)
    • 运输层(transport layer)
    • 网络层(network layer)
    • 数据链路层(data link layer)
    • 物理层(physical layer)
  8. 实体、协议、服务 和服务访问点:
    • 实体(entity)——表示任何可发送或接收信息的硬件或软件进程。
    • 协议——控制两个对等实体进行通信的规则的集合。
    • 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务
    • 要实现本层协议,还需要使用下层所提供的服务。
    • 下面的协议对上面的服务用户是透明的。
    • 协议是“水平的”,即协议是控制对等实体之间通信的规则。
    • 服务是“垂直的”,即服务是由下层向上层通 过层间接口提供的。
    • 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)
  9. 协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的,必须非常仔细地检查这个协议能否应付各种异常情况

第二章 物理层

2.1 物理层的概念

  1. 物理层的主要任务描述为确定与传输媒体的接口的一些特性,即:
    • 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。
    • 电气特性:指明在接口电缆的各条线上出现的电压的范围。
    • 功能特性:指明某条线上出现的某一电平的电压表示何种意义。
    • 过程特性:指明对于不同功能的各种可能事件的出现顺序。

2.2 数据通道的基础知识

  1. 几个术语:
    • 数据(data)——运送消息的实体。
    • 信号(signal)——数据的电气的或电磁的表现。
    • 模拟的”(analogous)——代表消息的参数的取值是连续的。
    • 数字的”(digital)——代表消息的参数的取值是离散的。
    • 码元(code)——在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。
    • 模拟信号——连续的信号
    • 数字信号——
  2. 数据在通信线路上的传输方式一般都是串行传输。
  3. 一个数据通信系统可以划分三大部分:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)。输入信息–(源点)–>输入数据–(发送器)–>发送的信号–(传输系统)–>接受的信号–(接收器)–>输出数据–(终点)–>输出信息。 数据过程
  4. 源系统包含:源点、发送器
  5. 目的系统包含:接收器、终点
  6. 几个概念:
    • 单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。
    • 双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
    • 双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。
    • 基带信号(即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制(modulation)。
    • 带通信号——把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
  7. 基带解调,编码,载波,带通信号,带通解调
  8. 最基本的二元制调制方法有以下几种:
    • 调幅(AM):载波的振幅随基带数字信号而变化。
    • 调频(FM):载波的频率随基带数字信号而变化。
    • 调相(PM) :载波的初始相位随基带数字信号而变化。
  9. 奈氏准则,在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。
  10. 香农公式:C=Wlog2(1+S/N)C=Wlog_2(1+S/N) b/sb/s,W 为信道的带宽(以 Hz 为单位);S 为信道内所传信号的平均功率;N 为信道内部的高斯噪声功率。用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。
  11. 信噪比(dB)=10log10(S/N)(dB)10log_{10}(S/N)(dB)

2.3 物理层下面的传输媒体

  1. 导引型传输媒体:
    • 双绞线:屏蔽双绞线,无屏蔽双绞线
    • 同轴电缆:50Ω\Omega同轴电缆,75Ω\Omega同轴电缆
    • 光缆:单模光纤,多模光纤
  2. 非导引型传输媒体
    • 短波
    • 微波
    • 卫星

2.4 信道复用技术

  1. 频分复用:所有用户在同样的时间占用不同的带宽(频率带宽)资源
  2. 时分复用:将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。每一个用户所占用的时隙是周期性地出现(其周期就是 TDM 帧的长度)。TDM 信号也称为等时(isochronous)信号。时分复用的所有用户是在不同的时间占用同样的频带宽度。
  3. 统计时分复用
  4. 波分复用:光的频分复用。
  5. 码分复用CDM:常用的名词是码分多址 CDMA。各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。每一个比特时间划分为 m 个短的间隔,称为码片(chip)。
  6. 码分复用:当码片序列长度为mm bit发送的信息的速率为bb bit/s,则实际的发送速率要达到mbmb bit/s
  7. CDMA 的重要特点:每个站分配的码片序列不仅必须各不相同,并且还必须互相正交(orthogonal)。在实用的系统中是使用伪随机码序列
  8. 待补

2.5 数字传输系统

  1. 待补

第三章 数据链路层

  1. 链路层使用的信道分为两种类型:
    • 点对点信道——一对一
    • 广播信道——一对多

3.1 使用点对点信道的数据链路层

  1. 链路(link):是一条无源的点到点(一个节点到相邻节点)的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。
  2. 数据链路(data link):除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。最常用的就是网络适配器(即网卡)。
  3. 数据链路层传送的是
  4. 数据链路层的三个基本问题:封装成帧、透明传输和差错检测
  5. 早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程和协议是同义语。
  6. 封装成帧(framing):就是在一段数据的前后分别 添加首部和尾部,然后就构成了一个帧。确定 帧的界限。首部和尾部的一个重要作用就是进行帧定界
  7. 每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元 MTU (Maximum Transfer Unit)。
  8. 控制字符SOH(Start Of Header)放在一帧的最前面,EOT(End Of Transmission)放在一帧的结束。如果只有SOH没有EOT则丢弃。
  9. 透明传输:如果在数据中发现非ASCII字符并且与SOH或EOT一致,那么会错误地“找到数据帧边界”。若发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”,则在前面插入一个转义字符 “ESC”(其十六进制编码是 1B)。
  10. 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网 络层之前删除插入的转义字符
  11. 透明传输的”透明“:指的是某一个实际存在的事物看起来却好像不存在一样
  12. 差错检测:在传输过程中可能会产生比特差错: 1可能会变成0而0也可能变成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。误码率与信噪比有很大的关系。
  13. 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。在发送端,先把数据划分为组。假定每组 k 个比特。n 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
  14. 循环冗余码的计算,待补
  15. 在数据后面添加上的冗余码称为帧检验序列 FCS
  16. CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码
  17. 仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的 概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧 都没有传输差错”(有差错的帧就丢弃而不接 受)。要做到“可靠传输”(即发送什么就收到什么) 就必须再加上确认重传机制。

3.2 点对点协议 PPP

  1. 现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。
  2. PPP 协议应满足的需求:
    • 简单——这是首要的要求:互操作性提高了
    • 封装成帧:必须规定特殊字符作为帧定界符
    • 透明性
    • 多种网络层协议:同一条物理链路上同时支持多种网络层协议
    • 多种类型链路
    • 差错检测:立刻丢弃有差错的帧
    • 检测连接状态
    • 最大传送单元:是数据链路层的帧可以负载的数据部分的最大长度,而不是帧的总长度
    • 网络层地址协商
    • 数据压缩协商
  3. PPP 协议不需要的功能:
    • 纠错
    • 流量控制
    • 序号
    • 多点线路
    • 半双工或单工链路
  4. PPP 协议的组成:
    • 一个将 IP 数据报封装到串行链路的方法。
    • 链路控制协议 LCP (Link Control Protocol)。
    • 网络控制协议 NCP (Network Control Protocol)。
  5. PPP 协议的帧格式:
    PPP 有一个 2 个字节的协议字段。
    当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
    若为 0xC021, 则信息字段是 PPP 链路控制数据。若为 0x8021,则表示这是网络控制数据。
    PPP 协议的帧格式
  6. PPP 协议的信息字段长度是可变的,但不超过1500字节
  7. PPP 透明传输问题:当 PPP 用在同步传输链路时,协议规定 采用硬件来完成比特填充(和 HDLC 的 做法一样)。当 PPP 用在异步传输时,就使用一种特殊的字符填充法
    • 将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
    • 若信息字段中出现一个 0x7D 的字节,则将其转变成为 2 字节序列(0x7D, 0x5D)。
    • 若信息字段中出现 ASCII 码的控制字符 (即数值小于 0x20 的字符),则在该字 符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
  8. 零比特填充:PPP 协议用在 SONET/SDH 链路时,是使用同步传输,这时 PPP 协议采用零比特填充方 法来实现透明传输。信息字段每出现5个连续的1,则添加一个0,这样不会产生控制字符F相同的信息部分。
  9. PPP 协议之所以不使用序号和确认机制是出于以下的考虑:
    • 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。
    • 在因特网环境下,PPP 的信息字段放入的数 据是 IP 数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
    • 帧检验序列 FCS 字段可保证无差错接受。
  10. PPP 协议的工作状态:暂无

3.3 使用广播信道的数据链路层