计算机网络原理

计算机网络原理

文章目录

  • 计算机网络原理
    • 引言
    • 计算机网络体系结构
    • 数据通信的基本原理
    • 物理层接口
    • 数据链路控制及其协议
    • 局域网和介质访问子层
    • 网络层和路由控制
    • 传送层服务和控制
    • 计算机网络应用

引言

网络空间的三大基础性关键核心技术:CPU/OS/互联网体系结构

历史:ARPANET,X.25,OSI体系,Internet

主要研究内容:规模实验,路由性能,路由控制

互联网重大技术挑战:扩展性 安全性 高性能 移动性 实时性 管理性

计算机网络:一批独立自治的计算机系统的互连集合体

计算机网络体系结构

计算机网络:

  • 通信子网:通信线路,互连设备,点到点(路由),广播(通道分配)
  • 资源子网:服务器,客户计算机,移动终端

计算机网络的体系结构:

  • 对计算机网络及其部件所完成功能的比较精确的定义。即从功能的角度描述计算机网络的结构。
  • 计算机网络各种功能组成及其相互关系
  • 层次和协议的集合。

网络功能的分层-协议的分层-体系结构的分层

协议: 计算机网络同等层次中,通信双方进行信息交换时必须遵守的规则。

  • 语法(syntax):以二进制形式表示的命令和响应的结构
  • 语义(semantics):由发出的命令请求,完成的动作和回送的响应组成的集合
  • 定时关系(timing):有关事件顺序的说明

接口:每一相邻层之间有一个接口(Interface),它定义了下层向上层提供的原语操作和服务。

服务:层间交换信息时必须遵守的规则。

服务访问点SAP:

  • 任何层间服务是在接口的SAP上进行的
  • 每个SAP有唯一的识别地址
  • 每个层间接口可以有多个SAP。

接口数据单元IDU(Interface Data Unit)

  • IDU是通过SAP进行传送的层间信息单元
  • IDU由上层的服务数据单元SDU(Service Data Unit)和接口控制信息ICI(Interface Control Information)组成

协议数据单元PDU(Protocol Data Unit)

  • 第N层实体通过网络传送给它的对等实体的信息单元
  • PDU由上层的服务数据单元SDU或其分段和协议控制信息PCI(Protocol Control Information)组成
  • 分段和重组
    计算机网络原理_第1张图片

连接并不意味可靠,可靠要通过确认、重传等机制来保证

Internet 的标准是自发而非政府干预的,称为RFC (Request For Comments)

服务原语可分为四种类型

  • 请求(Request): 一个实体想得到某些事情的服务
  • 指示(Indication): 另一个实体被通知做这个事情
  • 响应(Response): 另一个实体完成事情后想响应
  • 确认(Confirm): 返回一个对早期请求的响应

Open System Interconnection

  • 物理层(The Physical Layer):在物理线路上传输原始的二进制数据位(基本网络硬件)
  • 数据链路层(The Data Link Layer):在有差错的物理线路上提供无差错的数据传输(Frame)
  • 网络层(The Network Layer):控制通信子网提供源点到目的点的数据传送(Packet)
  • 运输层(The Transport Layer):为用户提供端到端的数据传送服务。
  • 会话层(The Session Layer):为用户提供会话控制服务(安全认证)
  • 表示层(The Presentation Layer):为用户提供数据转换和表示服务。
  • 应用层(The Application Layer)

TCP/IP 参考模型:

  • 物理层:在物理线路上传输原始的二进制数据位
  • 数据链路层:在有差错的物理线路上提供无差错的数据传输
    • TCP/IP 参考模型把第1层和第2层合起来称为:Host-to-Network
  • 网络层(IP层):控制通信子网提供源点到目的点的包传送
  • 运输层:提供端到端的数据传送服务。TCP 和 UDP
  • 应用层:提供各种 Internet 管理和应用服务功能

计算机网络原理_第2张图片

OSI网络体系结构的核心和贡献:

  • 分层模型
  • 服务、接口、协议

ARPANET:分组交换,subnet 和 host computer两极结构。

NSFNET:第一个TCP/IP广域网

X.25:面向连接,虚电路

帧中继,面向连接,提供最少的基本服务。

宽带综合业务数字网 B-ISDN(Broadband Integrated Services Digital Network)技术基础是异步传输模式ATM
(Asynchronous Transfer Mode)

  • 异步传输,没有主时钟。
  • 传输单元是短的、定长的包,称为信元(cell)。
  • 面向连接
  • 速率主要有两种:155M,622M

数据通信的基本原理

F ( f ) = a 0 + ∑ n = 1 + ∞ a n cos ⁡ n ω t + ∑ n = 1 + ∞ b n sin ⁡ n ω t a 0 = 1 T 1 ∫ t 0 t 0 + T 1 f ( t ) d t a n = 2 T 1 ∫ t 0 t 0 + T 1 f ( t ) cos ⁡ n ω 1 t d t b n = 2 T 1 ∫ t 0 t 0 + T 1 f ( t ) sin ⁡ n ω 1 t d t \mathcal F(f) = a_0+\sum_{n=1}^{+\infty}a_n \cos n\omega t+\sum_{n=1}^{+\infty}b_n\sin n\omega t \\ a_0 = \frac{1}{T_1}\int_{t_0}^{t_0+T_1}f(t) dt \\ a_n = \frac{2}{T_1}\int_{t_0}^{t_0+T_1}f(t) \cos n \omega_1 t d t \\ b_n = \frac{2}{T_1}\int_{t_0}^{t_0+T_1}f(t)\sin n\omega_1 tdt F(f)=a0+n=1+ancosnωt+n=1+bnsinnωta0=T11t0t0+T1f(t)dtan=T12t0t0+T1f(t)cosnω1tdtbn=T12t0t0+T1f(t)sinnω1tdt

