第 109~132 题:计算机网络

📚 本文是 信息基础大赛(10.29 备赛)的第 7 篇,题目以截图为主、文字为点拨。 💡 本篇是题目截图 + 点拨式备赛笔记。要系统学透对应知识,配合:计算机网络总览

背景引入

(以下内容都是基于当前认知的片面理解 不一定完全正确 但看完之后 会思路清晰些)

(逐层递进 环环相扣的 跟着思路走)

早在计算机发明的初期 一台电脑是相当庞大且昂贵的 科学家们为了在计算机上执行自己的程序 往往需要预约排队 约到了 那这台电脑(或许用“座”形容更贴切)在这几个小时里就归该科学家使用 显然形成了一种供不应求

为改变这一困境 前前后后也做了些突破 比如批处理技术(将程序拷在磁带中 然后由管理员管理这些磁带 这样排队的就不是人 而是磁带了 科学家只需要隔段时间来取结果即可) 但治标不治本 还是效率很低

于是出现了分时系统 也就是常听说的并发 让多台计算机终端连接到同一台主机上 就好像每个人都独占了一台电脑似的(实际是共用) 这个突破很关键 让计算机进入到办公领域有了可能性(公司买一台电脑 所有员工连接这个主机 共用它)

可一旦进入了办公(商业)领域 就有新的问题出现 它有了更多的信息交换需求 嗯 怎么交换 用磁带拷贝粘贴吗 麻烦 如果能像在同一台计算机里面用总线传输信息就好了 那为什么不用通信线路把各个计算机连接起来呢???对 就是这样

用线路将主机与主机相连 又一个一样的问题出现了 多个任务同时要继续传输信息怎么办 又是串行和并行的问题 如果一个任务一个任务的完成 就太慢了 得用并发技术 在这里我们叫做分组交换

到这里 用什么连接的问题解决了 还顺带了一点怎么传输的问题

那么 连接后要做什么? 我哪知道你传输给我的东西是什么意思 比如我连了一条到美国的线 我能给美国人打电话 然后呢 我说中文 他说英文 语言不通 无法交流 我们必须得统一用一种语言 要么规定我用英文 要么规定他用中文 这就需要协议——规定双方的一系列行为

嗯 遵循相同协议才能进行通信 那遵循哪种协议? 你规定你的 我规定我的 谁都想当这个标准 然后就有个小丑组织ISO(国际标准化组织)站出来说别争了 甩出一个OSI(七层协议参考模型) 但实际上并没有被认可 现在让我们所熟知的应该是TCP/IP协议 (可以认为一个是理论标准 一个是业内标准 毕竟实践要大于理论)

关于这两个协议先不展开说 我们还不知道TCP/IP为什么就能被认可 关于它的历史是什么样的呢

就前面的分析 我们已经知道 可以将电脑与电脑连接起来 交换信息 时间来到美苏冷战时期 不是热战嘛 那就打信息战 破坏别人的信息链的同时 保障自己的信息链 不可能做到让别人破坏不了 那就想办法让损失缩小 如果A-C的连接被破坏了 我要是还有A-B-C、A-D-C……完全不影响A-C的通信就好了 对 建立一个庞大的连接网 网络的概念出现了

1969年美国国防部国防高级研究计划署(DOD/DARPA),资助建立 ARPANET(阿帕网)

而后在4所大学和研究所搭建研究深入 再然后 这个网不再局限于大学和研究机构 美国政府将运营权交给了私人公司 理所当然的这网越织越大(资本) 后发展成如今的internet网

在研究ARPANET的同时 当然就要考虑到前面所提到的协议问题 TCP/IP就是这段时间的产物 又因为当时UNIX操作系统独领风骚 它又支持TCP/IP协议 相得益彰下 internet越发被浮现到大众视野 (1983年TCP/IP协议成为ARPANET的标准协议 该年也被称为互联网诞生时间)

被时代造就是TCP/IP被选择的一个原因 它能被业界公认其实还在于它的开放性和实用性 实用就不说了 开放性? TCP/IP由IETF组织制定 这个组织是谁都可以加入的(如果你有实力 以后用你的规矩也说不定) 被确定的协议会被列入RFC文档 并在互联网公布 http://www.rfc-editor.org/rfc 这里提一嘴 org后缀表示的是非盈利组织

再往后扯一点 这个时候 网络已经不拘泥于军事了 对于一个庞大的知识共享库 谁不希望加入进去分一杯羹? 个人怎么连接到internet呢 商机出现 就有了专门提供互联网接入服务的公司ISP(这类公司的叫法 不是一家公司 像中国移动 联通 就都是ISP) 个人要从ISP处缴纳费用获得IP 才能实现接入互联网

与此同时(ISP接管因特网使其商业化)1994 年万维网www技术的出现 使得因特网更加迅猛发展

image293

由于ISP的介入 大致可以将因特网分成三层ISP结构

(不可能所有人都直接被顶层提供服务 肯定得逐层分解)

第一层ISP通常被称为因特网主干网 能覆盖国际性区域范围 拥有高速链路和交换设备 第一层ISP之间直接互联

第二层ISP和一些大公司都是第一层ISP的用户 通常具有区域性 与少数第一层ISP相连

第三层ISP又称作本地ISP 是第二层ISP的用户 且只具有本地范围的网络(校园网、住宅用户等 都是第三层ISP的用户)

然后如果某用户能接上因特网了 他也能为其他用户提供服务 这时候 他也变成了一个ISP 可见 在这样一个结构中 可以很方便的在因特网拓扑上增添新的层次和分支

怎么去理解这个计算机网络?

把它也当成是一个系统

一个利用通信线路和通信设备,将多个计算机的终端链接起来,并遵循一定的网络通信标准,以促进资源共享和信息传递的系统。

作用:

数据通信:数据可以在信道上进行传输 保证不同主机之间的连通性 (文档、邮件的传输)

资源共享:

硬件上的共享(打印机、传真机可以同时使用)

软件上的共享(特定的应用软件不一定要下载在主机就可以一起使用)

数据资源共享(百度文库 可以供大家下载)

分布式处理:多台计算机各自承担同一工作任务的不同部分(Hadoop平台)

提高可靠性:某台主机宕机会有替代机(另一条链路迂回到达)

负载均衡:计算机之间配合工作

image294 image295 image296 image297 image298 image299 image300 image301 image302 image303

协议概述

日常使用网络时 并不能察觉到协议的存在(说明它封装的很好)

但实际上 是它在背后发挥关键的作用

正如前面所举的例子 它规定着双方的交流规则 只有遵循系统的规则 才能通信

先以OSI模型为例:(它的价值当然更多的在于学术方面是吧)

分为七层(不是说简单的遵循一个协议就万事大吉 要实现信息交换 想想要通过哪些步骤?从本计算机的一个图片传到另一台计算机 我要传给谁 这么大的网我怎么找到对象 找到对象传什么? 图片不可能直接传吧 图片要转成代码形式 代码也不能直接传 还要变成01对应的高低电流 以电流的形式再进行传输 这里面要做的事情很多 而这些要做的事情可以封装好 成一层一层的样子 然后再每层使用相同的规则 (比如我是怎么编码0101的 你就该怎么解码 ……) 诸多规则 逐层对应)

image304

前面大概讲了为什么要分层 同写程序一样 将不同模块封装到一起 在对某部分作修改时 不会影响到其他部分 这就使得整个“系统”更具拓展性、灵活性 (去以实现者的角度思考计算机网络可能更有意思些 如果是我 我要考虑哪些问题 该怎么做)

另外 层次间是有关系的 同层之间叫做协议 上下层之间叫做接口

image305

那么大概解释一下七层各自的作用:

应用层:针对特定应用 比如说 QQ发的东西给QQ VX发的东西给VX

表示层:针对数据格式 你传的是文字还是图像还是声音?

会话层:针对通信连接 我要跟你对话 什么时候建立连接 连接多久

传输层:针对数据传输 我发给你的信息是否传到了 传到了的话是否完整

网络层:针对路由选择 这个网交错复杂 我的信息要走哪条线路传输到你那

数据链路层:针对数据表示 我所传送的文字、图像、声音要怎么变成比特流的形式

image306 image307

物理层:针对比特流传输 010101序列怎么编码(哈夫曼编码那讲过) 怎么变成电子信号 这个电子信号又要怎么传输 用什么材质的线

如果以开发者的角度看 这些事情就变得理所当然了

地址与设备 引入

说那么多有的没的 最关键的不还是怎么找到要连接的对象 你很能打吗 你能打有个屁用啊 “对象”都找不到(一语双关)

要找到这个对象 就得有个地址(就像是快递 你得填上一个能唯一标识自己位置的地址 又或是容器中查询 你得给出一个关键的key值)

