王道计算机网络笔记

第1章——计算机网络体系结构

1.1 计算机网络概述

1. 概念、组成、功能和分类

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享信息传递的系统。

  • 计算机网络是互连的、自治的计算机集合。

    • 互连指互联互通 通信链路
    • 无主从关系
  • 计算机网络的功能

    1. 数据通信(连通性)
    2. 资源共享(硬件、软件、数据)
    3. 分布式处理
    4. 提高可靠性
    5. 负载均衡
    6. ……
  • 计算机网络的组成

    1. 组成部分
      • 硬件
      • 软件
      • 协议
    2. 工作方式
      • 边缘系统
        • C/S模式
        • P2P模式
      • 核心部分
        • 为边缘部分服务
    3. 功能组成
      • 通信子网
        • 实现数据通信
        • 各种传输介质、通信设备、相应的网络协议组成
      • 资源子网
        • 实现资源共享/数据处理
        • 实现资源共享功能的设备和软件的集合
  • 计算机网络的分类

    1. 按分布范围分
      • 广域网WAN
        • 交换技术
      • 城域网MAN
      • 局域网WAN
        • 广播技术
      • 个人区域网PAN
    2. 按使用者分
      • 公用网
        • 三大运营商
      • 专用网
        • 政府、军队
    3. 按交换技术分
      • 电路交换
      • 报文交换
      • 分组交换
    4. 按拓补结构分
      • 总线型
      • 星型
      • 环型
      • 网状型
        • 常用于广域网
    5. 按传输技术分
      • 广播式网络
        • 共享公共通信信道
      • 点对点网络
        • 使用分组存储转发路由选择机制

2. 计算机网络标准化工作及相关组织

标准化工作

要实现不同厂商的软硬件之间相互通信,必须遵从统一的标准。

  • 标准的分类
    • 法定标准
      • 由权威机构制定的正式的、合法的标准
      • 如:OSI
    • 事实标准
      • 某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准
      • 如:TCP/IP

RFC及其发展为因特网标准的四个阶段

  • RFC(Request For Comments)——因特网标准的形式
    1. 因特网草案(Internet Draft) 这个阶段还不是RFC文档
    2. 建议标准(Proposed Standard) 从这个阶段开始称为RFC文档
    3. 草案标准(Draft Standard) IETF、IAB审核,2011年取消了该阶段
    4. 成为因特网标准(Internet Standard)

标准化工作的相关组织

  • ISO 国际标准化组织
    • 案例:OSI参考模型
    • HDLC协议
  • ITU 国际电信联盟
    • 制定通信规则
  • IEEE 国际电气电子工程师协会
    • 学术机构
    • IEEE802系列标准
    • 5G
  • IETF Internet工程任务组
    • 负责因特网相关标准的制定
    • RFC XXXX

3.性能指标之速率、带宽、吞吐量

速率

速率即数据率或称数据传输率比特率

连接在计算机网络上的主机在数字信道上传送数据位数的速率

  • 速率
    • kb/s
    • Mb/s
    • Gb/s
    • Tb/s
    • 倍数是10的3次方
  • 存储容量
    • 1 Byte(字节) = 8 bit(比特)
    • 1KB = 1024 B
    • 1MB = 1024 KB
    • 1GB = 1024 MB
    • 1TB = 1024 GB
    • 倍数为1024倍

带宽

  1. “带宽”原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是盒子(Hz)。
  2. 计算机网络中,带宽用来表示传输数据时的最高数据率
  3. 带宽越高,在单位时间内发送的数据信号密度越大

吞吐量

表示在单位时间内通过**某个网络(或信道、接口)**的数据量。

吞吐量受网络的带宽或网络的额定速率的限制,服务器性能以及网线等原因都会影响吞吐量。

4. 时延、时延带宽积、RTT和利用率

时延

指数据(报文/分组/比特流)从网络(或链路)的一段传送到另一端所需的时间。也叫延迟迟延。单位是s。

  • 时延
    1. 发送时延(传输时延)
      • 从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间
      • 发送时延 = 数据长度/信道带宽
      • 高速链路是提高发送速率,减小了发送时延!
    2. 传播时延
      • 取决于电磁波传播速率和链路长度
      • 固体传播速率比在真空中要慢点
      • 传播时延 = 信道长度/电磁波在信道上的传播率
    3. 排队时延
      • 等待输出\输入链路可用
      • 其实就是在路由器缓存区等待转发的时间
    4. 处理实验
      • 路由器进行校验以及通过路由表查询路径

时延带宽积

有多少数据在链路中:
时延带宽积 = 传播时延 X 带宽
时延带宽积又称为以比特为单位的链路长度

往返时延RTT(roud trip time)

从发送方发送数据开始,到发送方收到接收方的确认,总经历的时延。

RTT越大,在收到确认之前,可以发送的数据越多。

  • RTT包括
    • 往返传播时延 = 传播时延 * 2
      • 主要时间
    • 末端处理时间
      • 通常忽略

利用率

  • 利用率
    • 信道利用率
      • 有数据通过时间\(有+无)数据通过时间
    • 网络利用率
      • 信道利用率加权平均值

利用率趋近于1时,时延呈指数级增长,从而导致速率被降低

1.2 计算机网络体系结构与参考模型

1. 分层结构、协议、接口、服务

为什么要分层?

  • 发送文件前要完成的工作:
    1. 发起通信的计算机必须将数据通信的通路进行激活
    2. 要告诉网络如何识别目的主机
    3. 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常
    4. 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经做好准备工作
    5. 确保差错和以外可以解决

怎么分层?

  • 分层的基本原则
    1. 各层之间相互独立,每层只实现一种相对独立的功能。
    2. 各层之间界面自然清晰,易于理解,相互交流尽可能少。
    3. 结构上可分割开。每层都采用最合适的技术来实现。
    4. 保持下层上层的独立性,上层单向使用下层提供的服务
    5. 整个分层结构应该能促进标准化工作。

正式认识分层结构

  • 正式认识分层结构
    1. 实体:第n层中的活动元素称为n层实体。同一层的实体叫做对等实体
    2. 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【协议是水平的】
      • 语法:规定传输数据的格式
      • 语义:规定所要完成的功能
      • 同步:规定各种操作的顺序
    3. 接口(访问服务点SAP):上层使用下层服务的入口。
    4. 服务:下层为相邻上层提供的功能调用。【垂直】

PDU = PCI + SDU

  • SDU服务数据单元:为完成用户所要求的功能而应传送的数据
  • PCI协议控制信息:控制协议操作的信息。
  • PDU协议数据单元:对等层次之间传送的数据单位

概念总结

  • 网络体系结构是从功能上描述计算机网络结构。
  • 计算机网络体系结构简称网络体系结构是分层结构
  • 每层遵循某个/些网络协议以完成本层功能。
  • 计算机网络体系结构是计算机网络的各层及其协议的集合。
  • 在n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
  • 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
  • 体系结构是抽象的,而实现是指能运行的一些软件和硬件。

2. OSI参考模型

  • 计算机网络分层结构
    • 7层OSI参考模型(法定标准)
    • 4层TCP/IP参考模型(事实标准)
    • 5层的体系结构(仅供学习)

ISO/OSI参考模型——怎么来的?

为了解决计算机网络复杂的大问题,按功能设计分层结构,目的是支持异构网络系统的互联互通。

ISO/OSI参考模型

  1. 应用层
  2. 表示层
  3. 会话层
  4. 传输层
  5. 网络层
  6. 数据链路层
  7. 物理层

前四层端到端,后三层点到点

应用层

所有能和用户交互产生网络流量的程序。

  • 典型应用层服务:
    • 文件传输(FTP)
    • 电子邮件(SMTP)
    • 万维网(HTTP)

表示层

用于处理在两个通信系统中交换信息的表示方式(语法和语义)

功能:

  1. 数据格式变换
  2. 数据加密解密
  3. 数据压缩和恢复

会话层

向表示层实体/用户进程提供建立连接并在连接上有序传输数据。

这是会话,也是建立同步(SYN).

功能:

  1. 建立、管理、终止会话
  2. 使用校验点可使会话在通信时效时从校验点/同步点继续恢复通信,实现数据同步。
    • 适用于传输大文件
    • 主要协议:ADSP、ASP

传输层

负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。

报文段就是数据切割后封装好形成的。

功能:

  1. 可靠传输、不可靠传输
    • TCP
    • UDP
  2. 差错控制
    • 校验
  3. 流量控制
    • 控制发送速度,用来协调
  4. 复用分用
    • 复用:多个应用层进程可同时使用下面运输层的服务。
    • 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。

网络层

主要任务是吧分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报

功能:

  1. 路由选择
  • 根据网络状况规划最佳路径
  1. 流量控制
  2. 差错控制
  3. 拥塞控制
  • 若所有结点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。

主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF

数据链路层

主要任务是把网络层传下来的数据报组装成帧

数据链路层/链路层的传输单位是

功能:

  1. 成帧(定义帧的开始和结束)
  2. 差错控制 帧错+位错
  • 根据出错情况,决定是检错还是丢
  1. 流量控制
  • 根据缓存情况确定,缓存快满了会被要求降速
  1. 访问(接入)控制
  • 控制对共享信道的访问

主要协议:SDLC、HDLC、PPP、STP

物理层

主要任务是在物理媒体上实现比特流的透明传输
物理层传输单位是比特

透明传输:指不管所传数据是什么样的比特组合,都应当能够在连路上传送。

功能:

  1. 定义接口特性
  2. 定义传输模式
    • 单工:只可以发送或接收
    • 半双工:可发送也可接收,但不能同时进行
    • 双工:可以同时发送和接收
  3. 定义传输速率
  4. 比特同步
  5. 比特编码