信号在信道上传输时的特性:

  • 对不同傅立叶分量的衰减不同,因此引起输出失真
  • 信道有截止频率fc ,0 ~ fc 的振幅不衰减,称为信道的有效带宽

波特率(baud)和比特率(bit)的关系:

  • 波特率:信号每秒钟变化的次数,也称调制速率。
  • 比特率:每秒钟传送的二进制位数。

对于比特率为B bps的信道,发送8位所需的时间为 8/B秒,若8位为一个周期T,则一次谐波的频率是: f 1 = B / 8 H z f_1 = B/8 Hz f1=B/8Hz 能通过信道的最高次谐波数目为: N = f c / f 1 N = f_c/ f_1 N=fc/f1

有限的带宽限制了数据的传输速率。

Nyquist Theory:无噪声有限带宽信道最大数据速率 = 2 B log ⁡ 2 V 2B\log_2V 2Blog2V 其中B为低通滤波器的带宽,信号包含了V个离散的等级

Shannon Theory:信道受到随机(热)噪声干扰最大比特率 = B log ⁡ 2 ( 1 + S N ) B\log_2(1+\frac{S}{N}) Blog2(1+NS) 其中S为信号功率,N为噪声功率,与信号电平级数、采样速度无关

信噪比: S N R = 10 lg ⁡ S N SNR = 10\lg \frac{S}{N} SNR=10lgNS 单位dB

数字信号发送的优点是:价格便宜,对噪声不敏感;缺点是:易受衰减,频率越高,衰减越厉害。

数字数据的数字传输:

  • 基带:基本频带,指传输变换前所占用的频带,是原始信号所固有的频带。

NRZ:

  • 难以分辨一位的结束和另一位的开始;
  • 发送方和接收方必须有时钟同步;
  • 若信号中“0”或“1”连续出现,信号直流分量将累加。

曼彻斯特码:每一位中间都有一个跳变,从低跳到高表示“0”,从高跳到低表示“1”。

  • 自同步

差分曼彻斯特码:每一位中间都有一个跳变,每位开始时有跳变表示“0”,无跳变表示“1”。位中间跳变表示时钟,位前跳变表示数据。

  • 时钟、数据分离,便于提取

逢“1”变化的NRZ码:在每位开始时,逢“1”电平跳变,逢“0”电平不跳变。

数字数据的模拟传输:

  • 调制(Modulation):用基带脉冲对载波信号的某些参量进行控制,使这些参量随基带脉冲变化

幅移键控法 Amplitude-shift keying (ASK):幅移就是把频率、相位作为常量,而把振幅作为变量

频移键控法 Frequency-shift keying (FSK):频移就是把振幅、相位作为常量,而把频率作为变量

相移键控法 Phase-shift keying (PSK):相移就是把振幅、频率作为常量,而把相位作为变量

计算机网络原理_第3张图片

模拟数据数字传输:

  • PCM技术:模拟信号振幅分成多级(2n ),每一级用 n 位表示
  • 差分脉冲代码调制:根据前后两个采样值的差进行编码
  • δ \delta δ 调制:根据每个采样值与前一个值之间差“+1”或“-1”来决定输出二进制“1”或“0”。
    • 编码速度跟不上变化太快的信号。

多路复用技术:为了提高线路利用率,经常让多个信号同时共用一条物理线路。

时分复用 TDM(Time Division Multiplexing)

计算机网络原理_第4张图片

频分复用 FDM(Frequency Division Multiplexing)

波分复用 WDM(Wavelength Division Multiplexing):利用光纤信道的巨大带宽,不同信道使用不同波长的光

单工通信方式:信息只能单向传输,监视信号可回送

半双工通信方式

全双工通信方式

异步传输方式:

  • 信息是以字符为单位传送的

  • 需要辅助位,每个字符可能需要用10位或11位才能传送

计算机网络原理_第5张图片

  • 传输效率低,主要用于字符终端与计算机之间的通信

同步传输方式:

  • 信息是以报文为单位传送的
  • 传输开始时,以同步字符使收发双方同步
  • 从传输信息中抽取同步信息,修正同步,保证正确采样
  • 可以不间断地传输信息,传输效率较高;字符间减少了辅助信息;传输的信息中不能有同步字符出现,透明性较差。

数据流方式:

  • 基于位的传送中,采用同步方式。
  • 信息以二进制位流为单位传送;
  • 传输过程中收发双方以位为单位同步;
  • 传输的开始和结束由特定的八位二进制位同步
  • 传输效率高;通明性好

在这里插入图片描述