那么 理所当然的 如果你要去设计这个地址 应该能想到 它肯定要具有唯一性 除此之外呢?网络用户有多少啊 如果你把这些用户都存在一起 要检索起来 嘶 想都不敢想 就好比查字典 如果要查一个字 我知道它的首字母 就可以很快锁定到一个很小的区域 再到这个很小的区域里面去找 这相较于遍历整本字典是不是快的多 这个思想在分块查找和哈希表里有用过 就是分层吗 同理 可以想到 这个地址应该还具有 分层性(层次性)

image308

先留个印象

做 在字典里从24个字母里找某个字母 找一个块 这件事

一样的

是IP地址 它由网络号 主机号组成 如果网络号相同 主机号不同 就说明处于一个网段

做 在这个字母开头的块里 找某个字 这件事

相应的

是MAC地址 它负责最后通信 因为MAC地址是网卡指定的 而你每台设备要就上网就得装网卡 能理解吧 设备有且仅有一个网卡 网卡指定MAC地址 在小范围内当然能做锁定

有了前面的基础

再来介绍一些常用的设备

嗯 计算机要联网 就得被指定MAC地址 就一定要有网卡

物理层的01比特流要变成高低电压传输 然而在传输的过程中必定会出现磨损

image309

如果不易分辨了 解码就困难了 所以得信号加强

把磨损的信号变回容易分辨的高低电压 这就需要 中继器(Repeater)

物理层是呆子 它只知道刚才传的是那样一串高低电压 不知道里面表示的含义如何

而数据链路层不一样 它就是管数据流转变成比特流的 它知道含义

相应的 它也需要中转

传了一会儿 在中转站收到了 它要检索一下 数据是否完整

如果完整 就继续往后传

如果不完整 那就不再往后了 可能会回溯到前面报错 请求重发 这个暂时不去深究

这个过程呢 就需要——网桥(Bridge)/二层交换机

另外提两句 网桥是根据物理地址MAC进行处理的 HUB(交换集线器)也属于网桥的一种

在往上就是传输的问题

(实际上就是有向图的问题 点到点间要选择哪条路径走)

通过这样的“路由选择” 就能把各网络连接起来

当然 这是根据IP地址处理的 (把每个点用IP做标识)

这就需要——路由器(Router)/3层交换机

到这里 我们七层的下三层都有了自己的交换机

上四层呢 也有

4~7层交换机

(这部分比下三层较为抽象 我也还没搞懂 先留个映像)

image310

分析收发数据并进行特定处理

比如 对于开发量大的web站点 一台服务器可能不够用

那总不能分开吧

得合并放入一个入口地址URL让用户访问

这就需要——负载均衡器

还有一个设备——网关

用于协议的转换

比如:互联网邮件和手机邮件的转换

互联网与手机之间设置了一条网关

网关在读取完不同的协议后 对它们进行合理转换

再将相应的数据转发出去

类似于翻译

image311 image312 image313 image314 image315

传输方式

有了前面这些概念

不难想到 网络不外乎就是用设备相连 每个设备为一个点 交织而成的一个巨大的有向图

image316

那么大致能抽象成两个部分 边缘部分和核心部分

边缘部分 由我们一台台设备组成

核心部分 由大量网络和连接这些网络的路由器组成 这部分为边缘部分提供服务

考虑到底是怎么相连的进行传输的

按交换方式分

如果每两台设备都相连

image317

所需要的线路就太多了(无向完全图) 肯定不合适

image318

那要使用一个中间设备把这些连起来呢(交换机)

通过一个中转站似的 将任意两个要连接的设备按需接通

这样就大大减少了连接的线路数量

然后这些交换机又彼此连接 从而完成全网的交换任务 构成覆盖全世界的电信网

image319

这就是电路交换

它虽然能实现数据传输 但是有没有发现一个问题 它需要建立连接 传输 再断开连接

这个过程是独占一条线路的(拨打的电话正在通话中) 其他任务就不能进行了

显然效率太低

为了解决这一问题 往往采用分组交换

image320

发送端计算机将数据分组发送给路由器 路由器接收到这些分组数据以后 缓存到自己的缓冲区 然后根据头部信息里的目标地址确定下一步往哪传 最终转发到目标计算机(显然这里面有个先进先出的队列在做事)

image321

这样一来就实现了线路共享 而非独占 又使用这种类似并发的方式 实现多个用户同时通信

image322

按有无连接分

image323

前面的电路交换显然就是一种有连接型 而后者分组交换则无需连接

或许无连接会显得有些不靠谱 但它实实在在的是提高了效率

(建连接要时间 连接后还独占)

网络分类

按照拓扑结构可以分为:

星型、环型、总线型、树型、网状型、混合型、蜂窝型

image324 image325

按照覆盖范围可以分为:

局域网(LAN)(Local Area Network)

使用自备通信线路和通信设备 覆盖较小地理范围的计算机网络

没有网络通讯费用 传输速度较快 10MB/S~10000MB/s

广域网(WAN)(Wide Area Network)

将多个局域网串起来 (广域网的底层一般都是局域网)

租用公用通信线路和通信设备、覆盖较大地理范围的计算机网络

城域网(MAN)(Metropolitan Area Network)

覆盖城区范围,提供各种信息服务业务的高速计算机网络

按照工作方式可以分为:

集中式网络:

由一台功能较强的主机设备 通过通信系统和远地的终端设备连接起来

分时地为远程终端服务的计算机网络

分布式网络:

由多台具有独立工作功能的计算机系统互连组成的计算机网络

如Internet

按照传输技术可以分为:

广播式网络

所有计算机共享一个公共通信信道的计算机网络(总线型)

点对点式网络

网络中的通信结点之间存在一条专用通信线路的计算机网络(多条路线择优选择)

按照使用方式可以分为:

校园网

企业网

按服务范围可以分为

公用网(电信)

专用网(军队)

按服务可以分为

通信网ISP

信息网ICP

image326 image327 image328 image329 image330

深入

通过前面的内容 或多或少对整个体系有了了解

接下来就根据TCP/IP协议 深入各层 并将各层题目整合在一起进行分析

image331 image332

TCP/IP将上三层合成了一层 下二层合成了一层

但出于某些原因 还是将下两层拆开(数据链路层+物理层)

image333

再捋一遍这个过程

image334 image335

解决了物理层和数据链路层的问题 就可以实现分组在一个网络上传输了

但是因特网是多个网络和路由器连接起来的

对于它而言 物理层和数据链路层是不够的

image336

网络间传输的问题解决了 但对于具体应用是不够的

image337

实现进程间基于网络的通信

image338

在此基础上 只需制定各种应用层协议 并按协议标准编写相应应用程序

通过进程间的交互完成特定的网络应用

image339

举例:

https://www.bilibili.com/video/BV1c4411d7jb?p=9&vd_source=f90b3e1fec7a29aa578bf2c42517c160

在正式开始前 要先了解以下几个概念

由上面视频得知 每层下来会给初始数据多加一个该层的标志

这个标志里就蕴含着对等实体间的协议

协议具有三要素:

语法 语义 同步

语法:定义所交换信息的格式

image340

语义:定义双方所要完成的操作

若主机要访问远程的web服务器 它会构建一个http的get请求报文 发给web服务器

image341

当web服务器收到后 对其进行解析 知道这是一个http是get请求报文

于是在自身内部查找所请求的内容 并将所找到的内容封装到一个http响应报文中发回主机

image342

主机收到http响应报文后 对其进行解析 取出所请求内容 并由浏览器解析显示

image343

简单来说就是要做什么

同步:定义收发双方的时序关系

image344

(三次握手)

image345 image346 image347

在协议的控制下 两个对等实体间的逻辑通信使得本层能向上一层提供服务

协议是水平的 服务是垂直的 且是透明的(上一层不知道下层如何实现)

垂直来看,有着两个概念:

服务访问点:

在同一系统中 相邻两层的实体交换信息的逻辑接口 用于区分不同的服务类型

数据链路层的服务访问点为 帧的类型字段

网络层的服务访问点为 IP数据包首部中的协议字段

运输层的服务访问点为 端口号

服务原语:

上层使用下层所提供的服务必须通过与下层交换一些命令 这些命令称作服务原语

水平来看:

协议数据单元:对等层次之间传送的数据包——PDU

物理层对等实体逻辑通信的数据称为比特流

数据链路层对等实体逻辑通信的数据包称为帧

网络层:分组 如果是IP协议 也称为IP数据报

运输层:TCP报文段/UDP用户数据报

应用层:报文

他们可以统称为协议数据单元PDU

同一系统内 层与层之间交换的数据包称为服务数据单元SDU

横纵一起看

下层传来的多个SDU组成本层的一个PDU 本层的多个PDU又可以合成一个向上传送的SDU

image348 image349 image350

数据链路(局域网)