主要协议:Rj45、802.3

3. TCP/IP参考模型和5层参考模型

TCP/IP参考模型是现有实践,后有的模型

TCP/IP参考模型:
4. 应用层
3. 传输层
2. 网际层

  1. 网络接口层

TCP/IP协议栈:
4. HTTP|FTP|DNS
3. TCP|UDP
2. IP

  1. Ethernet|ATM|Frame Relay

OSI和TCP/IP参考模型相同点

  1. 都分层
  2. 基于独立的协议栈概念
  3. 可以实现异构网络互连

OSI模型与TCP/IP模型的不同点

  1. OSI定义三点:服务、协议、接口
  2. OSI先出现,参考模型先于协议发明,不偏向特定协议
  3. TCP/IP设计之初就考虑到异构网互连问题,将IP作为重要层次。
  • 网络层-IP协议
    • ISO/OSI参考模型
      • 无连接
      • 面向连接
    • TCP/IP模型
      • 无连接
  • 传输层
    • ISO/OSI参考模型
      • 面向连接
    • TCP/IP模型
      • 无连接
      • 面向连接

面向连接:

  1. 建立连接:发送建立连接请求。
  2. 传输:擦混输数据
  3. 释放连接:切断建立的连接。

无连接:

  1. 直接传输数据

5层参考模型

  1. 网络层:支持各种网络应用 FTP、SMTP、HTTP
  2. 传输层:进程-进程之间的数据传输 TCP、UDP
  3. 网络成:源主机到目的主机的数据分组路由与转发 IP、ICMP、OSPE等
  4. 数据链路层: 把网络层传下来的数据报组装成帧 Ethernet、PPP
  5. 物理层:比特传输

第2章——物理层

2.1 通信基础

  1. 通信基础
  2. 两个公式 lim 重点
  3. 看图说话
  4. 传输介质
  5. 物理层设备
  6. 1. 物理层的基本概念

物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的差UN属媒体。

物理层主要任务:确定与传输媒体接口有关的一些特性,规格等

特性:

  1. 机械特性:定义物理连接的特性,规定物理连接时所采用的规格、借口形状、引线数目、引脚数量和排列情况。
  2. 电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率距离限制等。
  3. 功能特性:指明某条线上出现的某一电平表示何种意义,就扣不见得信号线的用途。
  4. 过程特性(过程特性):定义各条物理线路的工作规程和时序关系。

2. 数据通信基础知识

数据通信相关术语

通信的目的是传送消息

数据:传送信息的实体。通常是有意义的符号序列。

信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式

  • 数字信号:代表消息的参数取值是离散的。
  • 模拟信号:代表消息的参数取值是连续的。

信源:产生和发送数据的源头。

信宿:接收数据的重点。

信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。

  • 传输信号
    • 模拟信道
    • 梳子信道
  • 传输介质
    • 无线信道
    • 有线信道

三种通信方式

  1. 单工通信:只有一个方向的通信而没有反方向的交互,仅需要一条信道。
  2. 半双工通信:通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收,需要两条信道。这两条信道都是既可以做发送方也可以做接收方。
  3. 全双工通信:通信双方可以同时发送和接收信息,也需要两条信道。

两种数据传输方式

  • 串行传输
    • 单线程,单信道
    • 速度慢、费用低、适合远距离
  • 并行传输
    • 多线程,多信道
    • 速度快、费用高、适合计算机内部传输
    • 打印机、扫描仪的插口就是并口(并行传输)

3. 码元、波特、速率、带宽

码元

码元是指一个固定时长信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度。当码元的离散状态有M个时(M大于2),此时码元为M进制码元。

1码元可以携带多个比特的信息量。例如,再使用二进制编码时,只有两种不同的码元,一种代表0状态,另一种代表1状态。

速率、波特、带宽

速率也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率信息传输速率表示。

  1. 码元传输速率:别名码元速率、波形速率、调制速率、符号速率等,它表示单位时间内数字通信系统所传输的码元个数(也可以称为脉冲个数或信号变化的次数),单位是波特。1波特表示数字通信系统每秒传输一个码元。这里的码元可以是多进制的,也可以是二进制的,但码元速率与进制数无关。
  2. 信息传输速率:别名信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特/秒(b/s)。
    • 关系:若一个码元携带n bit的信息量,则M Baud的码元传输速率所对应的信息传输速率为M X b bit/s。

带宽:表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”,常用来表示网络的通信线路所能传输数据的能力。单位是b/s。

4. 奈氏准则和香农定理

在这两个定理中带宽用Hz。

失真

现实中的信道因为带宽受限、有噪声、干扰让信号波形走形

有的失真仍能被识别,但有的失真无法被识别

影响失真程度的因素:

  1. 码元传输速率
  • 传输越快,失真程度越严重
  1. 信号传输距离
  2. 噪声干扰
  3. 传输媒体质量

失真的一种现象——码间串扰

信道带宽是信道能通过的最高频率和最低频率之差

低带宽会和噪音融合,无法识别,高带宽会造成码间串扰。

码间串扰:接收端收到的信号波形失去了码元之间清晰界限的现象。

奈氏准侧(奈奎斯特定理)

奈氏准则:在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2W Baud,W是信道带宽,单位是Hz。

理想低通信道下极限数据传输率=2Wlog2 V(b/s),其中W带宽(HZ),V几种码元/码元的离散电平数目

  1. 在任何信道中,码元传输的速率是有上线的。若传输速率超过此上线,就会出现严重的码间串扰问题,使接收端对码元的完全正确识别成为不可能。
  2. 信道的频带越宽(即能通过的信号高频分量越多),就可以用更高的速率进行码元的有效传输。
  3. 奈氏准则给出了码元传输速率的限制,但并没有对信息传输速率给出了限制。
  4. 由于码元的传输速率受奈氏准则的制约,所以要提高数据传输速率,就必须设法使每个码元能携带更多个比特的信息量,这就需要采用多元制的调制方法。

香农定理

噪声存在于所有的电子设备和通信信道中。由于噪声随机产生,它的瞬间值有时会很大,因此噪声会使接收端对码元的判决产生错误。但是噪声的音响是相对的,若信号较强,那么噪声影响相对较小。因此,信噪比就很重要。

信噪比 = 信号的平均功率/噪声的平均功率,常记为S/N,应用分贝(dB)作为度量单位,即:信噪比(dB) = 10log10 (S/N) 数值等价

香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值。

信道的极限数据传输速率 = Wlog2 (1+S/N) (b/s)

  1. 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高
  2. 对一定的传输带宽和一定的信噪比,信息传输速率的上限就确定了。
  3. 只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输
  4. 香农定理得出的为极限信息传输速率,实际信道能达到的传输速率要比它低不少。
  5. 从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么新到的极限信息传输速率也就没有上限。

奈氏和香农如何选择

  • 奈氏准则
    • 内忧
    • 带宽受限无噪声条件下,为了避免码间串扰,码元传输速率的上限2W波特。
    • 理想低通信道下极限数据传输率 = 2Wlog2 V
    • 想要提高数据率,就要提高带宽/采用更好的编码技术
  • 香农定理
    • 外患
    • 带宽受限有噪声条件下的信息传输速率。
    • 信道的极限数据传输速率 = Wlog2 (1+S/N)
    • 要想提高数据率,就要提高带宽/信噪比

5. 编码&调制

基带信号与宽带信号

信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。

  • 传输信号
    • 模拟信道(传送模拟信号)
    • 数字信道(传送数字信号)
  • 介质传输
    • 无线信道
    • 有限信道

信道上传送的信号:

  • 基带信号

    • 将数字信号1和0直接用两种不用的电压表示,再传送到数字信道上去传输(基带传输)。来自信源的信号,想计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。
  • 宽带信号

    • 将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输(宽带传输)。把基带信号经过载波调制后,吧信号的频率范围搬移较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
  • 在传输距离较近时,计算机网络采用基带传输方式(近距离衰减小,从而信号内容不易发生变化)

  • 在传输距离较远时,计算机网络采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号)

编码与调制

  • 数据编码为数字信号

  • 数据调制为模拟信号

  • 数字数据

    • 通过数字发送器转换为数字信号 编码
    • 通过调制器转换为模拟信号 调制
  • 模拟数据

    • 通过PCM编码器转换为数字信号 编码
    • 通过放大器调制器转换为模拟信号 调制

数字数据编码为数字信号

  1. 非归零编码(NRZ)
    • 高1低0
    • 编码容易实现,但没有检错功能,且无法判断一个码元的开始和结束,以至于收发双方难以保持同步
  2. 曼彻斯特编码
    • 将一个码元分成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平表示码元1;码元0则账号相反。也可以采用相反的规定。该编码的特点是在每一个马院的中间出现电平跳变,位中间的跳变既作时钟信号(可用于同步),又作数据信号,但它所占的频带宽度是原始基带宽度的两倍。
    • 每一个码元都被调成两个电平,所以数据传输速率只有调制速率的二分之一
  3. 差分曼彻斯特编码
    • 前高后低为1
    • 常用于局域网传输,其规则是:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0,则相反。该编码的特点是。在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码。
  4. 归零编码(RZ)
    • 信号电平在一个码元之内都要恢复到零的这种编码成编码方式。
  5. 反向不归零编码(NRZI)
    • 信号电平翻转表示0,信号电平不变表示1。
  6. 4B/5B编码
    • 比特流中插入额外的比特以打破一连串的0或1,就是用5个比特来编码4个比特的数据,之后再传给接收方,因此称为4B/5B。编码效率为80%。
    • 只采用16种对应16种不同的4位码,其他的16种作为控制码(帧的开始和结束,线路的状态信息等)或保留。

