1. 计算机网络概述

1.1 计算机网络在信息时代的作用

21世纪,数字化、信息化、网络化,网络化又分为电信网络、有线电视网络、计算机网路三网

计算机网路的重要功能:

  1. 连通性:彼此连同,交换信息
  2. 共享:信息共享,软硬件共享

1.2 因特网概述

网络:多个结点(pc)通过链路连接到同一个结点(交换机)上

互联网(internet):多个网络和网络之间(通过路由器)连接起来

因特网(Internet):全球最大互联网

因特网发展的三个阶段

  1. ARPANET向互联网发展:上世纪60年代到80年代中期

1969年美国发明的ARPANET分组交换网,1975年分组交换网互相连接形成互联网,1983美国国防部研发TCP/IP协议,由于封闭使用,没有考虑安全性

  1. 三级结构的因特网:上世纪80年代中期到90年代初

1985年美国国家科学基金会,围绕六个大型计算机网络建设三级结构网。

  • 三级结构:校园网,地区网,主干网
  1. 多层次ISP结构的因特网

1993年,美国政府不再运营因特网,交给ISP服务提供商

第一层ISP->第二层ISP->本地ISP

计网 - 图1

因特网的标准化工作

  1. 因特网协会ISOC
  2. 因特网体系结构研究委员会IAB
    1. 因特网研究部IRTF
      因特网研究指导小组IRSG
      RG … RG
    2. 因特网工程部IETF
      因特网工程指导小组IESG
      领域 … 领域
      WG … WG

1.3 因特网的组成

  1. 边缘部分:主机
    通信方式:
    1. 客户服务器方式(Client/Server-C/S)
    2. 对等方式(Peer to Peer-P2P)> 客户机当服务器用
  1. 核心部分:网络、路由器
    数据交换方式:
    1. 电路交换> 通过交换机连接主机之间,用完才释放
  1. - 适用于数据量很大的实时传输,例如核心路由器之间
  1. 分组交换
    1. 发送端把需要发送的数据(即报文),分成多个组,每个组都有首部
    2. 接收端解析每个组的首部并组合

路由器有存储转发功能

  1. - 高效、灵活、迅速、可靠,但延迟大、开销大
  1. 报文交换
    • 报文一般比分组交换长
    • 时延较长

计网 - 图2

1.4 计算机网络在我国的发展

1994.4.20正式接入互联网

1.5 计算机网络的类别

计算机网络最简单的定义:一些互相连接的、自治的计算机的集合

  1. 作用范围:广域网WAN、城域网MAN、局域网LAN、个人区域网PAN
    • 应用了哪种网络技术即为哪类网,而不单单从区域划分
  2. 使用者:公用网Public Network、专用网Private Network
  3. 拓扑结构:总线型、环型、星型、树型、网状
  4. 交换方式:电路、报文、分组交换
  5. 工作方式:资源子网、通信子网、接入网

1.6 计算机网络的性能

性能指标:速率、带宽、吞吐量、时延、时延带宽积、往返时间、利用率

  1. 速率:连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称data rate或bit rate,单位b/s,kb/s,Mb/s,Gb/s
  2. 带宽:数字信道所能传送的最高数据率,单位b/s,kb/s,Mb/s,Gb/s
  3. 吞吐量:在单位时间内通过某个网络的数据量,单位b/s,kb/s,Mb/s,Gb/s
  4. 时延:发送时延、传播时延、处理时延、排队时延> 发送时延=数据块长度 (比特)/信道带宽(比特/秒)

    传播延迟=信道长度(米)/信号在信道上的传播速率(米/秒)

  1. 时延带宽积> 时延带宽积=传播时延*带宽
  1. 往返时间:从发送方发送数据开始,到发送方收到接收方确认
  2. 利用率> 信道利用率=有数据通过的时间/(有+无)数据通过的时间

非性能指标:费用、质量、标准化、可靠性、可扩展性、可升级性、管理与维护

1.7 计算机网络体系结构

ISO:国际标准化组织
OSI/RM:互联网法律上的国际标准
TCP/IP Suite:因特网事实上的国际标准
Network Protocols :据交换遵守的规则、标准或约定
网络体系结构:计算机网络各层及其协议的集合


  • OSI参考模型:开放式系统互联

7层协议:

  1. 应用层:能够产生网络流量能够和用户交互的应用程序
  2. 表示层:加密、压缩数据
  3. 会话层:服务和客户端建立的会话> 可以查木马(开机不进行任何操作就查会话),netstat -nb
  1. 传输层:可靠传输(建立会话);不可靠传输(不建立会话);流量控制
  2. 网络层:选择最佳路径;IP地址编址
  3. 数据链路层:数据如何封装;添加物理层地址MAC
  4. 物理层:电压、接口标准

网络管理员主要负责传输层、网络层、数据链路层

  • 每层之间互不影响

网络排错从底层到高层

网络安全和OSI参考模型

  1. 物理层安全 :计算机接入网络
  2. 数据链路层安全:ADSL密码;WIFI密码
  3. 网络层安全 :IP连入网络
  4. 应用层安全:SQL注入漏洞;上传漏洞

TCP/IP协议

  1. 应用层
  2. 传输层
  3. 网络层
  4. 网络接口层

实体:交换信息的硬件或软件进程 协议:控制两个对等实体通信的规则 服务:下层向上层提供服务,上层需要使用下层提供的服务来实现本层的功能 服务访问点:相邻两层实体间交换信息的地方


五层协议对应的数据单元:

  1. 应用层:传输数据单元
  2. 传输层:报文
  3. 网络层:数据报
  4. 数据链路层:数据帧
  5. 物理层:比特

计网 - 图3

计网 - 图4

2. 物理层

2.1 物理层基本概念

  • 解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体
  • 主要任务是确定与传输媒体的接口的一些特性:
  1. 机械特性:例接口形状,大小,引线数目
  2. 电气特性:例规定电压范围(-5V到+5V)
  3. 功能特性:例规定5V表示0,十5V表示1
  4. 过程特性:也称规程特性,规定建立连接时各个相关部件的工作 步骤

2.2 数据通信的基础知识

计网 - 图5

  • 通信的目的是传送消息

数据:运送消息的实体 信号:数据的电气或电磁的表现 模拟信号:代表消息 的参数的取值是连续的 数字信号:代表消息 的参数的取值是离散的 码元:在使用时间域的波形表示数字信号时,则代表不同离散数值的基本波形就成为码元。

信道:一般表示向一个方向传送信息的媒体 单向通信(单工通信):只能有一个方向的通信而没有反方向的交互 双向交替通信(半双工通信):通信的双方都可以发送信息,但不能双方同时发送 (当然也就不能同时接收) 双向同时通信(全双工通信):通信的双方可以同时发送和接收信息。

基带信号(即基本频带信号):来自信源的信号。像计算机输出的代表 各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号 带通信号:把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。比如计算机网络

基本的调制方式:

  1. 调幅(AM):载波的振幅随基带数字信号而变化
  2. 调频 FM):载波的频率随基带数字信号而变化
  3. 调相(PM):载波的初始相位随基带数字信号而变化。

常用编码:

  1. 单极性不归零码:只使用一个电压值,用高电平表示1,没电压表示0.
  2. 双极性不归零码:用正电平和负电平分别表示二进制数据的1和0,正负幅值相等
  3. 双极性归零码:正负零三个电平,信号本身携带同步信息
  4. 曼彻斯特编码:bit中间有信号低-高跳变为0,高-低跳变为1
  5. 差分曼彻斯特编码:bit中间有信号跳变,bit与bit中间也有信号跳变,表示下一个bit为0,否则为1
    • 抗干扰强于曼彻斯特编码