通信交换方式:

  • 电路交换:实时信息和模拟信号传送,在线路带宽比较低的情况下使用比较经济
  • 报文交换:线路带宽比较高的情况,可靠灵活,但延迟大
  • 分组交换:缩短了延迟,也能满足一般的实时信息传送
    • 数据报:每个分组均带有全称网络地址(源、目的),可走不同的路径
    • 虚电路:建立,传输,拆除
  • 混合交换

物理层接口

物理层的四个重要特性:

  • 机械特性 (mechanical characteristics)
  • 电气特性 (electrical characteristics)
  • 功能特性 (functional characteristics)
  • 规程特性 (procedural characteristics)

物理层目的是启动、维护和关闭数据链路实体之间进行比特传输的物理连接。

传输介质:

  • 磁介质

  • 双绞线:带宽依赖于线的粗细和传输距离

  • 基带同轴电缆:数据传输

  • 宽带同轴电缆:75欧姆,用于模拟传输,Cable TV技术,300MHz或450MHz

  • 光纤:

    • 模式(mode):是一个与很多参数有关的量,可以简单地理解为偏振方向,单模光纤可以传输多种波长,但每个波长只能有一种模式
    • 0.85um:衰减(attenuation)大,传输速率和距离受限制,但价格便宜;
    • 1.30um:衰减小,无色散(dispersion)补偿、功率放大情况下,最大传40km(最坏情况);
    • 1.55um:衰减小,无色散补偿、功率放大情况下,最大传80km(最坏情况)
    • 点到点:四根线(两根用于保护倒换);环:两根线(一根用于保护倒换)

无线传输

  • 电磁频谱
  • 无线电传输
  • 微波传输
  • 红外线和毫米波
  • 光波传输

电话系统:

  • 局部回路(双绞线,模拟信号传输)
  • 中继(光纤或微波,数字信号传输)
  • 交换局

SONET/SDH:TDM,基本SONET帧:810 字节/125us

OC-3 表示一个155.52 Mbps的载波是由三个单独的OC-1载波 复用构成的;

OC-3c 表示一个单独的155.52 Mbps的载波。

窄带ISDN:在原电话系统的基础上,提供模拟和数字多种信号传输

  • 三种组合2B+D,23B+1D或 30B+1D,1A+ 1C

宽带ISDN:基于ATM

蜂窝无线电:单方向的讯呼系统

通信卫星

数据链路控制及其协议

如何在有差错的线路上,进行无差错传输

数据链路层协议应提供的最基本功能

  • 数据在数据链路上的正常传输(建立、维护和释放)
  • 定界与同步,也处理透明性问题
  • 差错控制
  • 顺序控制
  • 流量控制

为网络层提供三种合理的服务

  • 无确认无连接服务
  • 有确认无连接服务
  • 有确认有连接服务

成帧:

  • 字符计数法
  • 带字符填充的首尾字符定界法
  • 带位填充的首尾标记定界法01111110
  • 物理层编码违例法

纠错码:m个信息位,r个校验位,纠正单比特错
( m + r + 1 ) ≤ 2 r (m+r+1)\leq 2^r (m+r+1)2r
使用海明码纠正突发错误

  • 码位从左边开始编号;

  • 位号为2的幂的位是校验位,其余是信息位;

  • 可采用k个码字(n = m + r)组成 k * n 矩阵,按列发送,接收方恢复成 k * n 矩阵,k*r个校验位,k*m个数据位,可纠正最多为k个的突发性连续比特错

计算机网络原理_第6张图片

CRC校验码:

  • 约定生成多项式G(x)(最高位系数和最低位系数均为1),在帧的低位加上r个0位,使该帧包含m+r位
  • 利用模2除法,用G(x)的位串除 x r M ( x ) x^rM(x) xrM(x)的位串
  • 利用模2减法,从 x r M ( x ) x^r M(x) xrM(x)位串中减去余数,结果就是将被传输的带校验和的帧
  • 具有r个校验位的多项式能检查出所有长度 ≤ r \leq r r 的差错
  • 如果突发差错长度为 r + 1,当且仅当突发差错和G(x)一样时, E(x) / G(x) = 0,概率为 1 / 2 r − 1 1/2^{r-1} 1/2r1

计算机网络原理_第7张图片

无约束单工协议:

  • 单工传输
  • 发送方无休止工作(要发送的信息无限多)
  • 接收方无休止工作(缓冲区无限大)
  • 通信线路(信道)不损坏或丢失信息帧
  • 发送程序:取数据,构成帧,发送帧;
  • 接收程序:等待,接收帧,送数据给高层

单工停等协议:

  • 接收方不能无休止接收:接收方每收到一个帧后,给发送方回送一个响应。
  • 发送程序:取数据,成帧,发送帧,等待响应帧;
  • 接收程序:等待,接收帧,送数据给高层,回送响应帧。

有噪声信道的单工协议:

  • 信道有差错,信息帧可能损坏或丢失:出错重传
  • 发方在发下一个帧之前等待一个肯定确认的协议叫做PAR(Positive Acknowledgement with Retransmission)或ARQ(Automatic Repeat reQuest)
  • 由于确认帧中没有序号,超时时间不能太短,否则协议失败。因此假设协议3的发送和接收严格交替进行。
    计算机网络原理_第8张图片
  • 响应帧损坏怎么办(重复帧)—— 发送帧头中放入序号;为了使帧头精简,序号取多少位 —— 1位