数据链路即OSI的数据链路层

TCP/IP对数据链路层和物理层未做定义(把这两层当作透明的 不规定具体实现)

但还是有必要了解这方面的知识

数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范

通信媒介包括 双绞线、同轴电缆、光纤、电波以及红外线等介质

此外 各个设备间有时也通过交换机、网桥、中继器等中转数据

该层将数据集合为一个叫做“帧”的模块 再进行传输

物理层则将计算机中的01与电压高低 光的闪灭 电波的强弱信号进行相互转换

在这里会介绍MAC寻址 介质共享 非共有网络 分组交换 环路检测 VLAN

以及 以太网 WLAN PPP 等概念

数据链路可以被视为网络传输中的最小单位 互联网不外乎是由众多这样的数据链路组成的 因此又可以称互联网为“数据链路的集合”

image351

换句话说 就是资源子网/通信子网、核心部分/边缘部分、局域网/因特网 这样的关系

只有要连上因特网的那个结点才需要IP寻址 (网络层)

而在一个小网段中 要确定的其实就只要网络层下面的东西——数据链路层+物理层

image352

A与C交流才需要IP AB间交流 只要考虑数据链路和物理层

image353 image354 image355 image356

可以理解成 研究局域网 就是研究数据链路层和物理层

这部分变相就成了研究局域网的问题

而局域网中 最具代表性的就是以太网

所以 以太网会是接下来讨论的重点

image357

对于一小块区域 想把它们连接起来你会怎么做

跟之前的想法一样 主机间用类似总线的东西连接

image358 image359

当然 这种连接方式有很多

image360 image361

结构不是问题 能连在一起 进行通信即可

主要的问题是 怎么在这么一条线路上找到某台主机?

前面说过用MAC地址

为什么MAC地址能确定?网卡?嗯然后呢

这里解释清楚

MAC地址

MAC地址用于识别数据链路中互连的节点

image362

MAC地址长48比特

由NIC(网卡)指定(被烧入ROM中)

image363

3~24位为厂商识别码 每个NIC厂商都有特定唯一的识别数字

25~48是厂商内部为识别每个网卡而用

因此可以保证全世界不会有相同MAC地址的网卡

实际上 即使有相同 不在同一个数据链路上就不会出现问题

如何在线路上找到某个主机的问题解决了

那么这些台主机是怎么用 这条线路的

从通信介质的使用方法来看 可以分为共享介质型和非共享介质型

先了解一个概念:(全双工?半双工?)

半双工指 只发送或只接收的通信方式 类似于无线电收发器 若两端同时说话 是听不见对方说的话的

而全双工不一样 它允许在同一时间既可以发送数据也可以接收数据 类似于电话 接打双方可以同时说话

共享介质型网络

共享介质型网络指 由多个设备共享一个通信介质的网络

最早的以太网和FDDI就是介质共享型网络

在这种方式下 设备之间使用同一个载波信道进行发送和接收

为此 基本上采用半双工通信方式 并有必要对介质进行访问控制

(既然是共享 那肯定得规定好访问顺序 如果一起用就乱套了)

访问控制的方式有两种

争用方式、令牌传递方式

争用方式:

争夺获取数据传输的权利 也叫CSMA(载波监听多路访问)

令网络中各个站采用先到先得的方式占用信道发送数据 如果多个站同时发送帧 则会发生冲突现象 也因此导致网络拥堵与性能下降

image364 image365 image366

在一部分以太网中 采用了改良的CSMA——CSMA/CD

要求每个站点提前检查冲突 一旦发生冲突 则尽早释放信道

image367 image368 image369 image370 image371
令牌方式:

沿着令牌环发送的一种叫做“令牌”的特殊报文 是控制传输的一种方式

只有获得令牌的站才能发送数据

这种方式有两个特点

不会发生冲突

每个站都有通过平等循环获得令牌的机会

因此 即便网络拥堵也不会导致性能下降

image372

当然 这种方式中 一个站在没有得到令牌前 不能发送数据帧 因此在网络不太拥堵的情况下 数据链路的利用率也就达不到100% 为此 又衍生了多种令牌传递的技术(早期令牌释放、令牌追加……)为尽可能提高网络性能

image373 image374 image375 image376

令牌环(Token Ring)的访问方法和物理技术规范由 IEEE 802.5 标准定义(数据帧传输、帧格式、物理媒体类型、令牌访问控制方法),20世纪80~90年代广泛用于局域网。

当然就有非共享的

非共享介质网络

不共享介质 对介质采取专用的一种传输控制方式

每个站直连交换机 由交换机负责转发数据帧

发送端和接收端不共享通信介质 因此很多情况下采用全双工通信方式

(ATM就采用这种传输控制方式 )

最近也成了以太网的主流方式

通过以太网交换机构建网络 从而使计算机与交换机端口间形成一对一的连接 即可实现全双工的通信

这种一对一连接 全双工通信的方式下 不会发生冲突

因此不需要CSMA/CD机制就能实现更高效的通信

该方式还可以根据交换机的高级特性构建虚拟局域网(VLAN)、进行流量控制等

image377

当然 该方式也有一种致命的弱点——一旦交换机发生故障 与之相连的计算机间都将无法通信

image378

非共享介质型网络通常使用交换机,而共享介质型网络可能采用集线器或集中器等设备。

所以也可以称作是

image379 image380

在介质共享网络中 同一时间只能有一台主机发送数据 当连网的主机数量增加时 通信性能会明显下降

如果将非共享介质网络的思想引入 将集线器或集中器等设备星型连接 就出现了一种新的网络设备——交换集线器 这是前面非共享介质网络中所使用的交换机用在以太网中的技术 交换集线器也叫做以太网交换机

其实就是持有多个端口的网桥 根据数据链路层中的每个帧的目标MAC地址 决定从哪个网络接口发送数据

这时所参考的、用以记录发送接口的表就叫做转发表 它不需要手动设置 而是会“自学”数据链路层的每个通过点在接到包时 会从中将源MAC地址以及曾经接收该地址发送的数据包的接口作为对应关系记录在转发表中 以某个MAC地址作为源地址的包被某一接口接收 实质上就理解为该MAC地址就是该接口的目标

image381

由于MAC地址没有层次性 转发表中的入口个数与整个数据链路中所有网络设备的数量有关 当设备数量增加时 转发表也会随之变大 检索转发表所用的时间也就越来越长

当连接多个终端时 有必要将网络分成多个数据链路 采用类似于网络层的IP地址一样对地址进行分层管理

(大概对应着 小学时期 玩电脑要先宽带连接)

但这归根结底是有线连接 而信息传输其实没必要一定要用实在的线 还可以使用电磁波、红外线、激光等方式传输 这就出现了现在非常熟悉的WIFI技术

这些分析出来的东西 其实就对应着局域网的发展历程

以太网兴起(20世纪80年代初):Xerox + Intel + DEC 共同推出 Ethernet 标准;采用 CSMA/CD 共享传输介质;在企业和学术界迅速普及,成为局域网主要技术

令牌环(80年代末~90年代初):IBM 的 Token Ring 流行于企业环境,用令牌控制访问权,性能特性更严格,但逐渐被以太网取代

以太网发展(90年代):速度从 10 Mbps → 100 Mbps → 1 Gbps,取代令牌环等竞争技术,成为局域网主导标准

image382

无线局域网 Wi-Fi(21世纪初):设备通过无线连接接入局域网,灵活性和移动性大增,家庭/企业/学校/公共场所广泛应用

image383

ATM

ATM(Asynchronous Transfer Mode,异步传输模式)是一种基于**信元(cell)**的传输技术:把数据切成固定大小的小块(信元,通常 53 字节)传输,而不像分组交换那样用可变长度的数据包。

  • 快且延迟低:小数据块传输快、等待时间短,适合电话、视频通话等实时通信
  • 多用途:文字、图片、音频、视频都能传,速度和带宽可按需分配
  • "异步":指信元的传输速率与时钟同步无关,不同类型数据可以以不同速率传输
  • 需要专用设备:ATM 交换机、路由器等
  • 逐渐被以太网取代:以太网更便宜、更易管理
image384

多路复用:在一个通信通道上传输多个数据流的技术(有 TDM 时分、FDM 频分)。ATM 用的是统计多路复用——各数据流按需要动态共享带宽,不需要严格的时间或频率划分。

image385 image386 image387

在 ATM 中,异步传输 + 统计多路复用结合:信元传输速率按各数据流的需求动态调整,在网络的不同数据流之间动态分配带宽,提高效率。

image388 image389 image390

VLAN