计网 - 图6

计网 - 图7

计网 - 图8


信道的极限容量:有失真(带宽受限、有噪声、有干扰和失真)但可识别;失真大无法识别

奈氏准则:

  1. 在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。
  2. **理想低通信道的最高码元传输速率=2WBaud **
  3. W是理想低通信道的带宽,单位为HZ Baud是波特,是码元传输速率的单位

波特与Bit的区别

  1. 在调制解调器中经常用到波特这个概念,Bit是信息量,如果一个码元含有3Bit信息量1波特=3Bit/s

信噪比(香浓公式):

  1. 香农用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率。
  2. **信道的极限信息传输速率C可表达为 **
  3. **C= W_log2(1+S/M_ b/s
  4. W为信道的带宽(以Hz为单位); S为信道内所传信号的平均功率; N为信道内部的高斯噪声功率。

奈氏准则和香浓公式的应用范围

计网 - 图9

2.3 物理层下面的传输媒体

电信领域使用的电磁波频谱

计网 - 图10

  1. 导向传输媒体
  • 导向传输媒体中,电磁波沿着固体媒体传播
    1. 双绞线
      • 屏蔽双绞线STP
      • 无屏蔽双绞线UTP
    2. 同轴电缆
      • 50Ω同轴电缆:用于数字传输,由于多用于基带 传输,也叫基带同轴电缆
      • 75Ω同轴电缆:用于模拟传输,即宽带同轴电缆
    3. 光缆
  1. 非导向传输媒体

非导向传输媒体就是指自由空间,其中的电磁波传输被称为无线传输。无线传输所使用的频段很广

  • 短波通信主要是靠电离层的反射,但短波信道的通信质量较差
  • 微波在空间主要是直线传播
    • 地面微波接力通信
    • 卫星通信
  1. 物理层设备-集线器
  • 它在网络中只起到信号放大和重发作用,其目的是扩大网络的传输范围,而不具备信号的定向传送力
  • 最大传输距离100m
  • 集线器是一个大的冲突域,半双工

2.4 信道复用技术

计网 - 图11

  1. 频分复用

用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带

  • 频分复用的所有用户在同样的时间占用不同的带宽资源(这里的“带宽”是频率带宽而不是数据的发送速率)

计网 - 图12

  1. 时分复用

时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙。 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧 的长度对应的时间)。

  • TDM 信号也称为等时(isochronous)信号。
  • 时分复用的所有用户是在不同的时间占用同样的频带宽度
  • 时分复用技术可能会造成线路资源浪费(在某一个TMD帧中某个用户没有传输数据,这一段时间就浪费了)

计网 - 图13

统计时分复用

每个用户传输的数据加上一个标记,根据用户需求动态分配线路资源

计网 - 图14

  1. 波分复用(也即频分复用)

计网 - 图15

  1. 码分复用

各用户使用经过特殊挑选的不同码型,因此彼此不会造成 干扰。 这种系统发送的信号有很强 的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

  • 每一个比特时间划分为m个短的间隔,称为码片(chip)

码分多址(CDMA)的工作原理

计网 - 图16

计网 - 图17

  • 每个站分配的码片序列不仅必须各不相同,并且还必须互相正交
  • 两个不同站的码片序列正交,则两个码片的向量规格化内积值为0
  • 任何一个码片向量和该码片向量自己的规格化内积都是1
  • 一个码片向量和该码片反码的向量的规格化内积值是- 1

每个站的发送序列是数据比特和本站的码片序列的乘积,得到三种可能:

本站的码片序列(相当于发送比特1);

该码片序列的二进制反码(相当于发送比特0)的组合序列;

什么也不发送(全0)(相当于没有数据发送)

2.5 数字传输系统

脉码调制PCM体制最初是为了在电话局之间的中继线上传送多路电话

PCM分为两个互不兼容的国际标准:

  1. 北美的24 路PCM (简称为T1),T1的速率是2.048 Mb/s
  2. 欧洲的32路PCM (简称为E1),E1的速率是1. 544 Mb/s

我国采用的是欧洲的E1标准

模拟信号->采样->调制->数字信号

2.6 宽带接入技术

  1. 非对称数字用户线ADSL技术> 用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务,把 0~4 kHz低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用
  • 非对称是因为下载和上传所占用的频率范围不一样大
    1. 光纤同轴混合网HFC> 在目前覆盖面很广的有线电视网CATV的基础上发的一种居民宽带接入网


HFC网除可传送CATV外,还提供电话、数据和其他宽带交互型业务。现有的CATV网是树形拓扑结构的同轴电缆网络,它采用模拟技术的频分复用对电视节目进行单向传,而HFC网则需要对 CATV网进行改造

  1. FTTx技术> 一种实现宽带居民接入网的方案,代表多种宽带光纤接入方式,FTTx 表示 Fiber To The…(光纤到…)
  1. 光纤到户 FTTH (Fiber To The Home):光纤一直铺设到用户家庭,可能是居民接入网最后的解决方法
  2. 光纤到大楼 FTTB (Fiber To The Building):光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户
  3. 光纤到路边 FTTC (Fiber To The Curb):光纤铺到路边,从路边到各用户可使用星形结构双绞线作为传输媒体。

3. 数据链路层

3.1 数据链路层基本概念及基本问题

3.1.1 基本概念

  1. 信道类型
    1. 点对点信道,这种信道使用一对一的点对点通信方式
    2. 广播信道,这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送
  2. 链路与数据链路
    1. 链路(link)是一条点到点的物理线路段,中间没有任何其他点。一条链路只是一条通路的一个组成部分。
    2. 数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
      现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能。
    • 数据链路层传送的是帧(有头和尾)

计网 - 图18

3.1.2 三个基本问题

  1. 封装成帧
    在一段数据的前后分别添加首部和尾部,然后就构成了一个帧
    • 首部和尾部的一个重要作用就是确定帧的界限

计网 - 图19

  1. 透明传输

传输过程中,不管传送什么(增加什么东西都不知道),只需要把数据完好的传送

若传输的数据是ASCII码中的可打印字符集时,当传输的数据不是仅由可打印字符组成就会出现问题

计网 - 图20

  1. 用字节填充法解决

发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)

  • 接收端的数据链路层在将数据送往网络层之前删除插入的转义字符
  • 如果转义字符也出现数据当中,那么应在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

计网 - 图21

  1. 差错控制

传输过程中可能会产生比特差错,1变0或者0变1

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER(Bit Error Rate)

循环冗余检验CRC

计网 - 图22

  1. 在需要传输的二进制数据后面加任意位二进制数(3位)作为被除数
  2. 选择一个比“任意位”多一位的任意二进制数作为除数
  3. 做与运算(相同为0,不同为1),第一位为1则商为1,否则为0
  4. 最后求得余数加到需要传输的二进制数据后
  5. 接收端接收到数据后,用接收到的二进制数据除以除数,结果为0则无错误

帧检验序列FCS

在数据后面添加上的冗余码

  • CRC是一种常见的检错方法,而FCS时添加在数据后面的冗余码。FCS可以用这种方法检出,但并非唯一方法

仅用循环冗余校验CRC差错检验技术只能做到无差错接受,要做到可靠传输(发送什么就接受什么)就必须加上确认和重传机制

“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。

3.2 两种情况下的数据链路层

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

点对点协议PPP

用户使用拨号电话线(实名)直接连接到ISP接入互联网