滑动窗口协议:全双工

  • 捎带(piggybacking):暂时延迟待发确认,以便附加在下一个待发数据帧的技术。
  • 发送的信息帧都有一个序号
  • 发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号
  • 发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应帧,下界加1
  • 接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧
  • 接收窗口表示允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧

一比特滑动窗口协议

  • 窗口大小:N = 1,发送序号和接收序号的取值范围:0,1

  • 能保证无差错传输,但是基于停等方式

  • 若双方同时开始发送,则会有一半重复帧

    计算机网络原理_第9张图片

  • 效率低,传输时间长

退后n帧协议:

  • 连续发送多帧后再等待确认,称为流水线技术
  • 接收方从出错帧起丢弃所有后继帧;接收窗口为1
  • 发送窗口大小 < 序号个数(MaxSeq+1)
  • 由于有多个未确认帧,设多个计时器。
  • 当有错误帧出现后,总是要重发该帧之后的所有帧
  • 0,1,2,3帧接收方都成功接收,返回4个确认帧,此处接收窗口移动到0号,但是是新帧的0号。 但返回的4个确认帧都丢失,发送方超时重传,把旧的0号帧,1,2,3帧重新发送; 接收方把旧的0号帧当作新的0号帧,接收方无法判断这是新的0号帧还是旧的0号帧

计算机网络原理_第10张图片

选择重传协议:

  • 接收窗口大于1,先暂存出错帧的后继帧

  • 只重传坏帧

  • 对最高序号的帧进行确认

  • 接收窗口较大时,需较大缓冲区

  • 发送窗口大小:MaxSeq,接收窗口大小:(MaxSeq + 1) / 2

  • 发方发帧 0 ~ 6,收方全部收到,接收窗口前移(7 ~ 5),确认帧丢失,发方重传帧0,收方作为新帧接收,并对帧6确认,发方发新帧 7 ~ 5,收方已收过帧 0,丢弃新帧 0,协议出错

  • 如果收到小于窗口下界的帧,就返回一个ack

    计算机网络原理_第11张图片

协议说明与验证:

  • 形式化方法
    • 协议说明(Protocol Specification)
      • 有限状态机FSM
      • 形式化语言模型
      • Petri网
    • 协议验证(Protocol Verification)
    • 协议实现(Protocol Implementation)
    • 协议测试(Protocol Testing)一致性 互操作性 性能测试

Petri网模型

  • 位置(place):描述系统状态,用一个圆圈表示;
  • 变迁(transition):描述修改系统状态的事件,用一个长方形或线段表示;
    • 如果一个变迁的所有输入位置至少包含一个标记,则这个变迁可能实施;
    • 一个可实施变迁的实施导致从它所有输入位置中都清除一个标记,在它所有输出位置中产生一个标记;
    • 当使用大于1的弧权(weight)时,在变迁的所有输入位置中都要包含至少等于连接弧权的标记个数它才可实施,并根据弧权,在每个输出位置中产生相应标记个数;
  • 弧(arc):描述状态与事件之间的关系,包括输入弧和输出弧,用有向弧表示
  • 活动元素 —— 标记(token)
    • 包含在位置中,用点表示;用来表示处理的信息单元、资源单元和顾客、用户等对象;
    • 如果位置用来描述条件,它可以包含一个标记或不包含标记,当包含标记时,条件为真,否则,为假;
    • 如果位置用来定义状态,位置中的标记个数用于规定这个状态;

条件/事件(C/E)网:最简单,每个位置最多一个标记,表示条件。

位置/变迁(P/T)网:每个位置中的标记可以有多个。

高级Petri网(包括谓词/变迁网和着色网):给标记以属性,即标记有区别

计算机网络原理_第12张图片

计算机网络原理_第13张图片

高级数据链路控制规程HDLC

  • 主站(primary station):主要功能是发送命令(包括数据),接收响应,负责整个链路的控制(如系统的初始、流控、差错恢复等);
  • 次站(secondary station):主要功能是接收命令,发送响应,配合主站完成链路的控制;
  • 组合站(combined station):同时具有主、次站功能,既发送又接收命令和响应,并负责整个链路的控制

链路构型

  • 非平衡型点点式,多点式
  • 平衡型主次式,组合式

操作模式:

  • 正规响应模式 NRM:主站向次站发出探询后,次站才能获得传输帧的许可,非平衡构型
  • 异步响应模式 ARM:次站可以随时传输帧,不必等待主站的探询,点 — 点式非平衡,主站 — 次站式平衡
  • 异步平衡模式 ABM:双方具有同等能力,组合站的平衡构型

计算机网络原理_第14张图片

序号(Seq):使用滑动窗口技术,3位序号,发送窗口大小为7

捎带确认(Next):捎带第一个未收到的帧序号,而不是最后一个已收到的帧序号

多终端,终端发向计算机的帧中,最后一个帧P/F位置为“F”,其它置为“P”。

定界符:01111110,零比特填充

X.25 LAP、LAPB是HDLC的子集