VLAN(Virtual Local Area Network)在物理网络的基础上创建虚拟网络,把设备划分成不同的逻辑网络。

  • 逻辑网络:同一个物理网络里划出多个独立"小网络",不依赖物理位置,由网络管理员配置
  • 隔离和安全:不同 VLAN 的设备组相互隔离、独立运行,提高安全性
  • 流量控制:管理哪些设备之间可以互相通信,优化性能
  • 灵活:按需创建/更改/删除虚拟网络,无需重布线
  • 企业网络和云计算环境中管理大规模设备时非常有用
image391

⚠️ 关键考点:不同 VLAN 中的站点通常不能直接通信(设计如此,为了隔离)。要互通需借助路由器或三层交换机在 VLAN 间路由。

下两层的乱七八糟的协议

xDSL

xDSL(Digital Subscriber Line)是一族利用**普通电话线(铜线)**提供高速上网的数字用户线路技术,变种很多:

  • ADSL(非对称):下载快、上传慢,最常见,适合家庭/小企业上网、下载、看视频
  • VDSL(甚高速):速度比 ADSL 更高,适合短距离高带宽应用(高清视频、游戏、多设备)
  • SDSL(对称):上传下载同速,适合视频会议、远程办公
  • HDSL:提供 T1(1.544 Mbps)/E1(2.048 Mbps)速率,多用于商业企业环境
  • G.SHDSL:对称高速 DSL,用于专用线路
  • RADSL:速率自适应,按线路质量自动调整,最大化利用带宽

共同点:利用普通电话线传数字数据;速度和性能取决于线路质量用户设备距电话交换机的距离

image392

ADSL(重点记):

  • 非对称:下载远高于上传(家庭用户下载多、上传少)
  • 用普通电话线传输,无需对线路重大改动;数据和语音可同时(频分多路复用 FDM 把频谱分成多个频段,分别跑高速下载、上传、语音)
  • 需要 ADSL Modem:调制器发数据、解调器收数据
  • 带宽大致数百 Kbps ~ 几 Mbps,距离越远速度越低
  • 变种:ADSL、ADSL2、ADSL2+
  • 后被光纤、电缆等更快的宽带技术逐渐取代
image393 image394
HDLC

HDLC(High-Level Data Link Control,高级数据链路控制)是数据链路层协议,最初由 IBM 开发(SDLC),后成为国际标准。

  • 支持点对点多点连接(主站控制从站间传输)
  • 帧结构:起始标志、地址、控制字段、数据字段、FCS(帧检验序列)、结束标志
  • 同步 + 透明传输:用户数据可包含特殊字符而不引起冲突
  • 曾广泛用于 X.25、ISDN;现逐渐被 PPP、Frame Relay 等取代
image395
SDH

SDH(Synchronous Digital Hierarchy,同步数字体系)是高容量、高速率的数字电信传输技术(电信骨干网、长距离传输用)。

  • 同步传输:数据以固定速度发送,各链路设备维持同步,减少时序问题和丢数据
  • 层次结构:STM-1、STM-4、STM-16、STM-64 等不同容量级别,有效组织和分配带宽
  • 多路复用:多个低速通道共享一条高速链路
  • 容错性强:故障时迅速自动切换备份路径
  • ITU-T 国际标准;用于跨国通信网、运营商骨干网、数据中心互联等大容量场景
  • 逐渐被 DWDM 等光纤技术取代
image396 image397

其他

image398 image399 image400 image401 image402 image403 image404 image405

网际层

image406 image407

主要协议:

网际层主要使用的协议是Internet协议(IP),它是IPv4和IPv6的两个主要版本。IPv4地址通常使用32位地址,而IPv6使用128位地址。

image408
ICMP(Internet Control Message Protocol):

ICMP 用于在 IP 网络上传递控制消息:报告错误(目标不可达、生存时间超时等)、故障诊断、网络管理。PingTracert(Windows)/Traceroute(Unix/Linux) 就基于 ICMP,用来测试连接、跟踪包路径。

⚠️ ipconfig 是操作系统提供的命令行工具(配置/显示网络接口信息),不是 ICMP 的功能——ICMP 是协议,不用于配置网络接口。

image409 image410 image411 image412
ARP(Address Resolution Protocol):

ARP是一种协议,用于将32位的IP地址映射到物理硬件地址(通常是MAC地址)。它帮助确定局域网上其他设备的物理地址,以便正确地传递数据帧。

当一个设备需要将数据发送到另一个设备时,它需要知道目标设备的MAC地址。ARP协议允许设备查找目标设备的MAC地址。

RARP(Reverse Address Resolution Protocol):

RARP与ARP相反。ARP从IP地址找到MAC地址,而RARP从MAC地址找到IP地址。

RARP主要用于在启动时,主机可以通过其MAC地址获取分配给自己的IP地址,这对于无盘工作站等设备很有用。

image413
IP(Internet Protocol)

IP 是 TCP/IP 协议套件的核心协议,定义了数据包的格式、寻址方法和路由规则,确保数据可以在网络上正确传递。

IP 地址:唯一标识联网设备的数字地址,分为网络地址和主机地址两部分。

  • IPv4:32 位,点分十进制表示(如 192.168.1.1);地址空间有限 → IP 地址短缺问题
  • IPv6:128 位,冒号分隔的十六进制(如 2001:0db8:85a3:0000:0000:8a2e:0370:7334),地址空间巨大,面向未来

子网掩码:与 IP 地址配合,确定哪部分是网络位、哪部分是主机位。

image414 image415 image416 image417

IP地址的分类: IPv4地址可以分为不同的类别,包括A类、B类、C类、D类和E类。这些类别用于定义地址的范围和分配方式。

A类 1.0.0.0 到 126.0.0.0 B类 128.0.0.0 到 191.255.0.0

C类 192.0.0.0 到 223.255.255.0 D类 224.0.0.0 到 239.255.255.255

image418 image419 image420 image421 image422

公共地址和私有地址: IPv4地址还可以分为公共地址和私有地址。公共地址可供全球使用,而私有地址通常用于内部局域网。

子网掩码(Subnet Mask):

定义: 子网掩码是一个32位的二进制数,用于确定IP地址中哪一部分表示网络地址,哪一部分表示主机地址。它与IP地址结合使用,以便在同一网络上识别主机和子网。

划分网络: 子网掩码允许网络管理员将IP地址划分为不同的子网。每个子网可以包含一组主机,这有助于组织和管理大型网络。

CIDR表示法: 子网掩码还可以用CIDR(Classless Inter-Domain Routing)表示法来表示,例如,/24 表示了一个24位的子网掩码,它将前24位用于网络地址,留下8位用于主机地址。CIDR表示法是一种灵活的方法,用于描述子网。

IPv6子网: 在IPv6中,子网掩码的长度通常是64位,因为IPv6提供了更大的地址空间,而且更多的位数用于主机地址。

IP地址和子网掩码的关系: IP地址和子网掩码结合使用,以确定一个设备是在哪个网络中以及它的主机地址。子网掩码通过将网络位设置为1来表示网络部分,将主机位设置为0来表示主机部分。例如,IP地址 192.168.1.10 与子网掩码 255.255.255.0 表示该设备在 192.168.1.0 网络中,而 10 是主机地址。

192.168.1.10 和一个子网掩码:255.255.255.0。

将IP地址和子网掩码转换为二进制:

IP地址 192.168.1.10 转换为二进制: 11000000.10101000.00000001.00001010

子网掩码 255.255.255.0 转换为二进制: 11111111.11111111.11111111.00000000

执行按位与操作: 将IP地址和子网掩码的每一位进行按位与操作,将相应位的数值相乘。

image423

将结果转换为十进制: 将上面的二进制结果转换为十进制,得到网络地址。

网络地址: 192.168.1.0

所以,根据给定的IP地址 192.168.1.10 和子网掩码 255.255.255.0,我们确定这台设备在网络 192.168.1.0 中,而 10 是主机地址。

image424 image425 image426 image427 image428 image429

确定子网掩码的位数。子网掩码255.255.255.192的二进制表示是11111111.11111111.11111111.11000000,其中有26位网络位(前面的1)和6位主机位(后面的0)。

计算可用的主机地址数量。在一个有6位主机位的子网中,有2^6(64)个可能的主机地址。但是,其中两个地址通常用于子网的特殊地址,即子网号和广播地址。因此,实际可用的主机地址数量为64 - 2 = 62。

image430

C类IP地址通常有默认子网掩码255.255.255.0,这允许拥有一个子网,其中包括256个可用IP地址。如果想将C类IP地址划分为6个子网,需要修改子网掩码,以便有更多的子网可供使用。

要划分为6个子网,可以使用3位子网掩码。这是因为2的3次方等于8,所以3位子网掩码提供了8个不同的子网。可以将子网掩码中的3位设置为1,表示网络部分,其余位设置为0,表示主机部分。