PPP协议应该满足的要求

  1. 简单—这是首要的要求
  2. 封装成帧
  3. 透明性
  4. 多种网络层协议
  5. 多种类型链路
  6. 差错检测
  7. 检测连接状态
  8. 最大传送单元
  9. 网络层地址协商
  10. 数据压缩协商

PPP协议的组成

1992年制订,经过1993和1994修订成为正式标准

  1. 网络控制协议(NCP) (针对每一个网络层协议)
  2. 链路控制协议(LCP)
  3. 高级数据链路控制协议(HDLC)
  • 其中LCP最重要,它是建立并维护数据链路协议(检测连接状态,控制联网)

PPP协议帧格式

计网 - 图23

7E(16进制)代表开始和结束 FF代表目标地址

  • FF和03是固定的

2个字节的协议字段:

  • 若为0x0021,则信息字段就是IP数据报
  • 若为0x8021,则信息字段是网络控制数据
  • 若为0xC021,则信息字段是PPP链路控制数据
  • 若为0xC023,则信息字段是鉴别数据

PPP协议实现透明传输的两种方法

  1. PPP协议使用异步传输时(当信息字段中出现了标志字段的值,可能被误认为“标志字段”),这时就采用字符填充
  • 将信息字段中出现的每一个0x7E字节转变成为 2字节序列(0x7D,0x5E)
  • 若信息字段中出现一个0x7D的字节,则将其转 变成为2字节序列(0x7D,0x5D)
  • 若信息字段中出现ASCIl码的控制字符(即数 值小于0x20的字符),则在该字符前面要加入 一个0x7D字节,同时将该字符的编码加以改变。
  1. PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送),这时PPP协议采用零比特填充方法来实现透明传输
    在发送端,只要发现有5个连续1,则立即填入一个0;接收端对帧中的比特流进行扫描,每当发现5个连续1时,就把这5个连续1后的一个0删除
  • PPP协议(数据链路层所有协议)不使用序号和确认的可靠传输机制
  1. 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的
  2. 帧检验序列FCS可保证无差错传输
  3. 错了就扔掉,不进行纠错和重传

PPP协议的工作状态

  1. 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
  2. PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)
  3. 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机
  4. 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接
  5. 可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容

计网 - 图24

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

局域网拓扑结构:

星形网、环形网、总线网(一条线路上只能有一个收一个发)、树形网

局域网的特点:网络为一个单位所拥有,且地理范围和站点数目均有限。

局域网的优点:

  1. 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  2. 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  3. 提高了系统的可靠性、可用性和残存性。

共享通信媒体技术

  1. 静态划分信道
    • 频分复用
    • 时分复用
    • 波分复用
    • 码分复用
  2. 动态媒体接入控制(多点接入)
    • 随机接入
    • 受控接入 ,如多点线路探询 (polling),或轮询。

以太网使用CSMA/CD(载波监听多点接入/碰撞检测)协议

“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
“载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。

碰撞检测

  • “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

计网 - 图25

极限情况下A需要两倍的单程时间来检测到碰撞,所以以太网最远距离不超过100m

CSMA/CD协议重要特性

  1. 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
  2. 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
  3. 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