X.25 LAPB

  • CRC校验,超时重传

Internet数据链路层协议

  • 路由器到路由器,拨号上网
  • Serial Line IP
    • 不提供差错校验
    • 字符填充技术
    • 只支持IP
    • IP地址不能动态分配
    • 不提供认证

点到点协议 PPP

  • 差错校验、支持多种协议、允许动态分配IP地址、支持认证

  • 以帧为单位发送

  • 链路控制协议LCP

  • 网络控制协议NCP

  • PPP是面向字符,采用字符填充技术

  • 净负荷域:变长,缺省为1500字节;

    在这里插入图片描述

局域网和介质访问子层

有线局域网:400G Ethernet 802.3

无线局域网:WiFi 6 9.6Gbps 802.11

局域网中的动态通道分配:多路访问协议

ALOHA协议:用户有数据要发送时,可以直接发至信道;然后监听信道看是否产生冲突,若产生冲突,则等待一段随机的时间重发

  • 吞吐率 S = GP0 ,P0 为发送一帧不受冲突影响的概率
  • 平均每个帧时产生G帧
  • S = Ge-2G
  • 信道利用率最高只有18.4%

分槽ALOHA协议:把信道时间分成离散的时间槽,槽长为一个帧所需的发送时间。每个站点只能在时槽开始时才允许发送。

  • P0= e-G
  • 信道利用率最高为36.8%

载波监听多路访问CSMA

  • 1-坚持型 CSMA:发送前监听,通道不空,继续监听,直到通道空,发送。优:通道利用率高;缺:冲突大。
  • 非坚持型 CSMA:发送前监听,通道空,发送;通道不空,不继续监听,等待一个概率时间,继续监听,直到通道空,发送。优:通道利用率高,冲突小;缺:延迟大。
  • P-坚持型 CSMA(分时间槽通道):发送前在时间片槽前监听,通道空,以概率p发送;通道不空,继续监听,等待下一个时间片槽,继续监听

CSMA/CD:检测到冲突后立即停止,等待随机一段时间后重新尝试发送

  • 假设两个相距最远的站所需传输时间为 τ \tau τ,则当一个站传输 2 τ 2\tau 2τ之后还没检测到冲突才能保证自己已经占有了信道
  • 时间槽设置成 2 τ 2\tau 2τ

无冲突协议:

  • 位图协议:每个竞争期统计所有希望发送帧的站点,之后按指定顺序依次发送这些帧
  • 令牌传递:令牌依次环状传递,发送站点需持有令牌并等待发送结束后继续传递令牌
  • 二进制倒计数:发送站点发送前广播二进制地址,二进制地址低的站点自动退出竞争

有限竞争协议:低负载竞争协议,高负载无冲突协议

自适应树遍历协议

计算机网络原理_第15张图片

波分多址(WDMA)是将多个不同波长且互不交叠的光载波分配给不同的光网络单元(ONU),用以实现上行信号的传输

无线局域网协议:

  • 限制:无线通信系统不能检测正在发生的冲突,无线局域网中的站不能广播给其他站

  • 隐藏终端问题:AC向B发送数据,AC之间不能互相检测到,一个在发送数据时另一个会误认为信道空闲

    计算机网络原理_第16张图片

  • 暴露终端问题:向不同的基站传输时发生误检测冲突

    计算机网络原理_第17张图片

  • MACA协议:A向B发送消息前,首先发送RTS,B回复CTS后A向B正式发送消息

  • CSMA/CA:一是监听到信道空闲时,并不是立即发送,而是等待一段时间再发送数据。二是先发送一个很小的信道侦测帧RTS,如果收到最近的接入点返回的CTS,就认为信道是空闲的,然后再发送数据。协议的主要流程如下:1 首先检测信道是否有使用,如果检测出信道空闲,则等待一段随机时间后,才送出数据。2 接收端如果正确收到此帧,则经过一段时间间隔后,向发送端发送确认帧ACK。3 发送端收到ACK帧,确定数据正确传输,在经历一段时间间隔后,再发送数据。

    计算机网络原理_第18张图片

经典以太网:3~10Mbps

Manchester Encoding

帧格式:

计算机网络原理_第19张图片

二进制指数后退CSMA/CA:第i次冲突后,从0~2i-1之间随机选择一个数,等待这么多时间槽

最小帧长是64个字节,64—目的地址(6字节)— 源地址(6字节) — 类型(2字节)— 效验码(4字节) = 46字节;如果站点收到了小于64个字节的帧,则认为发送了冲突(源地址不在发送了),直接丢弃

交换式以太网是以交换式集线器(switching hub)或交换机(switch)为中心构成,是一种星型拓扑结构的网络。

IEEE 802.2: Logical Link Control 隐藏底层协议差异

计算机网络原理_第20张图片
Wireless LANs

计算机网络原理_第21张图片

Broadband Wireless

计算机网络原理_第22张图片

Data Link Layer Switching : Multiple LANs connected by a backbone to handle a total load higher than the capacity of a single LAN.

LAN Bridge

计算机网络原理_第23张图片

计算机网络原理_第24张图片

计算机网络原理_第25张图片

集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会在其他端口把这个 包转发一次,因为它不知道也不可能知道这个包是发给谁的(物理层设备只关心电压这些物理概念),它也只能对所有人广播