所以,要将C类IP地址划分为6个子网,子网掩码将是255.255.255.224。11100000前3位用于网络标识,后面的5位用于主机标识。每个子网可以包含32个可用的主机IP地址,因为有5位用于主机部分(2^5 = 32)

image431 image432

5.32.0.0 255.224.0.0 ,那么他的下一网段是5.64.0.0 ,所以他的最大主机地址是5.63.255.254

image433

子网掩码为255.255.255.240,所以202.113.224是网络位。IP地址以202开头说明是C类地址,可知最后一个字节中左边四位为子网号,右边四位为主机号。68转化为二进制是01000100,240转化为二进制是11110000,所以主机号是100部分,转化为十进制是4。

image434

IP地址 190.1.10.20 的二进制形式是: 10111110.00000001.00001010.00010100

子网掩码 255.255.255.248 的二进制形式是: 11111111.11111111.11111111.11111000

image435

得到的结果是 190.1.10.16 后三位可取000~111 即0~7

主机地址范围从 190.1.10.16+0 到 190.1.10.16+7 190.1.10.16不取 190.1.10.23不取

所以,同一网络段的主机IP地址包括:190.1.10.17~190.1.10.22

分组数据传输:

IP将数据分割成称为数据包(或数据报)的小块,每个数据包包括目标IP地址、源IP地址和数据内容。这些数据包根据路由表在网络上传输,以最终到达目的地。

路由:

IP路由器是网络中的设备,根据目标IP地址决定将数据包从源传递到目的地的路径。

核心设计目标是提高接收、处理、转发数据包(分组)的速度,保证低延迟:

  • 软件实现:传统路由器用软件执行核心功能——查路由表、决定下一跳、NAT、访问控制,灵活但大规模处理时慢
  • 硬件加速:现代路由器引入硬件模块处理常见任务(包过滤、查路由表),大幅提速
  • 并行处理:同时处理多个数据包(硬件加速+多核),提高吞吐量
  • QoS 支持:不同流量(音频/视频/数据)区分优先级
  • 安全与访问控制:阻止未授权访问和攻击
image436 image437 image438 image439

IPv4和IPv6:

IPv4是最早和最常用的IP协议版本,但由于IP地址枯竭问题,IPv6被开发出来。IPv6提供了更多的地址空间以支持未来的互联网增长,同时还提供了改进的性能和安全性。

IP协议族:

IP协议不仅包括网络层的IP本身,还包括与之相关的协议,如ICMP、IGMP、ARP、和IPsec等,用于管理和增强网络通信。

无连接通信:

IP 是无连接协议:不建立连接、不维护通信状态,每个数据包独立传输(点对点、多播、广播都支持)。

  • 不保证可靠性:包可能丢失、重复、乱序到达;IP 不做错误检测纠正,靠高层协议(TCP)兜底
  • :无需建立/维护连接状态 → 高吞吐低延迟,适合视频流、实时音频
  • 自适应:路由器按路由表逐包选最佳路径,随网络拓扑和负载变化自动调整
image440 image441 image442

Internet地址分配:

IP地址由互联网服务提供商(ISP)或组织分配给设备,以便它们能够访问互联网。IPv4地址在全球范围内由IANA(互联网数字分配机构)进行分配,而IPv6地址分配也有类似的机构。

image443
DHCP(Dynamic Host Configuration Protocol)

DHCP 用来自动分配和管理 IP 地址及其他网络配置信息,简化网络管理(大型网络尤其明显)。

  • 自动分配:新设备入网即自动获取 IP,无需手动配置
  • IP 地址池:DHCP 服务器从池中分配、回收地址,避免冲突
  • 动态分配 + 租约时间:设备不用了地址回池子;租约到期需重新请求
  • 除 IP 外还下发:子网掩码、网关、DNS 服务器地址等
  • 也支持静态分配:把特定 IP 绑定给特定设备
image444

其他

image445 image446

域名DNS

IP地址不便于记忆 随着网络规模扩大 这种劣势越发明显

在此背景下 产生了一个可以有效管理主机名和IP地址间对应关系的系统——DNS系统

image447 image448
域名结构:

域名采用分层层次结构,各部分用点(.)分隔:

  • 根域:命名体系最高层/起点,表示为空(.)
  • 顶级域(TLD):根域之下的第一层,如 .com/.org/.net(通用 gTLD)、.uk/.ca/.cn(国家和地区 ccTLD)
  • 次级域(SLD):TLD 之下,标识特定网站或组织,如 example.com 中的 example
  • 子域:次级域的下一级,可继续嵌套,如 blog.example.com 中的 blog
  • 主机名:最低层,表示特定服务器/资源,如 www.example.com 中的 www

例:www.blog.example.co.uk → www=主机名,blog=子域,example=次级域,co.uk=ccTLD

每个域名全局唯一;DNS 负责把域名映射到 IP 地址。

image449 image450 image451

补充事实:

  • 域名注册:在域名注册商处注册,按年付费保持所有权
  • WHOIS 查询:公共数据库,可查域名的所有者、注册日期、过期日期
  • 域名安全:强密码+双重验证;可用 DNSSEC 提高安全性
  • 除常见 gTLD 外还有新通用顶级域名(.blog、.app 等)
  • 域名争议/侵权通过法律程序解决,不得侵犯他人商标权与知识产权
域名解析:

域名解析 = 域名 → IP 地址的过程。流程:

  1. 用户在浏览器输入域名 → 系统启动 DNS 查询
  2. 本地 DNS 缓存(有就直接用,不必发起全局查询)
  3. 本地 DNS 服务器(ISP 或组织专用 DNS,缓存范围更广)
  4. 仍未命中 → 本地 DNS 发起递归查询
    • a. 问根域服务器 → 获知 TLD(如 .com)服务器
    • b. 问TLD 服务器 → 获知该域的权威 DNS 服务器
    • c. 问权威 DNS 服务器 → 拿到域名 IP
  5. 本地 DNS 缓存结果,并把 IP 返回给用户计算机
  6. 用户计算机用 IP 与目标服务器建立连接,获取网页/资源
image452 image453 image454

域名托管:域名要托管在 Web 服务器上网站才能被访问(托管商提供存储、安全性、性能优化)。

域名转移:可将域名从一个注册商转移到另一个,程序要保证所有权和配置完整保留。

image455

传输层

如果说前面的几层实现了跨局域网间的传输问题(点到点的问题)

但实际上 要传输的数据应该是应用到应用(端到端)

与网络接口层对应的MAC 、 与网际层对应的IP 一样 在传输层 我们使用端口号做定位

image456 image457 image458

传输层协议:

TCP (Transmission Control Protocol):