争用期

  1. **最先发送数据帧的站,在发送数据帧后至多经过时间 2t(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。**
  2. **经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞**
  • 以太网的端到端往返时延 2t称为争用期,或碰撞窗口

对于10Mb/s以太网,在争用期内可发送512bit,即64字节。以太网在发送数据时,若前64字节未发生冲突,则后续的数据就不会 发生冲突

最短有效帧长

如果发生冲突,就一定是在发送的前64字节之内。由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64字节

  • 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧

二进制指数类型退避算法

  1. **发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。**
  1. 基本退避时间取为争用期 2t
  2. 定义参数 k,k = Min[重传次数, 10]
  3. 从整数集合 [0, 1, … , (2的k次方-1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。
  4. 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

3.3 以太局域网(以太网)

3.3.1 概述

以太网的两个标准

  1. DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约
  2. IEEE 802.3 是第一个 IEEE 的以太网标

DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”
严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网

为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成两个子层:

  1. 逻辑链路控制 LLC (Logical Link Control)子层
  2. 媒体接入控制 MAC (Medium Access Control)子层
  • 与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关
  • 不管采用何种协议的局域网,对 LLC 子层来说都是透明的
  • 一般不考虑 LLC 子层

以太网提供的服务

  • 以太网提供的服务是不可靠的交付,即尽最大努力的交付
  • 当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定
  • 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送

3.3.2 拓扑

星型拓扑

采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器 (hub)

计网 - 图26

集线器特点

  1. 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行
  2. 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
  3. 集线器很像一个多接口的转发器,工作在物理层

星型以太网标准10BASE-T

使用无屏蔽双绞线,采用星形拓扑。
每个站需要用两对双绞线,分别用于发送和接收。
双绞线的两端使用 RJ-45 插头。
集线器使用了大规模集成电路芯片,因此集线器的可靠性提高。
10BASE-T 的通信距离稍短,每个站到集线器的距离不超过 100 m。

这种 10 Mbit/s 速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。 具有很高的性价比。
10BASE-T 双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。
从此以太网的拓扑就从总线形变为更加方便的星形网络,而以太网也就在局域网中占据了统治地位。

3.3.2 信道利用率

  1. 多个站在以太网上同时工作就可能会发生碰撞。当发生碰撞时,信道资源实际上是被浪费了。因此,当扣除碰撞所造成的信道损失后,**以太网总的信道利用率并不能达到 100%**

假设t是以太网单程端到端传播时延。则争用期长度为 2t,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号。
设帧长为 L (bit),数据发送速率为 C (bit/s),则帧的发送时间为 T0 = L/C (s)。

计网 - 图27

  1. 在以太网中定义了参数 α,它是以太网单程端到端时延t与帧的发送时间 T0 之比
  • α →0,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高
  • α 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低

对以太网参数 α 的要求

  1. 当数据率一定时,以太网的连线的长度受到限制,否则t的数值会太大
  2. 以太网的帧长不能太短,否则 T0 的值会太小,使 α 值太大。

以太网的信道利用率最大值

在理想化的情况下,以太网上的各站发送数据都不会产生碰撞(这显然已经不是 CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。

  1. 发送一帧占用线路的时间是 T0 +t,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax 为:

S(max)=T0/(T0+t)=1/(1+a)

3.3.3 MAC层

在局域网中,硬件地址又称为物理地址,或MAC地址。802标准所说的“地址”严格来讲应当是每一个站的“名字”或标识符

  • IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种
  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符
  • 地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址
  • 一个地址块可以生成 224 个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是 EUI-48
  • “MAC 地址”实际上就是适配器地址或适配器标识符 EUI-48。

适配器从网络上收到的MAC 帧包括以下三种帧:

  1. 单播 (unicast) 帧(一对一)
  2. 广播 (broadcast) 帧(FFFFFF)(一对全体)
  3. 多播 (multicast) 帧(一对多)

MAC帧格式

计网 - 图28

目的地址:目的MAC 源地址:源MAC 类型:使用的协议 数据:最小MAC地址64字节,所以数据最小64-6-6-2-4=46字节

  • 没有尾部是因为采用了曼彻斯特编码,不管0还是1都有跳变,没有跳变就就表示结束了

无效的MAC帧

  1. 数据字段的长度与长度字段的值不一致
  2. 帧的长度不是整数个字节
  3. 用收到的帧检验序列 FCS 查出有差错
  4. 数据字段的长度不在 46 ~ 1500 字节之间,有效的 MAC 帧长度为 64 ~ 1518 字节之间
    对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

帧间最小间隔

  • 帧间最小间隔为 9.6 微秒,相当于 96 bit 的发送时间
  • 这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

3.4 扩展以太网

  1. 物理层扩展
    1. 主机使用光纤和一对光纤调制解调器连接到集线器,使主机和几公里以外的集线器相连接
    2. 使用多个集线器可连成更大的、多级星形结构的以太网
      优点:使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信,扩大了以太网覆盖的地理范围
      缺点:降低了效率,一个主机发送信息占用了其他集线器局域网的主机通信,碰撞域增大了
  2. 数据链路层扩展> 网桥根据 MAC 帧的目的地址对收到的帧进行转发和过滤
  • 当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃

交换机特点:

  • 以太网交换机实质上就是一个多接口的网桥,通常都有十几个或更多的接口
  • 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式
  • 以太网交换机具有并行性,能同时连通多对接口,使多对主机能同时通信,相互通信的主机都是独占传输媒体,无碰撞地传输数据
  • 以太网交换机的接口有存储器,能在输出端口繁忙时把到来的帧进行缓存。即存储转发
  • 以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的
  • 以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多

交换机使用了生成树协议

不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象

计网 - 图29

3.5 虚拟局域网

LAN(局域网)和VLAN(虚拟局域网)

一个VLAN=一个广播域=逻辑网段(子网)

虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,可以跨交换机

  • 虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记 (tag),用来指明发送该帧的计算机属于哪一个虚拟局域网

计网 - 图30

3.6 高速以太网

3.5.1 100BASE-T 以太网

速率达到或超过 100 Mbit/s 的以太网称为高速以太网。

特点:

  1. 可在全双工方式下工作而无冲突发生,因此不使用 CSMA/CD 协议
  2. 保持最短帧长不变。但将一个网段的最大电缆长度减小到 100 m,帧间时间间隔从原来的 9.6 微秒改为现在的 0.96 微秒
  3. MAC 帧格式仍然是 802.3 标准规定的

3.5.2 吉比特以太网

允许在 1 Gbit/s 下以全双工和半双工两种方式工作

特点:

  1. 使用 IEEE 802.3 协议规定的帧格式
  2. 在半双工方式下使用 CSMA/CD 协议,全双工方式不使用 CSMA/CD 协议
  3. 与 10BASE-T 和 100BASE-T 技术向后兼容

3.5.3 10吉比特以太网 (10GE) 和更快的以太网

特点:

  1. 与 10 Mbit/s、100 Mbit/s 和 1 Gbit/s 以太网的帧格式完全相同,保留了 802.3 标准,便于升级。
  2. 不再使用铜线而只使用光纤作为传输媒体
  3. 只工作在全双工方式

3.5.4 使用以太网进行宽带接入

  1. 以太网的工作范围已经从局域网(校园网、企业网)扩大到城域网和广域网,从而**实现了端到端的以太网传输**
  • 接入层、汇聚层、核心层

4. 网络层

4.1 网络层提供的两种服务

  1. 虚电路服务> 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接
  • 而电路交换的电话通信是先建立了一条真正的连接

计网 - 图31

  1. 数据包服务 (现在在用)> 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
  • 网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)
  • 网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限

计网 - 图32

计网 - 图33

4.2 网际协议IP

4.2.1 虚拟互联网

网络互联的设备

中间设备,又称中间系统或中继系统

  1. 物理层:集线器
  2. 数据链路层:网桥或交换机
  3. 网络层:路由器
  4. 网络层以上:网关(路由器接口地址)

网络互联的问题

  • 不同的寻址方案
  • 不同的最大分组长度
  • 不同的网络接入机制
  • 不同的超时控制
  • 不同的差错恢复方法
  • 不同的状态报告方法
  • 不同的路由选择技术
  • 不同的用户接入控制
  • 不同的服务(面向连接服务和无连接服务)
  • 不同的管理与控制方式

虚拟互联网络的意义

虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络

  • 使用 IP 协议的虚拟互连网络可简称为 IP 网
  • 好处:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节

IP协议简介

网际协议IP是TCP/IP体系中最主要的两个之一,还有三个协议:

  1. 地址解析协议 ARP
  2. 网际控制报文协议 ICMP
  3. 网际组管理协议 IGMP

计网 - 图34

IP协议依赖于ARP协议,ICMP、IGMP协议依赖于IP协议

4.2.2 IP地址

  • 层次化IP地址将32位的IP地址分为网络ID和主机ID

计网 - 图35

A类:1-126;127是计算机环回地址;B类:128-191;C类:192-223

计网 - 图36

子网掩码就是根据识别网络类别自动生成的

特殊的保留地址

  1. 127.0.0.1 本地环回地址
  2. 169.254.0.0 当windows无法自动获取到地址时使用的地址
  3. 10.0.0.0 ;127.16.0.0-127.31.0.0;192.168.0.0-192.168.255.0 私网地址

子网掩码作用

二进制IP地址与子网掩码做与运算得到网络号,依此可以判断IP地址是否在同一网段,否则需要将数据传给网关路由器进行分发

4.2.3 IP地址与硬件构造(ARP协议)

  • 硬件地址(或物理地址)是数据链路层和物理层使用的地址
  • IP 地址是网络层和以上各层使用的地址,是一种逻辑地址(称 IP 地址是逻辑地址是因为 IP 地址是用软件实现的)

计网 - 图37

每经过一个设备,MAC地址就要更换,而IP地址不用

ARP&RARP协议

ARP协议:把IP地址(通过广播)解析成物理地址。有安全问题,ARP欺骗(伪造物理地址获取数据、限制网络)

RARP协议:知道物理地址,请求IP地址

4.2.4 IP数据包格式

一个 IP 数据报由首部和数据两部分组

  • 首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。

计网 - 图38

  • 版本——占 4 位,指 IP 协议的版本。目前的 IP 协议版本号为 4 (即 IPv4)
  • 首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节
  • 区分服务——占 8 位,区分优先级以获得更好的服务> 只有在使用区分服务(DiffServ)时,这个字段才起作用,在一般的情况下都不使用这个字段
  • 总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节> 总长度必须不超过最大传送单元 MTU。
  • 标识(identification) ——占 16 位,它是一个计数器,用来产生 IP 数据报的标识
  • 标志(flag) ——占 3 位,目前只有前两位有意义。> 标志字段的最低位是 MF (More Fragment)
    MF = 1 表示后面“还有分片”;MF = 0 表示最后一个分片
    标志字段中间的一位是 DF (Don’t Fragment) ,只有当 DF = 0 时才允许分片
  • 片偏移—— 占13 位,表示较长的分组在分片后某片在原分组中的相对位置> 片偏移以 8 个字节为偏移单位


计网 - 图39

  • 生存时间——占8 位,记为 TTL (Time To Live),指示数据报在网络中可通过的路由器数的最大值> 每通过一个设备,TTL减一,避免数据包一直传输成环

    ping IP可以看见TTL ping IP -i 自定义TTL

  • 协议——占8 位(协议号),指出此数据报携带的数据使用何种协议,以便目的主机的 IP 层将数据部分上交给那个处理过程
  • 首部检验和——占16 位,只检验数据报的首部有无错误,不检验数据部分> 这里不采用 CRC 检验码而采用简单的16 位二进制反码求和算法
  • 源地址和目的地址——IP地址,各占 4 字节
  • IP 首部的可变部分——一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富> 选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择的项目
    实际上这些选项很少被使用

4.2.5 IP转发分组的流程

数据路由:路由器在不同网段转发数据包(报) 网络畅通的条件:能去能回,沿途的路由器必须知道到目标网络下一跳给哪个接口、源网络下一跳给哪个接口

计网 - 图40

默认路由

减少路由表所占用的空间和搜索路由表所用的时间

如果一个主机连接在一个小网络上,而这个网络只用一个路由器和互联网连接,那么在这种情况下使用默认路由是非常合适的

  • windows默认路由就是网关

4.3 划分子网和构造超网

4.3.1 划分子网

  • 主机号全为1是广播地址,全0是代表一个网段

例:将一个C类网络地址192.168.0.1划分成两个网段

  1. 将主机号(8位)向后移一位,这一位作为子网号
  2. 此时就有了192.168.0.00000001(1)、192.168.0.10000001(129)两个网段
  3. 通过子网掩码255.255.255.128(10000000)识别是哪个子网
  • 网关一般是子网内第一个IP地址

计网 - 图41

同理,当划分成四个网段,向后移两位,子网掩码192.168.0.11000000(192); 当划分成八个网段,向后移三位,子网掩码192.168.0.11100000(224)

  • 点到点网络,子网掩码最好是252(11111100)

变长子网划分

例:将200台主机分成不等长的五个网段(100、50、30、10、10)

  1. 1-14255.255.255.240)、17-30255.255.255.240)、33-62255.255.255.224)、65-126255.255.255.192)、129-252255.255.255.128