数字信号调制为模拟信号

数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制过程和解调过程。

  • 2ASK调幅
    • 0无波1有波。
  • 2FSK调频
    • 0低频1高频。
  • 2PSK调相
    • 0余弦1正弦。
  • QAM正交振幅调制(调幅+调相)

模拟数据编码为数字信号

计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)。

最典型的例子就是对音频信号进行编码的脉码调制(PCM),在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD\DVD以及我们常见的WAV文件中均有应用。他主要包括三步:抽样、量化、编码。

  1. 抽样:对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。为了使所得的离散信号能无失真地代表被抽样的模拟数据,要使用采样定理进行采样:f采样频率 = 2f信号最高频率
  2. 量化:把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字量。
  3. 编码:把量化的结果转换为与之对应的二进制编码。

模拟数据调制为模拟信号

为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用技术,充分利用带宽资源。在电话机和本地交换机所传输的信号是采用模拟信号传输模拟数据的方式;模拟的声音数据是加载到模拟的载波信号中传输的。

2.2 物理层传输介质

传输介质及分类

传输介质也称传输媒体/传输媒介,它就是数据传输系统中在发送设备和接收设备之间的物理通路

传输媒体并不是物理层

传输媒体在物理层的下面,因为物理层是体系结构的第一层,因此有时称传输媒体为0层。在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表什么意思。但物理层规定了电气特性,因此能够识别所传送的比特流。

  • 传输介质
    • 导向性传输介质:电磁波被导向沿着固体媒体(铜线/光纤)传播。
    • 非导向性传播介质:自由空间,介质可以是空气、真空、海水等。

导向性传输介质——双绞线

双绞线是古老、又最常用的传输介质,它用两根采用一定规则并排绞合的、相互绝缘的铜导线组成。

绞合可以减少对相邻导线的电磁干扰。

  • 无屏蔽双绞线
  • 屏蔽双绞线

为了进一步提高抗电磁干扰能力,可在双绞线的外面再加上一个由金属丝编织成的屏蔽层,这就是**屏蔽双绞线(STP),无屏蔽层的双绞线就称为非屏蔽双绞线(UTP)**。

双绞线夹克便宜,在局域网和传统电话网中普遍使用。模拟传输和数字传输都可以使用双绞线,去通信距离一般为几公里到数十公里。距离太原市,对于模拟信号,要用放大器放大衰减的信号;对于数字信号,要用中继器将失真的信号整形。

导向性传输介质——同轴电缆

同轴电缆由导体铜制芯线绝缘层网状编织屏蔽层塑料外层组成。按特性阻抗数值不同,通常将同轴电缆分为两类:50欧同轴电缆和75欧同轴电缆。其中,50欧同轴电缆主要用于传送基带数字信号,又称为基带同轴电缆,它在局域网中得到广泛应用;75欧同轴电缆主要用于传送宽带信号,又称为宽带同轴电缆,它主要用于有线电视系统。

导向性传输介质——光纤

光纤主要由纤芯(实心)包层构成,光波通过纤芯进行传导,包层较纤芯有较低的折射率。当光线从高折射率的介质射向低折射率的介质时,其折射角度将大于入射角。因此,如果入射角足够大,就会出现全反射,即光线碰到包层时就会折射回纤芯,这个过程不断重复,光也就沿着光纤传输下去。

  • 多模光纤
    • 易失真,适合近距离传输
  • 单模光纤
    • 损耗小,适合远距离传输

光纤易折,一般将数十数百跟光纤捆至一起,形成光缆

光纤的特点:

  1. 传输损耗小,中继距离长,对远距离传输特别经济。
  2. 抗雷电和电磁干扰性能好。
  3. 无串音干扰,保密性好,也不容易被窃听或截取数据。
  4. 体积小,重量轻。

非导向性传输介质

  • 无线电波
    • 较强穿透能力,可远距离传输,广泛用于通信领域(如手机通信)
    • 信号向所有方向传播
  • 微波
    • 微波通信频率较高,频段范围宽,因此数据率很高
      • 地面微波接力通信
      • 卫星通信
        • 优点
          1. 通信容量大
          2. 距离远
          3. 覆盖广
          4. 广播通信和多址通信
        • 缺点
        1. 传播时延长(250-270ms)
        2. 受气候影响大(eg:强风太阳黑子爆发、日凌)
        3. 误码率较高
        4. 成本高
    • 信号固定方向传播
  • 红外线、激光
    • 把药传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再在空间中传播。
    • 信号固定方向传播

2.3 物理层设备

中继器

诞生原因:由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。

中继器的功能:对信号进行再生和还原,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长网络的长度。

中继器的两端:

  • 两端的网络部分是网段,而不是子网,适用于完全相同的两类网络的互连,且两个网段速率要相同。
  • 中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。
  • 两端可连相同媒体,也可连不同媒体。
  • 中继器两端的网段一定要是同一个协议。(中继器不会存储转发)

5-4-3规则:

  • 网络标准中对信号的延迟范围做了具体的规定,因而中继器只能在规定的范围内进行,否则会网络故障。
  • 5:最多涉及5个网段
  • 4:最多经过4个中继器
  • 3:最多3个段可以挂工作站

集线器(多口中继器)

再生,放大信号

集线器的功能:对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享式设备。

遇到同时两个端口发生碰撞的现象则随机延时后再次通信。

集线器不能分隔冲突域,所以连在集线器上的工作主机平分带宽。

第3章——数据链路层

3.1 数据链路层功能概述

  1. 链路层的功能
  2. 链路层的两种信道
  3. 局域网、广域网
  4. 链路层的设备

数据链路层基本概述

  • 结点:主机、路由器
  • 链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
  • 数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
  • 帧:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻结点的目标机网络层。其主要作用是加强网络层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

功能:

  1. 为网络层提供服务:
    • 无确认无连接服务
    • 有确认无连接服务
    • 有确认面向连接服务
  2. 链路管理:
    • 建立
    • 维持
    • 释放
  3. 组帧
  4. 流量控制
  5. 差错控制(帧错/位错)

3.2 封装成帧和透明传输

由于字节计算法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前普遍使用的帧同步法是比特填充违规编码法

封装成帧

封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。

组帧的四种方法:

  1. 字符计算法
  2. 字符填充法
  3. 零比特填充法
  4. 违规编码法

透明传输

透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。

当所传输数据中的比特组合恰巧与某一个控制信息完全一样时,就必须才去适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

1. 字符计算法

帧首部使用一个计数字段(第一个字节,八位)来表明帧内字符数。

缺点:第一个字符错,整个就错了。

2. 字符填充法

00000001是开始字节,00000100是结束字节

当传送的帧时由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCII码)。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输

当传送的帧时由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。就要采用字符填充方法实现透明传输

使用转义字符ESC在与控制字符SOT、EOT相同的数据转义,就不会造成冲突。

3. 零比特填充法

  1. 在头尾插入01111110
  2. 在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0
  3. 在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。

保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。

4. 违规编码

用不符合规则的编码来界定帧

如:曼彻斯特编码使用“高-高”、“低-低”的编码充当开始和结束。

3.3 差错控制

3.3.1 检错编码

差错从何而来?

概括来说,传输中的差错都是由于噪声引起的。

  • 全局性:

    • 由于线路本身的电气特性所产生的**随机噪声(热噪声)**,是信道固有的,随机存在的。
    • 解决办法:提高信噪比来减少或避免干扰(对传感器下手)。
  • 局部性:

    • 外界特定的端在原因造成的冲击噪声,是产生差错的主要原因。
    • 解决办法:通常利用编码技术来解决。
  • 差错

    • 位错
      • 比特位出错,1变0,,变1.
    • 帧错
      • 丢失
      • 重复
      • 失序
  • 差错控制(比特错)

    • 检错编码
      • 奇偶校验码
      • 循环冗余码CRC
    • 纠错编码
      • 海明码

编码VS编码:物理链路层编码和物理层的数据编码与调制不同物理层编码针对的是单个比特,解决传输过程中比特的同步问题,如曼彻斯特编码,而数据链路层的编码针对的是一组比特,它通过冗余码的技术实现一组二进制比特串在传输过程是否出现差错。

冗余编码:在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当然发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原则,从而判断是否出错。

奇偶校验码

  • 奇偶校验码
    • 奇校验码
      • “1”的个数为奇数
      • 只能检查出奇数个比特错误,检错能力为50%。
    • 偶校验码
      • “1”的个数为偶数

CRC循环冗余码

我操这个数学运算的过程我没法记呀,看到这里就百度吧!

在数据链路层仅仅使用循环冗余检验CRC差错检测奇数,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都以非常接近于1的概率认为这些帧再传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”。

链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输,因为有帧被丢弃了。

3.3.2 纠错编码

海明码

发现双比特错,纠正单比特错

工作原理:动一发而牵全身

工作流程:

  1. 确定校验码位数r
    • 海明不等式
      • 2^r >= k+r+1
      • r为冗余信息位,k为信息位
  2. 确定校验码和数据的位置
    • 各位校验码放置至2的n次方位置
  3. 求出校验码的值
    • 从低位开始取,取所有相应低位为1的数据位的值进行异或
    • 令所有要校验的为异或=0
  4. 检错并纠正
    • 正向运算,将结果转成十进制就是出错的位数

3.4 流量控制与可靠传输机制

3.4.1 流量控制与可靠传输机制

数据链路层的流量控制

较高的发送速率较低的接受能力不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。

数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。

数据链路层流量控制手段:接收方收不下就不回复确认。

传输层流量控制手段:接收端给发送端一个窗口公告。

