1 计算机网络体系结构
1.1 两个标准和五层
1.1.1 什么是计算机网络体系结构?
计算机网络体系结构指计算机网络中各个层次和功能组成的结构体系,它定义了计算机网络中各层次之间的协议和接口,以实现不同类型、不同规模、不同性能的计算机之间的互联和通信,同时提供各种网络服务和应用。计算机网络体系结构通常被分为多层,如OSI参考模型和TCP/IP参考模型。每层都有自己独立的功能和协议,层与层之间通过接口和协议进行交互和通信,这种分层结构不仅可以使网络的设计和实现更加简洁和可控,也能够促进不同厂商,不同开发团队之间的协作和兼容性。
1.1.2 体系结构
OSI体系结构 | TCP/IP体系结构 | 五层协议体系结构 |
---|---|---|
7 应用层 | 4 应用层(DNS,HTTP,SMTP) | 5 应用层 |
6 表示层 | 3 运输层(TCP/UDP) | 4 运输层 |
5 会话层 | 2 网际层IP | 3 网络层 |
4 运输层 | 1 链路层 | 2 数据链路层 |
3 网络层 | 1 物理层 | |
2 数据输出层 | ||
1 物理层 |
五层体系结构
- 应用层
a. 通过应用进程间的交互完成特定网络应用。应用层协议定义是应用进程间通信和交互的规则
b. 协议:DNS(域名系统),HTTP(支持万维网应用),SMTP(支持电子邮件)
c. 应用层交互的数据单元:报文 - 运输层
a. 负责向两台主机中进程之间的通信提供通用的数据传输服务
b. 一台主机可以同时运行多个进程,因此运输层有复用和分用的功能。
ⅰ. 复用:多个应用层进程可同时使用下面的运输层服务
ⅱ. 分用:与之相反。运输层把收到的信息分别交付给应用层的相应进程
c. 协议:TCP(传输控制协议)——报文段,UDP(用户数据报协议)——数据报 - 网络层
a. 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送
b. 协议:IP协议——数据报 - 数据链路层
a. 两个相邻节点间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息 - 物理层
a. 考虑多大电压表示“1”/“0”,以及接收方如何识别出发送方所发送的比特;还要确定多少根引脚以及各引脚如何连接
b. 数据单位:比特
OSI参考模型把对等层次间传送的数据单位称为该层的协议数据单元PDU
1.2 协议与划分层次
1.2.1 什么是网络协议?网络协议的三要素及其含义? - 网络协议:为进行网络中的数据交换而建立的规则、标准或约定
a. 协议是控制两个对等实体(或多个实体)进行通信的规则的集合
b. 在协议控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需下一层所提供的服务。
c. 使用本层服务的实体只能看见服务而看不到下面的协议——下面协议对上面实体是透明的
d. 协议是水平的,服务是垂直的 - 三要素:
a. 语法:数据与控制信息的结构或格式
b. 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
c. 同步:事件实现顺序的详细说明
1.2.2 分层的好处? - 各层之间是独立的
- 灵活性好
- 结构上可分割开
- 易于实现和维护
- 能促进标准化工作
a. 差错控制
b. 流量控制
c. 分段和重装
d. 复用和分用
e. 连接建立和释放
1.2.3 实体、协议、服务和服务访问点
- 实体
a. 任何可发送或接收信息的硬件或软件进程 - 对等实体
a. 彼此通信的两个或多个网络节点或系统,它们在通信中具有相同角色和地位。 - 服务
a. 是由下层向上层通过层间接口提供,垂直的 - 服务访问点 SAP
a. 在同一系统中相邻两层的实体进行交互(交换信息)的地方 - 协议与服务
a. 区别:
ⅰ. 协议是控制对等实体之间通信的规则,是水平的。服务是下层通过层间接口向上层提供的功能,是垂直的
b. 关系:
ⅰ. 协议的实现保证了能够向上一层提供服务,要实现本层协议还需使用下层提供的服务
1.2.4 互联网的组成 - 互联网边缘和核心部分
a. 边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享
b. 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的 - 三种交换技术
a. 电路交换:独占信道
b. 分组交换:存储转发、分段重组、独立选路
c. 报文交换:存储转发、独立选路
2 物理层
2.1 物理层功能及任务
2.1.1 物理层基本功能
传输比特流
2.1.2 物理层主要任务
确定与传输媒体的接口有关的一些特性
- 机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。
- 电气特性:指明在接口电缆的各条线上出现的电压范围
- 功能特性:指明某条线上出现的某一电平的电压的意义
- 过程特性:指明对于不同功能的各种可能事件的出现顺序
具体问题具体分析:
1 RJ45
- 机械特性:
- 电气特性:
- 功能特性:
2 RS-232-C
2.2 信道相关概念
2.2.1 比特率与波特率(码元速率)关系
比特率:单位时间内传输的比特数
波特率(码元速率):调制/解调器每秒发送或接收的信号波形变化的次数(每秒 变化的信号元素数量,一个信号元素可以携带多个比特)
关系
V = W l o g 2 M V = Wlog_2M V=Wlog2M(V比特率,W码元速率,M进制)
2.2.2 通信双方信息交互方式:
- 单工通信:有or无线电广播、有线电广播、电视
- 半双工通信:对讲机
- 全双工通信:计算机网络、手机、电话…
2.2.3 基本带通调制方式
- 调幅AM
- 调频FM
- 调相PM
- 正交振幅调制QAM
- 为了达到更高的信息传输速率——>复杂的多元制的振幅相位混合调制方式(同时改变正弦波的振幅、相位)
2.3 信道极限容量
2.3.1 奈氏准则
理想低通信道下,极限数据传输率 = 2 W l o g 2 V ( b / s ) 2Wlog_2V(b/s) 2Wlog2V(b/s)——W信道带宽(Hz)、V码元进制
2.3.2 信噪比
信噪比 = 10 l n ( S / N ) ( d B ) 10ln(S/N)(dB) 10ln(S/N)(dB)
2.3.3 香农公式
C = W l o g 2 ( 1 + S / N ) ( b i t / s ) C =Wlog_2(1+S/N)(bit/s) C=Wlog2(1+S/N)(bit/s)
2.4 信道复用技术
2.4.1 频分复用-FDM
各路信号在同样时间占用不同的带宽资源
2.4.2 时分复用-TDM
所有用户在不同的时间占用同样的频带宽度
2.4.3 统计时分复用-STDM
- 提高信道利用率
- 不是固定分配时隙,而是按需动态分配时隙,从而提高线路利用率
2.4.4 波分复用-WDM
光的频分复用——一根光纤上复用多路光载波信号
更多的路数——>密集波分复用DWDM
2.4.5 码分复用-CDM
共享信道——每个用户可以在相同时间使用同样的频带进行通信
码片序列
- CDMA(码分多址)中,每个比特时间划分为m个短的间隔,称为码片
- 每个站被指派一个唯一的 m bit码片序列
- 发送比特1——则发送自己的 m bit 码片序列
- 发送比特0——则发送该码片序列的二进制反码
例如:S站8bit码片序列:00011011
发送比特1——则发送00011011
发送比特0——则发送11100100
S站的码片序列为:(-1-1-1+1+1-1+1+1)——为了方便,将码片中0记为-1,1记为+1
码片序列实现了扩频(因为每个比特要转换成m个比特的码片,数据率和频带宽度都提高了m倍)
习题
1 求最大数据速率(奈氏准则/香农定理)
2 码分多址CDMA通信,判断哪个站发送数据
(想接受哪个站的数据,就用哪个站的码片与收到的结果求内积,做归一化处理)
3 数据链路层
3.1 三个基本问题
3.1.1 数据链路层的基本功能?
- 封装成帧:在一段数据前后分别加上首部尾部,便于接收端在收到物理层上交的比特流后,能根据首部和尾部的标记,从收到的比特流中识别出帧的开始和结束
- 透明传输:成帧的标识可作为数据传输,正确区分是成帧标识还是数据
- 差错检测:检查帧的传输是否有比特错误
3.1.2 数据链路层传输数据单位?
帧
3.1.3 三个基本问题
- 封装成帧:
a. 定义:在一段数据的前后分别添加首部和尾部,就构成了一个帧。首部和尾部的一个重要作用就是进行帧定界,即确定帧的界限
为什么需要规定最大传输单元MTU?
网络中通常以数据包为单位进行信息传递,那么一次传送多大的包合适,多大的包最高效是个核心问题。
如果包大小设置很大,意味报文中有效数据更多,通信效率更高,但传送一个数据包的延迟也越大,数据包中bit位发生错误的概率也越大,若这个报文丢失了,重传代价也很大。
如果包大小设置的过小,意味传送相同的数据量,设备需要处理更多的报文,这样极大考验设备的线速转发能力,通过设置MTU来调节网络上数据包的大小,让不同的网络找到最适宜的MTU从而提高转发效率
如何成帧?
当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符。
控制字符SOH放在一帧的最前面,表示帧的首部开始,控制字符EOT表示帧结束
- 透明传输:
如果数据中的某个字节的二进制代码恰好与SOH/EOT一样,数据链路层就会错误地“找到帧的边界”——>解决办法:字节填充
字节填充(字符填充)
发送端:数据链路层在数据中出现控制字符SOH/EOT,前面插入一个转义字符“ESC”
接收端:数据链路层在将数据送往网络层之前删除插入的转义字符
即:如果转义字符也出现在数据当中,应该在转义字符前面插入一个转义字符ESC。当接收端收到连续的两个转义字符时,就删除前面的一个
- 差错检测:
a. 传输过程中可能会产生比特差错:
ⅰ. 1变0/0变1
ⅱ. 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率(误码率与信噪比有很大关系)
ⅲ. 为了保证数据传输的可靠性,必须使用各种差错检测措施
b. 循环冗余检验CRC
ⅰ. 发送端先把数据划分为组。假定每组k个比特
ⅱ. 假设待传送的一组数据 M = 101001(k=6)。我们在M的后面再添加供差错检测的n位冗余码一起发送
c. n位冗余码计算
ⅰ. 用二进制的模2运算进行2^n*M运算——相当于在M后面添加n个0
ⅱ. 得到(k+n)位的数 / 事先选定好的长度为n+1位的除数P,得出商Q,余数R。R是n位
ⅲ. 将余数R作为冗余码拼接在数据M后发送
CRC冗余码计算
多项式表示CRC——P(x)= x^3 + x^2+1 表示 除数p = 1101
帧检验序列FCS
定义:在数据后面添加的冗余码
CRC与FCS并不等同,CRC为常用的检错方式,而FCS是添加在数据后的冗余码;FCS可以用CRC得出,但是CRC并非用来获得FCS的唯一方法
CRC只能做到无差错接受(凡是接受的帧都能以非常接近1的概率认为这些帧在传输过程中没有产生差错),要做到“可靠传输”,必须再加上帧编号、确认和重传机制
3.1.4 为什么要解决三个基本问题
- 封装成帧:是分组交换的必然要求
- 透明传输:是避免二进制比特流中出现与帧定界符相同的模式,使得节点错误识别帧
- 差错检测:是为了避免接收到错误的信息和防止信道中出现的无效数据帧浪费后续路由上的传输和处理资源
3.2 PPP协议
3.2.1 PPP协议特点
- 简单
- 封装成帧
- 透明性
- 多种网络层协议
- 多种类型链路
3.2.2 PPP协议的组成
- 一个将IP数据报封装到串行链路的方法
- 一个链路控制协议LCP
- 一套网络控制协议NCP:如支持IP协议的IP控制协议IPCP
3.2.3 零比特填充
- 在发送端,只要发现有5个连续1,则立即填入1个0
- 接收端对帧中的比特流进行扫描,每当发现5个连续1时,就把这5个连续1后的一个0删除
3.3 CSMA/CD协议
3.3.1 什么是CSMA/CD协议?其工作过程是怎样的?
CSMA/CD:载波监听多点接入/碰撞检测
- 载波监听 CS:指每个站在发送数据之前先要检测一下信道上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发送碰撞。在发送数据过程中也要不断进行检测
- 多点接入 MA:表示许多计算机以多点接入的方式连接在一根总线上
- 碰撞检测 CD :边发送边监听,判断发送的数据是否与其他站发送的数据产生了冲突
3.3.2 什么是争用期?
以太网的端到端往返时延2τ,又称碰撞窗口
(2倍的总线端到端的传输时延)
3.3.3 退避算法
发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能发送数据
- 基本退避时间取为争用期 2τ
- 从整数集合 [ 0,1…,(2^k-1)] 中随机取出一个数,记为r。重传所需时延就是r倍的基本退避时间
- k = Min [ 重传次数,10],当k<=10时,取重传次数
- 当重传达16次仍不能成功时,即丢弃该帧,并向高层报告
实例
3.4 传统以太网
3.4.1 传统以太网:10BASE-T,具体含义
- “10”:10Mbps;
- “BASE”:电缆上的信号是基带信号;
- “T”:代表双绞线星形网。
3.4.2 传统以太网最短有效帧长?最小帧间间隔?
最短有效帧长:512比特bit——64字节byte
最小帧间间隔:9.6μs
3.4.3 以太网的MTU?
MTU=1500字节byte
3.4.4 以太网使用曼彻斯特编码
一个比特数据占用两个码元,所以码元速率是数据速率的两倍
3.4.5 MAC地址
48位
3.5 以太网的扩展
3.5.1 用转发器(集线器)进行扩展
同一个广播域,同一个冲突域
3.5.2 网桥(以太网交换机)
同一个广播域,不同的冲突域
3.5.3 网桥(以太网交换机)的工作原理和特点?网桥与转发器以及以太网交换机的异同?
(1) 网桥/以太网交换机
工作原理
工作在数据链路层。对收到的帧根据其MAC帧的目的地址进行转发和过滤。
具体
网桥的每个端口与一个网段相连,网桥从端口接收网段上传送的各种帧。每当收到一个帧时,就先暂存在其缓冲中。若此帧未出现差错,且欲发往的目的站MAC 地址属于另一网段,则通过查找站表,将收到的帧送往对应的端口转发出去。若该帧出现差错,则丢弃此帧。网桥过滤了通信量,扩大了物理范围,提高了可靠性,可互连不同物理层、不同MAC 子层和不同速率的局域网。但同时也增加了时延,对用户太多和通信量太大的局域网不适合。
特点
- 接口数量多:交换是一个多接口的网桥,具有十几或更多接口
- 全双工工作:接口与一台主机或者另一个交换机相连,工作在全双工方式
- 具有并行性:能同时连通多对接口,使多对主机能同时通信
- 传输无冲突:相互通信的主机都是独占传输媒体,无碰撞地传输数据
- 接口存储器:接口有存储器,能在输出端口繁忙时把到来的帧缓存
- 能即插即用:即插即用设备,其内部的帧交换表是通过自学习算法自动地逐渐建立起来的
- 转发速率高:采用专用的交换结构芯片,硬件转发,转发速率比使用软件转发的网桥快很多
(2)网桥与转发器以及以太网交换机的异同
网桥与转发器不同
(1)网桥工作在数据链路层,而转发器工作在物理层;
(2)网桥不像转发器转发所有的帧,而是只转发未出现差错,且目的站属于另一网络的帧或广播帧;(3)转发器转发一帧时不用检测传输媒体,而网桥在转发一帧前必须执行CSMA/CD 算法;
(4)网桥和转发器都有扩展局域网的作用,但网桥还能提高局域网的效率并连接不同MAC 子层和不同速率局域网的作用。
网桥与以太网交换机
(1)以太网交换机通常有十几个端口,而网桥一般只有2-4个端口;它们都工作在数据链路层;
(2)网桥的端口一般连接到局域网,而以太网的每个接口都直接与主机相连
(3)交换机允许多对计算机间能同时通信,而网桥允许每个网段上的计算机同时通信。所以实质上以太网交换机是一个多端口的网桥,连到交换机上的每台计算机就像连到网桥的一个局域网段上。
(4)网桥采用存储转发方式进行转发,而以太网交换机还可采用直通方式转发。以太网交换机采用了专用的交换机构芯片,转发速度比网桥快。
3.5.4 虚拟局域网VLAN
定义
VLAN:由一些局域网网段构成的与物理位置无关的逻辑组
- 这些组都有共同需求
- 每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪个VLAN
相关知识
- VLAN由以太网交换机实现
- VLAN只是局域网给用户提供的一种服务,并不是一种新型局域网
VLAN优点
VLAN划分方法
4 网络层
中间设备/中继系统:
- 物理层:转发器
- 数据链路层:网桥/桥接器,交换机
- 网络层:路由器
- 网络层以上:网关
4.1 向上提供的服务
4.1.1 网络层可以向上提供哪两种服务?
虚电路服务和数据报服务
4.1.2 面向连接的虚电路服务和无连接的数据报服务在可靠通信保证、分组转发方面有什么不同?两者对比
4.2 网际协议IP
4.2.1 IPv4地址
IP地址(32位) = 网络号(n位)+主机号(32-n位)——IP地址标志了连接到某个网络的主机,还标志了该接口所连接的网络
分类地址A\B\C\D\E类的分类方法
子网划分的方法
在IP地址的主机号中,插入了一个子网号,把两级IP地址变为三级IP地址
IP地址 = 网络号 + 子网号 +主机号 (子网号+主机号 = 本地地址)
无分类编址CIDR
IP地址(32位) = 网络前缀(n位)+主机号(32-n位)
CIDR地址的三个特殊地址块:
- 前缀n=32,即32位IP地址都是前缀,无主机号——用于主机路由
- 前缀n=31,只有两个IP地址,主机号分别为0、1,用于点对点链路
- 前缀n=0同时IP地址也全为0,0.0.0/0,用于默认路由
CIDR编址也称为“构造超网”
4.2.2 IP层转发分组过程
- 基于终点的转发
- 最长前缀匹配
- 使用CIDP时,路由表中每个项目由“网络前缀”和“下一跳地址”组成,在查找路由表时可能会得到不止一个匹配结果
- 应从匹配结果中选择有最大网络前缀的路由(最长前缀匹配)
- 网络前缀越长,其地址块越小,因而路由越具体
- 最长前缀匹配又称最长匹配/最佳匹配
- 使用CIDP时,路由表中每个项目由“网络前缀”和“下一跳地址”组成,在查找路由表时可能会得到不止一个匹配结果
- 特定主机路由
- 默认路由
IP地址 AND 子网掩码 = 网络地址
4.2.3 IP协议的首部
- IP数据报由“首部”和“数据”两部分组成
- 首部的前一部分是固定长度,共20字节(一行32位,4字节,一共五行)
- 首部的固定部分的后面是一些可选字段,其长度是可变的
标识、标志、片偏移与IP分片有关,IP数据报总长度超过MTU时,IP数据报需要分片:(以下为实例)
- 原始IP数据报总长度为6578字节,则原始IP数据报中携带的数据为6558字节(固定首部20字节)
- 假设该IP分组需要通过以太网帧传输(MTU=1500字节),则需要分为5个IP分片
- 前4个分片每片携带1480字节(加上IP分片首部20字节,刚好1500字节)
- 最后一个IP分片携带638字节
分片示意图
IP数据报首部检验和计算使用16位二进制反码求和算法(实例如下):
4.3 ARP协议
ARP解决同一个局域网上的主机或路由器的IP地址和MAC地址的映射问题(ARP地址解析协议)
4.3.1 IP地址与MAC地址
4.3.2 ARP协议作用
IP地址——>MAC地址
4.3.3 ARP协议工作过程
- 当主机A欲向本局域网上的某个主机B发送IP数据报时,先在其ARP高速缓存中查看有无主机B的IP地址:
- 如有,可查出其对应的硬件地址,再将次硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址
- 如没有,ARP进程在本局域网上广播发送一个ARP请求分组
收到ARP响应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存
4.4 ICMP协议
4.4.1 ICMP协议作用
- 分担IP一部分功能:
a. 差错报告:目的不可达、源站抑制、超时、参数问题、重定向
b. 查询:回送请求/应答,地址掩码请求/应答、时间戳请求/应答 - 为了更有效地转发IP数据报和提高交付成功的机会
- 使主机或路由器报告差错情况和提供有关异常情况的报告
- 不是高层协议,因为ICMP报文装在IP数据报中,作为其中的数据部分,是IP层的协议
4.4.2 ICMP报文种类
- 差错报告报文
- 询问报文
4.4.3 差错报告报文
- 终点不可达(类型值 3)
a. 例如:目的地是一个未连接的端口/网络不可达 - 时间超过(类型值 11)
a. 例如:主要用于路由器上,指示数据报在传输过程中花费时间较长。可能由于网络拓扑变化/路由环路引起 - 改变路由(路由重定向)(类型值 5)
a. 例如:用于通知发送方,可以通过一个更好的路由发送数据。路由器认为有更有效路径时可以发送,告诉它更新路由表 - 参数问题(类型值 12)
a. 例如:当接收方检测IP数据报首部字段有问题时。可能首部长度错误等原因引起 - 源端抑制——不再用
a. 当一个路由器或主机希望通过通知发送方减缓发送速率时。通常发生在网络拥塞下,以防止数据报过度传输 - 回显显示/应答:
a. 用于诊断网络连通性,Ping可测量网络往返时间
应用场景
- 不应发送ICMP差错报告报文的情况
a. 对ICMP差错报告报文
b. 对第一个分片的数据报分片的所有后续数据报片
c. 对具有多播地址的数据报
d. 对具有特殊地址127.0.0.0/0.0.0.0的数据报 - 询问报文
a. 回送请求和回答
ⅰ. 由主机或路由器向一个特定的目的主机发出的询问
ⅱ. 收到此报文的主机必须给源主机/路由器发送ICMP回送回答报文
ⅲ. 用来测试目的站是否可达,以了解其有关状况
b. 时间戳请求和回答
ⅰ. 请某主机/路由器回答当前日期和时间
ⅱ. 时间戳回答报文中有一个32位的字段,其中写入的整数代表从1900年1月1日起到当前时间共多少秒
ⅲ. 请求与回答可用于时钟同步和时间测量
4.5 IPv6协议
IPv6共128位 ~ 3.4*10^38个地址左右
IPv6数据报由基本首部和有效载荷(净载荷)构成
有效载荷允许有0/多个扩展首部
4.5.1 IPv6基本首部
- 版本号:值固定为6,4个比特位
- 通信量类:与IPv4首部ToS字段等效,8比特
- 流标识:标识这个数据包属于源节点和目的节点之间的一个特定数据包序列,资源预分配时使用,对实时音频/视频数据的传送特别有用
- 负载长度:不包含IPv6首部长度。扩展首部和数据长度和
- 下一个首部:没有扩展首部,则指的是传输层的协议类型TCP/UDP
- 条数限制:和IPv4首部中TTL类似,最大255
- 源地址/目的地址:128位16字节长度
4.5.2 IPv6地址 - 单播:传统点对点通信
- 多播:一点对多点的通信
- 任播:IPv6增加的一种类型。任播终点是一组计算机,但数据报只交付其中一个,按路由算法得出的距离最近的一个。
a. 是一种网络寻址和路由的策略(数据根据路由拓扑来决定送到“最近“/”最好“的目的地)
IPv6地址编写规范:
例:
IPv6地址分配情况:
4.5.3 IPv4——>IPv6过渡:
- 双栈协议(双协议)
a. 双栈配置:
ⅰ. PC机:两套IP地址
ⅱ. 路由器:两套IP地址,两套路由选择(IPv4和IPv6)
b. 隧道技术
4.6 RIP协议
4.6.1 什么是自治系统AS
在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由
4.6.2 内部网关协议IGP
在一个自治系统内部使用的路由选择协议,目前使用最多的RIP和OSPF
RIP
RIP是一种分布式的基于距离向量的路由选择协议,只适于小型互联网
特点
- 仅与相邻路由器交换信息
- 路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表
- 按固定的时间间隔交换路由信息
- 好消息传的快,坏消息传的慢
- 采用距离向量协议
缺点
- 逐跳收敛:收敛速度慢,故障恢复时间长
- 分布式路由计算:缺少对全局网络拓扑的了解
- 以“跳数”为度量:存在选择次优路径的风险
- 限制了网络规模:16跳不可达
OSPF
开放最短路径优先OSPF,使用链路状态协议而不是RIP的距离向量协议
特点
- 向本自治系统中所有路由器发送信息。(使用洪泛法)
- 发送的信息就是与本路由器相邻的所有路由器的链路状态
- 当链路状态发送变化或每隔一段时间,路由器向所有路由器用洪泛法发送链路状态信息
- 开放:不受某家厂商控制,是公开发表的
- 最短路径优先是因为使用了迪杰斯特拉提出的最短路径算法SPF
- 采用分布式链路状态协议
- 信息传递与路由计算分离
- 以“累计链路开销”作为路由参考
- 支持可变长度的子网划分和无分类编址CIDR
- 每个链路状态都带上一个32位的序号,序号越大状态越新。全部序号空间在600年内不会产生重复号
- 与网络规模无关:由于路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网规模并无直接关系。当互联网规模很大时,OSPF比RIP好很多
4.6.3 路由信息协议RIP工作原理
4.6.4 RIP协议如何更新路由表信息
- 修改RIP报文中的所有项目(路由):把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值+1
- 对修改后的RIP报文中的每一个项目,重复以下步骤:
a. 若路由表中没有目的网络N,则把该项目添加到路由表中。否则:若路由表中的网络N的下一跳路由器为X,则用收到的项目替换原路由表中的项目。否则:若收到项目中距离小于路由表中的距离,则用收到项目更新原路由表中的项目。否则什么也不做 - 若3min还未收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离为置16(表示不可达)
- 返回
4.7 OSPF协议
4.7.1 OSPF协议特点
——> 4.6.2 内部网关协议IGP
4.7.2 OSPF对多个路由器接入的局域网采用指定路由器(DR)的方法,使广播的信息大大减少
指定路由器DR:有助于优化OSPF在广播网络中的运行,减少冗余的LSA更新,提高网络性能
4.8 路由器结构
4.8.1 路由器结构可划分为两大部分
路由选择部分、分组转发部分
4.8.2 路由器的3种交换结构
- 存储器
- 总线
- 互连网络
4.9 VPN与NAT
4.9.1 三个IPv4专用地址块
- 10.0.0.0/8:
a. 10.0.0.0–10.255.255.255 - 172.16.0.0/12
a. 172.16.0.0–173.31.255.255 - 192.168.0.0/16
a. 192.168.0.0–192.168.255.255
专用IP地址的互连网络称为“专用互联网”/“本地互联网”/“专用网”
专用IP地址也称可重用地址
4.9.2 隧道技术实现VPN
利用公用互联网作为本机构各专用网之间的通信载体,这样的专用网又称虚拟专用网VPN
隧道技术
- 在隧道两端通过封装以及解封装技术在公网上建立一条数据通信道
- 使用这条数据通道对数据进行传输
- 隧道是由隧道协议构建形成的
- 隧道技术是VPN技术中关键技术
4.9.3 VPN应用场景
- 内联网
- 外联网
- 远程接入网
4.9.4 NAT作用
存在问题
在专用网上使用专用地址的主机如何与互联网上的主机进行通信(并不需要加密)?
采用方法
目前最多使用网络地址转换NAT(再申请些全球IP地址-不易)
- 专用网连接到互联网的路由器安装NAT软件(NAT路由器)
- NAT路由器至少有一个有效的外部全球IP地址
- 使用本地地址的主机在和外界通信时,在NAT路由器上将其本地地址转换成全球IP地址,才能和互联网连接
内部主机与外部主机通信时,在NAT路由器上发生两次地址转换:
- 离开专用网时:替换源地址,将内部地址替换为全球地址
- 进入专用网时:替换目的地址,将全球地址替换为内部地址
NAT并不节省IP地址,为有效利用NAT路由器上的全球IP地址,常用NAT转换表常利用运输层的端口号
多对多/一对多
- 多个拥有本地地址的主机,共用NAT路由器上的一个全球IP地址
- 使用端口号的NAT叫做网络地址与端口号转换NAPT
- 不使用端口号的NAT叫做传统NAT
NAPT
NAT
4.9.5 NAPT是什么
上文提及
习题
1 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来,但第二个局域网所能传送的最长数据帧中的数据部分仅1200位,因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)
注意:
1024——>因为IP首部长度字段是以32位为单位的,64/32=2字节=2*8bit(片偏移8bit为单位)=16bit(1040-16=1024bit)
2 设IP数据报使用固定首部,其各字段的具体数值如下表所示(除IP地址外,均用十进制表示)。试用二进制运算方法计算应当写入到首部检验和字段的数值(用二进制表示)。
注意: (1)中 ——每16bit转换
- 4 5 0 0
- 28
- 1
- 4 17
- 10 12
- 14 5
- 12 6
- 7 9
3 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:(1)每一个子网的网络前缀有多长?(2)每一个子网中有多少个地址?(3)每一个子网的地址是什么?(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
注意: 地址块取那两位——划分4个子网时往后增加了2位 主机地址不可取0000,1111——0001-1110即可 4
设网络中的路由器B的路由表有如下左的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”),现在B收到从C发来的路由信息如下右(这两列分别表示“目的网络”“距离”):——试求出路由器B更新后的路由表(详细说明每一个步骤)。
5 运输层
只有位于网络边缘部分的主机的协议栈才有运输层,网络核心部分中的路由器在转发分组时只用到了下三层功能
5.1 主要功能
5.1.1 运输层在协议栈中的地位和作用
运输层处于面向通信部分的最高层,同时也是用户功能中的最底层,向它上面的应用层提供服务
5.1.2 运输层和网络层明显区别
网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
5.1.3 运输层存在的必要性
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5.2 两个主要协议之——UDP
用户数据报协议UDP
5.2.1 UDP主要特点
- 不需要先建立连接,提供无连接服务
- 协议数据单元为UDP报文或用户数据报
- 收到UDP报文后,无需任何确认
- UDP不提供可靠交付(尽最大努力交付)
- 支持多重交互通信(支持单播、多播、广播等)
- 不保证数据到达的顺序
- 没有拥塞控制机制
- 简单,首部开销小
- 适用于多媒体应用
5.2.2 UDP首部
8字节,由4个字段构成,每个字段长度都是2字节:
- 源端口
- 目的端口
- 长度
- 检验和
伪首部:不是UDP真实首部,仅仅是为了计算检验和(可视为两次检查UDP)
- 一次是对IIP地址检验:确认IP分组是发送给本机
- 一次是对端口号和数据的检验,确认交给哪个进程且数据无误
5.2.3 为什么说UDP是面向报文的
- 发送方 UDP对应用程序交下来的报文,在添加首部后就向下交付 IP层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,即一次发送一个报文。
- 接收方 UDP对 IP 层交上来的 UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,即一次交付一个完整的报文。
5.2.4 UDP检验和方法
二进制反码运算求和,将结果求反码
5.3 两个主要协议之——TCP
传输控制协议TCP
- TCP报文段首部的前20个字节是固定的
- 后面有4n字节是根据需要而增加的选项
- TCP首部最小长度20字节
- TCP是面向字节流的,但TCP数据单元是报文段
- TCP报文段分为首部和数据两部分,TCP全部功能体现在首部各个字段的作用
- 源端口和目的端口:2字节,是运输层与应用层的服务接口
- 序号:4字节,本报文段所携带数据的第一个字节的序号(又称报文段序号)
- 确认号:4字节,期望收到对方的下一个报文段中数据的第一个字节的序号
- 数据偏移:4位,TCP报文段数据起始处距离TCP报文段的起始处有多远。数据偏移最大值60字节,也是TCP首部最大长度(选项长度不能超过40字节)
- 因为数据偏移单位32位字(4字节为计算单位),4位2进制可代表最大数15,故数据偏移最大值60字节(4*15)
- 窗口字段:2字节,告诉对方从本报文段首部中的确认号算起,接收方目前运行对方发送的数据量
- 检验和:2字节,检验和字段检验的范围包括首部和数据。计算检验和时,要TCP报文段前加上12字节的伪首部 …
5.3.1 TCP主要特点?
- 面向连接
- 面向字节流
- 只能是点对点的通信
- 全双工通信
- 提供可靠交付的服务
5.3.2 TCP首部及含义、应用
如:A向B发送了一个TCP报文段,其中序号字段seq=100,数据部分有100字节,那么正确收到后,在B对该报文段的确认报文中ack值?——200
ACK值:期望收到的下一个字节的序号(序号字段seq=100不是数据部分起始序号,数据部分有100字节,因此下一个期望的序号100+100 = 200)
5.3.3 为什么TCP是面向字节流
发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,可拆分/合并),但维持各字节
5.3.4 TCP连接:(套接字:IP地址+端口号)可以唯一确定一个在互联网上通信的进程
5.3.5 停止等待协议工作过程
停止等待即:每发送完一个分组就停止发送,等待对方确认,收到确认后再发送下一个分组(TCP报文段)
接收方B出现2种情况:
- B接受M1时检测出错误就丢弃M1,其他什么也不做
- M1在传输过程中丢失了,这时B什么都不知道,也什么都不做
如何保证B正确收到M1?——超时重传 - A为每个已发送的分组都设置超时计时器
- A在到期前收到了相应的确认,撤销该超时计时器,继续发送下个分组M2
5.3.6 连续ARQ协议工作过程
通常情况,A最终总是可收到对所有发出的分组的确认。如果A不断重传分组但收不到确认,就说明通信线路差,不能进行通信
自动重传请求ARQ:
重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。
优点:简单
缺点:信道利用率太低
流水线传输
连续ARQ协议
- 发送窗口内的分组都可连续发送出去,无需等待对方的确认。即发送方一次可以发出多个分组
- 使用滑动窗口协议控制发送方和接收方所能发送和接收的分组的数量和编号
- 每收到一个确认,发送方就把发送窗口向前滑动
- 接收方一般采用累计确认的方式
- 采用回退N方法进行重传
当使用流水线传输时,连续ARQ协议和滑动窗口协议——限制连续发送数据的量
连续ARQ协议与停止等待协议对比
5.3.7 可靠传输的实现
- 滑动窗口机制
- 接收窗口
- 发送窗口
- 超时重传时间的选择
5.3.8 TCP的流量控制
-
滑动窗口机制
-
糊涂窗口综合症
5.3.9 TCP的拥塞控制 及其具体情况分析
-
慢开始(指数增长,实际不慢)
a. 每次刚开始进行慢开始
b. 每次超时(网络拥塞),ssthresh = cwnd / 2,设当前cwnd=1,进入慢开始 -
拥塞避免
a. 到达门限ssthresh时开始拥塞避免,线性增长- 注意:超时后cwnd回到1,3-ACK后cwnd回到cwnd/2,ssthresh都是ssthresh/2
- 注意:超时后cwnd回到1,3-ACK后cwnd回到cwnd/2,ssthresh都是ssthresh/2
-
快重传
a. 当发送方连续收到3个对同一报文段的重复确认(3-ACK),立即重传丢失的报文段 -
快恢复
a. 当发送方连续收到3个对同一报文段的重复确认(3-ACK),门限值 = cwnd/2,执行拥塞避免算法
5.3.10 连接建立及释放
TCP连接的三个阶段:连接建立(交流前打招呼)、数据传送(信息交流)、连接释放(交流完说再见)
-
三报文握手建立连接
-
四报文握手释放连接
习题
1 一个UDP用户数据的数据字段为8192字节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报片的数据字段长度和片偏移字段的值。
2 假设使用连续ARQ协议中,发送窗口大小是3,而序列范围是[0,15],而传输媒体保证在接收方能够按序接收到分组。在某一时刻,接收方下一个期望收到的序号是5。试问:(1)在发送方的发送窗口中可能出现的序号组合有哪些?(2) 接收方已经发送出去的,但在网络中(即还未到达发送方)的确认分组可能有那些?说明这些确认分组是用来确认哪些序号的分组。
3 TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示:
(1)指明TCP工作在慢开始阶段的时间间隔。
(2)指明TCP工作在拥塞避免阶段的时间间隔。
(3)在第16轮次和第22轮次后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?
(4)在第1轮次、第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大?
(5)在第几轮次送出第70个报文段?
(6)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?
4 假定用 TCP 协议在 40 Gbit/s 的线路上传送数据。(1)如果 TCP 充分利用了线路的带宽,那么需要多长的时间 TCP 会发生序号绕回?(2)假定现在 TCP 的首部中采用了时间戳选项。时间戳占用了 4 字节,共 32 位。每隔一定的时间(这段时间叫做一个滴答)时间戳的数值加 1。假定设计的时间戳是每隔 859 微秒,时间戳的数值加 1。试问要经过多长时间才发生时间戳数值的绕回。
6 应用层
应用层协议:
- 域名服务:DNS
- 文件传输:FTP
- 电子邮件:SMTP , POP3
- 远程登录:TELNET
- WWW服务:HTTP
- 动态主机配置:DHCP等
两种工作模式:
- Client/Server
a. 客户机/服务器
- P2P
a. 特殊的客户服务器
i.不存在永远在线的服务器
ⅱ. 每个主机既可以提供服务,也可以请求服务
ⅲ. 任意端系统/节点之间可以直接通信
ⅳ. 结点间歇性接入网络
ⅴ. 结点可能改变IP地址
ⅵ. 可扩展性好
ⅶ. 网络健壮性好
ⅷ. 资源分散管理
6.1 DNS
6.1.1 DNS功能
域名——>IP地址的解析
6.1.2 域名服务器
服务器:提供网络服务的设备(由硬件、服务软件组成)
● 永久提供服务
● 有永久性访问地址/域名
● 通常采用多线程/多进程实现
客户机:请求服务的主机
● 与服务器通信,使用服务器提供的服务
● 间歇性接入网络
● 可能使用动态IP地址
● 不与其他客户直接通信
● 资源集中管理
服务器的可靠性:
-
根域名服务器(知道所有顶级域名服务器的域名和IP地址)
a. 本地域名服务器要对互联网上任何一个域名进行解析,如果自己无法解析,首先求助根域名服务器
b. 互联网共有13个不同IP地址的根域名服务器A-M
ⅰ.ⅱ. 主根美国,12辅根中9个美国,1个英国,1个日本,1个瑞典
c. 每个根域名服务器由多台机器组成
d. 每套可在不同地点配置镜像服务器
e. 若所有根域名服务器都瘫痪了,整个互联网中的DNS系统就无法工作了
f. 根域名服务器采用任播技术,当DNS客户向某根域名服务器发出查询报文时,路由器可找到离DNS客户最近的一个根域名服务器
g. 至2020.9.3,全球共1098个根域名服务器在运行,我国28个
h. 根域名服务器不直接把域名转换成IP地址(它没存放这种信息),而是告诉本地域名服务器下一步应找哪个顶级域名服务器进行查询 -
顶级域名服务器(TLD服务器)
a. 负责管理在该顶级域名服务器注册的所有二级域名
b. 当收到DNS查询请求时,就给出相应回答(可能是最后的结果/下一步应找的域名服务器IP地址) -
权限域名服务器、
a. 负责一个区的域名服务器
b. 当一个权限域名服务器不能给最后的查询回答时,就会发出查询请求的DNS客户,下一步应找哪个权限域名服务器 -
本地域名服务器(默认域名服务器)
a. 当一个主机发送DNS查询请求时,这个查询请求报文就发送给本地域名服务器
b. 每个互联网服务提供者ISP/一个大学/一个大学的系,都可以拥有一个本地域名服务器
c. 当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器
6.1.3 域名的解析过程
- 主机向本地域名服务器的查询采用递归查询(请别人帮忙完成查询)
a. 如果本地域名服务器不能解析域名的IP地址,本地域名服务器就以DNS客户身份,向根域名服务器发送查询请求报文 - 本地域名服务器向根域名服务器的查询采用迭代查询(自己主动完成查询)
a. 当根域名服务器收到本地域名服务器的迭代查询请求报文时
ⅰ. 要么给出所要查询的IP地址
ⅱ. 要么告诉本地域名服务器“你下一步应该向哪个域名服务器进行查询”
b. 本地域名服务器进行后续的查询
6.1.4 DNS协议采用UDP协议封装
6.2 FTP
文件传送协议FTP,是互联网上使用最广泛的协议,是文件共享协议的一个大类
FTP两个连接:
- 传输数据,20号端口
- 传输命令,21号端口
FTP两种工作方式:
- 主动方式
- 被动方式
FTP文件传输模式
- 文本模式
- 二进制模式
FTP软件
- Server
- Client
6.2.1 FTP功能
- FTP通过网络实现异构计算机间文件的“拷贝”
- FTP屏蔽了计算机系统的细节,适合在异构网络中任意计算机间传送文件
- FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
(文件上传下载、文件管理、权限管理、联机/独立模式等)
6.2.2 FTP基本工作原理
- 采用C/S模式,可为多个客户提供服务
- FTP服务器进程由两大部分组成:
a. 一个主进程,负责接受新的请求
b. 若干从属进程,负责处理单个请求 - 主要功能:减少/消除不同操作系统下处理文件的不兼容性
- 提供文件传送的基本服务,使用TCP可靠的传输服务
6.2.3 FTP两个连接
- 控制连接
a. 使用TCP的21号端口
b. 负责传输FTP协议的命令和响应。例如:登录、创建目录、上传下载文件等操作 - 数据连接(FTP会话开始时建立的,持续存在于整个会话期间)
a. 使用TCP的20号端口
b. 用于传输实际的文件数据
6.2.4 FTP使用两个连接的好处
- 更好地管理FTP会话,因为控制信息和数据传输是分开的,更好地控制文件传输过程,确保文件传输的正确性和完整性
- 提高数据传输效率:因为控制信息和数据传输可以同时进行
- 灵活性:控制连接负责发送命令、接收响应,而数据连接仅在需要时创建,使得FTP可以通过连接来控制多个并发的数据连接。实现连接的复用,减少连接建立和关闭的开销
- 安全性:控制连接通常是明文的,但是数据连接可选择加密传输,提高文件传输安全性
6.3 万维网
万维网以客户/服务器方式工作
浏览器——万维网客户程序
万维网文档所驻留的计算机——服务器程序(万维网服务器)客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档
HTTP操作过程
HTTP特点
HTTP事务
无连接:
限制每次连接只处理一个请求。服务器处理完客户的请求并收到客户的应答后,立即断开连接。可节省时间
无状态:
协议对于事务处理无记忆能力,服务器不知道客户端是什么状态(即给服务器发送HTTP请求后,服务器根据请求发回数据,发送完,不记录任何信息)
代理服务器(万维网高速缓存)
● 表示浏览器发出HTTP请求
● 万维网高速缓存只把最近的一些请求和响应暂存在本地磁盘中
● 当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,不需按URL地址再去互联网访问该资源
6.3.1 什么是万维网
万维网并非某种特殊的计算机网络,是无数个网络站点和网页的集合,是个大规模的、联机式的信息储藏所。它们在一起构成了互联网最主要的部分。它实际上是多媒体的集合,是由超级链接连接而成的
万维网是分布式超媒体系统,是超文本系统的扩展
一个超文本由多个信息源链接成。
利用一个链接可找到另一个文档 超媒体与超文本区别:
超文本仅包含文本信息、超媒体文档还包含其他表示方式的信息:图像、声音等
6.3.2 万维网必须解决的四个问题
-
如何标志分布在互联网的Page——URL
a. 统一资源定位符URL——标志万维网上各种文档
b. 每个文档在整个互联网范围内有唯一标识符
c. 一般形式
ⅰ.ⅱ. 本机文件与互联网文件对比
-
用什么协议实现万维网上的各种链接——HTTP
a. 超文本传送协议HTTP
b. HTTP是应用层协议,使用TCP连接进行可靠传送 -
如何解决Page的显示及什么地方存在连接——HTML
a. 超文本标记语言HTML
b. 使得万维网页面设计者用一个超链从本页面的某处链接到互联网上任何一个万维网页面,且能够在自己计算机屏幕将页面显示 -
如何方便用户找到所需信息——搜索引擎
a. 各种搜索工具
6.3.3 万维网访问过程分析
如果A访问www.hnust.edu.cn
A在其浏览器中输入网址并回车后,直到hnust网站首页显示在浏览器中,请分析:此过程中,按照TCP/IP参考模型,从应用层到网络接口层都用了什么协议?每个协议的作用?
所用到的各层协议及其作用:
- 应用层: a. HTTP协议,是WWW访问协议; b. DNS协议:将域名www.hnust.edu.cn映射到其对应的IP地址。
- 运输层: a. TCP协议,在客户和服务器之间建立连接,提供可靠的数据传输 b. UDP协议:传送DNS系统中待解析的信息及各种解析的结果。
- 网络层: a. IP协议,进行路由选择 b. ICMP协议,提供传输过程中的差错检测。
- 网络接口层: a. ARP协议,将目的IP地址映射成物理MAC地址。
6.4 电子邮件
重要标准:
- 简单邮件传送协议SMTP
- 互联网报文交换格式
- 通用互联网邮件扩充MIME
- 邮件读取协议:POP3、IMAP
SMTP , POP3 , IMAP三者详情及区别:
参考博客
SMTP , POP3 ,IMAP作用范围
- SMTP:
- 用户代理与服务器之间
- 服务器与服务器之间
- POP3 , IMAP
- 用户代理与服务器之间
- 用户代理与服务器之间
6.4.1 电子邮件系统组成
- 用户代理(UA)
a. 用户与电子邮件系统的接口—又称电子邮件客户端软件
b. 基本功能:撰写、显示、处理、通信 - 邮件服务器
a. 又称邮件传输代理
b. 功能:发送、接收邮件,同时向发信人报告邮件传送情况
c. 按照客户服务器方式工作,邮件服务器必须可充当客户和服务器 - 协议
a. 邮件发送和读取使用不同协议
b. SMTP简单邮件发送协议:用于用户代理向邮件服务器或邮件服务器之间发送邮件
c. POP3邮局协议:用于用户代理从邮件服务器读取邮件
发送方PUSH,接收方PULL
6.4.2 SMTP在邮件系统的应用位置?有什么缺点?
SMTP协议:
- 采用TCP协议,监听25号端口,通过SSL加密后默认端口465
- 不使用中间服务器 a. 发送方和接收邮件服务器直接建立TCP连接 b. 发送邮件不需鉴别 c. SMTP采用ASCII明文 传送
- 三个阶段 a. 连接建立 b. 邮件传送 c. 连接释放
- 规定了在两个相互通信的SMTP进程间交换信息的方法
- 使用客户服务器方式
- 基于TCP实现客户与服务器通信
- 基于文本(ASCII码)的协议
- SMTP客户与服务器之间采用命令-响应方式进行交互
(1)应用位置
使用客户-服务器方式,用于在邮件客户端和服务器之间传输电子邮件。因此负责发送邮件的SMTP进程就是SMTP客户,而接收邮件的SMTP进程就是SMTP服务器
(2)缺点
- SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他二进制对象
- SMTP限于传送7位ASCII码,无法传送非ASCII码信息。
不能满足传送多媒体邮件(带有图片、音频、视频数据)的需要,且许多其他非英语国家的文字也无法用SMTP传送 - SMTP服务器会拒绝超过一定长度的邮件
- 某些SMTP的实现并没有完全按照[RFC 821]的SMTP标准
6.4.3 POP3、IMAP协议在邮件系统应用位置?两者区别?
POP3
- POP邮局通信协议,POP3即第3个版本
- 采用TCP协议,默认端口110,通过SSL加密后默认端口995
- 仅用于客户从服务器上取邮件
- 需要鉴别
- 客户取回邮件,服务器即删除该邮件
- 主要用于支持使用客户端远程管理在服务器上的电子邮件,它规定怎样将个人就是就是连接到Internet的邮件服务器和下载电子邮件的电子协议。是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机上,但对邮件的操作并不会反馈邮件服务器
IMAP
- 网际报文存取协议(交互式邮件存取协议)应用层协议
- 采用TCP协议,默认端口143,SSL加密后993
- 用于从本地邮件客户端访问远程服务器上的邮件
- 联机协议,类似在本地操作(可创建文件夹)
- 连接IMAP仅下载邮件首部,打开邮件后传送至客户用户代理
- 允许收信人只读取邮件某部分,用户可搜索邮件内容
- 用户可以在不同地方,多设备随时上网阅读、处理邮件
(1) 应用位置
POP3
主要用于支持使用客户端远程管理在服务器上的电子邮件,它规定怎样将个人就是就是连接到Internet的邮件服务器和下载电子邮件的电子协议。是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机上,但对邮件的操作并不会反馈邮件服务器
IMAP
用于从本地邮件客户端访问远程服务器上的邮件
(2) 区别
- POP3协议允许电子邮件客户端下载服务器上的邮件,但在客户端的操作(移动邮件,标记已读等)不会反馈到服务器上;
IMAP提供webmail与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器,对 邮件进行的操作,服务器上的邮件也会做相应动作 - 开启IMAP后,在电子邮件客户端收取的邮件仍保留在服务器上,更好地支持了从多个不同设备中随时访问新邮件,支持多设备同步和备份;而POP3会在邮件客户端下载邮件后通常从服务器上删除邮件。
- IMAP像POP3那样提供了邮件下载服务,用户可离线阅读,但IMAP提供的摘要浏览功能可以让在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才做出是否下载的决定。
总体来说:IMAP整体为用户带来更为便捷、可靠的体验;POP3更易丢失邮件/多次下载相同邮件,但IMAP通过邮件客户端与webmail之间双向同步功能很好地避免了问题
用户代理缺点:
- 必须计算机中安装用户代理软件
- 可能不能安装/不允许安装,导致不方便收发邮件
万维网电子邮件优点: - 不需在计算机中再安装用户代理软件
- 计算机可联网,方便收发电子邮件
- 电子邮件界面友好
6.4.4 MIME作用是什么
MIME
- 并没有改动SMTP或取代它
- 意图是继续使用目前格式,但增加了邮件主体的结构,并定义了传送非ASCII码的编码规则
作用
- 支持多媒体类型:允许电子邮件中传输的不仅是文本,还可以图像、音频、视频等。通过MIME,电子邮件系统可以识别且正确处理不同类型的数据
- 定义文件格式:定义了一种规范的方式表示文件类型,有助于接收方的电子邮件客户端正确解释和显示附件
- 支持字符集:支持不同字符集,确保传递过程中不会损坏/失真
- 处理非ASCII字符:以确保传输中不会被错误解释/截断
- 定义邮件消息结构:包括邮件头、正文、附件的组织方式,有助于确保邮件正确显示和解释
6.5 DHCP
动态主机配置协议DHCP
- 提供即插即用连网的机制
- 允许一台计算机加入新网络,并自动获取IP地址
- DHCP为运行服务器软件(服务器)、且位置固定的计算机指派一个永久地址
- DHCP为客户端的计算机分配一个临时地址
DHCP解决的问题:
- 普通用户配置协议参数易出错
- 管理员配置多台设备麻烦
- IP地址数少于用户数
6.5.1 DHCP应用场景
6.5.2 连接到互联网的计算机的协议软件需要配置的项目包括
(主机连入互联网需要配置协议参数,即协议配置)
- IP地址
- 子网掩码
- 默认路由器的IP地址
- 域名服务器的IP地址
6.5.3 DHCP工作过程
- DHCP服务器被动打开UDP端口67,等待客户端发来的报文
- DHCP客户从UDP端口68发送DHCP发现报文
- 凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文,因此DHCP客户可能收到多个DHCP提供报文
- DHCP客户从几个DHCP服务器中选择其一,并向所选的DHCP服务器发送DHCP请求报文
- 被选择的DHCP服务器发送确认报文DHCPACK。这时起,DHCP客户即可使用该IP(已绑定状态——DHCP客户端的IP和MAC地址已绑定,可使用临时IP地址),DHCP客户要根据服务器提供的租用期T设置两个计时器T1,T2,它们的超时时间分别0.5T,0.875T。当超时时间到了就要请求更新租用期
- 租用期过了一半,DHCP客户发生请求报文,要求更新租用期
- DHCP服务器若同意,则发回确认报文,这时DHCP客户得到新的租用期,重新设置计时器
- 若不同意,则发回否认报文。这时DHCP客户必须停用原来的IP地址,重新申请IP地址(回到2)
a. 若DHCP服务器不响应6的请求报文,则在租用期过了87.5%(T2时间到),DHCP客户必须重发请求报文(重复6)然后继续后面步骤 - DHCP客户可随时提前终止服务器所提供的租用期,这时只需向DHCP服务器发送释放报文即可
6.6 SNMP
简单网络管理协议SNMP
- 是管理程序和代理程序之间(客户服务器方式)进行通信的规则
- 网络管理协议简称网管协议
- 网络管理员利用网络管理协议,通过管理站对网络中的被管设备进行管理
- 网管协议本身不管理网络
SNMP的网络管理部分
- SNMP本身
- 管理信息结构SMI
- 管理信息库MIB
6.6.1 什么是网络管理
网络管理包括对硬件、软件和人力的使用,综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等
6.6.2 网络管理的五大功能
- 故障管理
a. 故障检测,隔离和纠正 - 配置管理
a. 初始化网络,并配置网络 - 计费管理
a. 记录网络资源的使用 - 性能管理
a. 估价系统资源的运行状况及通信效率等 - 网络安全管理
a. 对授权机制、访问控制、加密和加密关键字的管理
6.6.3 SNMP基本功能 - 监视网络性能
- 检测分析网络差错
- 配置网络设备
等