4.3.2 无分类编制CIDR

CIDR(无类域间路由 )

消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间

  • CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号
  • IP 地址从三级编址(使用子网掩码)又回到了两级编址
  • CIDR 使用“斜线记法”(slash notation),又称为 CIDR 记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)

CIDR地址块

CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块“,例如128.14.32.0/20代表一个地址块

路由聚合

一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合

  • 它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由
  • 有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能
  • 路由聚合也称为构成超网 (supernetting)

构造超网

例:将一个C类网络地址192.168.0.0和192.168.1.0合并成一个网段

  1. 将主机号(8位)向前移一位
  2. 此时就有了子网掩码255.255.254.0
  3. 通过子网掩码255.255.254.0就可以把192.1680.1和192.168.1.1识别成一个网段192.168.0.(000000001)1

计网 - 图42

  • 向左移一位子网掩码可以合并(0)0、(1)1或者(10)2、(11)3或者(110)4、(111)5……
  • 向左移两位子网掩码可以合并(00)0、(01)1、(10)2、(11)3或者(110)4、(111)5、(1110)6、(1111)7……
  • 向左移三位子网掩码可以合并(000)0、(001)1、(010)2、(011)3、(110)4、(111)5、(1110)6、(1111)7……
  • 需要合并的网段最小的那个为偶数即可合并

计网 - 图43

最长前缀匹配

使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由。网络前缀越长,其地址块就越小,因而路由就越具体 (more specific)

  • 最长前缀匹配又称为最长匹配或最佳匹配

例:收到的分组的目的地址 D = 206.0.71.130
路由表中的项目:206.0.68.0/22 1
206.0.71.128/25 2

  1. (11111111 11111111 11111100 00000000) = 206.0.68.0/22 匹配
  2. (11111111 11111111 11111111 10000000) = 206.0.71.128/25 匹配,选第二个

4.3.3 使用二叉线索查找路由表

计网 - 图44

4.4 网际控制报文协议ICMP

允许主机或路由器报告差错情况和提供有关异常情况的报告

  • ICMP 不是高层协议(看起来好像是高层协议,因为 ICMP 报文是装在 IP 数据报中,作为其中的数据部分),而是 IP 层的协议

ICMP报文格式

计网 - 图45

  • ICMP 报文的种类有两种,即 ICMP 差错报告报文(收到)和 ICMP 询问报文(发送)

ICMP差错报告报文类型

  1. 终点不可达
  2. 时间超过
  3. 参数问题
  4. 改变路由(重定向)(Redirect)

ICMP 差错报告报文的数据字段的内容

  1. 询问报文(源地址、目的地址+8字节+数据)
  2. 差错报告报文(把“源地址、目的地址+8字节”当数据+ICMP前八字节(源地址、目的地址)+8字节(类型))
  • ping发的数据字段就是字母表(abcdefgfijklmn)
  • pathping追踪路由

计网 - 图46

4.5 因特网的路由选择协议

4.5.1 内部网关协议RIP

路由信息协议 RIP (Routing Information Protocol) 是内部网关协议 IGP 中最先得到广泛使用的协议

  • RIP 是一种分布式的、基于距离向量的路由选择协议
  • 仅和相邻路由器交换信息。交换的信息是当前本路由器所知道的全部信息,即自己的路由表
  • 按固定的时间间隔(30s)交换路由信息
  • RIP 协议中的“距离”也称为“跳数”(hop count),每经过一个路由器,跳数就加 1
  • RIP 允许一条路径最多只能包含 15 个路由器。“距离”的最大值为 16 时即相当于不可达。可见 RIP 只适用于小型互联网

路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。它的路由表是空的。以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息

计网 - 图47

  1. 路由表中没有的目的网络就添加
  2. 相同目的网络下一跳路由器相同就替换
  3. 相同目的网络下一跳路由器不同,距离最小就替换
  • RIP协议特点:好消息传播得快,坏消息(网络故障)传播得慢,需要等待路由表更新

4.5.2 内部网关协议OSPF

  • 和RIP协议同为动态协议、开放式
  • 度量值(选择距离标准)是带宽
  • 支持多区域(划分主干和下层两种区域)
  • 触发式更新。更新路由信息有三个表,邻居表(每隔2-10s发送一个很小的hello包)、链路状态表(把所有邻居表互相交换)、计算路由表(算最小路径)
  • 支持负载均衡、CIDR(可变长子网)
  • OSPF 不用 UDP 而是直接用 IP 数据报传送

4.5.3 外部网关协议BGP

不同自治系统的路由器之间交换路由信息,寻找一条能够到目的网络且比较好的路由(不兜圈子),而并非最佳路由

例:

  • 自治系统 AS2 的 BGP 发言人通知主干网 AS1 的 BGP 发言人:“要到达网络 N1、 N2、N3 和 N4 可经过 AS2。” ;
  • 主干网还可发出通知:“要到达网络 N5、N6 和 N7 可沿路径(AS1, AS3)。”

特点

  • BGP 协议交换路由信息的结点数量是自治系统的数量
  • 每一个自治系统中 BGP 发言人(或边界路由器)的数目很少,这就使得自治系统之间的路由选择不复杂
  • BGP 支持 CIDR。因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列
  • 在BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表,但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处

4.6 IP多播(IDMP协议)

多播也即IGMP 组播

  • IP 多播所传送的分组需要使用多播 IP 地址
  • 在多播数据报的目的地址写入的是多播组的标识符
  • 多播组的标识符就是 IP 地址中的 D 类地址(多播地址)
  • 每一个D类地址标志一个多播组
  • 多播地址只能用于目的地址,不能用于源地址
  • 多播数据报也是“尽最大努力交付”,不保证一定能够交付多播组内的所有成员
  • 对多播数据报不产生 ICMP 差错报文。因此,若在 PING 命令后面键入多播地址,将永远不会收到响应。

4.7 虚拟专用网VPN和网络地址转换NAT

4.7.1 虚拟专用网VPN

  • 本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向互联网的管理机构申请
  • 全球地址——全球唯一的 IP 地址,必须向互联网的管理机构申请

RFC 1918 指明的专用 IP 地址