流量控制方法

  1. 停止-等待协议
    • 每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
    • 发送窗口大小=1,接收窗口大小=1
  2. 滑动窗口协议
    1. 后退N帧协议(GBN)
      • 发送窗口>=1,接收窗口>=1
    2. 选择重传协议(SR)
      • 发送窗口>1,接收窗口>1

可靠传输、滑动窗口、流量控制

可靠传输:发送端发啥,接收端收啥

流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一个帧

滑动窗口解决:

  • 流量控制
    • 收不下就不给确认,想发也发不了
  • 可靠传输
    • 发送方自动重传

3.4.2 停止等待协议

停止等待协议

  1. 为什么要有停止-等待协议
    • 除了比特出差错,底层通信还会出现丢包问题。
    • 为了实现流量控制
  2. 研究停等协议的前提
    • 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
    • 因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
    • “停止-等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
  3. 停等协议有几种应用情况?
    • 无差错
    • 有差错

无差错情况

  1. 数据帧丢失或检测到帧出错
    • 超时计时器:每次发送一个帧就启动一个计时器。
    • 超时计时器设置的重传时间应当比帧传输的平均RTT更长一些。
    • 发送完一个帧后,必须保留它的副本。
    • 数据帧和确认帧必须编号。

有差错情况

  1. ACK丢失
    • 超时计时器到时重传,接收方丢弃重复的帧再次发送确认帧
  2. ACK迟到
    • 丢弃迟到的确认帧

停等协议性能分析

  1. 简单
  2. 信道利用率太低
  3. 信道利用率U = Td / (Td + RTT + Ta)

信道利用率

发送方在一个发送周期内,有效的发送数据所需要的时间占整个发送周期的比率。

信道利用率 = (L/C)/T

  • L:T内发送L比特数据
  • C:发送方数据传输率
  • T:发送周期(从开始发送数据,到手刀第一个确认帧为止)

信道吞吐率 = 信道利用率 * 发送方的发送速率

3.4.3 选择重传协议(SR)

GBN协议的弊端

  • 累积确认导致批量重传

解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧。

选择重传协议中的滑动窗口

SR发送方必须响应的三件事

  1. 上层的调用
    • 从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。
  2. 收到了一个ACK
    • 如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界,则窗口向前移动到具有最小序号的未确认帧出。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。
  3. 超时事件
    • 每个帧都有自己的定时器,一个超时事件发生后只重传一个帧

SR接收方要做的事

来者不拒:SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,知道所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口

滑动窗口长度

接收方不知道同一个0帧是下一个新帧还是重发的旧帧

发送窗口最好等于接收窗口。(大了会溢出,小了没意义)

  • GBN协议中,滑动窗口的最大值是编号数量减一
  • SR协议中,滑动窗口的最大值是编号数量的一半

SR协议重点总结

  1. 对数据帧逐一确认,收一个确认一个
  2. 只重传出错帧
  3. 接收方有缓存
  4. Wtmax = Wrmax = 2^(n-1)

3.4.4 后退N帧协议(GBN)

流水线技术

  1. 必须增加序号范围
  2. 发送方需要缓存多个分组

后退N帧协议中的滑动窗口

发送窗口:发送方维持一组连续的允许发送的帧的序号。

接收窗口:接收方维持一组连续的允许接收帧的序号

GBN发送方必须相应的三件事

  1. 上层的调用
    • 上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需要将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。
  2. 收到了一个ACK
    • GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧。
  3. 超时事件
    • 协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长帧时发送方的行为。就像在等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。

GBN接收方要做的事

如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:expectedseqnum(下一个按序接收的帧序号)

滑动窗口长度

若采用n个比特对帧编号,那么发送窗口的尺寸Wt应满足1 <= Wt <= 2^(n-1)。因为发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。

GBN协议重点总结

  1. 累积确认(偶尔捎带确认)
  2. 接收方值按顺序接收帧,不按序无情丢弃
  3. 确认序列号最大的、按序到达的帧
  4. 发送窗口最大为2^(n-1),接收窗口大小为1

3.5 介质访问控制

3.5.1 信道划分介质访问控制

传输数据使用的两种链路

  • 点对点链路
    • 两个相邻节点通过一个链路相连,没有第三者。
  • 广播式链路
    • 所有主机共享通信介质。

介质访问控制

介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生相互干扰的情况。

  • 静态划分信道——信道划分介质访问控制
    • 频分多路复用FDM
    • 时分多路复用TDM
    • 波分多路复用WDM
    • 码分多路复用CDM
  • 动态分配信道
    • 轮询访问介质控制
      • 令牌传递协议
    • 随机访问介质访问控制
      • ALOHA协议
      • CSMA协议
      • CSMA/CD协议
      • CSMA/CA协议

信道划分介质访问控制

信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。

多路复用技术:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。

把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点通信

频分多路复用FDM

用户分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽(频率带宽)资源

充分利用传输介质带宽,系统效率较高;由于技术比较成熟,实现也比较容易

时分多路复用TDM

将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。

TDM帧是在物理层传送的比特流所划分的帧,标志一个周期。

  • 频分复用——并行
  • 时分复用——并发

统计时分多路复用STDM

每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,吧缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。

波分多路复用WDM

波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

码分多路复用CDM

  • 码分多址CDMA
    • 是码分复用的一种方式
      • 1个比特分为多个码片/芯片,每一个站点被指定一个唯一的m位的芯片序列。
      • 发送1时站点发送芯片序列,发送0时发送芯片序列反码(通常把0写成-1)
      • 如何不打架:多个站点同时发送数据时,要求各个站点芯片序列相互正交
      • 如何合并:各路数据在信道中被线性相加
      • 如何分离:合并的数据和源站规格化内积

利用了正交的向量内积为0,向量和本身内积为模的特征

3.5.2 ALOHA协议

动态分配信道——动态媒体接入控制/多点接入

特点:信道并非在用户通信时固定分配给用户

所有用户可随机发送信息

发送信息时占全部带宽

  • 纯ALOHA协议
    • 不监听信道,不按时间槽发送,随机重发。
    • 如果发生冲突,接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
    • 超时后等一随机时间再重传
  • 时隙ALOHA协议
    • 把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信息,若发生冲突,则必须等到下一个时间片开始时刻再发送。
  1. 纯ALOHA比时隙ALOHA吞吐量更低,效率更低
  2. 纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。

3.5.3 CSMA协议

载波监听多路访问协议CSMA(carrier sence multiple access)

CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。

MA:多点接入:表示许多计算机以多点接入的方式连接在一根总线上。

协议思想:发送之前,监听信道

  • 监听结果
    • 信道空闲:发送完整帧
      • 1-坚持CSMA
      • 非坚持CSMA
      • p-坚持CSMA
    • 信道忙:推迟发送

1-坚持CSMA

坚持指的是对于监听信道忙之后的坚持。

