计算机网络
计算机网络体系结构
计算机网络概述
计算机网络的组成
组成部分
- 硬件
- 主机(端系统)、通信链路(双绞线、光纤)、交换设备(路由器、交换机)、通信处理机(网卡)
- 软件:实现资源共享的软件以及方便用户使用的各种工具软件
- 网络操作系统、邮件收发程序、FTP程序、聊天程序
- 协议:计算机网络的核心,规定了网络传输数据遵循的规定
工作方式
- 边缘部分:供用户直接使用的主机组成,用来进行通信和资源共享
- 核心部分∶大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务
功能组成
- 通信子网
- 由传输介质、通信设备、相应的网络协议组成
- 使得网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信
- 资源子网
- 是实现资源共享功能的设备以及其软件的集合
- 共享其他计算机上的硬件资源、软件资源和数据资源
计算机网络的功能
- 数据通信、资源共享、资源的利用率分布式处理、提高可靠性、负载均衡
计算机网络的分类
按分布范围分类
-
广域网WAN
- 广域网是因特网的核心部分,连接广域网的各节点交换机的链路一般是高速链路,具有较大的通信容量
- 多采用交换技术
-
城域网MAN
- 多采用以太网技术10base-T
-
局域网WAN
- 多采用广播技术
-
个人区域网PAN
- 多采用无线技术
按传输技术分类
-
广播式网络
- 所有联网计算机共享一个公共通信信道
- 一台计算机发送报文分组,其他计算机也能收听这个分组(根据报文目的地址进行接收)
- 局域网;广域网中的无线、卫星通信网络
-
点对点网络
- 每个物理线路连接一对计算机
- 计算机采用分组存储转发机制,通过中间结点对分组进行接收、存储和转发直到目的地
- 广域网
按拓扑结构分类
- 总线形网络、星形网络、环形网络(令牌环局域网)、网状网络
按交换技术分类
- 电路交换网络
- 在源结点和目的结点之间建立一条专用的通路用于传送数据
- 包括建立连接、传输数据、断开连接三个阶段
- 应用:传统电话网络
- 报文交换网络(存储-转发网络)
- 用户数据加上源地址、目的地址、校验码等信息,封装成报文。整个报文传送到相邻结点,存储、转发,重复直到到达目的结点
- 分组交换网络(包交换网络)
- 将数据分成较短的固定长度的数据块,在每个数据块中加入源地址、目的地址等信息,组成分组(包),以存储-转发方式传输
- 应用:主流网络
按传输介质分类
- 有线网络:双绞线网络、同轴电缆网络
- 无线网络:蓝牙、微波、无限电
计算机网络的性能指标
-
带宽:网络在通信线路中传送数据的能力;最高数据率
- 单位:b/s
-
时延:数据从网络的一端传送到另一端所需要的总时间
- 发送时延
- 从发送分组的第一个比特起,到分组的最后一个比特发送完毕所需的时间
- 发送时延=分组长度/信道带宽
- 传播时延
- 一个比特从链路的一段到链路的另一端所需的时间
- 传播时延=信道长度/电磁波在信道上的传播速率
- 处理时延
- 数据在交换结点为存储转发而进行的一些必要的处理所花费的时间
- 如:分析分组的首部、从分组中提取数据部分、差错检验、寻找适当的路由器
- 排队时延
- 路由器中,在输入队列排队等待处理;在输出队列排队等待转发
- 发送时延
-
时延带宽积=传播时延*信道带宽
- 单位:bit
-
往返时延RTT
-
吞吐量
- 单位时间内通过某个网络的数据量
- 单位:b/s
-
速率
- 数据传输率、比特率,最高速率即带宽
-
信道利用率
计算机网络体系结构与参考模型
计算机网络分层结构
服务数据单元SDU:为完成用户所要求的功能而应传送的数据(报文的数据部分)
协议控制信息PCI:控制协议操作的信息(报文的控制信息部分)
协议数据单元PDU:对等层次之间传送的数据单位(物理层:比特;链路层:帧;网络层:分组;传输层:报文)
( n + 1 ) − P D U = n − S D U (n+1)-PDU=n-SDU (n+1)−PDU=n−SDU
n − S D U + n − P C I = n − P D U n-SDU+n-PCI=n-PDU n−SDU+n−PCI=n−PDU
计算机网络协议、接口、服务的概念
协议
-
控制两个或者多个对等实体进行通信的规则集合,是水平的
-
组成:语法、语义、同步
接口
- 同一节点内相邻两层间交换信息的连接点
服务
- 下层为紧邻的上层提供的功能调用,是垂直的
原语
- 请求、指示、响应、证实
分类
-
面向连接服务 / 无连接服务
- 面向连接服务:通信双方必须建立连接,分配相应资源,结束后释放连接与资源
- 可靠服务
- 代表协议:TCP协议
- 无连接服务:通信双方不需要建立连接,直接发送数据
- 不可靠服务
- 代表协议:IP协议、UDP协议
- 面向连接服务:通信双方必须建立连接,分配相应资源,结束后释放连接与资源
-
可靠服务 / 不可靠服务
- 可靠服务:网络具有纠错,检错,应答机制,保证数据正确可靠的传送到目的地
- 不可靠服务:网络尽量正确地传送,不能保证数据的正确,可靠性由应用或者用户来保障
-
有应答服务 / 无应答服务
- 有应答服务:接收方在收到数据后向发送方发出相应的应答
- 由传输系统内部自动实现
- 无应答服务:接收方受到数据后不会自动给出应答
- 若需要应答,就由高层实现
- 代表协议:WWW协议
- 有应答服务:接收方在收到数据后向发送方发出相应的应答
ISO/OSI参考模型和TCP/IP模型
OSI参考模型
任务 | 传输单位 | 功能 | 协议 | |
---|---|---|---|---|
应用层 | 用户与网络的界面,为特定类型的网络应用提供访问OSI环境的手段 | FTP SMTP HTTP | ||
表示层 | 处理在两个通信系统中交换信息的表示方式 | 数据格式交换 数据加密/解密 数据压缩/恢复 | JPEG ASCLL | |
会话层 | 负责不同主机上的各个进程之间的会话 | 建立同步 建立/管理/终止会话 | ADSP ASF | |
传输层 | 负责主机中两个进程之间的相互通信,即端到端的通信 | 报文段(TCP)或用户数据报(UDP) | 可靠、不可靠传输 流量控制 差错控制 服务质量 数据传输管理 | TCP UDP |
网络层 | 把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务 | 数据报 | 流量控制 差错控制 拥塞控制 网际互联 | IP IPX ICMP ARP RARP OSPF |
数据链路层 | 将网络层传来的IP数据报组装成帧 | 帧 | 成帧 差错控制 流量控制 传输管理 控制对共享信道的访问(广播式网络) | SDLC HDLC PPP STP 帧中继 |
物理层 | 在物理媒体上为数据端设备透明地传输原始比特流 | 比特 | 定义接口特性 定义传输模式(单工、半双工、双工) 定义传输速率 比特同步 比特编码 | EIA-232C EID/TIA RS-449 X.21d |
附1
- 点到点的通信(数据链路层)
- 主机到主机的通信,一个硬件地址或IP地址到另一个
- 端到端的通信(传输层)
- 不同主机内两个进程之间的通信,一个进程端口到另一个
附2
- 资源子网:应用层、表示层、会话层
- 承上启下:传输层
- 通信子网:网络层、数据链路层、物理层
附3
数据链路层、网络层、传输层都具有流量控制的功能
- 数据链路层:相邻结点之间的流量控制
- 网络层:整个网络中的流量控制
- 传输层:端到端的流量控制
TCP/IP模型
与OSI比较 | 功能 | 协议 | |
---|---|---|---|
应用层 | 应用层+表示层+会话层 | Telnet FTP DNS SMTP HTTP | |
传输层 | 传输层 | 实现发送端和目的端主机上的对等实体进行会话 | TCP UDP |
网际层 | 网络层 | 将分组发往任何网络,并为之选择合适的路由,但不保证有序到达 | IPv4 IPv6 |
网络接口层 | 数据链路层+物理层 | 从主机或结点接收IP分组,并把它们发送到指定的物理网络上 |
附1
- ISO/OSI参考模型在传输层仅支持面向连接的通信,在网络层支持无连接和面向连接的通信
- TCP/IP模型在传输层支持无连接和面向连接的通信,在网络层仅支持无连接的通信
物理层
基本概念
名词概念
-
数据:传送信息的实体
-
信号:数据的电气或电磁表现,是数据在传输过程中的存在形式
- 模拟数据(模拟信号):连续变化的数据或者信号
- 数字数据(数据信号):取值仅允许为有限的几个离散数值的数据或者信号
-
码元:一个固定时长的信号波形(数字脉冲)表示一个K进制数字
- 这个时长内的信号称为K进制码元,该时长称为码元宽度
-
信源:产生和发送数据的源头
-
信道:信号的传输媒介
-
信宿:接收数据的终点
- 单工通信:只有一个方向的通信
- 例如:无线电广播、电视广播
- 半双工通信:通信双方都可以发送或者接收信息,但是任何一方不能同时发送和接收信息,需要两条信道
- 例如:对讲机
- 全双工通信:通信双方可以同时发送和接收信息,需要两条信道
- 单工通信:只有一个方向的通信
-
码元传输速率(波特率):单位时间内数字通信系统所传输的码元个数
- 单位:波特Baud
-
信息传输速率(比特率):单位时间内数字通信系统传输的二进制码元个数
- 单位:b/s
物理层接口的特性
- 机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
- 电气特性:指明在接口电缆的各条线上出现的电压的范围、抗阻匹配、传输速率和距离限制等
- 功能特性:指明某条线上出现的某一电平表示何种意义
- 过程特性:指明对于不同功能的各种可能事件的出现顺序
奈奎斯特定理与香农定理
奈奎斯特定理
- 内忧:码间串扰
理想低通信道下的极限数据传输速率 = 2 W ∗ l o g 2 V =2W*log_2V =2W∗log2V (单位为 b / s b/s b/s)
- W为理想低通信道的带宽
- V为每个码元离散电平的数目
香农定理
- 外患:噪声
信道的极限数据传输率 = W l o g 2 ( 1 + S / N ) =Wlog2(1 + S/N) =Wlog2(1+S/N) (单位为 b / s b/s b/s)
- W为信道的带宽
- S为信道所传输信号的平均功率;N为信道内部的高斯噪声功率
- 信噪比 = 10 l o g 10 ( S / N ) =10log_{10}(S/N) =10log10(S/N)
设波特率为B,采用m个相位,每个相位有n种振幅,求该QAM技术的数据传输率R?
R = B l o g 2 ( m n ) R=Blog_2(mn) R=Blog2(mn)
编码与调制
- 基带信号直接传送到通信线路(数字信道)上的传输为基带传输
- 基带信号经过调制后传送到通信线路(模拟信道)上的传输为频带传输
数字数据->数字信号(编码) | 数字数据->模拟信号(调制) | 模拟数据->数字信号(编码) | 模拟数据->模拟信号(调制) |
---|---|---|---|
数字发送器 | 调制器 | PCM编码器 | 放大器调制器 |
非归零编码NRZ > 1为高电平;0为低电平 > 难以同步 | 幅移键控(ASK) > 通过改变载波信号的振幅来表示数字信号1和0 | 采样 > f 采样 ≥ 2 f f_{采样}\geq2f f采样≥2f | 频分复用技术 |
归零编码RZ > 1为高电平;0为低电平 | 频移键控(FSK) > 通过改变载波信号的频率来表示数字信号1和0 | 量化 | |
反向非归零编码NRZI > 电平遇0翻转;遇1保持不变 > 即能传输时钟信号,又尽量不损失带宽 | 相移键控(PSK) > 通过改变载波信号的相位来表示数字信号1和0 | 编码 | |
曼彻斯特编码 > 1为先高后低;0为先低后高 > 位中的跳变既可作为时钟信号,又作为数据信号 > 占用的频带宽度增加为两倍 > 应用:以太网 | 正交振幅调制(QAM) > 频率相同的前提下,将ASK与PSK结合起来,形成叠加信号 | ||
差分曼彻斯特编码 > 1则先保持,后翻转;0则先翻转,再翻转 > 可以实现自同步,抗干扰性好 > 应用:局域网 | |||
4B/5B编码 > 将发送的数据流每4位作为一组,按照4B/5B编码规则将其转换为相应的5位码 |
通信基础
电路交换、报文交换与分组交换
电路交换
- 数据传输前,先建立起一条专用(双方独占)的物理通信路径
- 使用直通方式传输数据
优点 | 缺点 |
---|---|
通信时延小 | 建立连接时间长 |
有序传输 | 线路独占 |
没有冲突 | 灵活性差 |
适用范围广:模拟信号和数字信号都能传输 | 难以规格化 |
实时性强 | 难以进行差错控制 |
控制简单 |
报文交换
-
数据交换的单位是报文,报文携带有目的地址、源地址等信息
-
使用存储-转发方式
优点 | 缺点 |
---|---|
无须建立连接 | 存在转发时延 |
动态分配线路 | 网络结点需要有较大的缓存空间 |
提高线路的可靠性 | |
提高线路利用率 | |
提供多目标服务 |
分组交换
-
限制了每次传送的数据块的大小上限,再加上一些必要的控制信息,构成分组
-
采用存储-转发方式
优点 | 缺点 |
---|---|
没有建立时延 | 存在存储转发时延 |
线路利用率高 | 需要传输额外的信息量 |
简化了存储管理 | 到达目的地后要对分组进行排序工作 |
加速传输 | |
减少了出错概率和重发数据量 |
数据报与虚电路
- 分组交换根据其通信子网向端点系统提供的服务,分为无连接的数据报方式和面向连接的虚电路方式
数据报 | 虚电路 | |
---|---|---|
连接 | 无连接 | 面向连接 |
目的地址 | 每个分组有完整的目的地址 | 仅在建立连接阶段使用,每个分组使用长度较短的虚电路号 |
路由选择 | 每个分组独立地进行路由选择和转发 | 属于同一条虚电路的分组按照同一个路由转发 |
分组到达顺序 | 无序 | 有序 |
可靠性 | 不保证可靠通信(可靠性由用户主机来保证) | 可靠性由网络保证 |
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择不发生变化可以正常传输 | 所有经过故障结点的虚电路都不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责,也可以由用户主机负责 |
时延 | 存储-转发时延;拥塞时时延大大增加 | 建立连接的时延 |
应用 | 适用于突发性通信 | 适用于长报文、会话式通信 |
传输介质
双绞线 | 同轴电缆 | 光纤 | 无线传播介质 | |
---|---|---|---|---|
类型 | 屏蔽双绞线(STP) 非屏蔽双绞线(UTP) |
50
Ω
50\Omega
50Ω用于传输基带数字信号 70 Ω 70\Omega 70Ω用于传输宽带信号 | 多模光纤 单模光纤 | 无线电波 微波、红外线和激光 卫星通信 |
组成 | 由两根采用一定规则并排绞合的、相互绝缘的铜导线组成 | 由内导体、绝缘层、网状编织屏蔽层和塑料外层构成 | 光导纤维 | |
优点 | 价格便宜、适用范围广 | 良好的抗干扰特性、广泛用于传输较高速率的数据 | 传输损耗小,中继距离长 | |
使用范围 | 局域网;传统电话网;模拟传输和数字传输 | 有线电视系统 |
宽带接入技术
- ADSL技术
- 光纤同轴混合网(HFC网)
- FTTx技术
- 光纤
物理层设备
中继器
-
功能
- 将数字信号整形并放大再转发出去,消除信号经过一长段电缆后而产生的失真和衰减
-
原理:信号再生
-
限制:5-4-3规则
- 互相串联的中继器的个数不能超过4个,4个中继器串联的5段通信介质中只有3段可以挂接计算机,其余两段只能用作扩展通信范围的链路段
-
特点
-
不能够连接具有两个不同速率的局域网
-
中继器出现故障,相邻的两个网段都会受到影响
-
-
与放大器对比
- 放大器放大的是模拟信号
- 原理是将衰减信号放大
集线器
-
功能
- 实质是一个多端口的中继器,也可以对信号进行整形再生
- 收到信号后,就将信号从其他端口发出
- 如果有多端口输入,输出时就会发生冲突,数据都无效
-
特点
- 不具有定向传送能力
- 只能工作在半双工状态下,网络的吞吐率受到限制
- 集线器每个端口连接的网络部分是同一个网络的不同网段
- 不能分割冲突域,所有集线器的端口都属于同一个冲突域
数据链路层
数据链路层的功能
为网络层提供服务
有连接就一定要有确认
无确认的无连接服务
-
对丢失的帧,数据链路层不负责重发而交给上层处理
-
适用范围:适用于实时通信或误码率较低的通信信道,如以太网
有确认的无连接服务
- 源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性
- 使用范围:适用于误码率较高的通信信道,如无线通信
有确认的面向连接服务
- 帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路
- 目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一桢
- 使用范围:适用于通信要求(可靠性、实时性)较高的场合
链路管理
过程
- 首先确认对方已处于就绪状态
- 交换一些必要的信息以对帧序号初始化
- 建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接
帧定界、帧同步与透明传输
帧定界:将一段数据的前后分别添加首部和尾部
帧同步:接收方应能从接收到的二进制比特流中区分出帧的起始与终止
透明传输:采取有效的措施解决误认为“传输结束”而丢弃后面的数据的问题
流量控制
实现:通过控制发送方的发送速度,从而实现流量控制
差错控制
- 位错
- 解决方法:CRC循环冗余码
- 帧错:帧的丢失、重复、失序
- 解决方法:自动重传请求(ARQ)
组帧
- 实现帧定界、帧同步与透明传输
字符计数法
实现方法:在帧头部使用一个计数字段来标明帧内字符数
字符填充的首尾定界符法
实现方法:起始:SOH;结束:EOT;转义:ESC
网络层发出: SOH- A-EOT-ESC-B -EOT
数据链路层填充:SOH- A-ESC-EOT-ESC-ESC-B-EOT
网络层接收: SOH- A-EOT-ESC-B -EOT
零比特填充的首尾标志法
实现方法:
使用一个特定的比特模式,即01111110来标志一帧的开始和结束。
在发送信息时,遇到5个连续的1就自动在后面加0;当接收信息时,遇到5个连续的1就自动在后面减0
违规编码法
实现方法:在曼彻斯特编码中,使用“高-高”和“低-低”电平序列来界定帧的起始和终止
局域网IEEE 802标准
差错控制
- 热噪声
- 信道固有,可通过提高信噪比以降低对数据传输的影响
- 引起随机差错
- 冲击噪声
- 外界电磁干扰
- 引起突发差错
检错编码
奇偶校验码
- 由
n
−
1
n-1
n−1位信息元和
1
1
1位校验元组成
- 若是奇校验码,加上校验元后,码中1的个数应为奇数
- 若是偶校验码,加上校验元后,码中1的个数应为偶数
循环冗余码
被除数:要发送的数据,其后添上多项式的阶数的0
除数:多项式->二进制
过程:模2除
余数:CRC校验码
最终发送的数据:原先的数据+CRC校验码
纠错编码
海明码
计算过程
-
设 n n n为有效信息的位数, k k k为校验位的位数,则应满足 n + k ≤ 2 k + 1 n+k\leq2^k+1 n+k≤2k+1
- 信息位: D 4 D 3 D 2 D 1 D_4D_3D_2D_1 D4D3D2D1;校验位: P 3 P 2 P 1 P_3P_2P_1 P3P2P1
-
确定校验位的分布:校验位 P i P_i Pi要在 2 i − 1 2^{i-1} 2i−1的位置上
- H 7 H 6 H 5 H 4 H 3 H 2 H 1 H_7H_6H_5H_4H_3H_2H_1 H7H6H5H4H3H2H1
- D 4 D 3 D 2 P 3 D 1 P 2 P 1 D_4D_3D_2P_3D_1P_2P_1 D4D3D2P3D1P2P1
-
分组形成校验关系
- D n D_n Dn由 P i P j P_iP_j PiPj校验, i + j = n i+j=n i+j=n
-
校验位取值
- P i P_i Pi的值为所有由它校验的数据位的异或
- P 1 = D 1 ⨁ D 2 ⨁ D 4 P_1=D_1\bigoplus D_2\bigoplus D_4 P1=D1⨁D2⨁D4
-
校验原理
- S i = P i ⨁ D j 1 ⨁ D j 2 ⨁ . . . S_i=P_i\bigoplus D_{j1}\bigoplus D_{j2}\bigoplus... Si=Pi⨁Dj1⨁Dj2⨁...
- S S S值都为0则无错, S S S值为1则可定位到出错点
流量控制与可靠传输机制
流量控制、可靠传输与滑动窗口机制
停止-等待流量控制
- 每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧
滑动窗口流量控制
- 发送方维持一组允许发送的帧的序号号,称为发送窗口;接收方维持一组允许接受的帧的序号,称为接收窗口
- 只有接收窗口向前滑动(同时接收方发送了确认帧)、发送方收到确认帧后,发送窗口才向前滑动
- 停止-等待协议:发送窗口 = 1 =1 =1,接收窗口 = 1 =1 =1
- 后退N帧协议:发送窗口 > 1 >1 >1,接收窗口 = 1 =1 =1
- 选择重传协议:发送窗口 > 1 >1 >1,接收窗口 > 1 >1 >1
- 接收窗口的大小为1时,可保证帧的有序接收
- 窗口的大小在传输过程中是固定的
可靠传输机制
通常使用确认和超时重传两种机制
- 确认帧:使得发送方知道哪些内容被正确接收
- 稍待确认:为了提高传输效率,将确认捎带在一个回复帧中
- 超时重传:发送方一定时间内如果没有得到发送的数据帧的确认帧,就重新发送该数据帧
- 自动重传请求∶接收方请求发送方重传出错的数据帧,来恢复出错的帧
单帧滑动窗口与停止-等待协议
定义:发送方发送一帧,接收方接收并处理,发回一个确认帧,发送方收到该帧的确认帧,发送下一帧
特点:为了超时重发和判定重复帧的需要,发送方和接收方都应设置帧缓冲区,保留数据帧的副本
多帧滑动窗口与后退N帧协议(GBN)
定义:发送方连续发送帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧
特点:
- 对数据帧累积确认(偶尔捎带确认)
- 接收方只按顺序接收帧,不按序无情丢弃
- 窗口大小 n n n比特, 1 ≤ W t ≤ 2 n − 1 1\leq W_t\leq2^n-1 1≤Wt≤2n−1,若 W t > 2 n − 1 W_t>2^n-1 Wt>2n−1,则接收方无法判断新帧和旧帧
多帧滑动窗口与选择重传协议(SR)
定义:每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传;一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传
特点:
- 对数据帧逐一确认
- 只重传出错的帧
- 接收方有缓存
- 窗口大小 n n n比特, W t m a x = W r m a x = 2 ( n − 1 ) W_{t_{max}}=W_{r_{max}}=2^{(n-1)} Wtmax=Wrmax=2(n−1); W t + W r = 2 n W_{t}+W_r=2^n Wt+Wr=2n
计算
T:发送方从发送到收到第一个确认帧的时间,为一个发送周期
L:T周期内,发送方发送的比特数
C:发送方的数据传输速率
信道利用率 = ( L / C ) / T = L / C L / C + 2 R =(L/C)/T=\frac{L/C}{L/C+2R} =(L/C)/T=L/C+2RL/C
信道吞吐率=信道利用率 ∗ C *C ∗C
介质访问控制
信道划分介质访问控制
定义:将使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备
是静态划分信道的方法
- 频分多路复用(FDM)
- 将多路基带信号调制到不同频率的载波上,再叠加形成一个复合信号
- 优点:充分利用传输介质的带宽,系统效率高
- 缺点:需要在相邻信道之间加入“保护频带”防止子信道相互干扰
- 时分多路复用(TDM)
- 时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用
- 缺点:由于计算机的数据的突发性,对于子信道的利用率不高
- 优化:统计时分多路复用/异步时分多路复用(STDM)
- 采用STDM帧,STDM帧不固定分配时隙,而按需动态地分配时隙
- 波分多路复用(WDM)
- 即光的频分多路复用,在一根光纤中传输多种不同波长的光信号
- 码分多路复用(CDM)
- 采用不同的编码来区分各路原始信号的一种复用方式,它既共享信道的频率,又共享时间
- 又称码分多址(CDMA)
- 每比特时间被分成m个更短的时间槽,称为码片
- 发送1时,站点发送码片序列;发送0时,站点发送码片序列的反码
- 各个站点的码片序列相互正交,从而从信道中分离出各路信号
- 正交频分复用(FODM)
- 应用:无线局域网WLAN
随机访问介质访问控制
定义:不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率
是动态划分信道的方法
-
ALOHA协议
- 纯ALOHA协议
- 实现:当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。若在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据,直至发送成功
- 缺点:数据碰撞概率较大,网络吞吐量低
- 时隙ALOHA协议
- 实现:所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧
- 优点:避免了用户发送数据的随意性、减少了数据产生冲突的可能性、提高了信道的利用率
- 缺点:碰撞概率仍然较大
- 纯ALOHA协议
-
CSMA协议(载波监听多路访问)
- 1-坚持CSMA
- 实现:一个结点要发送数据时,首先侦听信道。如果信道空闲,那么立即发送数据;如果信道忙,那么等待,同时继续侦听直至信道空闲。如果发生冲突,那么随机等待一段时间后,再重新开始侦听信道
- 缺点:传播延时会有影响、存在碰撞现象
- 非坚持CSMA
- 实现:一个结点要发送数据时,首先侦听信道。如果信道空闲,那么立即发送数据;如果信道忙,那么放弃侦听,等待一个随机的时间后再重复该过程
- 优点:降低了数据冲突的概率
- 缺陷:增加了数据在网络中的延迟时间
- p-坚持CSMA
- 实现:一个结点要发送数据时,首先帧听信道。如果信道忙,就继续侦听,直至信道空闲;如果信道空闲,那么以概率p发送数据,以1-p概率推迟到下一个时隙
- 优点:降低了冲突概率、减少了时间延迟
- 1-坚持CSMA
-
CSMA/CD协议(载波监听多路访问/碰撞检测协议)
- 适用于总线形网络或半双工网络环境
- 实现:
- 载波监听∶发送前和发送中都必须不停地检测信道
- 碰撞检测:边发送边监听,若监听到了碰撞,立即停止数据发送,等待一段随机时间后,重新开始尝试发送数据
- 争用期:以太网端到端的往返时间 2 τ 2\tau 2τ,只有度过了争用期才能确定本次传输不会发生冲突
- 最小帧长:争用期可发送的数据长度。=总线传播时延*数据传输率* 2
- 1 0 M b / s 0Mb/s 0Mb/s的以太网规定:争用期 51.2 μ s 51.2\mu s 51.2μs;最小帧长 64 B 64B 64B
- 采用“二进制指数退避算法”进行重传
- 定义参数 k k k作为重传次数, k = m i n [ 重传次数 , 10 ] k=min[重传次数,10] k=min[重传次数,10]
- 取 [ 0 , 1 , . . . , 2 k − 1 ] [0,1,...,2^{k}-1] [0,1,...,2k−1]其中一个数为 r r r,重传退避时间为 2 r τ 2r\tau 2rτ
- 若重传16次不成功,则认为此帧永远无法发出,丢弃此帧,并向高层报告
-
CSMA/CA协议(载波监听多路访问/碰撞避免协议)
- 适用于有线连接的局域网(无线网络不能使用)
- 实现:
- 发送前,检测信道是否空闲
- 若信道空闲,则发出RST(包括源地址、目的地址、这次通信所需的时间);若信道忙,则等待
- 接收端收到RST,同时发送CTS响应,指示其他站点在预约期内不要发送
- 发送端收到CTS,开始发送数据帧,并预约信道
- 接收方收到数据后,使用CRC循环冗余码校验数据是否正确,若正确,则返回ACK帧
- 发送方收到ACK,再进行下一帧的发送,若没有收到,采用“二进制指数避退算法”进行重传
- 帧间间隔IFS
- SIFS(短IFS)
- ACK帧;CST帧;分片后的数据帧;回答AP探询的帧
- PIFS(点协调IFS):中等长度
- DIFS(分布式协调IFS):最长,用于异步帧竞争访问的时延
- RTS帧
- SIFS(短IFS)
轮询访问:令牌传递思想
- 通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配
- 适用于负载很高的广播信道
局域网
局域网的基本概念和体系结构
特点
- 所有站点共享较高的总带宽(即较高的数据传输率)
- 较低的时延和较低的误码率
- 各站为平等关系而非主从关系
- 能进行广播和组播
拓扑结构:星形、环形、总线形、星形和总线复合形
传输介质:双绞线、铜缆和光纤,其中双绞线为主流传输介质
介质访问控制方法:CSMA/CD、令牌总线、令牌环
子层
- 逻辑链路控制(LLC)子层
- 向网络层提供无确认无连接、带确认无连接、面向连接、高速传送4种不同的连接服务类型
- 主要功能:建立和释放数据链路层的逻辑连接、提供与高层的接口、差错控制、给帧加序号
- 媒体接入控制(MAC)子层
- 向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口
- 主要功能∶组帧和拆卸帧、比特传输差错检测、透明传输、寻址、竞争处理
分类
- 以太网
- 采用IEEE 802.3标准的局域网
- 逻辑拓扑:总线型;物理拓扑:星型或拓展星型
- 使用CSMA/CD
- 无线局域网
- 采用IEEE 802.11标准的局域网
- 令牌环网
- 逻辑拓扑:环形;物理拓扑:星形
- FDDI网
- 逻辑拓扑:环形;物理拓扑:双环
- ATM网
以太网与IEEE 802.3
简化通信
- 采用无连接的工作方式,尽最大努力交付数据
- 发送的数据使用曼彻斯特编码的信号
分类
-
100BASE-T 以太网
- 在双绞线上传送 100 M b i t / s 100Mbit/s 100Mbit/s的基带信号的星型拓扑以太网
- 全双工;半双工(CSMA/CD)
-
吉比特以太网
- 传输速率 1 G b / s 1Gb/s 1Gb/s
- 全双工;半双工(CSMA/CD)
-
10吉比特以太网
- 传输速率 10 G b / s 10Gb/s 10Gb/s
- 全双工
以太网的网卡
-
局域网中连接计算机和传输介质的接口
-
功能
-
实现与局域网传输介质之间的物理连接和电信号匹配
-
实现帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码及数据缓存功能
-
-
网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址,用于控制主机在网络上的数据通信
以太网的MAC帧
网卡从网络上每收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址。如果是发往本站的帧,就收下,否则丢弃
结构组成(见p106图3.26)
- 地址:目的地址(6字节);源地址(6字节)
- 类型∶2字节,指出数据域中携带的数据应交给哪个协议实体处理
- 数据∶46-1500字节,数据较少时必须加以填充
- 校验码(FCS):4字节,采用CRC循环冗余码
无线局域网与IEEE 802.11
-
有固定基础设施无线局域网
- 无线局域网的最小构建为基本服务集BSS,一个BSS包括一个接入点和若干移动站
- 所有的站在本BSS内都可以直接通信,但在与本BSS外的站通信时都要通过BSS的基站
-
无固定基础设施无线局域网自组织网络
- 由一些平等状态移动站相互通信组成的临时网络。各结点之间地位平等,中间结点都为转发结点,这些结点都具有路由器功能
无线局域网不使用CSMA/CD而使用CSMA/CA
MAC帧
结构组成
- MAC首部
- 帧控制;持续期;RA(AP2);TA(AP1);DA(B);序号控制;SA(A)
- 帧主体
- FCS
广域网
广域网的基本概念
广域网 | 局域网 | |
---|---|---|
覆盖范围 | 较大 | 较小 |
连接方式 | 点到点,一个结点交换机往往与多个节点交换机相连 | 普遍采用多点接入技术 |
OSI参考层次 | 物理层;数据链路层;网络层 | 物理层;数据链路层 |
着重点 | 强调资源共享 | 强调数据传输 |
PPP协议
定义:是用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上,是在SLIP协议的基础上发展而来的
组成部分
- 链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路
- 网络控制协议(NCP):每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
- 一个将IP数据报封装到串行链路的方法:IP数据报在PPP帧中就是其信息部分,其长度受最大传送单元(MTU)的限制
- 既支持异步电路(无奇偶校验的8比特数据),也支持面向比特的同步电路
特点
- PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验)。它是不可靠的传输协议,因此也不使用序号和确认机制,也不进行流量控制
- 仅支持点对点的链路通信,不支持多点线路
- 只支持全双工链路
- PPP的两端可以运行不同的网络层协议
- PPP是面向字节的:当信息字段出现和标志字段一致的比特组合时
- 在异步线路,采用字节填充法
- 在SONET/SDH等同步线路,采用硬件来完成比特填充
HDLC协议
定义:是面向比特的协议
数据操作方式:正常响应方式;异步平衡方式;异步响应方式
帧类型:信息帧;监督帧;无编号帧
特点
- 只支持全双工通信
- HDLC提供差错检测(通过硬件进行CRC校验)。它是可靠的传输协议,对信息帧进行顺序编号
- 可适用于非平衡配置(一个主站控制整个链路)与平衡配置(两端都是复合站,可以发出命令帧和响应帧)
数据链路层设备
网桥
定义:两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段网桥
网桥工作在链路层的MAC子层,根据MAC帧的目的地址对帧进行转发和过滤
特点
- 具备寻址和路径选择能力,可以确定帧的传输方向
- 从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧
- 网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换
局域网交换机
定义:从本质上说,以太网交换机是一个多端口的网桥
交换机检测从以太端口来的数据帧的源和目的地的MAC(介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口
特点
- 工作在全双工方式
- 碰撞地传输数据
- 转发表通过自学习算法自动地逐渐建立起来(基于源地址的自学习;基于目的地址的转发)
两种交换方式
- 直通交换机
- 只检杳帧的目的地址,数据帧可以马上就被传输出去
- 存储转发式交换机
- 先将接收到的帧缓存,然后并检查数据是否正确,正确则发送,错误则丢弃
网络层
网络层的功能
异构网络互连
实际网络互连:利用中继系统(路由器)
虚拟网络互连:IP网络
路由与转发
路由选择、分组转发
拥塞控制
- 开环控制
- 设计网络时事先将有关发生拥塞的因素考虑周到,是一种静态的方法
- 闭环控制
- 事先不考虑各种因素,采用监测网络系统监视,及时检测拥塞,然后将拥塞信息传到合适的地方,是一种动态的方法
IPv4
IPv4分组
IPv4分组的格式
- 版本[4]:4
- 首部长度[4]:以4B为单位,最大值为60B
- 总长度[16]:以1B为单位,最大值65535B
- 标识[16]:一个计数器
- 标志[3]
- DF:DF=0,允许分片
- MF:MF=1,后面还有分片;MF=0,这是最后一个分片
- 片偏移[13]:以8B为单位,代表分片后,某片在原分组中的相对位置
- 生存时间TTL[8]∶路由器转发分组前,TTL-1;若TTL=0,该分组被丢弃
- 协议[8]
- 6:TCP;17:UDP
- 首部校验和[16]:只校验分组的首部,而不校验数据部分
- 源地址字段[32]
- 目的地址字段[32]
IP数据报分片
最大传送单元(MTU):一个链路层数据报能承载的最大数据量
- 以太网:1500B
- 广域网:一般不超过576B
IPv4地址与NAT
IPv4地址
A类 | B类 | C类 | |
---|---|---|---|
1.0.0.0-126.255.255.255 | 128.0.0.0-191.255.255.255 | 192.0.0.0-223.255.255.255 | |
私有地址 | 10.0.0.0-10.255.255.255 | 172.16.0.0-172.31.255.255 | 192.168.0.0-192.168.255.255 |
特殊
含义 | 能否作为源地址 | 能否作为目的地址 | |
---|---|---|---|
主机号全为0 | 表示本网络本身 | × | × |
主机号全为1 | 表示本网络的广播地址 | × | √ |
127.x.x.x | 环回自检地址,表示任意主机本身 | √ | √ |
32位全为0 0.0.0.0 | 表示本网络上的本主机 | √ | × |
32位全为1 255.255.255.255 | 受限广播地址,表示整个TCP/IP网络的广播地址 | × | √ |
网络转换地址
通过将专用网络地址转换为公用地址,从而对外隐藏内部管理的P地址
- 普通路由器在转发IP数据报时,不改变其源IP地址和目的IP地址;NAT路由器在转发IP数据报时,一定要更换其IP地址
- 普通路由器仅工作在网络层;NAT路由器转发数据报时需要查看和转换传输层的端口号
子网划分与子网掩码、CIDR
子网划分:IP地址={<网络号>,<子网号>,<主机号>}
掩码分类
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
无分类域间路由选择CIDR
IP地址={<网络前缀>,<主机号>}
将网络前缀相同的连续IP地址组成CIDR地址块,这种地址的聚合称为路由聚合,或称构成超网
查找路由表使用的数据结构方法:二叉线索树
ARP、DHCP与ICMP
IP地址与硬件地址
关系
- 再网络层及网络层以上使用IP地址,再数据链路层使用硬件地址(MAC地址)
- 由路由器相互传输时使用IP地址,到达目标网络后,使用MAC地址查找目标主机
- 由于路由器互连多个网络,它不仅有多个IP地址,也有多个硬件地址
地址解析协议ARP
作用:实现IP地址到MAC地址的映射
ARP表∶每台主机都设有一个ARP高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表
使用过程
- 检查ARP高速缓存,有目的IP地址的对应表项,则写入MAC帧,没有,则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求
- 目的主机收到请求后,就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存
使用情况
- 主机->本网络的主机:用ARP找到目的主机的硬件地址
- 主机->另一个网络的主机:用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成
- 路由器->本网络上的主机∶用ARP找到目的主机的硬件地址
- 路由器->另一个网络的主机:用ARP找到其他的路由器的硬件地址
动态主机配置协议DHCP
作用:给主机动态地分配IP地址
DHCP是应用层协议,它是基于UDP的
使用过程
- DHCP客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器,从DHCP服务器中获得一个IP地址
- 源地址为0.0.0.0,目的地址为255.255.255.255
- DHCP服务器收到“DHCP发现”消息后,向网络中广播“DHCP提供”消息,其中包括提供DHCP客户机的IP地址和相关配置信息
- 源地址为DHCP服务器地址,目的地址为255.255.255.255
- DHCP客户机收到“DHCP提供”消息,如果接收DHCP服务器所提供的相关参数,那么通过广播“DHCP请求消息”向DHCP服务器请求提供IP地址
- 源地址为0.0.0.0,目的地址为255.255.255.255
- DHCP服务器广播“DHCP确认消息”,将IP地址分配给DHCP客户机
- 源地址为DHCP服务器地址,目的地址为255.255.255.255
网际控制报文协议ICMP
作用∶为了提高IP数据报交付成功的机会,使用ICMP来让主机或路由器报告差错和异常情况
种类
- ICMP差错报告报文
- 终点不可达:不能交付数据报
- 源点抑制:由于拥塞而丢弃数据报
- 时间超过:路由器收到生存时间为零的数据报
- 参数问题:数据报首部中有字段的值不正确
- 改变路由(重定向)
- ICMP询问报文
- 回送请求和回答报文
- 时间戳请求和回答报文
- 掩码地址请求和回答报文
- 路由器询问和通告报文
IPv6
IPV6是解决IP地址耗尽的最根本方法,缓解方法是超网聚合NAT
IPv6主要特点
- 更大的地址空间:IPv6将地址从IPv4的32位增大到了128位
- 扩展的地址层次结构
- 灵活的首部格式
- 允许协议继续扩充
- 支持即插即用(即自动配置)(无需DHCP协议)
- 支持资源的预分配
- IPv6只有在包的源结点才能分片,是端到端的,传输路径中的路由器不能分片,只能丢弃
- IPv6首部长度必须是8B的整数倍,而IPv4首部是4B的整数倍
- 增大了安全性。身份验证和保密功能是IPv6的关键特征
IPV6地址
- 单播:传统的点对点通信
- 多播:一点对多点的通信
- 任播:任播的目的站是一组计算机,但数据报在交付时只交付其中的一台计算机,通常是距离最近的一台计算机
IPv6地址缩写
0000:0000:0000->0:0:0->::
IPv4向IPv6过渡
- 双协议栈:双协议栈技术是指在一台设备上同时装有IPv4和IPv6协议栈,那么这台设备既能和IPv4网络通信,又能和IPv6网络通信
- 隧道技术:将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可以在IPv4网络的隧道中传输
路由算法与路由协议
静态路由与动态路由
静态路由算法——非自适应路由算法
- 由网络管理员手工配置的路由信息
- 当网络的拓扑结构或链路的状态发生变化时,也是手工修改路由表中相关的静态路由信息
动态路由算法——自适应路由算法
- 路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的
- 路由信息会在一定时间间隙里不断更新,以适应不断变化的网络,随时获得最优的寻路效果
层次路由
- 内部网关协议(IGP):RIP、OSPF
- 外部网关协议(EGP):BGP
路由信息协议RIP
距离-向量路由算法RIP
- 主要采用矢量算法计算路由,当发生路由更新时,通过距离矢量叠加的方式直接计算路由,并根据路由开销越小越优先的原则进行路由加表。当跳数超过15时,就认为网络不可达
- 缺点:容易出现路由环路问题
特点
- RIP协议中每个网络的子网掩码必须相同
- 网络出现故障时,会出现慢收敛现象
开放最短路径优先协议OSPF
链路状态路由算法OSPF
- 根据链路带宽来计算路由开销,每台路由器独立维护一张LSDB(链路状态数据库),当链路发生变化时,先同步LSDB,再通过SPF(最短路径优先)算法计算获得SPT(最短路径树),最后更新路由表
特点
- 使用洪泛法,像水波一样相互交互信息
- OSPF对不同的链路可根据IP分组的不同服务类型(TOS)而设置成不同的代价
- 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径,称为负载平衡
- 支持可变长度的子网划分和无分类编址CIDR
- 每个链路状态都带上一个32位的序号,序号越大,状态越新
分组类型
- 问候分组:用来发现和维持邻站的可达性
- 数据库描述分组:向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
- 链路状态请求分组:向对方请求发送某些链路状态项目的详细信息
- 链路状态更新分组:用洪泛法对全网更新链路状态
- 链路状态确认分组:对链路更新分组的确认
边界网关协议BGP
原理
- 每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”
- 一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,先建立TCP连接,再利用BGP会话交换路由信息
- 所有BGP发言人都相互交换网络可达性的信息后,各BGP发言人就可找出到达各个自治系统的较好路由
特点
- BGP支持CIDR
- 在BGP刚运行时,BGP的邻站交换整个BGP路由表,以后只需在发生变化时更新有变化的部分
报文类型
- 打开报文:用来与相邻的另一个BGP发言人建立关系
- 更新报文:用来发送某一路由的信息,以及列出要撤销的多条路由
- 保活报文:用来确认打开报文并周期性地证实邻站关系
- 通知报文:用来发送检测到的差错
RIP | OSPF | BGP | |
---|---|---|---|
报文交互方式 | UDP协议,端口号为520 | IP协议,端口号为89 | TCP协议 |
报文交互内容 | 路由信息,即自己的路由表 | 与本路由器相邻的所有路由器的链路状态信息 | 首次:整个路由表 非首次:有变化的部分 |
路由计算算法 | 距离-矢量算法 | 最短路径优先算法 | 路径-矢量算法 |
路由开销 | 基于路由跳数计算 | 基于链路带宽计算 | |
路由更新方式 | 定时更新或触发更新 | 链路变化时更新 | |
网络规模限制 | 最大15跳 | 无 |
IP组播
组播的概念
- 组播机制让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收
- 组播仅应用于UDP
- 因特网中的IP组播也是用组播组的概念,每个组都有一个特别分配的地址,给该组发送时将使用这个地址作为分组的目标地址
IP组播地址
IP组播使用D类地址格式
特点
- 组播数据报也是“尽最大努力交付”,不提供可靠交付
- 组播地址只能用于目的地址,而不能用于源地址
- 对组播数据报不产生ICMP差错报文。因此,若在PING命令后面键入组播地址,将永远不会收到响应
- 并非所有的D类地址都可作为组播地址
IP组播地址与MAC地址的映射
32位IP组播地址:1110 [4-8] [后23位]
48位MAC地址:01005E +‘0’+[后23位]
硬件地址的映射关系不是唯一的,因此收到组播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃
IGMP与组播路由算法
作用:利用因特网组管理协议(IGMP)要使路由器知道组播组成员的信息
IGMP是TCP/IP的一部分
- 第一阶段
- 主机加入新的组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明要成为该组的成员
- 本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他组播路由器
- 第二阶段
- 本地组播路由器周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员
实现因特网组播的路由算法
- 基于链路状态的路由选择
- 基于距离-向量的路由选择
- 协议无关的组播(PIM)(可以建立在任何路由器协议之上)
移动IP
移动IP的概念
支持移动性的因特网体系结构与协议共称为移动IP
三种功能实体
- 移动结点:具有永久IP地址的移动结点
- 本地代理:在一个网络环境中,一个移动结点的永久“居所”被称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体称为归属代理(本地代理),它根据移动用户的转交地址,采用隧道技术转交移动结点的数据包
- 外部代理:在外部网络中帮助移动结点完成移动管理功能的实体称为外部代理
移动IP通信过程
- A刚进入外部网络
- 在外部代理登记,获得一个临时的转交地址
- 外地代理向本地代理登记转交地址
- B给A发送数据报
- 本地代理截获数据报,封装,新的数据报的目的地址是转交地址,通过隧道发给外部代理
- 外部代理拆封数据包并发给A
- A给B发送数据报
- 用自己的主地址作为数据报的源地址,用B的IP地址作为数据报的目的地址
- A回到了归属网络
- A向本地代理注销转交地址
- 按传统的TCP/IP方式进行通信
网络层设备
路由器的组成和功能
功能
- 分组转发
- 处理通过路由器的数据流
- 输入:从物理层接收到的比特流中提取出链路层帧,进而从帧中提取出网络层数据报
- 输出:将数据报转变为比特流发送到物理层
- 关键操作:转发表查询、转发、相关的队列管理、任务调度
- 处理通过路由器的数据流
- 路由选择
- 核心构件:路由选择处理机
- 构造出路由表
- 交换路由信息,更新和维护路由表
支持协议:OSI、TCP/IP、IPX等
路由表与路由转发
路由表结构:目的网络IP地址、子网掩码、下一跳IP地址、接口
传输层
传输层提供的服务
传输层的功能
- 传输层提供应用进程之间的逻辑通信(即端到端的通信)
- 复用和分用
- 复用:不同的应用进程——传输层——网络层
- 分用:网络层——传输层——目的应用进程
- 传输层还要对收到的报文进行差错检测(首部和数据部分)
- 网络层只检查IP数据报的首部,不检验数据部分
- 提供两种不同的传输协议,即面向连接的TCP和无连接的UDP
传输层的寻址与端口
端口的作用
- 标识主机中的应用进程
- 应用层的各种应用进程将其数据通过端口向下交付给传输层;报文段中的数据通过端口向上交付给应用层相应的进程
端口号
(1)服务端使用的端口号(0-1023)
应用程序 | FTP | TELNET | SMTP | DNS | TFTP | HTTP | POP3 | SNMP |
---|---|---|---|---|---|---|---|---|
端口号 | 20/21 | 23 | 25 | 53 | 69 | 80 | 110 | 161 |
(2)登记端口号(1024-49151)
(3)客户端使用的端口号(49152一65535)
套接字
套接字Socket=(IP地址:端口号)
-
IP地址用来标识不同的主机
-
端口号用来标识一台主机中的不同应用进程
-
实际就是一个通信端点,标识网络中的一台主机和其上的一个应用(进程)
无连接服务与面向连接服务
- 面向连接的传输控制协议(TCP)
- 采用TCP时,传输层向上提供的是一条全双工的可靠逻辑信道
- 适用于可靠性更重要的场合,如文件传输协议(FTP)、超文本传输协议(HTTP)、远程登录(TELNET)等
- 无连接的用户数据报协议(UDP)
- 采用UDP时,传输层向上提供的是一条不可靠的逻辑信道
- 适用于小文件传送协议(TFTP)、DNS、SNMP和实时传输协议(RTP)
UDP协议
UDP数据报
UDP在IP的数据报服务之上增加了两个最基本的服务:复用和分用、差错检测
特点
- UDP无需建立连接
- 分组首部开销小:TCP有20B;UDP仅有8B
- 支持一对一、一对多、多对一、多对多的交互通信
- UDP是面向报文的,报文是UDP数据报处理的最小单位
- UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低
UDP的首部格式
- 源端口[16]
- 目的端口[16]
- 长度[16]
- 校验和[16]:可选
UDP校验
UDP的校验和只检查首部和数据部分
在发送端:
- 填上伪首部(源IP地址;目的IP地址)
- 全0填充校验和字段
- 全0填充数据部分
- 伪首部+首部+数据部采用二进制反码求和
- 把求和反码填入校验和字段
- 去掉伪首部,发送
在接收端:
- 填上伪首部
- 伪首部+首部+数据部采用二进制反码求和
- 结果全为1,无差错;否则,丢弃/交给应用层处理
TCP协议
TCP协议的特点
- TCP是面向连接的传输层协议
- 只支持一对一的交互通信
- 提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序
- 提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据,为此TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据
- TCP是面向字节流的
TCP报文段
字段意义
- 源端口[16]、目的端口字段[16]
- 序号[32]:本报文段所发送的数据的第一个字节的序号
- 确认号[32]:期望收到对方的下一个报文段的数据的第一个字节的序号
- 数据偏移[4]
- 保留字段[6]
- 紧急位URG[1]
- URG= 1时,表明紧急指针字段有效。它告诉系统报文段中有紧急数据,应尽快传送
- 确认位ACK[1]
- ACK=1时,确认号字段有效;ACK=0时,确认号无效
- 在建立连接后,所有报文段的ACK都为1
- 推送位PSH[1]
- PSH=1时,接收端需尽快交付给接收应用进程,而不再等到整个缓存都填满后再向上交付
- 复位位RST[1]
- RST=1时,表明TCP连接中出现严重差错(如主机崩溃),必须释放连接,再重新建立连接
- 同步位SYN[1]
- SYN=1时,表明这是一个连接请求或连接接收报文
- SYN=1,ACK=0:连接请求报文
- SYN=1,ACK=1:连接接收报文
- 终止位FIN[1]
- FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放传输连接
- 窗口字段[16]:表示允许对方发送的数据量,以1B为单位
- 校验和[16]:校验首部和数据
- 紧急指针[16]:仅在URG=1时有效,表明本报文段紧急数据的长度
- 选项
- 填充
TCP连接管理
TCP连接的建立(三次握手)
- 客户机向服务器发送一个连接请求报文段
- SYN=1;选择初始序号seq=x
- 服务器收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量
- SYN=1;ACK=1;ack=x+1;seq=y
- 客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量
- ACK=1;seq=x+1;ack=y+1
TCP连接的释放(四次挥手)
- 客户机发送一个连接释放报文段,并停止发送数据,主动关闭TCP连接
- FIN=1;seq=u
- 服务器收到连接释放报文段后即发出确认
- ACK =1;ack=u+1;seq=v
- 服务器通知客户端TCP释放连接
- FIN =1;ACK=1;ack=u+1;seq=w
- 客户机收到连接释放报文后,发出确认
- ACK=1;ack=w+1;seq=u+1
TCP可靠传输
TCP的校验机制与UDP相同
序号:TCP首部的序号字段用来保证数据能有序提交给应用层,序号建立在传送的字节流之上
确认:默认使用累计确认,即TCP只确认数据流中至第一个丢失字节为止的字节
重传:
- 超时
- 冗余ACK:当收到对于某个报文段的3个冗余ACK,可以认为该报文段已经丢失
TCP流量控制
作用:匹配发送方的发送速率与接收方的读取速率
基于滑动窗口协议的流量控制机制
- 接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小。这称为:接收窗口rwnd
- 发送方根据其对当前网络拥塞程序的估计而确定的窗口值,这称为:拥塞窗口cwnd
- 大小与网络的带宽和时延有关
TCP拥塞窗口
拥塞控制:防止过多的数据注入网络,保证网络中的路由器或链路不致过载
发送窗口的上限值=min[rwnd,cwnd]
实现机制
- 慢开始
- 先令拥塞窗口cwnd=1,指数增加,增大到一个规定的慢开始门限ssthresh
- 拥塞避免
- cwnd线性增加,出现网络拥塞后,令慢开始门限ssthresh等于当前cwnd的一半
- 快重传
- 当发送方连续收到三个冗余ACK时,直接重传对方尚未收到的报文段
- 快恢复
- 当发送方连续收到三个冗余ACK时,执行乘法减小算法,把慢开始门限ssthresh设置为出现拥塞时发送方cwnd的一半,把cwnd的值设置为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法,使拥塞窗口缓慢地线性增大
网络层
网络应用模型
客户/服务器模型
主要特征
- 客户是服务请求方,服务器是服务提供方
- 网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,或进行其他受限的网络活动
- 客户机相互之间不直接通信
- 可扩展性不佳
应用:Web、文件传输协议(FTP)、远程登录、电子邮件
P2P模型
主要特征
- 任意一对计算机(对等方Peer),直接相互通信
- 每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问
应用:PPlive、Bittorrent
优点
- 减轻了服务器的计算压力,消除了对某个服务器的完全依赖,提高了系统效率和资源利用率
- 多个客户机之间可以直接共享文档
- 可扩展性好,传统服务器有响应和带宽的限制,只能接受一定数量的请求
- 网络健壮性强,单个结点的失效不会影响其他部分的结点
域名系统DNS
DNS系统采用客户/服务器模型,其协议运行在UDP之上,使用53号端口
层次域名空间
- 根
- 顶级域名(TLD)
- 国家顶级域名(nTLD):
.cn
.us
- 通用顶级域名(gTLD):
.com
.net
.org
.gov
- 基础结构域名:
arpa
反向域名
- 国家顶级域名(nTLD):
- 二级域名
- 三级域名
- 顶级域名(TLD)
域名服务器
根域名服务器:最高层次的域名服务器,所有根域名服务器都知道所有顶级域名服务器的IP地址
顶级域名服务器:负责管理在该顶级域名服务器注册的所有二级域名
授权域名服务器(权限域名服务器):每台主机都必须在授权域名服务器处登记;能将其管辖的主机名转换为该主机的IP地址
本地域名服务器:当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
域名解析过程
正向解析:域名—>IP地址;反向解析:IP地址—>域名
重查方式
- 递归查询
- 该方法给根域名服务器造成的负债过大,所以在实际中几乎不适用
- 递归与迭代相结合的查询
- 主机向本地域名服务器的查询采用的是递归查询
- 本地域名服务器向根域名服务器的查询采用迭代查询
域名解析的过程
- 客户机向其本地域名服务器发出DNS请求报文
- 本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
- 根域名服务器收到请求后,判断该域名属于域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
- 本地域名服务器向顶级域名服务器dns.com发出解析请求报文
- 顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
- 本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文
- 授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
- 本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
文件传输协议FTP
FTP的工作原理
概述
- FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
- 屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件
- FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务
工作步骤
- 打开熟知端口21(控制端口),使客户进程能够连接上
- 等待客户进程发连接请求
- 启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止
- 回到等待状态,继续接收其他客户进程的请求
控制连接与数据连接
FTP在工作时使用两个并行的TCP连接:控制连接(端口号21);数据连接(端口号20)
控制连接
- 控制连接用来传输控制信息(如连接请求、传送请求等),控制信息都以7位ASCII格式传送
- 控制连接在整个会话期间一直保持打开状态
数据连接
- 服务器端的控制进程在接收到FTP客户发来的文件传输请求后,创建数据传送进程和数据连接
电子邮件
电子邮件系统的组成结构
- 用户代理(UA):用户与电子邮件的接口
- 邮件服务器:发送和接收邮件
- 采用客户/服务器方式工作,能供同时充当客户和服务器
- 邮件发送协议和读取协议
- SMTP:用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件
- POP3:用于用户代理从邮件服务器读取邮件
电子邮件的收发过程
- 用户代理用SMTP把邮件传送给发送方邮件服务器
- 发送方邮件服务器将邮件放入邮件缓存队列中,等待发送
- 运行在发送方邮件服务器的SMTP客户进程,向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接
- TCP连接建立后,发送邮件,当所有邮件发完后,关闭所建立的TCP连接
- 运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱
- 收信人打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回
电子邮件格式与MIME
多用途网际邮件扩充(MIME)
增加了邮件主体的结构,并定义了传送非ASCII码的编码规则
SMTP和POP3
SMTP:使用TCP连接,端口号为25
通信阶段
- 连接建立
- 发送方服务器发现有邮件,就使用SMTP的熟知端口号(25)与接收方服务器的SMTP服务器建立TCP连接
- 连接建立后,接收方SMTP服务器发出220 Service Ready
- SMTP客户向SMTP服务器发送HELO命令,并附上发送方的主机名
- 邮件传送
- 邮件的传送从MAIL命令开始,MAIL命令后面有发件人的地址
- SMTP服务器已准备好接收邮件,则回答250 OK,接着SMTP客户端发送一个或多个RCPT
- 均获得OK的回答后,客户端就使用DATA命令,表示要开始传输邮件的内容
- 连接释放
- 邮件发送完毕后,SMTP客户应发送QUIT命令
- SMTP服务器返回的信息是221(服务关闭),表示SMTP同意释放TCP连接
POP3:使用TCP连接,端口号为110
- 工作方式:下载并保存、下载并删除
IMAP
- 允许用户代理只获取报文的某些部分
基于万维网的电子邮件:在相同邮件服务器之间发送接收时,使用HTTP;在不同邮件服务器之间发送接收时,使用SMTP
万维网WWW
WWW的概念与组成结构
在万维网中,有用的事物称为资源,并由一个全域“统一资源定位符”(URL)标识
这些资源通过超文本传输协议(HTTP)传送给使用者,而后者通过单击链接来获取资源
URL的一般形式:<协议>://<主机>:<端口>/<路径>
超文本传输协议
从层次角度看,HTTP是面向事务的应用层协议,它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件的重要基础
HTTP的操作过程
- 每个万维网站点都有一个服务器进程,它不断地监听TCP的端口80
- 当监听到连接请求后便与浏览器建立连接
- TCP连接建立后,浏览器就向服务器发送请求获取某个Web页面的HTTP请求
- 服务器收到HTTP请求后,将构建所请求Web页的必需信息,并通过HTTP响应返回给浏览器
- 浏览器再将信息进行解释,然后将Web页显示给用户
- TCP连接释放
用户单击鼠标后发生的事件按顺序
- 浏览器分析链接指向页面的URL
http://www.tsinghua.edu.cn/chn/index.htm
- 浏览器向DNS请求解析域名
www.tsinghua.edu.cn
的IP地址- 域名服务器DNS解析出IP地址
- 浏览器与该服务器建立TCP连接(默认端口号为80)
- 浏览器发出HTTP请求
GET/chn/index.htm
- 服务器通过HTTP响应把文件
index.htm
发送给浏览器- TCP连接释放
- 浏览器解释文件
index.htm
,并将Web页显示给用户
HTTP的特点
-
HTTP是无状态的,简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求
-
使用Cookie加数据库的方式来跟踪用户的活动
-
HTTP既可以使用非持久连接,也可以使用持久连接(HTTP/1.1支持)
- 非持久连接:每个网页元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接
- 持久连接:同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文
- 非流水线
- 流水线
HTTP的报文结构
HTTP是面向文本的,因此报文中的每个字段都是一些ASCII码
- 请求报文:客户向服务器
- 响应报文:服务器向客户
方法(操作) | 意义 |
---|---|
GET | 请求读取由URL标识的信息 |
HEAD | 请求读取由URL标识的信息的首部 |
POST | 给服务器添加信息 |
CONNECT | 用于代理服务器 |
附
一
- 冲突域:在同一个冲突域中,每一个节点都能收到所有被发送的帧。在冲突域中,同一时间内只能有一台设备发送信息
- 数据链路层中,一个端口就是一个冲突域
- 广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。在广播域中,站点发出一个广播信号,设备都能接收到
- 路由器划分广播域
设备名称 | 能否隔离冲突域 | 能否隔离广播域 |
---|---|---|
集线器 | 不能 | 不能 |
中继器 | 不能 | 不能 |
交换机 | 能 | 不能 |
网桥 | 能 | 不能 |
路由器 | 能 | 能 |
式:<协议>://<主机>:<端口>/<路径>
超文本传输协议
从层次角度看,HTTP是面向事务的应用层协议,它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件的重要基础
HTTP的操作过程
- 每个万维网站点都有一个服务器进程,它不断地监听TCP的端口80
- 当监听到连接请求后便与浏览器建立连接
- TCP连接建立后,浏览器就向服务器发送请求获取某个Web页面的HTTP请求
- 服务器收到HTTP请求后,将构建所请求Web页的必需信息,并通过HTTP响应返回给浏览器
- 浏览器再将信息进行解释,然后将Web页显示给用户
- TCP连接释放
用户单击鼠标后发生的事件按顺序
- 浏览器分析链接指向页面的URL
http://www.tsinghua.edu.cn/chn/index.htm
- 浏览器向DNS请求解析域名
www.tsinghua.edu.cn
的IP地址- 域名服务器DNS解析出IP地址
- 浏览器与该服务器建立TCP连接(默认端口号为80)
- 浏览器发出HTTP请求
GET/chn/index.htm
- 服务器通过HTTP响应把文件
index.htm
发送给浏览器- TCP连接释放
- 浏览器解释文件
index.htm
,并将Web页显示给用户
HTTP的特点
-
HTTP是无状态的,简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求
-
使用Cookie加数据库的方式来跟踪用户的活动
-
HTTP既可以使用非持久连接,也可以使用持久连接(HTTP/1.1支持)
- 非持久连接:每个网页元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接
- 持久连接:同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文
- 非流水线
- 流水线
HTTP的报文结构
HTTP是面向文本的,因此报文中的每个字段都是一些ASCII码
- 请求报文:客户向服务器
- 响应报文:服务器向客户
方法(操作) | 意义 |
---|---|
GET | 请求读取由URL标识的信息 |
HEAD | 请求读取由URL标识的信息的首部 |
POST | 给服务器添加信息 |
CONNECT | 用于代理服务器 |
附
一
- 冲突域:在同一个冲突域中,每一个节点都能收到所有被发送的帧。在冲突域中,同一时间内只能有一台设备发送信息
- 数据链路层中,一个端口就是一个冲突域
- 广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。在广播域中,站点发出一个广播信号,设备都能接收到
- 路由器划分广播域
设备名称 | 能否隔离冲突域 | 能否隔离广播域 |
---|---|---|
集线器 | 不能 | 不能 |
中继器 | 不能 | 不能 |
交换机 | 能 | 不能 |
网桥 | 能 | 不能 |
路由器 | 能 | 能 |