在内部使用的本地地址就有可能和互联网中某个 IP 地址重合,这样就会出现地址的二义性问题。RFC 1918指明了一些专用地址 (private address)。专用地址只能用作本地地址而不能用作全球地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。

  1. A类,10.0.0.0/8
  2. B类,172.16.0.0/12
  3. C类,192.168.0.0/16

用隧道技术实现虚拟专用网

计网 - 图48

4.7.2 网络地址转换NAT

在专用网上使用专用地址的主机与互联网上的主机通信(并不需要加密)

  • 所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接

计网 - 图49

netstat -n 查看建立的会话(看端口)

网络地址与端口号转换 NAPT

为了更加有效地利用 NAT 路由器上的全球IP地址,现在常用的 NAT 转换表把运输层的端口号也利用上。这样,就可以使多个拥有本地地址的主机,共用一个 NAT 路由器上的全球 IP 地址,因而可以同时和互联网上的不同主机进行通信。

  • 使用端口号的 NAT 叫作网络地址与端口号转换NAPT
  • NAT端口映射

5. 传输层

5.1 运输层的功能

计网 - 图50

  • 网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信

运输层的作用

在一台主机中经常有多个应用进程同时分别和另一台主机中的多个应用进程通信,需要运输层的分用和复用

计网 - 图51

5.2 传输层协议UDP和TCP

  1. 传输控制协议TCP
    可靠传输 分段 编号 流量控制 建立会话 不提供广播、多播
  2. 用户数据报协议 UDP
    不可靠传输 一个数据包就能完成数据通信 不建立会话 多播
  • 两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU
  • TCP 传送的数据单位协议是 TCP 报文段(segment)
  • UDP 传送的数据单位协议是 UDP 报文或用户数据报

5.2.1 运输层的端口

  • 端口是运输层与应用层的服务接口
  • 运输层的复用和分用功能都要通过端口才能实现
  • 在协议栈层间的抽象的协议端口是软件端口
  • 路由器或交换机上的端口是硬件端口

端口复用(传输层和应用层之间的关系)

  • http=TCP+80端口
  • https=TCP+443端口
  • ftp=TCP+21端口
  • SMTP=TCP+25端口
  • POP3(远程连接)=TCP+110端口
  • RDP=TCP+3389端口
  • 共享文件夹=TCP+445端口
  • SQL=TCP+1433端口
  • DNS=UDP(偶尔用TCP)+53端口

应用层协议和服务之间的关系

对外提供的服务运行后在TCP或UDP某个端口侦听客户端请求

查看自己计算机的侦听端口

  1. netstat -an

测试远程计算机打开的端口

  1. telnet ip 端口

SSPort ip端口扫描器

更改端口增加服务安全

Windows防火墙的安全

只出不进,关闭进入端口

灰鸽子病毒8000端口

windows可以设置端口规则

5.2.2 UDP主要特点

  1. UDP 是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延
  2. UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表
  3. UDP 是面向报文的。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP一次交付一个完整的报文
  4. UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求
  5. UDP 支持一对一、一对多、多对一和多对多的交互通信
  6. UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短

计网 - 图52

5.2.3 UDP首部格式

计网 - 图53

  • 在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和

5.2.4 TCP主要特点

  • TCP 是面向连接的运输层协议
  • 每一条 TCP 连接只能有两个端点 (套接字 (socket) 或插口。端口号拼接到IP 地址即构成了套接字),每一条 TCP 连接只能是点对点的(一对一)> TCP 连接 ::= {socket1, socket2}
    = {(IP1: 端口1),(IP2: 端口2)}
  • TCP 提供可靠交付的服务
  • TCP 提供全双工通信
  • 面向字节流> 虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流


计网 - 图54

  • TCP 不关心应用进程一次把多长的报文发送到 TCP 缓存
  • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)

5.3 TCP可靠传输的原理

5.3.1 停止等待协议

每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组

  1. 无差错情况
    计网 - 图55
  2. 出现差错
    计网 - 图56
  3. 确认丢失和确认迟到
    计网 - 图57
  • 在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发
  • 分组和确认分组都必须进行编号
  • 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些

使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。像上述的这种可靠传输协议常称为自动重传请求 ARQ (Automatic Repeat reQuest)。意思是重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组

  1. 信道利用率
    计网 - 图58
    流水线传输
    计网 - 图59> 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率

5.3.2 连续 ARQ 协议

计网 - 图60

  • 发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置,位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认

累积确认

接收方一般采用累积确认的方式。即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了

  • 优点:容易实现,即使确认丢失也不必重传
  • 缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息

Go-back-N(回退 N)

如果发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次

  • 当通信线路质量不好时,连续 ARQ 协议会带来负面的影响

5.4 TCP报文段首部格式

计网 - 图61

  • 源端口和目的端口字段——各占 2 字节。
  • 序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
  • 确认号字段(ack)——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
  • 数据偏移(即首部长度)——占 4 位。“数据偏移”的单位是 32 位字(以 4 字节为计算单位),例:1111,15个字节*4=20字节。
  • 保留字段——占 6 位,保留为今后使用,但目前应置为 0。
  • 紧急 URG —— 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
  • 确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。
  • 推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。
  • 复位 RST (ReSeT) —— 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
  • 同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文(双方建立会话,ACK=0)。 SYN攻击
  • 终止 FIN (FINish) —— 用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
  • 窗口字段(约等于可发送接受缓存大小) —— 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。
  • 检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
  • 紧急指针字段 —— 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。
  • 选项字段 —— 长度可变。最长数据字段长度 MSS。若选择较小的 MSS 长度,网络的利用率就降低
  • 填充字段 —— 这是为了使整个首部长度是 4 字节的整数倍

5.5 可靠传输的实现

5.5.1 以字节位单位的滑动窗口技术

根据 B 给出的窗口值,A 构造出自己的发送窗口
发送窗口表示:在没有收到 B 的确认的情况下,A 可以连续把窗口内的数据都发送出去。
显然,窗口越大,发送方就可以在收到对方确认之前连续发送更多的数据,因而可能获得更高的传输效率

计网 - 图62
计网 - 图63

P3 – P1 = A 的发送窗口(又称为通知窗口)
P2 – P1 = 已发送但尚未收到确认的字节数
P3 – P2 = 允许发送但尚未发送的字节数(又称为可用窗口)

  • 未收到的字节,会有选择性确认号字段,只重发丢失字节

A 收到新的确认号,发送窗口向前滑动

计网 - 图64

A 的发送窗口内的序号都已用完,但还没有再收到确认,必须停止发送

计网 - 图65

超时重传时间的选择

  • 加权平均往返时间 RTTS(这又称为平滑的往返时间)
    新的RTTS = (1 - α) (旧的RTTS) + α (新的RTT样本)
  • RFC 2988 推荐的 α 值为 1/8,即 0.125

5.6 TCP的流量控制

流量控制 (flow control) 就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制

计网 - 图66

当有数据丢失时,减小接收窗口,传输完接收窗口内其他数据时,停止接收,重传丢失的数据。剩余需传输数据小于接收窗口,自动减小接收窗口

持续计时器

某个报文段在传送过程中丢失了,A 一直等待收到 B 发送的非零窗口的通知,而 B 也一直等待 A 发送的数据,这时就出现了“死锁” TCP 为每一个连接设有一个持续计时器 (persistence timer) ,只要 TCP 连接的一方收到对方的零窗口通知,就启动该持续计时器。若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。
若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。
若窗口不是零,则死锁的僵局就可以打破了

5.7 TCP的拥塞控制

