!network

4/22

Keywords

联系

概述

因特网概述

1550201860254

因特网发展的三个阶段

第一阶段

第二阶段

第三阶段

因特网的标准化工作

因特网的组成

从因特网的工作方式上看,可以划分为以下的两大块:

  1. 边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
  2. 核心部分 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

1550202286552

因特网的边缘部分

处在因特网边缘的部分就是连接在因特网上的所有的主机。这些主机又称为端系统 (end system)。

“主机 A 和主机 B 进行通信”,实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信”。

即“主机 A 的某个进程和主机 B 上的另一个进程进行通信”。或简称为“计算机之间通信”。

端系统的两种通信方式

客户服务器方式(C/S 方式),即 Client/Server 方式

1550202421487

对等方式(P2P 方式),即 Peer-to-Peer 方式

因特网的核心部分

电路交换的主要特点

两部电话机只需要用一对电线就能够互相连接起来。

5 部电话机两两相连,需 10 对电线。 1550202632077

N 部电话机两两相连,需 N(N – 1)/2 对电线。

当电话机的数量很大时,这种连接方法需要的电线对的数量与电话机数的平方成正比。

使用交换机

当电话机的数量增多时,就要使用交换机来完成全网的交换任务。

1550202670680

在这里,“交换”(switching)的含义就是转接——把一条电话线转接到另一条电话线,使它们连通起来。

从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。

主要特点

电路交换必定是面向连接的。

电路交换的三个阶段:

例子

A 和 B 通话经过四个交换机,通话在 A 到 B 的连接上进行

1550202759457

电路交换传送计算机数据效率低

计算机数据具有突发性,这导致通信线路的利用率很低。

分组交换的主要特点

在发送端,先把较长的报文划分成较短的、固定长度的数据段

添加首部构成分组

每一个数据段前面添加上首部构成分组。

1550202874432

分组交换的传输单元

分组交换网以“分组”作为数据传输单元。

依次把各分组发送到接收端(假定接收端在左边)。

分组首部的重要性

每一个分组的首部都含有地址等控制信息。

分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。

用这样的存储转发方式,最后分组就能到达最终目的地。

收到分组后剥去首部

接收端收到分组后剥去首部还原成报文,把收到的数据恢复成为原来的报文。

这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。

1550203071142

分组交换与核心部分

路由器

在路由器中的输入和输出端口之间没有直接连线。

路由器处理分组的过程是:

1550213067928

分组交换的优点

分组交换带来的问题

分组在各路由器存储转发时需要排队,这就会造成一定的时延

分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销

能否说电路交换就是面向连接,而分组交换就是无连接?

计算机网络的产生

是 20 世纪 60 年代美苏冷战时期的产物。

60 年代初,美国国防部领导的远景研究规划局 ARPA (Advanced Research Project Agency) 提出要研制一种生存性 (survivability) 很强的网络

传统的电路交换 (circuit switching) 的电信网有一个缺点:正在通信的电路中有一个交换机或有一条链路被炸毁,则整个通信电路就要中断。

如要改用其他迂回电路,必须重新拨号建立连接。这将要延误一些时间。

新型网络的基本特点

ARPANET

ARPANET 的成功使计算机网络的概念发生根本变化

早期的面向终端的计算机网络是以单个主机为中心的星形网,各终端通过通信线路共享昂贵的中心主机的硬件和软件资源。

分组交换网则是以网络为中心,主机都处在网络的外围。用户通过分组交换网可共享连接在网络上的许多硬件和各种丰富的软件资源。

1550213345628

计算机网络在我国的发展

铁道部在 1980 年开始进行计算机联网实验。

1989 年 11 月我国第一个公用分组交换网 CNPAC 建成运行。

1994 年 4 月 20 日我国用 64 kb/s 专线正式连入因特网。

中国教育和科研计算机网 CERNET (China Education and Research NETwork),简称为中国教育网,是由国家投资建设,教育部负责管理,清华大学等高等学校承担建设和管理运行的全国性学术计算机互联网络。

中国互联网络信息中心 CNNIC (Network Information Center of China) 每年两次公布的我国因特网的发展情况。

计算机网络的分类

计算机网络的不同定义

几种不同的类别的网络

接入网 AN (Access Network),它又称为本地接入网或居民接入网。

由 ISP 提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用。

计算机网络的性能

计算机网络的性能指标

1. 速率

2. 带宽

时延 (delay 或 latency)

发送时延

1550213995056

传播时延

1550214085359

处理时延

排队时延

**总时延 **

1550214175679

注意

计算机网络的体系结构

计算机网络体系结构的形成

相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。

分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

两种国际标准

法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。

是非国际标准 TCP/IP 现在获得了最广泛的应用。

TCP/IP 常被称为事实上的 (de facto) 国际标准。

1550216527565

划分层次的必要性

计算机网络中的数据交换必须遵守事先约定好的规则。

这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。

网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

网络协议的组成要素

语法 数据与控制信息的结构或格式 。

语义 需要发出何种控制信息,完成何种动作以及做出何种响应。

同步 事件实现顺序的详细说明。

划分层次的概念举例

主机 1 向主机 2 通过网络发送文件。

可以将要做的工作进行如下的划分:

1550216715204

分层的好处

计算机网络的体系结构

具有五层协议的体系结构

协议很复杂

TCP/IP 的体系结构

1550217623623

1550217738192

1550217771266

1550217779369

因特网的 IP 协议是不可靠无连接的,那为什么当初不直接把它设计为可靠的?