TCP 是面向连接的可靠传输协议(Web 浏览、电子邮件、文件传输等高可靠场景)。

  • 可靠:靠序号、确认、重传、校验和实现——数据丢失/损坏/乱序都会重传补齐
  • 面向连接:传数据前先建连接(三次握手),结束显式断开(四次挥手
  • 流量控制:滑动窗口机制,接收方告知能收多少,发送方按此调速
  • 拥塞控制:监测网络拥塞并降低发送速率,避免拥塞恶化
  • TCP 段:数据切分成段,含序号、确认号、窗口大小
  • 端口号:16 位(0~65535),源端口+目标端口标识连接两端
  • 代价:可靠性和流控带来延迟 → 不适合对实时性要求极高的应用
image459
UDP (User Datagram Protocol):

UDP 是无连接的不可靠传输协议——不保证交付,但快、开销低(实时音频/视频、在线游戏、DNS 查询)。

  • 无连接:没有握手过程,数据报独立发送 → 低延迟
  • 不可靠:不处理丢失/损坏/重复,也不保证顺序——应用自己兜底
  • 开销低:无连接状态、无拥塞控制等复杂机制
  • 支持广播和多播:一次发给多个接收者,无需单独建连接
  • 数据报含源端口、目标端口、长度、检验和;检验和检测传输损坏
image460 image461

端口:

传输层使用端口来标识不同的应用程序或服务。

端口号是一个16位的整数,范围从0到65535。

0到1023:这些端口号通常被称为“众所周知端口”或“系统端口”。它们用于标识一些众所周知的服务,如HTTP(端口80)、FTP(端口21)、SSH(端口22)等。这些端口号在大多数操作系统中是保留的,通常需要管理员权限来使用它们。

1024到49151:这些端口号被分配给各种应用程序和服务,但它们不属于众所周知端口。它们通常由操作系统动态分配给应用程序。

49152到65535:这些端口号是动态或私有端口,通常由客户端应用程序动态选择。

image462 image463 image464 image465

三次握手和四次挥手:

TCP 建立连接要三次握手,断开连接要四次挥手

三次握手流程:

  1. 客户端 → 服务器:发 SYN + 随机初始序列号 ISN(连接请求)
  2. 服务器 → 客户端:回 SYN + 自己的随机 ISN + 确认号(客户端 ISN+1,告知"收到你的请求")
  3. 客户端 → 服务器:回 ACK(服务器 ISN+1),连接建立

目的:确保双方都知道彼此状态、同步初始序列号;防止旧的、失效的连接请求被错误处理,保证可靠性和安全性。

image466

流量控制:

TCP 用滑动窗口机制做流量控制——确保发送方不会超负荷接收方,核心目标是优化吞吐量、减小延迟。

  • 发送窗口:发送方允许发送的未确认数据量上限,= min(接收窗口, 拥塞窗口),动态调整
  • 接收窗口:接收方通告"我还能收多少";收不过来时窗口缩小,处理完再扩大
  • 发送方不发超过接收窗口的数据,防止积压和丢失
  • 拥塞控制联动:检测到拥塞 → 减小发送窗口 → 降速,维护网络稳定
image467 image468

拥塞控制:

TCP还具有拥塞控制机制,用于避免网络拥塞并维护网络的稳定性。它通过调整发送速率以及重传机制来应对拥塞情况。

UDP的简单性:

与TCP不同,UDP是一种非常简单的传输层协议,不提供可靠性、流量控制和拥塞控制。这使得它更适合用于某些应用,如DNS查询和实时音频/视频传输。

传输层的数据单元:

传输层将数据分割为数据段,然后传输。对于TCP,这些数据段称为TCP段,而对于UDP,它们称为UDP数据报。

错误检测和校验:

TCP和UDP都包括用于错误检测和校验的校验和字段,以确保数据的完整性。如果数据在传输过程中损坏,接收方可以检测到并要求重新传输。

传输层是TCP/IP协议套件的一个关键组成部分,它为应用层提供了可靠的数据传输和通信服务。不同的应用程序可以选择使用TCP或UDP,具体取决于其要求和性能需求。

应用层

应用层包含多个协议,用于支持不同类型的应用程序,

例如HTTP、FTP、SMTP、DNS等。每个应用层协议都有特定的用途和规范。

URL

URL(统一资源定位符)是一种用于在互联网上标识和定位资源的文本字符串。URL充当了互联网上的地址,允许用户或应用程序访问网页、文件、图像、视频和其他资源。

URL通常由以下几个部分组成:

协议(Protocol):协议指定了资源的访问方式或协议类型。常见的协议包括:

HTTP(HyperText Transfer Protocol):

用于传输网页和其他超文本文档的标准Web浏览器协议。

HTTPS(HTTP Secure):HTTP的安全版本,通过加密传输数据以保护隐私和安全。

FTP(File Transfer Protocol):用于文件传输的协议。

SMTP(Simple Mail Transfer Protocol):用于电子邮件发送的协议。

file:用于本地文件系统上的文件。

mailto:用于电子邮件地址。

tel:用于电话号码。

主机名(Host):主机名标识资源所在的服务器或计算机。它可以是IP地址(如192.168.1.1)或域名(如www.example.com)。

端口号(Port):端口号标识资源所在服务器上的特定端口。如果未指定端口,将使用默认端口,如HTTP的默认端口为80,HTTPS的默认端口为443。

路径(Path):路径表示资源在服务器上的位置。它通常是一个目录结构或文件路径,用斜杠(/)分隔。例如,/images/pic.jpg表示服务器上的图片文件。

查询字符串(Query String):查询字符串包含用于向服务器传递参数的键值对。它以问号(?)开头,并用“&”符号分隔不同的参数。例如,?id=123&name=John。

片段标识符(Fragment Identifier):片段标识符通常用于指定资源内的特定位置或锚点。它以井号(#)开头,如#section1。

URL的格式通常如下所示:

协议://主机名:端口/路径?查询字符串#片段标识符

例如,以下URL指向一个Web页面:

https://www.example.com:443/products/index.html?id=123#section1

URL是互联网上资源定位的核心,使用户能够轻松访问各种网络资源,从网页和文档到多媒体文件和服务。

image469 image470 image471 image472

HTTP(超文本传输协议):

HTTP是用于万维网(World Wide Web)上的应用层协议,用于在客户端和服务器之间传输超文本文档,支持Web浏览器和Web服务器之间的通信。

HTTP基础:

HTTP是一个无状态协议,这意味着每个HTTP请求都是独立的,服务器不会在不同请求之间保存客户端的状态信息。

HTTP协议通常运行在TCP(Transmission Control Protocol)上,使用默认端口80。

请求-响应模型:

客户端发送HTTP请求到服务器,请求的内容通常包括请求方法(GET、POST、PUT、DELETE等)、URL、HTTP版本和可选的请求头信息。

服务器接收请求后,处理请求并返回HTTP响应,响应包括状态码、响应头和响应体。

请求方法:

HTTP定义了多种请求方法,包括:

GET:请求获取特定资源。

POST:提交数据,通常用于提交表单数据。

PUT:将数据存储到服务器上的指定位置。

DELETE:请求服务器删除指定资源。

HEAD:类似于GET,但只返回响应头,不包括响应体。

image473

状态码:

HTTP响应中包括一个三位数的状态码,用于指示请求的结果。例如,200表示成功,404表示资源未找到,500表示服务器内部错误等。

请求头和响应头:

请求头和响应头包含有关请求和响应的元数据信息。它们包括信息如Content-Type、Content-Length、User-Agent(浏览器或应用程序的标识符)等。

状态保持机制:

HTTP本身是无状态的,但Web应用程序通常需要保持客户端的状态。为此,使用Cookie和Session等机制来在请求之间存储和管理状态信息。

HTTPS(HTTP Secure)是HTTP的加密版本,通过TLS/SSL协议提供安全性,对数据传输进行加密和身份验证,以防止中间人攻击和数据泄露。

HTTP 是 Web 上最常用的协议;版本不断演进(HTTP/1.1、HTTP/2)以提高性能和效率。

image474

FTP(文件传输协议):

FTP(文件传输协议)是一种用于在计算机之间传输文件的标准协议。用于在客户端和服务器之间传输文件,支持文件上传和下载操作,以便在不同计算机之间共享和传输数据

image475

工作原理:

FTP 基于客户端-服务器模型:客户端发命令请求文件操作,服务器执行并响应。

FTP 支持两种连接/传输模式(考点):

  • 主动模式:客户端在命令端口(21)连服务器,服务器主动从数据端口连回来传数据
  • 被动模式:服务器随机选一个端口等待客户端连接传数据(客户端建立两个连接:控制+数据)

命令和响应:

FTP使用一系列命令和响应来管理文件传输。一些常见的FTP命令包括:

USER:用于身份验证,指定用户名。

PASS:用于指定密码。

LIST:列出服务器上的文件和目录。

RETR:从服务器下载文件到客户端。

STOR:将文件上传到服务器。

DELE:删除服务器上的文件。

CWD:更改工作目录。

每个命令都会触发服务器的响应,指示命令的执行结果(成功、失败、文件列表等)。

当您从FTP服务器上下载免费软件时,通常使用匿名帐号(Anonymous)登录并下载文件。匿名FTP允许用户以匿名身份访问和下载公开可用的文件,通常使用“anonymous”作为用户名,而电子邮件地址通常被用作密码。这种方式用于分发开源软件、文档和其他公共资源,无需提供个人凭据即可访问和下载这些免费资源。

image476 image477

安全性:传统 FTP 明文传输凭据和数据,不安全;加密方案用 FTPS(SSL/TLS)或 SFTP(基于 SSH)。

应用:网站维护上传、文件共享、备份、数据传输;常用客户端/服务器软件如 FileZilla、vsftpd、ProFTPD。

image478 image479 image480

SMTP(简单邮件传输协议):

POP3和IMAP:

三个邮件协议各司其职:SMTP 发送,POP3/IMAP 接收

  • SMTP:把邮件从发件人客户端 → 发件人服务器 → 收件人服务器;文本协议,端口 25(加密版 SMTPS 经 SSL/TLS 在 465
  • POP3(邮局协议第3版):把邮件下载到客户端,通常下载后从服务器删除 → 邮件只在单个设备上
  • IMAP(互联网消息访问协议):邮件保留在服务器,多设备同步访问;支持文件夹/标签管理
  • 多设备场景选 IMAP;邮件客户端需配置正确的服务器地址、端口和身份验证信息
image481 image482

DNS(域名系统):

DNS用于将域名(例如www.example.com)转换为IP地址,以便在Internet上定位主机和服务器。

见网络层最后一节

Telnet:

Telnet 用于远程登录到其他计算机,在远程主机上执行命令、访问资源、远程管理。

  • 基于 TCP/IP 的文本终端协议,端口 23
  • 明文传输、无加密 → 敏感信息可被拦截,现代网络已不广泛使用
  • 替代方案:SSH(加密+身份验证,更安全的远程访问/文件传输)
image483 image484

SSH(安全外壳协议):

SSH提供了加密的远程登录和文件传输功能,用于更安全的远程访问。

SNMP(简单网络管理协议):

SNMP(Simple Network Management Protocol)是一种用于管理和监控网络设备的协议,通常用于获取和设置网络设备的状态信息,以及进行远程管理和监控。在TCP/IP模型中,应用层负责应用程序之间的通信,而SNMP就是其中一种应用层协议。

image485 image486 image487 image488

CMIS是一种网络管理服务的标准,它定义了管理信息的模型和服务接口。CMIS旨在提供网络管理系统的通用管理信息服务,以便在网络中管理和监视设备和资源。

CMIP是一种用于在分布式网络管理系统中传输管理信息的协议。它定义了一组消息和操作,用于在网络管理系统之间交换信息。

LMMP是一种本地管理消息协议,通常用于管理局域网(LAN)上的网络设备和资源。

NFS

NFS(Network File System)是一种用于在不同计算机之间共享文件和目录的分布式文件系统协议。它允许计算机上的用户访问和操作远程计算机上的文件,就好像它们位于本地计算机上一样。NFS最初由Sun Microsystems开发,并已成为UNIX和类UNIX系统上的标准文件共享协议。

image489

EDI

EDI,全称为电子数据交换(Electronic Data Interchange),是一种用于在不同计算机系统之间电子化传输商业文档和数据的技术和标准。EDI旨在取代传统的纸质文档和手工数据输入,使不同的组织、合作伙伴和供应链成员能够以自动化的方式共享商业信息。

EDI是一种关键的商业通信技术,通过自动化和标准化商业文档的交换,提高了企业的效率、准确性和竞争力。它在全球范围内广泛使用,以促进商业合作和供应链管理。

image490

NTP(网络时间协议):

NTP用于同步计算机和网络设备的时间,确保它们在一个准确的时间基准上运行。

Web服务:

应用层还支持构建Web服务,这是一种通过HTTP进行通信的应用程序,用于实现跨网络的服务和数据交互,例如RESTful和SOAP。

WebSocket:

WebSocket是一种应用层协议,允许在单个TCP连接上进行全双工通信,通常用于实时Web应用程序。

电子邮件协议:除了SMTP、POP3和IMAP之外,应用层还涉及到其他电子邮件相关协议,如SMTPS(SMTP的安全版本)和TLS/SSL用于安全电子邮件通信。

其他

image491 image492

网络安全

网络安全是保护计算机系统、网络和数据不受未经授权的访问、损害或破坏的实践。

身份验证和授权:

身份验证是确认用户或系统的身份。通常,用户名和密码、生物特征(如指纹、虹膜扫描)等被用于验证身份。

授权是确定经过验证的用户或系统在系统中可以执行的操作和访问的资源。

防火墙:

防火墙(Firewall)是网络安全设备或软件,监控、过滤、控制进出网络的流量,保护内部网络不受威胁(可部署在计算机、路由器或独立设备上)。

  • 工作原理:检查数据包(源/目标地址、端口、协议、内容),按预定义的安全策略和规则决定放行或拒绝
  • 网络层防火墙:基于 IP 地址+端口号过滤(包过滤)
  • 应用层防火墙:工作在应用层(OSI 第 7 层),能检查应用层数据(HTTP、SMTP、FTP 等)
  • 状态跟踪(Stateful Inspection):追踪连接状态,允许相关联的入站包随出站包通过,防 NAT 穿透和 DoS
  • 扩展能力:VPN、威胁检测与预防、云防火墙
image493 image494 image495

现代防火墙的四种控制(考点):

  • 服务控制:控制哪些网络服务/端口可过防火墙(放行 Web、挡 FTP……)
  • 方向控制:控制流量方向——入站/出站/双向
  • 用户控制:识别验证用户/设备身份,按身份控制访问权限
  • 行为控制:监视流量行为,检测恶意活动、入侵、DoS、恶意软件传播
image496

加密:

加密 = 把明文转化为不可读的密文,只有授权用户能解读,保护数据机密性。

  • 对称加密:加密解密用同一密钥——AES(高级加密标准)、DES(数据加密标准)
image497 image498
  • 非对称加密:一对密钥——公钥加密、私钥解密——RSA
image499 image500 image501
  • 混合加密:非对称加密安全地交换对称密钥,再用对称加密传数据——TLS(保护 Web 通信)

加密用途:数据保密性、身份验证(非对称+数字签名)、安全传输。

密钥管理:生成/存储/交换/更新密钥(KMS);长密钥更安全但更难管理。

加密强度:破解所需的时间与计算资源;算力提升后需定期升级更强大的算法。

应用:HTTPS、VPN、文件和磁盘加密、电子邮件安全、金融交易、密码存储。

image502 image503

数字签名:

数字签名用于验证数据的完整性发送者身份——确保传输中未被篡改、确实来自预期的发送者。

image504 image505 image506

基本原理(非对称加密 + 哈希,如 RSA、DSA):

  1. 消息经**摘要函数(哈希函数)**生成固定长度的摘要
  2. 发送者用自己的私钥加密摘要 → 生成数字签名,附在消息上
  3. 接收者用发送者的公钥解密签名得到摘要,再对收到的消息重新计算摘要
  4. 两个摘要匹配 → 验证成功(消息未被篡改,且来自私钥持有者)
image507 image508

应用:电子邮件安全、SSL/TLS(HTTPS 用它验证服务器身份)、文件/文档完整性、数字证书签发。

image509

DSS(Digital Signature Standard):美国 NIST 制定的数字签名算法与标准。

image510

漏洞和漏洞利用:

针对网络底层协议或操作系统实现漏洞的攻击称为非服务攻击(不针对特定应用服务,而是基础设施本身):

  • DoS(拒绝服务攻击):海量无效/恶意流量耗尽资源,导致服务不可用(洪泛攻击、资源耗尽)
  • DDoS(分布式拒绝服务):多个分布式攻击节点协同,规模和破坏力更大
  • 操作系统漏洞利用:内核漏洞等,获取系统控制权
  • 网络协议漏洞利用:TCP/IP 协议栈漏洞,如 SYN 洪泛攻击
  • 网络设备漏洞利用:路由器/交换机漏洞 → 控制流量或中断网络

防范:定期更新系统与设备补丁 + 入侵检测 + 网络安全措施。

image511 image512 image513 image514 image515 image516

恶意软件:

恶意软件(Malware)旨在损害计算机系统、窃取数据、破坏文件。常见类型:

  • 病毒(Virus):附着在合法程序/文件上,靠执行这些程序传播;通常需要用户干预(如打开受染邮件附件)
  • 蠕虫(Worm):自我复制,无需用户干预即可在网络间传播(利用系统/应用漏洞)
  • 木马(Trojan Horse):伪装成有用程序/文件,背后执行恶意操作——窃取数据、远程控制;用户常被骗安装运行
  • 间谍软件(Spyware):偷偷监视用户活动,窃取键盘输入、浏览历史、密码等
  • 勒索软件(Ransomware):加密用户文件,以威胁方式索要赎金解锁

渗入威胁 vs 植入威胁(考点):

  • 渗入威胁:攻击者试图进入系统/网络的尝试(不一定成功)。形式:网络入侵、恶意文件上传、暴力破解、渗透测试。典型类型:
    • 假冒:伪装成合法用户/系统(伪装员工/管理员)骗取访问权
    • 旁路控制:绕过或禁用安全控制(防火墙、IDS、访问控制列表)
    • 授权侵犯:未经授权访问(暴力破解、盗用凭据、用默认凭据)
  • 植入威胁:攻击者已成功进入并在系统内部植入恶意代码。形式:后门、木马、间谍软件、持久性恶意代码。目标:长期控制、持续监视、维持访问

渗入通常是植入的前一步:先进入,再植入。防御要两头兼顾:防渗入(补丁、IDS、培训)+ 查植入(检测、清除)。

image517 image518

入侵检测系统(IDS)和入侵防御系统(IPS):

一句话:IDS 发现问题,IPS 直接动手

  • IDS(入侵检测系统):监测网络流量和系统活动,识别异常行为/攻击模式 → 只报警、不拦截(签名检测、行为分析、异常检测);管理员根据警报再采取行动(隔离系统、分析事件)
  • IPS(入侵防御系统):包含 IDS 的检测能力,且能主动干预——拦截流量、封锁攻击者 IP、重置/断开连接、重定向到安全环境

企业可按需选用其一或两者结合。

image519

网络安全政策:网络安全政策是组织中制定的规则和准则,用于确保网络安全。这包括访问控制策略、密码政策等。

反病毒和反恶意软件工具:这些工具用于检测和清除恶意软件,以保护系统免受病毒和恶意软件的侵害。

安全漏洞扫描:安全漏洞扫描工具用于自动检测网络和系统中的潜在漏洞,以及建议修复方法。

社交工程:社交工程是一种攻击技巧,攻击者试图通过欺骗、欺诈或诱骗人员来获取机密信息。

双因素认证:双因素认证要求用户提供两种或更多种身份验证因素,通常是密码和手机验证码,以增加安全性。

网络安全意识培训:对组织内的员工进行网络安全教育培训是防范社交工程攻击和其他安全威胁的重要步骤。

安全事件和日志管理:记录网络和系统活动,以监控和检测潜在的安全事件。

合规性:组织可能需要遵守特定的安全合规性标准,如HIPAA、GDPR或PCI DSS,以确保数据保护和隐私合规性。

其他

image520 image521 image522 image523 image524 image525 image526 image527 image528

网页设计

早期 网页制作三剑客 Dreamweaver、Flash、Fireworks

DW

网页设计基础
image529 image530 image531 image532 image533 image534 image535 image536 image537 image538 image539 image540 image541
特有操作
image542 image543 image544 image545 image546 image547 image548 image549 image550 image551 image552 image553 image554
其他
image555 image556

.fla为原始文件 发布为.swf用于网页

image557 image558 image559 image560 image561

网页第一行是 <%@ language="VBScript" %> 时,说明这是 ASP(Active Server Pages)页面,主脚本语言为 VBScript。ASP 是服务器端技术:Web 服务器处理服务器端脚本,生成 HTML 发给浏览器 → 呈现动态内容(可与数据库交互)。

flash

Adobe Flash是一个用于创建动画、交互游戏和多媒体内容的多媒体平台,用于网站。

Flash使用一种名为ActionScript的专有脚本语言来创建交互式内容。

但由于安全问题以及向HTML5、CSS和JavaScript等开放标准的转变,Flash逐渐失去了流行度并被淘汰。

文本

Flash 文本类型(原考题罗列):静态文本;动态文本;输入文本;HTML文本;文本按钮;滚动文本;标题文本;标题文本标签文本;富文本;多语言文本。

"文本打散"(分离):把文本对象转成图形对象,可对每个字符精细编辑(做特殊效果、动画、自定义排版);但打散后不能再编辑文本内容(字体、大小、内容都改不了)——打散前确认不再改文字。

image562 image563 image564 image565

遮罩(Masking):隐藏或显示特定区域内容,创建渐变、淡入淡出、动画等视觉效果;把文本放遮罩下随时间移动文本 → 文本滚动显示。

image566
色彩
  • 颜色定义:RGB 值、十六进制颜色码(#FF0000 红)、HSB(色相、饱和度、明度)
  • 填充形状:纯色、渐变色、图案(颜色面板选择自定义)
  • 渐变:线性渐变、径向渐变,可应用于形状填充、文本、按钮
image567 image568 image569 image570
文件格式
  • FLA:Flash 源文件,含项目全部内容(图形、动画、文本、音视频、ActionScript),用于编辑开发,体积大、不能直接在网页播放
  • SWF:Flash 输出/发布格式(Shockwave Flash),嵌入 HTML 在浏览器播放
  • GIF:图像格式,支持透明、循环、帧动画——适合小动画/表情;颜色深度低,不适合视频
  • AVI:音视频容器格式(音频轨+视频轨,可含多种编解码器,质量和大小各异)
image571 image572 image573 image574 image575 image576
动画和帧

Flash 动画基于时间轴 + 帧:时间轴像电影胶片,每一帧是一瞬间的静态图像。

image577
  • 普通帧:延续前一帧内容,无关键信息,保持一致性
  • 关键帧(Keyframe):定义动画关键状态(位置、大小、颜色、透明度)——动画的变化点
  • 空白关键帧(白色关键帧):关键帧但无可见内容,用于占位标记位置
  • 帧速率:每秒播放的帧数;Flash 标准为每秒 24 帧(可调)
image578 image579 image580

例:每秒 15 帧,5 秒延迟 = 5 × 15 = 75 帧

  • 帧补间:选两个关键帧,Flash 自动创建中间帧平滑过渡
  • 补间动画(Tween):自动插值关键帧间的状态变化(移动/旋转/缩放/颜色),省工作量
  • 逐帧动画(Frame-by-Frame):每帧手动绘制、各自独立——创意自由度高,工作量大
  • 事件触发动画:鼠标点击、按键按下等事件触发播放
  • 图层:不同对象放不同图层实现层叠
  • 完成后导出为 SWF 供网页播放
image581
工具箱 组件 按钮
  • 工具箱:创建/编辑图形、文本、对象的集成工具集(选择、文本、笔刷等)
  • 组件库:按钮、滚动条、文本输入框等现成组件,加速交互内容开发
  • 按钮:常见交互组件——可设置外观(正常/悬停/点击三种状态提供视觉反馈),通过 ActionScript 或可视化编程添加动作
image582 image583 image584 image585
其他
image586 image587

Fireworks

Adobe Fireworks 是矢量+位图图形编辑软件,主打网页图形与原型设计(三剑客之一),做按钮、图标、网页图形特别顺手。

  • Web 导向:专为网页元素设计(按钮、图标、背景、导航菜单),支持 Web 友好颜色、切片、导出
  • 矢量 + 位图:两种图像都能绘制和编辑优化
  • 层和页面:类似 PS/AI 的图层组织,支持多页面文档(多页面 Web 设计)
image588
切片和热区:

切片:把图像分割成不同区域,用于网页互动性和链接;热区:定义图像上的链接/交互区域。

image589 image590

其他要点:

  • 自动批量优化:减小图像体积、保持质量 → 网页加载快
  • 矢量效果与样式:阴影、发光、圆角、渐变等
  • 原型设计:创建可交互原型,演示 Web 应用功能和布局
  • 导出:PNG、JPEG、GIF 等 Web 格式,还能生成 HTML 和 CSS
  • 与 Photoshop、Dreamweaver 等 Adobe 软件集成
  • 内置向量图标库,快速插入常用图标符号
image591 image592
路径

路径是矢量图形的基本构建块——一组节点线段定义的形状(线条、图形、曲线、多边形、自定义图标)。

  • 节点锚点定义角点/曲线转折;控制点调整曲线形状
  • 线段:连接两节点,长度和方向影响路径形状
  • 开放/封闭路径:起止节点是否相连(封闭则形成闭合形状)
  • 编辑:钢笔工具创建路径;添加/删除/移动节点、调整线段来修改形状
  • 贝塞尔曲线:锚点+控制点定义平滑曲线的数学公式
  • 复合路径:多个路径组合成一个,统一编辑、统一应用效果
  • 路径操作:组合、分离、剪切、连接
  • 路径效果:填充、描边、渐变、透明度
  • 可导出为 SVG 等矢量格式复用
image593 image594 image595
工具箱

选择工具(Selection Tool):用于选择、移动和变换图形和对象。

文本工具(Text Tool):用于添加和编辑文本框,输入文本内容。

刷子工具(Brush Tool):允许您绘制自由线条和笔刷效果。

铅笔工具(Pencil Tool):用于绘制自由线条,通常会创建封闭的形状。

橡皮擦工具(Eraser Tool):用于擦除图形或文本,以便修正错误或清除内容。

形状工具(Shape Tool):包括矩形工具、椭圆工具、多边形工具等,用于绘制基本形状。

钢笔工具(Pen Tool):用于创建自定义矢量路径和图形。

切片工具(Slice Tool):用于创建和编辑图像切片,以将图像分割为不同的区域。

文本模糊工具(Text Blur Tool):用于模糊文本,以创建特殊效果。

放大工具(Zoom Tool):用于调整画布的缩放级别,以便更精细的编辑

手工工具(Hand Tool):用于移动和导航画布,特别是在大型画布上浏览时。

吸管工具(Eyedropper Tool):用于选择画布上的颜色样本。

椭圆工具(Ellipse Tool):用于绘制椭圆和圆形。

曲线工具(Path Tool):用于创建和编辑路径,可用于绘制曲线和自定义形状。

手绘轮廓工具(Freeform Tool):允许您绘制自由形状的轮廓。

浸涂桶工具(Paint Bucket Tool):用于填充图形和形状。

3D工具(3D Tools):在Fireworks CS4及更高版本中提供,用于创建和编辑3D图形和效果。

颜色工具(Color Picker Tool):用于选择颜色,包括前景和背景颜色。

image596 image597 image598 image599 image600 image601
文件格式
image602 image603
其他
image604 image605 image606 image607 image608

其他

image609 image610 image611 image612 image613 image614 image615 image616 image617 image618 image619 image620 image621 image622 image623 image624 image625 image626 image627 image628 image629

⬅️ 上一篇 🏠 00-信息基础大赛 ➡️ 下一篇