中继器(Repeater),这种设备的作用是把物理层传输的信号放大,由于长距离的传输,信号会有一定的损耗的

网桥又称桥接器,英文名Network Bridge,数据链路层设备。它也是转发数据包的设备,但和HUB不一样的是,它工作在数据链路层,HUB只能看懂物理层上的东西(比如一段物理信号),网桥却能看懂一些帧的信息(在链路层上,把上面传下来的数据封装后,封装好了的数据就是帧,但这里我用“数据包”这样的泛指去代替“帧”这个专业术语)。在以太网构造的局域网上,最终的寻址是以数据链路层的MAC地址作为标识的,一般只有两个口

交换机Switch,数据链路层设备,作用是转发数据包。和网桥一样它也是通过识别帧中的MAC地址,然后对特定的端口进行转发的。

网络层和路由控制

网络层的内部组织:虚电路(virtual circuit)数据报(datagram)

面向连接服务:将复杂的功能放在网络层(通信子网)。

无连接服务:将复杂的功能放在传输层。

计算机网络原理_第26张图片

路由算法

最优化原则( optimality principle ):如果路由器 J 在路由器 I 到 K 的最优路由上,那么从J 到 K 的最优路由会落在同一路由上

最短路径路由算法:

  • 静态路由算法
  • 测量路径长度的方法:结点数量,地理距离,传输延迟,距离、信道带宽等参数的加权函数

洪泛算法:

  • 静态路由算法
  • 把收到的每一个包,向除了该包到来的线路外的所有输出线路发送。
  • 每个包头包含站点计数器,每经过一站计数器减1,为0时则丢弃该包
  • 选择性洪泛算法:将进来的每个包仅发送到与正确方向接近的线路上

基于流量的路由算法:

  • 静态路由算法
  • 网络带宽和平均流量,可得出平均包延迟,找产生网络最小延迟的路由选择算法
  • 平均延迟 T = 1 μ C − λ T=\frac{1}{\mu C-\lambda} T=μCλ1 C 带宽 1 μ \frac{1}{\mu} μ1 包大小

距离向量路由算法:

  • 动态路由算法
  • RIP
  • 每个路由器维护一张表,表中给出了到每个目的地的已知最佳距离和线路,并通过与相邻路由器交换距离信息来更新表
  • 每隔一段时间,路由器向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表
  • 本路由器中的老路由表在计算中不被使用
  • 算法的缺陷:对好消息反应迅速,对坏消息反应迟钝
  • 选择路由时,没有考虑线路带宽, 路由收敛速度慢
  • 收敛时间不定,可能会出现路由循环

链路状态路由算法:

  • 发现邻居结点,并学习它们的网络地址;
  • 测量到每个邻居结点的延迟或开销
  • 将所有学习到的内容封装成一个包
  • 将这个包发送给所有其它路由器,每个包包含一个序号,每次发送新包时加1
  • 可能存在路由振荡

分层路由:根据需要,将路由器分成区域(regions)、聚类(clusters)、区(zones)和组(groups)…

移动主机的路由

  • 移动用户进入一个新区域时,必须首先向外部代理注册
  • 当一个包发给移动用户时,首先被转发到用户的家乡局域网;
  • 该包到达用户的家乡局域网后,被家乡代理接收,家乡代理查询移动用户的新位置和与其对应的外部代理的地址;
  • 家乡代理采用隧道技术,将收到的包作为净荷封装到一个新包中,发给外部代理;
  • 家乡代理告诉发送方,发给移动用户的后续包作为净荷封装成包直接发给外部代理;
  • 外部代理收到包后,将净荷封装成数据链路帧发给移动用户。

拥塞控制算法

拥塞控制(congestion control)需要确保通信子网能够承载用户提交的通信量,是一个全局性问题,涉及主机、路由器等很多因素;

流量控制(flow control)与点到点的通信量有关,主要解决快速发送方与慢速接收方的问题,是局部问题,一般都是基于反馈进行控制的。

开环控制

闭环控制:基于反馈机制

衡量网络是否拥塞的参数:缺乏缓冲区造成的丢包率;平均队列长度;超时重传的包的数目;平均包延迟;包延迟抖动(Jitter)。

流量整形:强迫包以一种可预测的速率发送

漏桶算法:将用户发出的不平滑的数据包流转变成网络中平滑的数据包流

令牌桶算法:漏桶存放令牌,每T秒产生一个令牌,令牌累积到超过漏桶上界时就不再增加。包传输之前必须获得一个令牌,传输之后删除该令牌,积累发送权,不丢包

对发送方的流说明,子网和接收方可以做出三种答复:同意、拒绝、其它建议。

虚电路子网中的拥塞控制:一旦发生拥塞,在问题解决之前,不允许建立新的虚电路;– 另一种方法是发生拥塞后可以建立新的虚电路,但要绕开发生拥塞的地区