https://blog.csdn.net/tennysonsky/article/details/44455189

意义

为应用层隐藏通讯的细节,只需关心应用程序本身的设计,通讯的细节交给操作系统调用一个 API 即可

应用层是普通的应用程序,其他底层都由操作系统和硬件实现

数据链路层是**逐跳(hop to hop)**的,一个路由到一个路由,相对的物理层是逐个介质传递,逐个网卡,逐个线路

物理层

物理层的基本概念

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。

物理层的主要任务描述为确定与传输媒体的接口的一些特性,即:

可靠的 TCP,不可靠的 IP,TCP 是淘宝卖家,IP 是快递公司,不关心包裹里面的内容,只是尽可能的交付给买家,可能会丢包,如果丢包了,卖家就重新发货(超时重传),三握四挥,下单,确认收货

数据通信的基础知识

1550224235342

基本概念

基带信号和调制

基带信号(baseband即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。

基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制 (modulation)

调制分为两类:

1550224946497

基本的带通调制方法:

信道的极限容量***

任何实际的信道都不是理想的,在传输信号时会产生各种失真以及带来多种干扰。

码元传输的速率越高,或信号传输的距离越远,在信道的输出端的波形的失真就越严重。

1550225360552

信道能够通过的频率范围

信噪比

正交振幅调制 QAM

物理层下面的传输媒体

1550226019365

导向传输媒体

双绞线:把两根互相绝缘的铜导线并排放在一起然后用规则的方法绞合起来。绞合可减少相邻导线的电磁干扰

1550381461596

**同轴电缆:**由内导体铜质芯线、绝缘层、网状编制的外导体屏蔽层以及保护塑料外层组成

光纤

1550381696807

1550381712378

非导向传输媒体

无线传输所使用的频段很广。

短波通信主要是靠电离层的反射,但短波信道的通信质量较差。

微波在空间主要是直线传播。

  1. 只能进行视距传播。
  2. 微波信号的波长较短,利用机械尺寸较小的抛物面天线,可以将微波信号能量集中在很小的波束中发送出去,达到用很小的发送功率进行远距离通信的目的。
  3. 微波信号的频率很高,可以获得较大的通信带宽。
  4. 大气对微波信号的吸收与散射影响较大。

信道复用技术

**复用 (multiplexing)**是通信技术中的基本概念。

1550381933967

频分复用 FDM

Frequency Division Multiplexing

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

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

1550382002898

时分复用 TDM

时分复用 (Time Division Multiplexing) 是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。

每一个用户所占用的时隙是周期性地出现(其周期就是 TDM 帧的长度)。

TDM 信号也称为等时 (isochronous) 信号。

时分复用的所有用户是在不同的时间占用同样的频带宽度。

使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到的子信道的利用率一般是不高的

统计时分复用 STDM

波分复用 WDM

Wavelength Division Multiplexing

波分复用就是光的频分复用。(习惯用波长来表示所使用的光载波)

1550382450429

码分复用 CDM

常用的名词是码分多址 CDMA(Code Division Multiple Access)。

各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。

这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。

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

宽带接入技术

xDSL 技术

xDSL 技术就是用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务。

虽然标准模拟电话信号的频带被限制在 300~3400 kHz 的范围内,但用户线本身实际可通过的信号频率仍然超过 1 MHz。

xDSL 技术就把 0~4 kHz 低端频谱留给传统电话使用,而把原来没有被利用的高端频谱留给用户上网使用。

DSL 就是数字用户线 (Digital Subscriber Line) 的缩写。而 DSL 的前缀 x 则表示在数字用户线上实现的不同宽带方案。

DMT 技术

DMT 调制技术采用频分复用的方法,把 40 kHz 以上一直到 1.1 MHz 的高端频谱划分为许多的子信道,其中 25 个子信道用于上行信道,而 249 个子信道用于下行信道。

每个子信道占据 4 kHz 带宽(严格讲是 4.3125 kHz),并使用不同的载波(即不同的音调)进行数字调制。这种做法相当于在一对用户线上使用许多小的调制解调器并行地传送数据。

1550383058141

FTTx 技术

FTTx(光纤到……)也是一种实现宽带居民接入网的方案。这里字母 x 可代表不同意思。

光纤到家 FTTH (Fiber To The Home):光纤一直铺设到用户家庭可能是居民接入网最后的解决方法。

光纤到大楼 FTTB (Fiber To The Building):光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户。

光纤到路边 FTTC (Fiber To The Curb):从路边到各用户可使用星形结构双绞线作为传输媒体。

数据链路层

数据链路层使用的信道主要有以下两种类型:

1550402032160

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

数据链路和帧

**链路 (link)**是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

数据链路 (data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。

数据链路层传送的是帧

1550402162555

常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。

1550402193975

早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程和协议是同义语。

三个基本问题

封装成帧

封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。

首部和尾部的一个重要作用就是进行帧定界。

1550402291103

用控制字符进行帧定界的方法

1550402320874

透明传输(转义)

1550402369935

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

接收端的数据链路层在将数据送往网络层之前删除插入的转义字符——字节填充 (byte stuffing) 或字符填充 (character stuffing) 。

如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。

用字节填充法解决透明传输的问题

1550402451799

差错控制

在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。

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

误码率与信噪比有很大的关系。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术

CRC(Cyclic Redundancy Check)

生成多项式:将二进制位串看成是生成多项式对应的系数。

如 110001 是生成多项式 x5+x4+x0 的系数。

CRC 原理:

帧检验序列 FCS

在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。

循环冗余检验 CRC 和帧检验序列 FCS 并不等同。

注意

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。

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

也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。

要做到**“可靠传输”**(即发送什么就收到什么)就必须再加上确认和重传机制。

点对点协议 PPP

PPP 协议的特点

现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。

用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。

1550402851681

PPP 协议应满足的需求

简单——这是首要的要求

封装成帧

透明性

多种网络层协议 :PPP 协议必须在同一条物理你链路上同时支持多种网络层协议

多种类型链路:能够在多种链路上运行 ,如串行(一次只发送一个比特),并行(一次并行的发送多个比特)

差错检测

检测连接状态 :能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态

最大传送单元

网络层地址协商:

数据压缩协商:提供一种方法来协商使用数据压缩算法

PPP 协议不需要的功能

纠错

流量控制

序号

多点线路

半双工或单工链路

PPP 协议的组成

1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP 协议已成为因特网的正式标准 [RFC 1661]。

PPP 协议有三个组成部分

PPP 协议的帧格式

标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的 7E 的二进制表示是 01111110)。

地址字段 A 只置为 0xFF。地址字段实际上并不起作用。

控制字段 C 通常置为 0x03。

PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

1550403003860

1550403035021

透明传输问题

当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充

当 PPP 用在异步传输时,就使用一种特殊的字符填充法(字节填充)

1550403135258

零比特填充

PPP 协议用在 SONET/SDH 链路时,是使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。

在发送端,只要发现有 5 个连续 1,则立即填入一个 0。接收端对帧中的比特流进行扫描。每当发现 5 个连续 1 时,就把这 5 个连续 1 的一个 0 删除。

1550403214973

不提供使用序号和确认的可靠传输

PPP 协议之所以不使用序号和确认机制是出于以下的考虑:

PPP 协议的工作状态

当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接

PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。

这些分组及其响应选择一些 PPP 参数,网络控制协议 NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。

通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

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

局域网的数据链路层

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

局域网具有如下的一些主要优点:

1550403437974

媒体共享技术

静态划分信道

动态媒体接入控制(多点接入)

以太网的两个标准

DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。

IEEE 的 802.3 标准。1983 年制定

DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网

适配器的作用

网络接口板又称为通信适配器 (adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”。

适配器的重要功能:

1550403632090

最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。

1550403675692

以太网的广播方式发送

总线上的每一个工作的计算机都能检测到 B 发送的数据信号。

由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。

其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。

具有广播特性的总线上实现了一对一的通信。

为了通信的简便以太网采取了两种重要的措施

以太网提供的服务

以太网提供的服务是不可靠的交付,即尽最大努力的交付。

当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定

如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

以太网发送的数据都使用曼彻斯特 (Manchester) 编码

CSMA/CD 协议

载波监听 多点接入 CSMA/CD

CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。

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

**“载波监听”**是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞

总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号

碰撞检测

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

当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大**(互相叠加)**。

当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。

电磁波在总线上的有限传播速率的影响

重要特性

使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。

每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。

这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。

争用期

最先发送数据帧的站,在发送数据帧后至多经过时间 2t (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

以太网的端到端往返时延 2t 称为争用期,或碰撞窗口。

经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

二进制指数类型退避算法

(truncated binary exponential type)

争用期长度及最短有效帧长

以太网取 51.2 ms 为争用期的长度。

对于 10 Mb/s 以太网,在争用期内可发送 512 比特,即 64 字节。也可以说争用期是 512 比特时间,1 比特时间就是发送 1 比特所需的时间。

强化碰撞

当发送数据的站一旦发现发生了碰撞时:

  1. 立即停止发送数据;
  2. 再继续发送若干比特的人为干扰信号 (jamming signal),以便让所有用户都知道现在已经发生了碰撞。

CSMA/CD 协议要点

  1. 获得数据组成以太网帧,准备发送;
  2. 若检测到信道空闲(即在 96 比特时间内没有检测到信道上有信号),就发送这个帧,若检测到忙则继续检测;
  3. 在发送过程中继续检测信道,若一直未检测到碰撞则这个成功发送;若检测到碰撞,则终止数据发送,并发送人为干扰信号;
  4. 终止发送后执行指数退避算法,等待 r 倍 512 比特时间后返回到步骤 2。

使用集线器的星形拓扑

传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。

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

1550404672688

星形网 10BASE-T

不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收。

集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性已大大提高了。

10BASE-T 的通信距离稍短,每个站到集线器的距离不超过 100 m。

这种 10 Mb/s 速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。

10BASE-T 双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。

集线器的一些特点

集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。

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

集线器很像一个多接口的转发器,工作在物理层

1550404836467

10 个站连接到以太网上,试说明以下情况每一个站所能得到的带宽:

以太网的 MAC 层(数据链路层子层)

在局域网中,硬件地址又称为物理地址,或 MAC 地址。

802 标准所说的“地址”严格地讲应当是每一个站的**“名字”或标识符**。

但鉴于大家都早已习惯了将这种 48 位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。

48 位的 MAC 地址

又称物理地址

IEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节 (即高位 24 位)。

地址字段中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。

这种 48 位地址称为 MAC-48,它的通用名称是 EUI-48。

“MAC 地址”实际上就是适配器地址或适配器标识符 EUI-48。

适配器检查 MAC 地址

适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.

“发往本站的帧”包括以下三种帧:

MAC 帧的格式

常用的以太网 MAC 帧格式有两种标准 :

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

1550577051047

目的地址字段 6 字节,源地址字段 6 字节

类型字段 2 字节,类型字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议

数据字段 46 ~ 1500 字节,数据字段的正式名称是 MAC 客户数据字段,最小长度 64 字节 - 18 字节的首部和尾部 = 数据字段的最小长度 。小于最小长度要补齐(ARP 的数据帧),过长要分片

FCS 字段 4 字节,当传输媒体的误码率为 1´10-8 时,MAC 子层可使未检测到的差错小于 1´10-14。

前同步码,在帧的前面插入的 8 字节中的第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段是帧开始定界符,表示后面的信息就是 MAC 帧。 为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节

1550577426931

PAD:垫片

无效的 MAC 帧

帧的长度不是整数个字节;

用收到的帧检验序列 FCS 查出有差错;

数据字段的长度不在 46 ~ 1500 字节之间。

有效的 MAC 帧长度为 64 ~ 1518 字节之间。

对于检查出的无效 MAC 帧就简单地丢弃。以太网不负责重传丢弃的帧。

环回接口

1550577523538

127.*,都是环回地址,都是可以 ping 通的

本质上是:减少无用功,给自己的数据直接复制一份即可,没必要传播出去。广播或多播,自己本身也是对象之一。

扩展局域网

在物理层扩展局域网(星形拓扑)

主机使用光纤和一对光纤调制解调器连接到集线器

用多个集线器可连成更大的局域网

1550405412145

用集线器组成更大的局域网都在一个碰撞域中

1550405447362

优点

缺点

在数据链路层扩展局域网

在数据链路层扩展局域网是使用网桥。

网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。

网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口

网桥的内部结构

1550405570712

使用网桥带来的好处

使用网桥带来的缺点

透明网桥

网桥应当按照以下自学习算法处理收到的帧和建立转发表

网桥在转发表中登记以下三个信息

网桥的自学习和转发帧的步骤归纳

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

1990 年问世的交换式集线器 (switching hub),可明显地提高局域网的性能。

交换式集线器常称为以太网交换机 (switch) 或第二层交换机(表明此交换机工作在数据链路层)。

以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层。

以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式

交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据。

以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。

用以太网交换机扩展局域网

1550406078775

利用以太网交换机可以很方便地实现虚拟局域网

虚拟局域网使用的以太网帧格式

高速以太网

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

在双绞线上传送 100 Mb/s 基带信号的星型拓扑以太网,仍使用 IEEE 802.3 的 CSMA/CD 协议。

100BASE-T 的适配器有很强的自适应性,能自动识别 10 Mb/s 和 100 Mb/s 。

可在全双工方式下工作而无冲突发生。因此,CSMA/CD 协议对全双工方式工作的快速以太网是不起作用的

MAC 帧格式仍然是 802.3 标准规定的。

网络层 @@@

(1) 虚拟互连网络的概念

(2) IP 地址与物理地址的关系

(3) 传统的分类的 IP 地址(包括子网掩码)和无分类域间路由选择 CIDR

(4) 路由选择协议的工作原理

网络层提供的两种服务

在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论。

争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统

虚电路服务

电信网让网络负责可靠交付(以太网?局域网?):

面向连接的通信方式

建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源。

1550452735712

如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。

虚电路是逻辑连接

虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。

请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。

数据报服务

因特网采用的方式

尽最大努力交付的好处

数据报服务

1550453072170

虚电路服务与数据报服务的对比

对比的方面 虚电路服务 数据报服务
思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证
连接的建立 必须有 不需要
终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址
分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发
当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化
分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序
端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责
相关网络层协议 IP 协议

网际协议 IP

网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议:

1550453859547

虚拟互连网络

互连在一起的网络要进行通信,会遇到许多问题需要解决,如:

网络互连的中间设备

互连网络与虚拟互连网络

1550454162928

虚拟互连网络的意义

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

使用 IP 协议的虚拟互连网络可简称为 IP 网。

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

分组在互联网中的传送

1550454227129

既有无连接的又有面向连接的?

现代 ISO 模型的连接与否是在运输层的事情

从网络层看 IP 数据报的传送

IP 地址

IP 地址及其表示方法

我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符

IP 地址现在由因特网名字与号码指派公司 ICANN (Internet Corporation for Assigned Names and Numbers) 进行分配

IP 地址的编址方法

分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。

子网的划分。这是对最基本的编址方法的改进,其标准 [RFC 950] 在 1985 年通过。

构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。

分类 IP 地址

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号

host-id,它标志该主机(或路由器)。

1550454494061

IP 地址中的网络号字段和主机号字段

1550454535634

点分十进制记法

1550454572254

常用的三种类别的 IP 地址

网络类别 最大网络数 第一个可用的网络号 最后一个可用的网络号 每个网络中最大的主机数
A 126 (27 – 2) 1 126 224-2=16,777,214
B 16,383(214 - 1) 128.1 191.255 216-2=65,534
C 2,097,151 (221 - 1) 192.0.1 223.255.255 28-2=254

注意:

IP 地址的一些重要特点

IP 地址是一种分等级的地址结构。分两个等级的好处是:

  1. IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
  2. 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。

实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。

用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。

所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。

IP 地址与硬件地址

1550455747251

1550455775907

在 IP 层抽象的互联网上只能看到 IP 数据报,图中的 IP1IP2 表示从源地址 IP1 到目的地址 IP2 ,两个路由器的 IP 地址并不出现在 IP 数据报的首部中

路由器只根据目的站的 IP 地址的网络号进行路由选择

在具体的物理网络的链路层只能看见 MAC 帧而看不见 IP 数据报

IP 层抽象的互联网屏蔽了下层很复杂的细节,在抽象的网络层上讨论问题,就能够使用统一的、抽象的 IP 地址,研究主机和主机或主机和路由器之间的通信

ARP 和 RARP

地址解析协议 ARP 和逆地址解析协议 RARP

1550455916009

地址解析协议 ARP

通过 ARP 请求分组,根据目标 IP 地址,请求物理地址,达到解析的目的

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址

每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。

当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。

1550456029783

ARP 高速缓存的作用

应当注意的问题

使用 ARP 的四种典型情况

能否直接用硬件地址通信

逆地址解析协议 RARP

IP 数据报的格式

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

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。

1550458455666

IP 数据报首部的可变部分

IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。

选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择的项目。

增加首部的可变部分是为了增加 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。

实际上这些选项很少被使用

IP 层转发分组的流程

有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。

可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。

但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。这样就可使路由表大大简化。

在路由表中,对每一条路由,最主要的是(目的网络地址,下一跳地址)

根据目的网络地址就能确定下一跳路由器,这样做的结果是:

默认路由 (default route)

路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。

这种转发方式在一个网络只有很少的对外连接时是很有用的。

默认路由在主机发送 IP 数据报时往往更能显示出它的好处。

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

只要目的网络不是 N1 和 N2,就一律选择默认路由,把数据报先间接交付路由器 R1,让 R1 再转发给下一个路由器。

1550459158239

注意

IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。

当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件

网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。

分组转发算法

  1. 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N
  2. 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行 (3)。
  3. 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 (4)。
  4. 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行 (5)。
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 (6)。
  6. 报告转发分组出错。

网际控制报文协议 ICMP

为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。

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

ICMP 不是高层协议,而是 IP 层的协议。

ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。

1550460459615

ICMP 报文的格式

1550460522190

ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型代码检验和。接着的 4 个字节的内容与 ICMP 的类型有关。

ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。

ICMP 差错报告报文共有 5 种

1550460637450

1550460675133

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

ICMP 询问报文有两种

回送请求和回答报文

时间戳请求和回答报文

1550460749450

下面的几种 ICMP 报文不再使用

ICMP 的应用举例

PING 用来测试两个主机之间的连通性。

PING 使用了 ICMP 回送请求与回送回答报文。

PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或 UDP。

1550460867766

划分子网和构造超网

划分子网

从两级 IP 地址到三级 IP 地址

在 ARPANET 的早期,IP 地址的设计确实不够合理。

从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。

这种做法叫作划分子网 (subnetting) 。划分子网已成为因特网的正式标准协议。

划分子网的基本思路

划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。

从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。

1550460005149

凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。

然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网

最后就将 IP 数据报直接交付目的主机。

1550460059994

子网掩码

从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分

使用子网掩码 (subnet mask) 可以找出 IP 地址中的子网部分。

IP 地址的各字段和子网掩码

1550460130444

(IP 地址) AND (子网掩码) =网络地址

默认子网掩码

1550460231063

子网掩码是一个重要属性

子网掩码是一个网络或一个子网的重要属性。

路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。

路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。

若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。

1550460273156

路由器转发分组的算法(子网下)

在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。

但在划分子网的情况下,从 IP 地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。

因此分组转发的算法也必须做相应的改动。

  1. 从收到的分组的首部提取目的 IP 地址 D

  2. 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。

    否则就是间接交付,执行 (3)。

  3. 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;

    否则,执行 (4)。

  4. 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;

    否则,执行 (5)。

  5. 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;

    否则,执行 (6)。

  6. 报告转发分组出错。

无分类编址 CIDR

划分子网在一定程度上缓解了因特网在发展中遇到的困难。然而在 1992 年因特网仍然面临三个必须尽早解决的问题,这就是:

CIDR 最主要的特点

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

CIDR 使用各种长度的**“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号**。

IP 地址从三级编址(使用子网掩码)又回到了两级编址

无分类的两级编址

1550461231218

CIDR 还使用**“斜线记法”(slash notation)**,它又称为 CIDR 记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。

CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。

CIDR 地址块

128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。

在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。

128.14.32.0/20 地址块的最小地址:128.14.32.0

128.14.32.0/20 地址块的最大地址:128.14.47.255

全 0 和全 1 的主机号地址一般不使用。

1550461341979

已知 CIDR 地址块中的任何一个地址,就可以知道这个地址块的起始地址。如 128.14.98.9/20,请写出这个地址块的最小地址和最大地址

路由聚合 (route aggregation)

一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。

路由聚合也称为构成超网 (supernetting)。

CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。

对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中 1 的个数。

前缀长度不超过 23 位的 CIDR 地址块包含了多个 C 类地址。

1550461713072

1550461729270

最长前缀匹配

因特网的路由选择协议

理想的路由算法

  1. 算法必须是正确的和完整的。
  2. 算法在计算上应简单。
  3. 算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。
  4. 算法应具有稳定性。
  5. 算法应是公平的。
  6. 算法应是最佳的。

从路由算法的自适应性考虑

静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。

动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。

分层次的路由选择协议

因特网采用分层次的路由选择协议。

因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。

许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。

自治系统 AS

(Autonomous System)

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

现在对自治系统 AS 的定义是强调下面的事实:尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。

因特网有两大类路由选择协议

内部网关协议 IGP (Interior Gateway Protocol) 即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。

外部网关协议 EGP (External Gateway Protocol) 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。

1550461988441

内部网关协议 IGP:具体的协议有多种,如 RIP 和 OSPF 等。

外部网关协议 EGP:目前使用的协议就是 BGP。

RIP

(Routing Information Protocol)

工作原理

“距离”的定义

RIP 协议的三个要点

路由表的建立

距离向量算法

收到相邻路由器(其地址为 X)的一个 RIP 报文:

(1) 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。

(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤:

若项目中的目的网络不在路由表中,则把该项目加到路由表中。

​ 否则

​ 若下一跳字段给出的路由器地址是同样的,则把收到的项 目 替换原路由表中的项目。

​ 否则

​ 若收到项目中的距离小于路由表中的距离,则进行更新,

否则,什么也不做。

(3) 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16(距离为 16 表示不可达)。

(4) 返回。

路由器之间交换信息

RIP 协议的报文格式

1550468090231

RIP 协议的优缺点

内部网关协议 OSPF

OSPF 协议的基本特点

三个要点

链路状态数据库

OSPF 直接用 IP 数据报传送

OSPF 的其他特点

OSPF 分组

1550468564398

OSPF 的其他特点

RIP OSPF 对比

主要特点 RIP OSPF
如何交换路由表内容 仅与相邻路由器交换 向所有路由器交换
每次交换哪些内容 路由器内所有内容 仅与该路由器相邻的路由器状态信息
最优通路依据 跳数 费用
算法 距离矢量 链路状态
传送方式 运输层 UDP IP 数据报

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

虚拟专用网 VPN

本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。

全球地址——全球唯一的 IP 地址,必须向因特网的管理机构申请。

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

1550468867854

内联网 intranet 和外联网 extranet(都是基于 TCP/IP 协议)

网络地址转换 NAT

网络地址转换 NAT 方法于 1994 年提出。

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

所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成 IPG 才能和因特网连接

1550469040807

内部主机 X 用本地地址 IPX 和因特网上主机 Y 通信所发送的数据报必须经过 NAT 路由器。

NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到因特网。

NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG

根据 NAT 转换表,NAT 路由器将目的地址 IPG 转换为 IPX,转发给最终的内部主机 X。

网际协议 IPv6 (IPng)

解决 IP 地址耗尽的根本措施

因特网经过几十年的飞速发展,到 2011 年 2 月,IPv4 的地址已经耗尽,ISP 已经不能再申请到新的 IP 地址块了。

解决 IP 地址耗尽的根本措施就是采用具有更大地址空间的新版本的 IP,即 IPv6。

IETF 早在 1992 年 6 月就提出要制定下一代的 IP, 即 IPng (IP Next Generation) 。

IPng 现正式称为 IPv6。1998 年 12 月发表的 RFC 2460~2463 已成为因特网草案标准协议。

IPv6 的基本首部

IPv6 仍支持无连接的传送,所引进的主要变化如下

更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。

扩展的地址层次结构。

灵活的首部格式。

改进的选项。

允许协议继续扩充。

支持即插即用(即自动配置)

支持资源的预分配。

从 IPv4 向 IPv6 过渡

向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容。

IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。

双协议栈 (dual stack) 是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有两个协议栈,一个 IPv4 和一个 IPv6。

1550469239864

运输层

运输层协议概述

进程之间的通信

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。

运输层为相互通信的应用进程提供了逻辑通信

1550489033519

应用进程之间的通信

两个主机进行通信实际上就是两个主机中的应用进程互相通信

应用进程之间的通信又称为端到端的通信

运输层的一个很重要的功能就是复用分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。

运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。

运输层协议和网络层协议的主要区别

1550489118374

运输层的主要功能

运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。

运输层还要对收到的报文进行差错检测

运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。

两种不同的运输协议

运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。

当运输层采用面向连接的 TCP 协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。

当运输层采用无连接的 UDP 协议时,这种逻辑通信信道是一条不可靠信道。

用户数据报协议 UDP (User Datagram Protocol) UDP 传送的数据单位是 UDP 报文或用户数据报。

传输控制协议 TCP (Transmission Control Protocol) TCP 传送的数据单位是 TCP 报文段 (segment)

1550489296629

运输层的端口

运行在计算机中的进程是用进程标识符来标志的。

为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对 TCP/IP 体系的应用进程进行标志。

解决这个问题的方法就是在运输层使用协议端口号(protocol port number),简称为端口 (port)。

虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点

端口用一个 16 位端口号进行标志。

端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。

1550489991736

三类端口

熟知端口,数值一般为 0~1023。

1550490034447

登记端口号,数值为 1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。

客户端口号或短暂端口号,数值为 49152~65535,留给客户进程选择暂时使用。

1550490062447

用户数据报协议 UDP

UDP 概述

UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能

虽然 UDP 用户数据报只能提供不可靠的交付,但 UDP 在某些方面有其特殊的优点。

UDP 的主要特点

UDP 是无连接的,即发送数据之前不需要建立连接。

UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制

UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。

UDP 支持一对一、一对多、多对一和多对多的交互通信。

UDP 的首部开销小,只有 8 个字节。

面向报文的 UDP

发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。

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

接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。

应用程序必须选择合适大小的报文。

1550490365535

UDP 的首部格式

用户数据报 UDP 有两个字段:数据字段和首部字段。首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。

1550490500030

一 UDP 用户数据报的首部的十六进制表示是:07 42 00 35 00 21 E3 27

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

1550490619345

1550490696811

1550490707687

1550490730174

UDP 的使用场合

1550490762627

UDP 适用于,简单的请求 - 响应通信,而较少考虑控制和差错的进程。

UDP 适用于多播和广播

UDP 可用于管理进程,如 SNMP(简单网络管理协议)。

UDP 可用于某些路由选择更新协议,如RIP(路由选择信息协议)。

传输控制协议 TCP

特点

TCP 是面向连接的运输层协议。

每一条 TCP 连接只能有两个端点 (endpoint),每一条 TCP 连接只能是点对点的(一对一)。

TCP 提供可靠交付的服务。

TCP 提供全双工通信。

面向字节流

TCP 面向流的概念

1550491105035

TCP 连接是一条虚连接而不是一条真正的物理连接。

TCP 对应用进程一次把多长的报文发送到 TCP 的缓存中是不关心的。

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

TCP 可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成报文段发送出去。

分组交换的因特网

1550491176727

可靠传输的工作原理:停止等待协议

1550491281602

在发送完一个分组后,必须暂时保留已发送的分组的副本。

分组和确认分组都必须进行编号

超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。

确认丢失和确认迟到

1550491359717

必须主动确认丢失和迟到,否则发送方会不断重传

可靠通信的实现

使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。

这种可靠传输协议常称为自动重传请求 ARQ (Automatic Repeat reQuest)。

ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组 。

停等协议的优点是简单,缺点是信道利用率低。

信道利用率

1550491508723

1550491536451

流水线传输

发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。

由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。

1550491581602

连续 ARQ 协议(窗口概念)

1550491615128

累积确认

Go-back-N(回退 N)

TCP 可靠通信的具体实现

TCP 报文段的首部格式

1550491771542

TCP 可靠传输的实现——滑动窗口

A 收到 B 发来的确认报文段,其中首部的窗口值 20,ACK=1,确认号是 31。

1550492054506

1550492075189

1550492083979

1550492091533

1550492099502

滑动窗口例子

1550492147653

1550492153675

1550492159269

1550492165005

1550492172540

1550492180333

发送缓存

接收缓存

注意

A 的发送窗口并不总是和 B 的接收窗口一样大(因为有一定的时间滞后)。

TCP 标准没有规定对不按序到达的数据应如何处理。通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。

TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。

超时重传时间的选择

重传机制是 TCP 中最重要和最复杂的问题之一。

TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。

由于 TCP 的下层是一个互联网环境,IP 数据报所选择的路由变化很大。因而运输层的往返时间的方差也很大。

重传确认判断

1550538875488

TCP 的流量控制

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

一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。

**流量控制 (flow control)**就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。

持续计时器

TCP 的拥塞控制

在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞(congestion)。

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

若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。

1550539117298

拥塞控制是很难设计的,因为它是一个动态的(而不是静态的)问题。

当前网络正朝着高速化的方向发展,这很容易出现缓存不够大而造成分组的丢失。但分组的丢失是网络发生拥塞的征兆而不是原因。

在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化甚至发生死锁的原因。这点应特别引起重视。

拥塞控制与流量控制的关系

拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。

拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。

流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。

流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

几种拥塞控制方法

1. 慢开始和拥塞避免

应用层

应用层协议的特点

每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。

应用层的许多协议都是基于客户服务器方式。客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方

域名系统 DNS

域名系统概述

许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。

域名到 IP 地址的解析过程:当某个应用进程需要将主机名解析为 IP 地址时,该应用进程调用解析程序,并成为 DNS 的一个客户,把待解析的域名放在DNS 请求报文中,以UDP 用户数据报方式发送给本地域名服务器

名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

因特网的域名结构

因特网采用了层次树状结构的命名方法。

任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

域名的结构由标号序列组成,各标号之间用点隔开: 1550544396814

域名只是个逻辑概念,并不代表计算机所在的物理地点。

变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32 位二进制数字则非常便于机器进行处理。

域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。

顶级域名 TLD (Top Level Domain)

国家顶级域名 nTLD:如: .cn 表示中国,.us 表示美国,.uk 表示英国,等等。

通用顶级域名 gTLD:最早的顶级域名是:

基础结构域名 (infrastructure domain):这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。

新增加了下列的通用顶级域名 :

1550544538831

域名服务器

域名服务器有以下四种类型:

根域名服务器

顶级域名服务器

权限域名服务器

本地域名服务器

单播、组播 (多播)、广播及任播

单播 (unicast):目的地址为单一目标的一种传输方式。

组播 (multicast):也叫多播, 指把信息同时传递给一组目的地址。它使用策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。

广播 (broadcast):是指目的地址为网络中所有设备。实际上,这里所说的“所有设备”也是限定在一个范围之中。

任播 (anycast):目的地址对应一群接收节点,但在任何给定时间,只有其中之一可以接收到传送端来的资讯。

域名的解析过程

主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

1550544941060

名字的高速缓存(HOST?)

每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。

可大大减轻根域名服务器的负荷,使因特网上的 DNS 查询请求和回答报文的数量大为减少。

为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。

当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。

文件传送协议 FTP

FTP 概述

文件传送协议 FTP (File Transfer Protocol) 是因特网上使用得最广泛的文件传送协议。

FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。

FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

RFC 959 很早就成为了因特网的正式标准。

文件传送并非很简单的问题

网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。

初看起来,在两个主机之间传送文件是很简单的事情。

其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。

FTP 的基本工作原理

网络环境下复制文件的复杂性:

(1) 计算机存储数据的格式不同。

(2) 文件的目录结构和文件命名的规定不同。

(3) 对于相同的文件存取功能,操作系统使用的命令不同。

(4) 访问控制方法不同。

FTP 特点

主进程的工作步骤

两个连接

两个端口

网络文件系统 NFS

NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。

NFS 可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

远程添加数据的例子,计算机 A 的 NFS 客户软件,把要添加的数据和在文件后面写数据的请求一起发送到远地的计算机 B 的 NFS 服务器。NFS 服务器更新文件后返回应答信息。

在网络上传送的只是少量的修改数据。

简单文件传送协议 TFTP

TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议。

TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施

TFTP 只支持文件传输而不支持交互。

TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。

TFTP 的主要特点是

​ (1) 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。

​ (2) 数据 PDU 也称为文件块 (block),每个块按序编号,从 1 开始。

​ (3) 支持 ASCII 码或二进制传送。

​ (4) 可对文件进行读或写。

​ (5) 使用很简单的首部。

TFTP 的工作很像停止等待协议:

远程终端协议 TELNET

TELNET 是一个简单的远程终端协议,也是因特网的正式标准。

用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。

TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

客户 - 服务器方式

TELNET 使用网络虚拟终端 NVT 格式

1550562157263

万维网 WWW

概述

万维网 WWW (World Wide Web) 并非某种特殊的计算机网络。

万维网是一个大规模的、联机式的信息储藏所。

万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。

这种访问方式称为“链接”。

万维网提供分布式服务

1550562373034

超媒体与超文本

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

一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。

超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。

万维网的工作方式

万维网以客户 - 服务器方式工作。

浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。

客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档

在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。

万维网必须解决的问题

(1) 怎样标志分布在整个因特网上的万维网文档?

(2) 用何协议实现万维网上各种超链的链接?

(3) 怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?

(4) 怎样使用户能够很方便地找到所需的信息?

统一资源定位符 URL

URL 的格式

超文本传送协议 HTTP

HTTP 的操作过程

工作过程

1550562852920

HTTP 的主要特点

用户点击鼠标后所发生的事件

(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 中的所有文本。

1550562949961

持续连接 (persistent connection)

HTTP/1.1 协议使用持续连接。

万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。

这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。

目前一些流行的浏览器(例如,IE 6.0)的默认设置就是使用 HTTP/1.1。

持续连接的两种工作方式

代理服务器 (proxy server)

代理服务器 (proxy server) 又称为万维网高速缓存 (Web cache),它代表浏览器发出 HTTP 请求。

万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。

当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。

超文本标记语言 HTML

超文本标记语言 HTML 中的 Markup 的意思就是“设置标记”。

HTML 定义了许多用于排版的命令(即标签)。

HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。

HTML 文档

仅当 HTML 文档是以.html 或 .htm 为后缀时,浏览器才对此 文档的各种标签进行解释。

如 HTML 文档改换以 .txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。

当浏览器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。

电子邮件

概述

电子邮件 (e-mail) 是因特网上使用得最多的和最受用户欢迎的一种应用。

电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取。

电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。

现在电子邮件不仅可传送文字信息,而且还可附上声音和图像。

电子邮件的一些标准

发送邮件的协议:SMTP

读取邮件的协议:POP3 和 IMAP

MIME 在其邮件首部中说明了邮件的数据类型 (如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据。

1550563396152

用户代理 UA (User Agent)

用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件。

用户代理的功能:撰写、显示、处理和通信。

邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。

邮件服务器按照客户 - 服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议。

应当注意

发送和接收电子邮件的几个重要步骤

  1. 发件人调用 PC 中的用户代理撰写和编辑要发送的邮件。
  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器,
  3. SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
  5. 运行在接收方邮件服务器中的 SMTP 服务器进 程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
  6. 收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。

电子邮件的组成

电子邮件地址的格式

简单邮件传送协议 SMTP

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

由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。

SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。

SMTP 通信的三个阶段

  1. 连接建立:连接是在发送主机的 SMTP 客户和接收主机的 SMTP 服务器之间建立的。SMTP 不使用中间的邮件服务器。
  2. 邮件传送
  3. 连接释放:邮件发送完毕后,SMTP 应释放 TCP 连接。

电子邮件的信息格式

邮件内容的首部

邮件读取协议 POP3 和 IMAP

邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。

POP 也使用客户服务器的工作方式。

在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。

IMAP (Internet Message Access Protocol) 也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。

用在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。

因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。

IMAP 的特点

必须注意

基于万维网的电子邮件

动态主机配置协议 DHCP

为了将软件协议做成通用的和便于移植,协议软件的编写者把协议软件参数化。这就使得在很多台计算机上使用同一个经过编译的二进制代码成为可能。

一台计算机和另一台计算机的区别,都可通过一些不同的参数来体现。

在软件协议运行之前,必须给每一个参数赋值。

协议配置

在协议软件中给这些参数赋值的动作叫做协议配置。

一个软件协议在使用之前必须是已正确配置的。

具体的配置信息有哪些则取决于协议栈。

需要配置的项目

(1) IP 地址

(2) 子网掩码

(3) 默认路由器的 IP 地址

(4) 域名服务器的 IP 地址

这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。

动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)

动态主机配置协议 DHCP 提供了即插即用连网 (plug-and-play networking) 的机制。

这种机制允许一台计算机加入新的网络和获取 IP 地址而不用手工参与。

笔试题