5.7.1 拥塞控制原理

在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种现象称为拥塞

计网 - 图67

拥塞控制和流量控制的区别

  • 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素
  • 流量控制往往指点对点通信量的控制,是个端到端的问题(接收端控制发送端)

5.7.2 TCP的拥塞控制方法

TCP 采用基于窗口的方法进行拥塞控制

  • TCP发送方维持一个拥塞窗口 CWND (Congestion Window)
  • 拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化,发送端利用拥塞窗口根据网络的拥塞情况调整发送的数据量

拥塞的判断

  1. 重传定时器超时
  2. 收到三个相同(重复)的 ACK

拥塞控制算法

  1. 慢开始 (Slow start)> 算法的思路:由小到大逐渐增大拥塞窗口数值
  • 慢开始门限 ssthresh(状态变量):防止拥塞窗口cwnd 增长过大引起网络拥塞
  • 拥塞窗口 cwnd 控制方法:在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个 SMSS 的数值
    计网 - 图68
    传输轮次> 使用慢开始算法后,每经过一个传输轮次 (transmission round),拥塞窗口 cwnd 就加倍。
  1. - 一个传输轮次所经历的时间其实就是往返时间 RTT(把拥塞窗口 cwnd 所允许发送的报文段都连续发送出去,并收到了对已发送的最后一个字节的确认)

慢开始门限 ssthresh 的用法

  1. - cwnd < ssthresh 时,使用慢开始算法
  2. - cwnd > ssthresh 时,停止使用慢开始算法而改用**拥塞避免算法**
  3. - cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法

拥塞避免算法

让拥塞窗口 cwnd 缓慢地增大,每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长

  • 无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(重传定时器超时)ssthresh = max(cwnd/2,2) cwnd = 1 执行慢开始算法

  • “拥塞避免”是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞,并非指完全能够避免了拥塞

计网 - 图69

当拥塞窗口cwnd = 16时(图中的点4),出现了一个新的情况,就是发送方一连收到 3 个对同一个报文段的重复确认(图中记为3-ACK)。发送方改为执行快重传算法 在图的点4,发送方知道现在只是丢失了个别的报文段。于是不启动慢开始,而是执行快恢复算法。这时,发送方调整门限值ssthresh = cwnd / 2 = 8,同时设置拥塞窗口cwnd = ssthresh = 8(见图中的点),并开始执行拥塞避免算法

快重传算法

发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传(即“快重传”),而不用等待窗口内数据传输完成后再重传。这样就不会出现超时,发送方也不就会误认为出现了网络拥塞

快恢复算法

当发送端收到连续三个重复的确认时,由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,而是执行快

  1. 慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2
  2. 新拥塞窗口 cwnd = 慢开始门限 ssthresh
  3. 开始执行拥塞避免算法,使拥塞窗口缓慢地线性增大

加法增大,乘法减小 (AIMD算法)

在拥塞避免阶段,拥塞窗口是按照线性规律增大的。这常称为“加法增大” AI (Additive Increase)。
当出现超时或3个重复的确认时,就要把门限值设置为当前拥塞窗口值的一半,并大大减小拥塞窗口的数值。这常称为“乘法减小”MD (Multiplicative Decrease)。

计网 - 图70 发送窗口的上限值

  • 发送方的发送窗口的上限值应当取为接收方窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个

5.8 TCP的运输连接管理

  • TCP 是面向连接的协议

运输连接有三个阶段

  1. 连接建立
  2. 数据传送
  3. 连接释放

5.8.1 连接建立

  • TCP连接的建立采用客户服务器方式
  • 主动发起连接建立的应用进程叫做客户(client)
  • 被动等待连接建立的应用进程叫做服务器(server)

TCP 建立连接的过程叫做握手。握手需要在客户和服务器之间交换三个 TCP 报文段,称之为三报文握手

  • 主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误

计网 - 图71

  1. A 的 TCP 向 B 发出连接请求报文段
    其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。
    A处于SYN-SENT状态,B处于LISTEN
  2. B 的 TCP 收到连接请求报文段后,如同意,则发回确认
    SYN = 1,使 ACK = 1确认号有效,其确认号ack = x + 1,自己选择的序号 seq = y
    A处于ESTAB-LISHED状态,B处于SYN-SENT
  3. A 收到此报文段后向 B 给出确认
    其 ACK = 1,确认号 ack = y + 1
    A处于ESTAB-LISHED状态,B处于ESTAB-LISHED
  4. A 的 TCP 通知上层应用进程,连接已经建立;B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程:TCP 连接已经建立

5.8.2 连接释放

TCP 连接释放过程是四报文握手

计网 - 图72

  1. 数据传输结束后,通信的双方都可释放连接
  2. 现在 A 的应用进程先向其 TCP 发出连接释放报文段,并停止再发送数据,主动关闭 TCP 连接
    A 把连接释放报文段首部的 FIN = 1,其序号seq = u,等待 B 的确认
  3. B 发出确认
    确认号 ack = u + 1,而这个报文段自己的序号 seq = v。
    TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接处于半关闭状态。B 若发送数据,A 仍要接收
  4. 若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接
  5. A 收到连接释放报文段后,必须发出确认
    在确认报文段中 ACK = 1,确认号 ack = w + 1,自己的序号 seq = u + 1
  • TCP 连接必须经过时间 2MSL 后才真正释放掉

计网 - 图73

6. 应用层

http、https、ftp、DNS、SMTP、PoP3、RDP

6.1 域名系统DNS

  • DNS服务作用:将域名解析成IP地址

域名

任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字

  1. ... . 三级域名 . 二级域名 . 顶级域名
  • 顶级域名:com、edu、net、cn、org、gov
  1. //域名解析测试
  2. nslookup 域名
  3. //清除DNS缓存
  4. ipconfig /flushdns

域名服务器

每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到 IP 地址的映射

  1. 根域名服务器

    • 根域名服务器共有13 套装置,不是 13 个机器

      a.rootservers.net
      b.rootservers.net

      m.rootservers.net

    • 根域名服务器并不直接把域名直接转换成 IP 地址。在使用迭代查询(逐级查找对应的域名服务器)时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器

  2. 顶级域名服务器
    • 顶级域名服务器(即 TLD 服务器)负责管理在该顶级域名服务器注册的所有二级域名
  3. 权限域名服务器
    • 负责一个区的域名服务器
  4. 本地域名服务器
    • 当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。有时也称为默认域名服务器
  • DNS 域名服务器通常把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器

域名的解析过程

  • 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
  • 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询
  • 每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录

6.2 动态主机配置协议 DHCP

DHCP 使用客户机-服务器方式

需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户

  • DHCP服务器必须静态地址
  1. //释放租约
  2. ipconfig /release
  3. //刷新DHCP分配的地址
  4. ipconfig /renew

跨网段地址分配(中继代理)

  1. //先给服务器规定多个作用域,然后给网段所在路由器接口一个命令
  2. ip helper-address DHcp服务器地址

中继代理

并不是每个网络上都有 DHCP 服务器,现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机

租用期

DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址

工作过程

  1. DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文
  2. DHCP 客户从 UDP 端口 68发送报文
  3. 收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文
  4. DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文
  5. 被选择的 DHCP 服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了
  6. DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,当超时时间到就要请求更新租用期。

租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST 要求更新租用期

  1. DHCP 服务器若同意,则发回确认报文DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器
  2. DHCP 服务器若不同意,则发回否认报文DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤 2)
  3. 若DHCP服务器不响应步骤 6 的请求报文DHCPREQUEST,则在租用期过了 87.5% 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤 6),然后又继续后面的步骤
  4. DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可