抑制包:路由器监控输出线路及其它资源的利用情况,超过某个阈值,则此资源进入警戒状态;• 每个新包到来,检查它的输出线路是否处于警戒状态;若是,则向源主机发送抑制包,包中指出发生拥塞的目的地址。同时将原包打上标记(为了以后不再产生抑制包),正常转发。源主机收到抑制包后,按一定比例减少发向特定目的地的流量,并在固定时间间隔内忽略指示同一目的地的抑制包。然后开始监听,若此线路仍然拥塞,则主机在固定时间内减轻负载、忽略抑制包;若在监听周期内没有收到抑制包,则增加负载;

加权公平队列:路由器的每个输出线路有多个队列,路由器循环扫描各个队列,发送队头的包

逐跳抑制包:抑制包对它经过的每个路由器都起作用;

负载丢弃:• 文件传输,优先丢弃新包,wine策略;• 多媒体服务,优先丢弃旧包,milk策略

网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。

网络互联:

  • 级联虚电路
  • 无连接网络互连
  • 隧道技术:源和目的主机所在网络类型相同,连接它们的是一个不同类型的网络,这种情况下可以采用隧道技术

计算机网络原理_第27张图片

互联网路由

两级路由算法

  • 内部网关协议(IGP: Interior Gateway Protocol) RIP,OSPF
  • 外部网关协议(EGP: Exterior Gateway Protocol)BGP

分段:网关负责分段,目的主机重组

标记段:偏移量法

  • 定义一个基本段长度,使得基本段能够通过所有网络;
  • 包分段时,除最后一个段小于等于基本段长度外,所有段长度都等于基本段长度;
  • 一个包可以包括几个段,包头中包括;原始包序号,包中第一个基本段的偏移量,最后段指示位。

防火墙的一种常用配置

  • 两个路由器,根据某种规则表,进行包过滤;
  • 一个应用网关,审查应用层信息。

在网络层,互联网( Internet )可以看成是自治系统的集合,是由网络组成的网络;网络之间互连的纽带是 IP ( Internet Protocol )协议

IPv4协议:

  • IPv4头包括20个字节的固定部分

  • DF:Don’t Fragment;所有机器必须能够接收小于等于576字节的段

  • MF:More Fragments 除最后一个段外的所有段都要置MF位。

  • 段偏移量(Fragment offset):除最后一个段外的所有段的长度必须是8字节(基本段长)的倍数。

地址组成:网络号 + 主机号

全0和全1有特殊含义

  • 全0:表示本网络或本主机;
  • 全1:表示广播地址;

互联网的控制报文协议 ICMP(Internet Control Message Protocol)

  • 主要用来报告出错和测试

地址解析协议 ARP ( Address Resolution Protocol )

  • 解决网络层地址(IP地址)与数据链路层地址(MAC地址)的映射问题;

反向地址解析协议 RARP ( Reverse Address Resolution Protocol )

  • 解决数据链路层地址(MAC地址)与网络层地址(IP地址)的映射问题
  • 主要用于无盘工作站启动
  • 由于路由器不转发广播帧,RARP服务器必须与无盘工作站在同一子网内。
  • BOOTP (UDP)

内部网关协议 IGP ( interior gateway protocol ):自治系统 AS 内使用的路由算法, RIP 、 OSPF

外部网关协议 EGP ( exterior gateway protocol ):自治系统 AS 之间使用的路由算法, BGP

分层路由

  • 自治系统AS可以划分区域(areas);
  • 每个AS有一个主干(backbone)区域,称为区域0,所有区域与主干区域相连;
  • 一般情况下,有三种路由:区域内,区域间,自治系统间

四类路由器,允许重叠

  • 完全在一个区域内的内部路由器;
  • 连接多个区域的区域边界路由器;
  • 主干路由器;
  • 自治系统边界路由器

计算机网络原理_第28张图片

边界网关协议 BGP

  • 通过TCP连接传送路由信息;
  • 采用路径向量(path vector)算法,路由信息中记录路径的轨迹
  • 与距离向量协议相似
  • 每个BGP网关向邻居广播所有通往目的地的路径
  • 比如,Gateway X 发送它通往Z的路径:Path (X,Z) = X,Y1,Y2,Y3,…,Z
  • OPEN,UPDATE,KEEPALIVE,NOTIFICATION

无类域间路由 CIDR:将剩余的C类地址分成大小可变的地址空间;最长匹配原则:路由查找时,若多个路由表项匹配成功,选择掩码长(1比特数多)的路由表项

IPv6协议:

  • 地址变长,由32位变成128位;
  • IP头简化

IPv4 到IPv6

双栈 :有些路由器同时运行两种协议栈,并可以在这两种之间进行格式转换。

隧道: IPv6的报文被作为IPv4报文的净荷由IPv4路由器处理。

为什么设计制造高速路由器有很大的难度?

  1. 内存速度是瓶颈,没法跟上摩尔定律。
  2. 对路由器性能要求的提升速度超过了摩尔定律,带宽增加速度超过了处理能力增加的速度。

计算机网络原理_第29张图片

地址区间的二分查找法:N 个地址前缀,查找算法复杂度为 O(log22N)

报文 caches

计算机网络原理_第30张图片

使用输入队列的路由器队头阻塞:58%

传送层服务和控制

引入传输层的原因

  • 消除网络层的不可靠性;
  • 提供从源端主机到目的端主机的可靠的、与实际使

用的网络无关的信息传输。

面向连接的传输服务:连接建立,数据传输,连接释放;