1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。空闲则直接传输,不必等待。忙则一直监听,直到空闲马上传输。如果有冲突(一段时间未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。

缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

非坚持CSMA

非坚持指的是监听信道忙之后就不继续监听。

非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。

空闲则直接传输,不必等待

忙则等待一个随机的时间之后再进行监听发

优点:采用随机的重发延时时间可以减少冲突发生的可能性。

缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

p-坚持CSMA

p-坚持指的是对于监听信道空闲的处理。

思想:如果一个主机要发送消息,那么它先监听信道。

空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽在传输。

忙则等待一个随机的时间之后再进行监听。

优点:既能像非坚持算法那样减小冲突,又能像1-坚持算法那样减小媒体空闲时间的这种方案。

缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。

3.5.4 轮询访问介质访问控制

  • 介质访问控制:
    • 信道划分介质访问控制(MAC)协议:
      • 基于多路复用技术划分资源。
      • 网络负载重:共享信道效率高,且公平
      • 网络负载轻:共享信道效率低
  • 随机访问MAC协议:
    • 用户根据意愿随机发送信息,发送信息时可独占信道带宽
    • 网络负载重:产生冲突开销
    • 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽
  • 轮询访问MAC协议/轮流协议/轮转访问MAC协议:
    • 既要不产生冲突,又要发送时占全部带宽
    • 轮训协议
    • 令牌传递协议

轮询协议

主节点轮流“邀请”从属结点发送数据.

  • 问题:
    • 轮询开销
    • 等待延迟
    • 单点故障

令牌传递协议

令牌环网

TCU转发器

令牌:一个特殊格式的MAC控制帧,不含任何信息。

控制信道的使用,确保同一时刻只有一个结点独占信道。

令牌环网无碰撞。

每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌,

  • 问题:
    • 令牌开销
    • 等待延迟
    • 单点故障

采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。

3.5.5 CSMA-CA协议

  • CSMA-CD是对碰撞的检测
    • 使用在总线式以太网
  • CSMA-CA是对碰撞的避免
    • 使用在无线局域网

CSMA/CA协议工作原理

名称:载波监听多点接入/碰撞避免

发送数据前,先检测信道是否空闲

空闲则发出**RTS(request to send)**,RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。

接收端收到RTS后,将响应**CTS(clear to send)**。

发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。

接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧

发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。

  • 基本方法:
    • 预约信道
    • ACK帧
    • RTS/CTS帧(可选)

CSMA/CD与CSMA/CA

  • 相同点
    • 都需要先监听
  • 不同点
    • 传输介质不同
    • 载波检测方式不同
    • 目的不同

3.6 局域网

3.6.1 局域网基本概念和体系结构

局域网

简称LAN,是指在某一区域内由多态计算机互联成的计算机组,使用广播信道

  • 特点:
    • 覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一坐或集中的建筑群内
    • 使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高(10Mb/s~10Gb/s)。
    • 通信延迟时间短。误码率低,可靠性较高。
    • 各站为平等关系,共享传输信道。
    • 多采用分布式控制和广播式通信,能够进行广播和组播。

决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。

局域网拓扑结构

  • 星型拓扑
  • 总线型拓扑
  • 环型拓扑
  • 树型拓扑

局域网传输介质

  • 有线局域网
    • 双绞线
    • 同轴电缆
    • 光纤
  • 无线局域网
    • 电磁波
    • 微博
    • 激光

局域网介质访问控制方法

  1. CSMA/CD
    • 常用于总线型局域网,也用于树型网络
  2. 令牌总线
    • 常用于总线型局域网,也用于树型网络
    • 逻辑环
  3. 令牌环
    • 用于环形局域网
    • 物理拓扑可能是星型的

局域网的分类

  1. 以太网
    • 以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以太网(100Mbps)、千兆以太网(1000Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD
  2. 令牌环网
    • 物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。
  3. FDDI网
    • 物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。
  4. ATM网
    • 较新型的单元交换技术,使用53字节固定长度的单元进行交换。
  5. 无线局域网
    • 采用IEEE 802.11标准

IEEE 802标准

  • IEEE 802.3-以太网介质访问控制协议及物理层技术规范
  • IEEE 802.5-令牌环网的介质访问控制协议及物理层技术规范
  • IEEE 802.8-光纤技术咨询组,提供有关光纤联网的技术咨询
  • IEEE 802.11-无线局域网的介质访问控制协议及物理层技术规范

MAC子层和LLC子层

IEEE 802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路层LLC子层和介质访问控制MAC层。

LLC负责识别网络层协议,然后对他们进行封装。LLC报头告诉数据链路层一旦帧被接收到时,应当对数据包做何处理。为网络层提供服务:无确认无连接、面向连接、带确认无连接、高速传输。

MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。

3.6.2 以太网

以太网概述

以太网指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网使用CSMA/CD(载波监听多路访问及冲突检测)技术。

  • 以太网在局域网各种技术中占统治性低位:
  1. 造价低廉(以太网网卡不到100块);
  2. 是应用最广泛的局域网技术;
  3. 比令牌环网、ATM网便宜,简单;
  4. 满足网络速率要求:10Mb/s-10Hb/s

以太网两个标准

DIX Ethernet V2:第一个局域网产品(以太网)规约。

IEEE 802.3:IEEE 802委员会802.3工作组制定的第一个IEEE的以太网标准。(帧格式有一丢丢改动)

以太网提供无连接、不可靠的服务

  • 无连接:发送方和接收方之间无“握手过程”。
  • 不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。

以太网只实现无差错接收,不实现可靠传输。

以太网传输介质与拓扑结构的发展

粗同轴电缆->细同轴电缆->双绞线+集线器

总线型->集线器星型

使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议。

以太网拓扑:逻辑上总线型,物理上星型。

10BASE-T以太网

10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采用的是无屏蔽双绞线(UTP),传输速率是10Mb/s。

物理上采用星型结构,逻辑上总线型,每段双绞线最长为1000m。

采用曼彻斯特编码。

采用CSMA/CD介质介质访问控制。

适配器与MAC地址

计算机与外界有局域网的连接是通过通信适配器的。

  • 网络接口板
  • 网络接口卡NIC(Network Interface Card)
  • 现在,不再使用单独网卡。
  • 适配器上装有处理器和存储器(包括RAM和ROM)
  • ROM上有计算机硬件地址MAC地址

在局域网中,硬件地址又称为物理地址,或MAC地址。【实际上是标识符】

MAC地址:每个适配器有一个全球唯一的48位二进制地址,前24位代表厂家(由IEEE规定),后24位厂家自己指定。常用6个十六进制数表示,如02-60-8c-e4-b1-21.

可以通过MAC地址查生产厂商,可以用来鉴别苹果是不是正品。

以太网MAC帧

最常用的MAC帧是以太网V2的格式

数据的范围是46-1500字节。

  • 与IEEE 802.3的区别:
    1. 第三个字段时长度/类型
    2. 当长度/类型字段值小于0x0600时,数据字段必须装入LLC子层。

高速以太网

速率>=100Mb/s的以太网称为高速以太网。

  1. 100BASE-T以太网
    • 在双绞线上传送100Mb/s基带信号星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。支持全双工半双工,可以在全双工方式下工作而无冲突。
  2. 吉比特以太网
    • 光纤或双绞线上传送1Gb/s信号
    • 支持全双工半双工,可在全双工方式下工作而无冲突。
  3. 10吉比特
    • 10吉比特以太网在光纤上传送10Gb/s信号。
    • 只支持全双工,无争用问题。

3.6.3 无线局域网

IEEE 802.11

IEEE802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准

802.11的MAC帧头格式

  • 地址1:RA接收端
  • 地址2:TA发送端
  • 地址3:目的地址
  • 地址4:SA源地址

无线局域网的分类

  1. 有固定基础设施无线局域网
  2. 无固定基础设施无线局域网的自组织网络

3.6.4 CSMA/CD协议

载波监听多点接入/碰撞检测CSMA/CD(carrier sense multiple access with collision detection)

CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。

MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上,总线型网络。

CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。半双工网络

为什么先听后发还会冲突?

因为电磁波在总线上总是以有限的速率传播,

传播时延对载波监听的影响

最多是两倍的总线端到端的传播时延(2τ)

总线的端到端往返传播时延

争用期/冲突窗口/碰撞窗口

只要经过2τ时间还没有检测到碰撞,就肯定这次发送不会发生碰撞。

如何确定碰撞后的重传时机

  • 截断二进制指数规避算法
    1. 确定基本退避(推迟)时间为争用期2τ
    2. 定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
    3. 从离散的整数集合[0,1,……,2^K-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2rτ。
    4. 当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。

若连续多次发生冲突,就表明可能有较多的站参与争用信道。使用此算法可使重传需要推迟的平均时间随重传次数的增大而增大,因而减小发生碰撞的概率,有利于整个系统的稳定。

最小帧长问题

帧的传输时延至少要两倍于信号在总线中的传输时延

最小帧长 = 总线传播时延X数据传输速率X2

2τ X 数据传输速率

以太网规定2τ=51.2μs,对于10Mb/s的以太网,最短帧长=64B

以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。

3.7 PPP协议和HDLC协议

广域网

广域网(WAN),通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个州并能提供远距离通信,形成国际性的远程网络。

广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网是世界范围内最大的广域网。

PPP协议

点对点协议PPP是目前使用最广泛的数据层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。

只支持全双工链路

PPP协议应满足的要求

  • 简单
    • 对于链路层的帧,无需纠错,无需序号,无需流量控制
  • 封装成帧
    • 帧定界符
  • 透明传输
    • 与帧定界符一样比特组合的数据应该如何处理:异步线路用字节填充,同步线路用比特填充。
  • 多种网络层协议
    • 封装的IP数据报可以采用多种协议
  • 多种类型链路
    • 串行/并行,同步/异步,电/光……
  • 差错检测
    • 错就丢弃。
  • 检测连接状态
    • 链路是否正常工作
  • 最大传输单元
    • 数据部分最大长度MTU。
  • 网络层地址协商
    • 知道通信双方的网络层地址。
  • 数据压缩协商

PPP协议无需满足的要求

  • 纠错
  • 流量控制
  • 序号
  • 不支持多点线路

PPP协议的三个组成部分

  1. 一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。
  2. 链路控制协议LCP:建立并维护数据链路连接。身份验证
  3. 网络控制协议NCP:PPP可支持多种网络层协议,每个不同的网络层协议都要一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。

HDLC协议

高级数据链路控制,是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织根据IBM公司的SDLC协议扩展开发而成的。

数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现。

采用全双工通信。

所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高。

HDLC的站

  1. 主站
    • 发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
  2. 从站
    • 从站的主要功能是接收由主站发来的命令帧,由主站发送响应帧,并且配合主站参与差错恢复等链路控制。
  3. 复合站
    • 复合站的主要功能是既能发送,又能接收命令帧和相应帧,并且负责整个链路的控制。
  • 三种数据的操作方式:
    1. 正常响应方式
    2. 异步平衡方式
    3. 异步响应方式

HDLC的帧格式

  1. 信息帧(I)第一位用0,用来传输数据信息,或使用捎带技术对数据进行确认。
  2. 监督帧(S)10,用于流量控制和差错控制,执行对信息帧的确认、请求重发和请求暂停发送等功能。
  3. 无编号帧(U)111用于提供对链路的建立、拆除等多种控制功能。

无奸细

PPP协议&HDLC协议

HDLC、PPP只支持全双工链路。

都可以实现透明传输

都可以实现差错检测,但不纠正差错

PPP协议是面向字节的,HDLC协议是面向比特的。

PPP协议无序号和确认机制,HDLC协议有编号和确认机制。

PPP协议不可靠,HDLC协议可靠

3.8 链路层设备

物理层扩展以太网

链路层扩展以太网

网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后在确定将该帧转发到哪一个接口,或者把它丢弃(即过滤)。

网段:一般指一个计算机网络中使用同一物理设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。

  • 网桥优点
    1. 过滤通信量,增大吞吐量
    2. 扩大了物理传输范围
    3. 提高了可靠性
    4. 可互联不同物理层、不同MAC子层和不同速率的以太网。

网桥分类——透明网桥

透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备——自学习。

网桥分类——源路由网桥

源路由网桥:在发送帧时,吧详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。

方法:源站以广播方式向欲通信的目的站发送一个发现帧

多接口网桥——以太网交换机

独占媒体带宽

以太网交换机的两种交换方式

  • 直通式交换机
    • 查完目的地址(6B)就立刻转发
    • 延迟小,可靠性低,无法支持具有不同速率的端口的交换
  • 存储转发式交换机
    • 将帧放入高速缓存,并检查是否正确,正确则转发,错误则丢弃。
    • 延迟大,可靠性高,可以支持具有不同速率的端口的交换。

冲突域和广播域

冲突域:在同一个冲突域中的每一个结点都能收到所有被发送的帧。简单的说就是同一时间内只能有一台设备发送信息的范围。

广播域:网络中能接收任意设备发出的广播帧的所有设备的集合。简单的说如果站点发出一个广播信号,所有能接收到这个信号的设备范围称为一个广播域.

第4章——网络层

4.1 网络层的功能

4.1.1 网络层功能概述

主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报

  • 功能一:路由选择与分组转发
    • 最佳路径
  • 功能二:异构网络互连
  • 功能三:拥塞控制
    • 若所有结点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定措施,缓解这种拥塞。
      • 开环控制(静态)
      • 闭环控制(动态)

4.1.2 电路交换、报文交换与分组交换

  1. 电路交换
    • 电话网络
    • 建立连接->通信->释放连接
    • 独占资源
    • 优点:
      • 通信时延小
      • 有序传输
      • 没有冲突
      • 实时性强
    • 缺点:
      • 建立连接时间长
      • 线路独占,使用效率低
      • 灵活性差
      • 无差错控制能力
  2. 报文交换
    • 报文:源应用发送的信息整体
    • 优点:
      • 无需建立连接
      • 存储转发,动态分配线路
      • 线路可靠性较高
      • 线路利用率较高
      • 多目标服务
    • 缺点:
      • 有存储转发时延
      • 报文大小不定,需要网络结点有较大缓存空间
  3. 分组交换
    • 分组:把大的数据块分隔成小的数据块
    • 优点:
      • 无需建立连接
      • 存储转发,动态分配线路
      • 线路可靠性较高
      • 线路利用率较高
      • 相对于报文交换,存储管理更容易
    • 缺点:
      • 有存储转发时延
      • 需要传输额外的信息量
      • 乱序到目的主机时,要对分组排序重组

计算题中要注意的几点:

  1. 单位换算 1B=8b
  2. 是否考虑传播延迟
  3. 时间至少是多少——选择最少跳数
  4. 起始时间
  5. 是否有分组头部大小的开销
  6. 报文交换时延更长,分组交换时延可能不是整数

总结

  1. 报文交换和分组交换都采用存储转发
  2. 传送数据量大,且传送时间远大于呼叫时,选择电路交换。电路交换传输时延最小。
  3. 从信道利用率看,报文交换和分组交换优于电路交换,其中分组交换时延更小。

4.1.3 数据报与虚电路

  • 数据报方式为网络层提供无连接服务

  • 虚电路方式为网络层提供连接服务

  • 无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。

  • 连接服务:首先为分子的传输确定传输路径(建立连接),然后烟该路径(连接)传输系列分组,系列分子传输路径相同,传输结束后超出连接。

几种传输单元名词辨析

  • 应用层:报文
  • 传输层:报文段
  • 网络层:IP数据报,并在IP数据报过大时进行切割,形成分组。包含IP源地址和目的地址
  • 数据链路层:帧。加头加尾
  • 物理层:比特流

数据报

无连接

每个分组携带源和目的地址

路由器根据分组的目的地址转发分组:基于路由协议/算法构建转发表;检索转发表;每个分组独立选路。

虚电路

虚电路将数据报方式和电路交换方式结合,以发挥两者优点。

虚电路:一张源主机到目的主机类似于网络的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路信息。

  1. 建立连接(虚电路建立)
    • 每个分组携带虚电路号,而非目的地址。源主机发送“呼叫请求”分组并收到“呼叫应答”分组后才算建立连接。
  2. 数据传输
    • 全双工通信
  3. 释放连接(虚电路释放)
    • 源主机发送“释放请求”分组以拆除虚电路。

4.2 路由算法与路由协议概述

路由算法

最佳路由:“最佳”只能是相对于某一特定要求下的出的较为合理的选择而已。

路由算法分类

  • 静态路由算法

    • 非自适应路由算法
    • 管理员手工配置路由信息
    • 简单、可靠,在复合稳定、拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。
    • 路由更新慢,不适用于大型网络
  • 动态路由算法

    • 自适应路由算法
    • 路由器之间彼此交换信息,按照路由算法优化出路由表项
    • 路由更新快,使用大型网络,及时响应链路费用或网络拓扑变化。
    • 算法复杂,增加网络负担。
  • 动态路由算法

    • 全局性
      • 链路状态路由算法 OSPF
      • 所有路由器掌握完整的网络拓扑和链路费用信息。
    • 分散性
      • 距离向量算法 RIP
      • 路由器只掌握物理相连的邻居及路由费用。

分层次的路由选择协议

  1. 因特网规模很大
  2. 许多单位不想让外界知道自己的路由选择协议,但还想炼乳因特网

自制系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由协议和共同的度量以确定分组在该AS内的路由,同时还是用一种AS之间的路由协议以确定在AS之间的路由

一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。

  • 路由选择协议
    • 内部网关协议IGP
      • RIP、OSPF
    • 外部网关协议EGP
      • BGP

4.3 IPv4

4.3.1 IP数据报格式

TCP/IP协议栈

4.3.2 IP数据报分片

数据链路帧可封装数据的上限。

以太网的MTU是1500字节。

超过了1500字节就要分片。

  • 中间位DF:
    • DF = 1,禁止分片
    • DF = 0,允许分片
  • 最低位MF:
    • MF = 1,后面“还有分片”
    • MF = 0,代表最后一片了,后面没有分片

片偏移:指出较长分组分片后,某片以原分组中的相对位置,以8B为单位。

除了最后一个片,每个分片长度一定是8B的整数倍。

4.3.3 IPv4地址

IP编址的历史阶段

  • 分类的IP地址
  • 子网的划分
  • 构成超网

分类的IP地址

IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口

IP地址::={<网络号>,<主机号>}

  • A类:第一个字节是网络号,第一位是0
  • B类:前两个字节是网络号,开头是10
  • C类:前三个字节是网络号,前三位是110
  • D类:多播地址,前四位是1110
  • E类:保留为今后使用

私有IP地址

其实就是内网IP地址==、

4.3.4 网络地址转化NAT

路由器对目的地址是私有IP地址的数据报一律不进行转发

网络地址转换NAT:在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。

路由器中存在一个NAT转换表。使用端口号对应网内终端。

4.3.5 子网划分与子网掩码

  • 分类的IP地址的缺点:
    • IP地址空间的利用率有时很低
    • 两级IP地址不够灵活

子网划分

某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。

子网号能否全0全1要看情况

主机号不能全0或全1

子网掩码

只要是网络号就全1,主机号就全0

子网掩码与IP地址诸位相与,就得到子网网络地址。

使用子网时分组的转发

  • 路由表中:

    1. 目的网路地址
    2. 目的网络子网掩码
    3. 下一跳地址
  • 路由器转发分组算法

    1. 提取目的IP地址
    2. 是否直接交付
    3. 特定主机路由
    4. 检测路由表中有无路径
    5. 默认路由0.0.0.0

4.3.6 无分类标志CIDR

  • 无分类域间路由选择CIDR:
    1. 消除了传统的A类,B类和C类以及划分子网的概念
      1. CIDR记法:IP地址后加上/,然后写上网络前缀(可以任意长度)的位数。
    2. 融合子网地址与子网掩码,方便子网划分
      1. CIDR吧网络前缀都相同的联系的IP地址组成一个CIDR地址块
      2. 不能指派最小地址和最大地址

构成超网

将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。

方法:将网络前缀缩短

最长前缀匹配

使用CIDR时,查找路由表可能得到几个匹配结果,应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。

4.3.7 ARP协议

IP地址与MAC地址的映射

广播ARP请求分组

交换机没有MAC地址

ARP协议

由于在实际网络的链路上传送数据帧时,最终必需使用MAC地址。

ARP协议:完成主机或路由器IP地址MAC地址的映射——解决下一跳走哪的问题。

ARP协议使用过程:检查ARO高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机的收到该请求后回想源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。

  • ARP协议4中典型情况:
    1. 主机A发给本网络上的主机B:用ARO找到主机B的硬件地址;
    2. 主机A发送给另一网络上的主机B:用ARP找到本网络上的一个路由器(网关)的硬件地址;
    3. 路由器发给本网络的主机A:用ARP找到主机A的硬件地址;
    4. 路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。

ARP协议是自动进行的。

4.3.8 DHCP协议

  • 主机如何获得IP地址?
    • 静态配置
      • IP地址
      • 子网掩码
      • 默认网关
    • 动态配置

DHCP协议

动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址复用,支持移动用户加入网络,支持在用地址续租

  1. 主机广播DHCP发现报文
    • 试图找到网络中的服务器,服务器获得一个IP地址。
  2. DHCP服务器广播DHCP提供报文
    • 服务器拟分配给主机一个IP地址及相关配置,先到先得。
  3. 主机广播DHCP请求报文
    • 主机向服务器请求提供IP地址
  4. DHCP服务器广播DHCP确认报文
    • 正式将IP地址分配给主机

4.3.9 ICMP协议

网际控制报文协议ICMP

  • ICMP协议支持主机或路由器:
    • 差错(或异常)报告 ->发送特定ICMP报文
    • 网络探寻

ICMP差错报告报文

  1. 终点不可达:当路由器或主机不能交付数据报时就向源点发送重点不可达报文。
  2. 源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
  3. 时间超时:当路由器收到生存时间TTL=0的数据报时,出丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。
  4. 参数问题:当路由器或目的主机收到的数据包的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。
  5. 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应该将数据报发送给另外的路由器(可通过更好的路由)。

不应发送ICMP差错报文的情况

  1. 对ICMP差错报告报文不再发送ICMP差错报告报文。
  2. 对第一个分片的数据报文的所有后续数据报片都不发送ICMP差错报告报文。
  3. 对具有组播的数据报都不发送CIMP差错报告报文。
  4. 对具有特殊地址的数据包不发送ICMP差错报告报文

ICMP询问报文

  1. 回送请求和回答报文
    • 主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP会送回答报文。
    • 测试目的站是否科大以及了解其相关状态。
  2. 时间戳请求和回答报文
    • 请某个主机或路由器回答当前的日期和时间
    • 用来进行时钟同步和测量时间
  3. 掩码地址请求和回答报文
    • 不再使用了
  4. 路由器询问和通告报文
    • 不再使用了
  • PING
    • 测试两个主机之间的连通性,使用了ICMP回送请求和回答报文
  • Traceroute
    • 跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。

4.4 IPv6

从根本上解决地址耗尽问题

改进首部格式

快速处理/转发数据报

支持QoS

IPv6数据报格式

IPv6和IPv4

  1. IPv6将地址从32位扩大到128位,更大的地址空间
  2. IPv6将IPv4的校验和字段彻底移除,一间小每跳的处理时间。
  3. IPv6将IPv4的可选字段移除首部,变成了扩展首部,称为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
  4. IPv6支持即插即用,不需要DHCP协议
  5. IPv6首部长度必须是8B的整数,IPv4首部是4B的整数倍
  6. IPv6只能在主机处切片,IPv4可以在路由器和主机处分片
  7. ICMPv6:附加报文类型“分组过大”
  8. IPv6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用。
  9. IPv6取消了协议字段,改成下一个首部字段
  10. IPv6取消了总长度字段,改用有效载荷长度字段
  11. IPv6取消了服务类型字段

IPv6地址表示形式

  • 一般形式:冒号十六进制记法
  • 压缩形式:合零删零
  • 零压缩:一连串连续的0可以被一堆冒号取代

IPv6基本地址类型

  • 单播:
    • 一对一通信
    • 可做源地址+目的地址
  • 多播
    • 一对多通信
    • 可做目的地址
  • 任播
    • 一对多中的一个通信
    • 可做目的地址

IPv6向IPv4过渡的策略

  • 双栈协议
    • 同时启用IPv4协议栈和IPv6协议栈
  • 隧道技术
    • 通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。

4.5 路由协议

4.5.1 RIP协议与距离向量算法

RIP协议

RIP是一种分布式基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单

RIP协议要求网络中每一个路由器都维护从他自己到其他每一个目的网络的唯一最佳距离(即一组距离)。

距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1.特别的,从已路由器到直接连接的网络距离为1.RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。

RIP协议指适用于小互联网。

RIP协议和谁交换?多久交换一次?交换什么?

  1. 仅和相邻路由器交换信息
  2. 路由器交换的信息是自己的路由表
  3. 没30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己的路由表。

路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也之和数目非常有限的相邻路由器交换并更新路由信息。

经过若干次更新后,所有路由器最终都会知道到达本自制系统任何一个网络的最短距离和下一跳路由器的肚地址,即“收敛”

距离向量算法

  1. 修改相邻路路由器发来的RIP报文中所有表项。
    • 对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”+1。
  2. 对修改后的RIP报文中的每一项目,进行以下步骤
    1. R1路由表中若没有Net3,则把该项目填入R1路由表
    2. R1路由器中若有Net3,则查看下一跳路由器地址
      1. 若下一跳是X,则用收到的羡慕低缓源路由表中的项目;
      2. 若下一跳不是X,原来距离比X走的距离远则更新,否则不作处理
  3. 若180s还没收到相邻路由器X的更新路由表,则把X记为不可达的路由器,即把距离设置为16
  4. 返回

RIP协议好消息传得快,坏消息传的慢

RIP的特点:当网络层出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器。“慢收敛”。

4.5.2 OSPF协议与链路状态算法

开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的:“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。

OSPF最主要的特征就是使用分布式的链路状态协议。

  • OSPF的特点:
    • 使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个路由器又再次将此信息发往其所有的相邻路由器。最终整个区域内所有路由器都得到了这个信息的一个副本。
    • 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及链路的度量/代价——费用、距离、时延、带宽等)。
    • 只有当链路发生变化时,路由器才向所有路由器泛洪发送此信息。
    • 最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。

链路状态路由算法

  1. 每个路由器发现它的邻居结点【HELLO问候分组】,并了解节点的网络地址。
  2. 设置到它的每个邻居的成本低量metric。
  3. 构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状项目的摘要信息。
  4. 如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息。
  5. 收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新。
  6. 更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。
  7. 使用Dijkstra根据自己的链路状态数据库构造到其他结点间的最短路径。
  • 只要一个路由器的链路状态发生变化:
  1. 泛洪法送【LSU链路状态更新分组】进行更新。
  2. 更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。

OSPF的区域

为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。

每一个区域都有一个32位的区域标识符(用点分十进制表示)。

区域也不能太大,在一个区域内的路由器最好不超过200个。

OSPF分组

OSPF直接用IP数据报传送

OSPF其他特点

  1. 每隔30min,要刷新一次数据库中的链路状态
  2. 由于一个路由器的链路状态值设计到与相邻漏气的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多。
  3. OSPF不存在坏消息传的慢的问题,它的收敛速度很快

4.5.3 BGP协议

  • 和谁交换:与其他AS的邻站BGP发言人交换信息。
  • 交换什么:交换网络可达性的信息,即要到达某个网络所要经过的一系列AS。
  • 多久交换:发生变化时更新有变化的部分。

BGP协议交换信息的过程

BGO所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。

BGP协议报文格式

一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后再次连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息。

BGP是应用层协议,借助TCP传送。

BGP协议特点

BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

在BUG刚刚运行时,BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减小路由器的处理开销都有好处。

BGP-4的四种报文

  1. OPEN(打开)报文:用来与相邻的另一个BGO发言人建立关系,并认证发送方。
  2. UPDATE(更新)报文:通告新路径或撤销原路径。
  3. KEEPALIVE(保活)报文:在无UPDATE时,周期性正式邻站的连通性;也作为OPEN的确认。
  4. NOTIFICATION(通知)报文:报告先前报文的差错;也被用于关闭连接。

三种路由协议比较

RIP是一种分布式的基于距离向量的内部网关路由选择协议,通过广播UDP报文来交换路由信息。

OSPF是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。

BGP是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用TCP。

4.6 IP组播

IP数据报的三种传输方式

  • 单播
    • 单播用于发送数据包到单个目的地址,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式。
  • 广播
    • 广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点的传输方式。
  • 组播(多播)
    • 当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播发送树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输。

IP组播地址

IP组播地址让源设备能够分组发送给一组设备。属于多播组的设备将被分配一个组播IP地址(一群共同需求主机的相同标识)。

组播地址范围为224.0.0.0~239.255.255.255,一个D类地址表示一个组播组。只能用作分组的目的地址。源地址总是为单播地址。

  1. 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
  2. 对组播数据报不产生ICMP差错报文。
  3. 并非所有D类地址都可以作为组播地址。

硬件组播

同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。

收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。

IGMP协议与组播路由选择协议

网际组管理协议IGMP

IGMP协议让路由器知道本局域网上**是否有主机(的进程)**参加或退出了某个组播组。

ICMP和IGMP都使用IP数据报传递报文。

IGMP工作的两个阶段

某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员。

本地组播服务器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。

本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。

只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果胫骨哦几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不会把这组的成员关系发送给其他的组播路由器。

组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。

组播路由选择协议

组播路由选择协议的目的是找出以源主机为根节点的组播转发树。

构造树可以避免在路由器之间兜圈子。

对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。

  • 组播路由选择协议常使用的三种算法
    • 基于链路状态的路由选择
    • 基于距离-向量的路由选择
    • 协议无关的组播(稀疏/密集)

4.7 移动IP

移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

移动结点:具有永久IP地址的移动设备

归属代理(本地代理):一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。

外部代理(外地代理):在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。

永久地址(归属地址/主地址):移动站点在归属网络中的原始地址。

转交地址(辅地址):移动站点在外部网络使用的临时地址。

4.8 网络层设备

路由器

路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。

根据选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。

交换结构:根据转发表对分组进行转发

若收到RIP/OSPF分组等,则把分组送往路由选择处理机;若收到数据分组,则查找转发表并输出。

输入端口对线路上收到的分组处理

输入端口中的查找和转发功能在路由器的交换功能中是最重要的

输出端口将交换结构传送来的分组发送到线路

若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。

路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。

三层设备的区别

  • 路由器:可以互连两个不同网络层协议的网段
  • 网桥:可以互联两个物理层和链路层不同的设备
  • 集线器:不能互连两个物理层不同的网段。

路由表与路由转发

路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。

转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必须的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。

第5章——传输层

5.1 传输层概述

只有主机才有的层次

为应用层提供通信服务,使用网络层的服务

  • 传输层的功能:
    • 传输层提供进程和进程之间的逻辑通信
      • 网络层提供主机和主机之间的逻辑通信
    • 复用和分用
    • 传输层对收到的报文进行差错检测
    • 传输层的两种协议

传输层的两个协议

  1. TCP
    • 面向连接的传输控制协议
    • 可靠传输
    • 传送数据之前必须建立连接,数据传送结束后释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。
    • 可靠,面向连接,饰演大,适用于大文件
  2. UDP
    • 无连接的用户数据报协议
    • 传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认
    • 不可靠。无连接,时延小,适用于小文件

传输层的寻址与端口

  • 复用:应用层所有的应用进程都可以通过传输层再传输到网络层
  • 分用:传输层从网络层收到数据后交付指明的应用进程。

端口:是传输层的SAP,标识主机中的应用进程

逻辑端口/软件端口

端口号只在本地有意义,在因特网中不同计算机的相同端口是没有联系的

端口号长度为16bit,能表示65535个不同的端口号。

  • 端口号
    • 服务端端口号
      • 熟知端口号(0-1023)
        • 给TCP/IP最重要的一些应用程序,让所有用户都知道。
      • 登记端口号(1024-49151)
        • 为没有熟知端口号的应用程序使用的。
    • 客户端使用的端口号(49152-65535)
      • 仅在客户进程运行时才动态选择

在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。

5.2 UDP协议

用户数据报协议UDP概述

UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。

  • UDP的主要特点:
    • 无连接,减小了开销和时延
    • 不可靠交付
    • 面向报文的,适合一次性传输少量数据的网络应用
    • UDP无拥塞控制,适合很多实时应用。
    • UDP首部开销小,8B,TCP80B

流:流入到进程或从进程流出的字节序列。

应用层给UDP多长的报文,UDP就照样发送,即一次发一整个报文。

UDP校验

伪首部:只有在计算机校验和时才出现,不向下传送也不向上递交。

  • 在发送端
    1. 填上伪首部
    2. 全0填充检验和字段
    3. 全0填充数据部分
    4. 伪首部+首部+数据部分采用二进制反码求和
    5. 把和求反码填入检验和字段
    6. 去掉伪首部,发送。
  • 在接收端:
    1. 填上伪首部
    2. 伪首部+首部+数据部分采用二进制反码求和
    3. 结果全为1则无差错,否则丢弃数据/交给应用程序附上差错的警告

5.3 TCP协议

5.3.1 TCP协议特点和TCP报文段格式

TCP协议的特点

  1. TCP是面向连接(虚连接)的传输层协议
  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
  3. TCP提供可靠交付的服务,无差错,不丢失,不重复。按序到达
  4. TCP提供全双工通信
    1. 发送缓存:准备发送的数据&已发送但尚未收到确认的数据
    2. 接收缓存:按序到达但没有被接受应用程序读取的数据&不按序到达的数据
  5. TCP面向字节流:TCP吧应用程序交小来的数据看成仅仅是一连串的无结构的字节流

TCP报文段首部格式

  • 六个控制位
    • 紧急位URG
    • 确认位ACK
    • 推送位PSH
    • 复位RST
    • 同步位SYN
    • 终止位FIN

5.3.2 TCP连接管理

TCP连接传输三个阶段:连接建立->数据传送->连接释放

TCP连接的建立采用客户服务器方式,主动发起连接建立的应用程序叫做客户,而被动等待连接建立的应用程序交服务器。

TCP的连接建立

  1. 客户端发送连接请求报文段,无应用层数据。
  2. 服务器为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。
  3. 客户端为该TCP连接分配缓存和变量,并向服务器端返回确认的确认,可以携带数据。

SYN洪泛攻击

SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后。该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器就收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。

TCP的连接释放

参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的“资源”(缓存和变量)将被释放。

  1. 客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。
  2. 服务器端回送一个确认报文段,客户到服务器这个方向的连接就释放了。——半关闭状态。
  3. 服务器端发完数据,就发出连接释放报文段,主动关闭TCP连接。
  4. 客户端回送一个确认报文段,在等到时间等待计时器设置的2MSL(最长报文段寿命)后,连接彻底关闭

5.3.3 TCP可靠传输

可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一致的。

序号

一个字节占一个序号

序号字段指的是一个报文段第一个字节的序号。

确认

重传

确认重传不分家。TCP的发送方在规定的时间内没有收到确认就要重传以发送的报文段

TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间)

  • 冗余ACK(冗余确认)
    • 每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。

5.3.4 TCP流量控制

流量控制:让发送方慢点要让接收方来得及接收。

TCP利用滑动窗口机制实现流量控制。

在通信过程中,接收方根据自己接收魂村的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。

TCP为每一个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。

若持续计时器设置的时间到期,就发送一个零窗口探测报文段。接收方收到探测报文段时给出现在的窗口值。

若窗口仍然是0,那么发送方就重新设置持续计时器。

5.3.5 TCP拥塞控制

出现拥塞的条件:对资源需求的总和>可用资源

拥塞控制四种算法

  • 慢开始

  • 拥塞避免

  • 快重传

  • 快恢复

  • 假定

    1. 数据单方向传送,而另一个方向只传送确认
    2. 接收方总是有足够大的缓存空间,因而发送窗口大小取决于拥塞程度
    • 发送窗口 = Min{接收窗口rwnd,拥塞窗口cwnd}

接收窗口:接收方根据接受缓存设置的值,并告知给发送方,反应接收方容量。

拥塞窗口:发送方根据自己估算的网络拥塞程度而设置的窗口值,反应网络当前容量

慢开始和拥塞避免

  • 慢开始:指数级增长
    • 一个传输轮次:发送了一批报文段并收到它们的确认时间
    • 一个往返时延RTT
    • 开始发送一批拥塞窗口内的报文段到开始发送下一批拥塞窗口内的报文段的时间。
  • 拥塞避免:发生拥塞后,发送窗口调至一,重新慢开始直到达到拥塞窗口的一半后使用加法增大

快重传和快恢复

  • 收到3个重复的确认执行快重传算法
  • 从拥塞窗口一半的数量进行拥塞避免加法增大。

第6章——应用层

6.1 网络应用模型

应用层概述

应用层对应用程序的通信提供服务。

  • 应用层协议定义:

    • 应用程序交换的报文类型,请求还是响应?
    • 各种报文类型的语法,如报文中的各个字段及其详细描述。
    • 字段的语义,即包含在字段中的信息的含义。
    • 进程何时、如何发送报文,以及对报文进行响应的规则。
  • 应用层的功能:

    • 文件传输、访问和管理
    • 电子邮件
    • 虚拟终端
    • 查询服务和远程作业登录
  • 应用层的重要协议:

    • FTP
    • SMTP、POP3
    • HTTP
    • DNS

网络应用模型

  • C/S
    • S:
      • 提供计算机服务的设备
      1. 永久提供服务
      2. 永久性访问地址/域名
    • C:
      • 请求计算服务的主机
      1. 与服务器通信,使用服务器提供的服务
      2. 间歇性接入网络
      3. 可能使用动态IP地址
      4. 不予其他客户机直接通信
  • P2P
    • 不存在永远在线的服务器
    • 每个主机既可以提供服务,也可以请求服务
    • 任意端系统/结点之间可以直接通讯
    • 节点间歇性接入网络
    • 节点可能改变IP地址
    • 可扩展性好
    • 网络健壮性强

6.2 DNS解析系统

  • 顶级域名

    • 国际顶级域名
    • 通用顶级域名
    • 基础结构域名/反向域名
  • 二级域名

    • 类别域名
    • 行政区域名
  • 域名服务器

    • 根域名服务器
    • 顶级域名服务器
      • 管理该顶级域名服务器注册的所有二级域名
    • 权限域名服务器
      • 负责一个区的域名服务器
    • 本地域名服务器
      • 当一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器。
  • 递归查询

  • 迭代查询

6.3 文件传送协议FTP

  • 文件传送协议FTP

    • 提供不同种类主机系统(硬、软件体系等都可以不同)之间文件传输能力
  • 简单文件传送协议TFTP

  • TCP控制连接端口21

    • 控制连接始终保持
  • TCP数据连接端口20

    • 数据连接保持一会

是否使用TCP 20端口建立数据连接与传输模式有关

主动方式使用TCP 20端口

被动方式由服务器和客户端自行协商决定

  • FTP传输模式
    • 文本模式:ASCII模式,以文本序列传输数据;
    • 二进制模式:Binary模式,以二进制序列传输数据

6.4 电子邮件

简单邮件传送协议SMTP

SMTP规定在两个相互通信的SMTP进程之间应如何交换信息

负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器

SMTP规定了14条命令(几个字母)和21种应答信息(三位数字+简单文字说明)

建立在TCP连接上的,端口号25.C/S

  • SMTP通信三个阶段

    • 连接建立
    • 邮件传送
    • 连接释放
  • SMTP的缺点:

    1. SMTP不能传送可执行文件或其他二进制文件
    2. SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字
    3. SMTP服务器会拒绝超过一定长度的邮件

通用因特网邮件扩充MIME:是电子邮件系统可以支持声音、图像、视频、多种国家语言等等。

邮局协议POP3

TCP连接,端口号110,C/S

  • 工作方式
    • 下载并保留
    • 下载并删除

网际报文存取协议IMAP

IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。

IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WIFI的时候在下载附件)。

6.5 万维网和HTTP协议

万维网概述

万维网WW是一个大规模的联机式的信息储藏所/资源空间,是无数个网络站点和网页的集合。

统一资源定位符URL

超文本传输协议HTTP

HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

  • 具体过程
    1. 浏览器分析URL
    2. 浏览器向DNS请求解析地址
    3. DNS解析出IP地址
    4. 浏览器与服务器建立TCP连接
    5. 浏览器发出取文件命令
    6. 服务器响应
    7. 释放TCP连接
    8. 浏览器显示

HTTP协议的特点

HTTP协议是无状态的

完结