6.3 文件传送协议 FTP

  • 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务
  • FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性
  • FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务
  • FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求

两个TCP连接

  1. 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件
  2. 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
  • 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),同时还要告诉服务器进程自己的另一个端口(20),用于建立数据传送连接

6.4 远程终端协议 TELNET

  • 默认TCP的23端口
  1. //更改用户密码
  2. net user administrator /*al!*/
  3. //添加用户
  4. net user /*han*/ /*al!*/ /add
  • TELNET 也使用客户—服务器方式。在本地系统运行 TELNET 客户进程,而在远地主机则运行 TELNET 服务器进程。服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接

6.5 远程桌面 RDP

  • windows自带运行mstsc

远程连接windows server时不会影响远程机操作,因为是多任务操作系统,同时可以多个用户同时连接操作

  • 需要用户远程访问但不设置为管理员时,可以将用户添加到remote Desktop Users组
  • 本地硬盘可以在远程连接时映射到远程机

6.6 万维网WWW

6.6.1 万维网概述

万维网是分布式超媒体 (hypermedia) 系统,它是超文本 (hypertext) 系统的扩充

  • www万维网提供分布式服务,不同网页可以互相链接到。例如导航网站
  • 万维网以客户—服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器
  • 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档
  • 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)

6.6.2 统一资源定位符 URL

一般形式

<协议>://<主机>:<端口><路径>

  1. 协议:ftp —— 文件传送协议 FTP、http —— 超文本传送协议 HTTP、News —— USENET 新闻
  2. 主机:域名
  3. 端口:默认80
  • 同一个服务器(启用万维网和iis、DNS服务),不同端口、ip和主机头(域名)可以存放不同的网站

6.6.3 超文本传送协议 HTTP

HTTP 是面向事务的(transaction-oriented)应用层协议

用户点击URL后发生的事

(1) 浏览器分析超链指向页面的 URL。
(2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。
(3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。
(4) 浏览器与服务器建立 TCP 连接。
(5) 浏览器发出取文件命令:GET /chn/yxsz/index.htm。
(6) 服务器给出响应,把文件 index.htm 发给浏览器。
(7) TCP 连接释放。
(8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。

6.6.4 Web代理服务器

代理服务器 (proxy server) 又称为万维网高速缓存 (Web cache),它代表浏览器发出 HTTP 请求。万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中

作用

  1. 节省内网访问Internet的带宽,控制设备连网
  2. 绕过防火墙翻墙

6.7 电子邮件

发邮件:SMTP

收邮件:POP3 IMAP

7. 网络安全

  1. 数据存储安全
  2. 应用程序安全
  3. 操作系统安全
  4. 网络安全
  5. 物理安全

7.1 网络安全问题概述

计算机网络面临的安全性威胁

  1. 被动攻击(截获)> 攻击者从网络上窃听他人的通信内容
    在被动攻击中,攻击者只是观察和分析某一个协议数据单元 PDU,以便了解所交换的数据的某种性质。但不干扰信息流
  • 这种被动攻击又称为流量分析 (traffic analysis)
    1. 主动攻击
      2.1 篡改——故意篡改网络上传送的报文。这种攻击方式有时也称为更改报文流> cain软件可以截获、篡改域名解析结果(atp欺骗)


2.2 伪造——伪造信息在网络上传播
2.3 恶意程序——计算机病毒、蠕虫、木马、逻辑炸弹> 灰鸽子远程控制


2.4 拒绝服务(中断)——指攻击者向互联网上的某个服务器不停地发送大量分组,使该服务器无法提供正常服务,甚至完全瘫痪> DDoS攻击:互联网上的成百上千的网站服务器集中攻击一个网站,则称为分布式拒绝服务 DDoS (Distributed Denial of Service)

PKP SHKLL DDOS软件

7.2 两类密码体制

7.2.1 对称加密

加密密钥和解密密钥是同一个密钥

优点:效率高

缺点:密钥不适合在网上传输,维护麻烦(每个计算机都需要一对密钥)

数据加密标准DES

在加密前,先对整个明文进行分组。每一个组长为 64 位。
然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。
最后将各组密文串接起来,即得出整个的密文。
使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。

  • DES 的保密性仅取决于对密钥的加密,加密算法是公开的

7.2.2 非对称加密

加密密钥和解密密钥不同,分为公钥和私钥 。公钥加密,私钥解密;私钥加密,公钥解密

优点:解密的私钥自己用,加密的公钥给其他计算机。适合网上传输

缺点:效率低

如何解决效率低

用非对称加密加密对称加密的密钥

7.3 数字签名

用私有密钥加密,公开密钥解密

  1. 证明来源
  2. 保证内容完整
  3. 防伪造
  • 哈希函数
  • MD5、安全散列算法(SHA-1)
  • 证书颁发机构CA(可以自建),给签名加签名,确认企业和个人的身份

7.4 互联网使用的安全协议

7.4.1 运输层安全协议_安全套接字SSL

  • 位于应用层和传输层之间,用于加密和解密数据
  • 用非对称加密加密对称加密的密钥

http使用SSL加密后就变成了https,https使用tcp的443端口,而不是80

常见SSL协议加密后服务端口:imaps-993、pop3s-995、smtps-465

三个功能

  1. SSL 服务器鉴别,允许用户证实服务器的身份。支持 SSL 的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务器的公钥
  2. SSL 客户鉴别,SSL 的可选安全服务,允许服务器证实客户的身份
  3. 加密的 SSL 会话,对客户和服务器间发送的所有报文进行加密,并检测报文是否被篡改

7.4.2 网络层安全协议_IPSec

IPSec中最主要的协议

  1. 鉴别首部AH> 提供数据包源点鉴别和数据完整性,但不能保密
  • 在网络层首部和传输层之间插入了AH首部
    1. 封装安全有效载荷ESP> 提供数据包源点鉴别、数据完整性和保密
  • ESP尾部在传输层后面构成加密的部分,再加上传输层前面的ESP首部构成了鉴别的部分,ESP尾部后面还有ESP鉴别数据

安全关联SA

在使用 AH 或 ESP 之前,先要从源主机到目的主机建立一条网络层的逻辑连接安全关联

  • SA是构成IPSec的基础,是两个通信实体经协商(利用IKE协议)建立起的一种协定。决定了用来保护数据分组安全的安全协议(签名但不加密的AH协议或者既签名又加密的ESP协议)、转码方式、密钥及密钥的有效时间
  • 安全关联是从源点到终点的单向连接

7.5 防火墙

  • 解决内网和互联网的安全问题
  1. 分组过滤路由器(网络层)> 具有分组过滤功能的路由器,根据过滤规则(数据包、源地址、目标地址、协议和端口、流量)对进出内部网络的分组执行转发或者丢弃
  1. 应用网关也称为代理服务器(应用层)> 它在应用层通信中扮演报文中继的角色。
    所有进出网络的应用程序报文都必须通过应用网关

8. 互联网上的音频和视频服务

面临的问题

多媒体占用带宽高、需要网速恒定、延迟低

解决方法:在接收端设置缓存

服务类型

  1. 流式存储——边下载边播放
  2. 流式实况——边录制边发送
  3. 交互式——实时通信

实时流式协议RTSP

本身不传输数据,是一个多媒体播放控制协议

IP电话

利用数据包分组传输音频视频

实时运输协议RTP

为实时应用提供端到端传输,但不提供服务质量

实时运输控制协议 RTCP

  • 也是用UDP传输

9. 无线网络和移动网络