无连接的传输服务

拆除连接方式有两种

  • 不对称方式:任何一方都可以关闭双向连接;
  • 对称方式:每个方向的连接单独关闭,双方都执行 DISCONNECT才能关闭整条连接。

建立连接:

服务程序

  • 调用socket创建一个新的套接字,并在传输层实体中分配表空间,返回一个文件描述符用于以后调用中使用该套接字
  • 调用bind将一个地址赋予该套接字,使得远程客户程序能访问该服务程序
  • 调用listen分配数据空间,以便存储多个用户的连接建立请求

调用accept将服务程序阻塞起来,等待接收客户程序发来的连接请求。当传输层实体接收到建立连接的TPDU时,新创建一个和原来的套接字相同属性的套接字并返回其文件描述符。服务程序创建一个子进程处理此次连接,然后继续等待发往原来套接字的连接请求。

客户程序

  • 调用socket创建一个新的套接字,并在传输层实体中分配表空间,返回一个文件描述符用于在以后的调用中使用该套接字;

调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;

三次握手方案(three-way handshake)

  • A 发出序号为X的CR TPDU;
  • B 发出序号为Y的CC TPDU并确认A的序号为X的CR TPDU;
  • A 发出序号为X+1的第一个数据TPDU,并确认B的序号为Y的 CR TPDU。

释放连接:

计算机网络原理_第31张图片

TCP协议

  • TCP不支持多播(multicast)和广播
  • TCP连接是基于字节流的,而非消息流,消息的边界在端到端的传输中不能得到保留
  • 可靠传输
    • 滑动窗口
    • 流量控制
    • 可变滑动窗口
    • 慢启动(slow start)、拥塞避免(congestion avoidance)…
    • 连接管理
    • 建立连接:三次握手
    • 释放连接:三次握手 + 定时器
  • 确认序号等于接收方希望接收的下一个序号
  • 窗口大小为0时,正常情况下,发送方不能再发TCP段,但有两个例外
    – 紧急数据可以发送;
    – 为防止死锁,发送方可以发送1字节的TCP段,以便让接收方重新声明确认号和窗口大小。

慢启动(slow start)算法

  • 连接建立时拥塞窗口(congwin)初始值为该连接允许的最大段长,阈值(threshold)为64K;
  • 发出一个最大段长的TCP段,若正确确认,拥塞窗口变为两个最大段长;
  • 发出( 拥塞窗口/最大段长)个最大长度的TCP段,若都得到确认,则拥塞窗口加倍;
  • 重复上一步,直至发生丢包超时事件,或拥塞窗口大于阈值。

拥塞避免(congestion avoidance)算法

  • 若拥塞窗口大于阈值,从此时开始,拥塞窗口线性增长,一个RTT周期增加一个最大段长,直至发生丢包超时事件
  • 当超时事件发生后,阈值设置为当前拥塞窗口大小的一半,拥塞窗口重新设置为一个最大段长;
  • 执行慢启动算法。

UDP ( User Datagram Protocol )协议:无连接

计算机网络应用

应用程序:互相通信的分布的进程

客户/服务器之间使用的传送层协议

DNS:请求以UDP包格式发

域名解析

  • 一个区域内机器上的应用程序进行域名解析时,首先向该区域的域名服务器发出解析请求,若查找到,则返回域名对应的资源记录。

  • 若找不到,该域名服务器向所查找域名的顶级域的域名服务器发出解析请求,

  • 顶级域的域名服务器通过向下的层次查询得到对应的资源记录,返回给该域名服务器,

  • 最后资源记录被返回给发起域名解析的机器,并在该区域的域名服务器中做缓存,超时后删除。

SNMP:基于UDP的

  • 网络管理的五个基本管理功能:性能管理、故障管理、配置管理、记帐管理和安全管理。

电子邮件:SMTP

  • 成文:指创建消息或回答消息的过程;

  • 传输:指将消息从发送者传出至接收者;

  • 报告:将消息的发送情况报告给消息发送者;

  • 显示:使用相应的工具软件将收到的消息显示给接收者

  • 处理:接收者对接收到的消息进行处理,存储/丢弃/转发等等。

POP3(Post Office Protocol),RFC 1939,用户代理和邮箱不在同一机器上,用户代理使用此协议将邮箱中的信件取回本地;

IMAP(Internet Mail Access Protocol),RFC 1730,收信人使用多个用户代理访问同一邮箱,邮件始终保持在邮箱中。

加密电子邮件协议:PGP与PEM协议。

文件传输协议FTP

建立两个并行的TCP连接:

  • 控制: 在客户端和服务器之间交换命令、响应

  • 数据: 传递文件数据

控制连接采用的是telnet

HTTP/1.0非持久连接(Non-persistent)

每个object的取得都需要两个RTT

每个object的传输都要经历慢启动

持久连接(Persistent)

default for HTTP/1.1

在同一个TCP连接上: 服务器解析请求并响应,再解析新的请求…

客户端一旦得到基本的HTML文件就发出请求索取全部object

较少的RTT和慢启动时间

计算机网络原理_第32张图片

计算机网络原理_第33张图片

你可能感兴趣的:(本科课程笔记,网络通信)