计算机网络
第一章 定义和特点
网络
网络是一个统称,泛指把人或物连接起来的网络
定义
-
计算机网络是用通信线路将分散在不同地点并具有独立功能的多个计算机系统相互连接,按照网络协议进行数据通信,实现共享资源的计算机之集合。
-
要点:计算机是独立,在协议的支持下进行工作,目的是实现资源共享,互联的手段是多种多样的(无线或有线)
-
计算机网络的精准定义未被统一,书本的定义是:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特殊目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
功能
- 实现资源共享
- 提高系统的可靠性和可用性
特点
- 连通性
- 共享
组成
由核心和边缘部分组成
-
边缘部分
由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享
-
端系统间的两种连接方式:
- 客户-服务器方式(C/S)
客户是服务请求方,服务器是服务提供方
客户程序:
- 被用户调用后运行,在通信时主动向服务器发起通信,所以客户程序必须知道服务器程序的地址
- 不需要很复杂的操作系统
服务器程序:
- 专门用来提供某种服务的程序,可以同时服务多个客户
- 系统启动后即自动调用并一直不断地运行,被动地等待并接收来自各地的客户的通信请求,所以服务器程序不需要知道客户程序的地址
- 一般需要有强大的硬件和高级的操作系统支持
-
对等连接方式(P2P)
两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方,只要都运行了P2P软件,他们就能镜像平等对等的连接通信
对等连接方式可以支持大量对等用户同时工作
-
-
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
-
电路交换:使用交换机来使设备间可以两两通信而减少连线复杂度
连接建立后会建立一条专用的物理通路用以通信,在通话的全部时间内,这两个用户始终占用端到端的通信资源
交换:按照某种方式动态分配电路交换的资源
- 优点
- 实时性强,时延小(连接建立后)
- 交换设备成本低
- 缺点
- 线路利用率低(独占物理线路)
- 传输效率低(计算机数据往往是突发式传输,用来传输数据的时间短)
- 电路接续时间长
- 适用于信息量大、长报文、占用时间长、使用频率高的线路
- 特点
-
电路交换必定是面向连接的
-
分三个阶段
建立连接–>通信–>释放连接
-
- 优点
-
报文交换
- 原理:信息以报文(逻辑上完整的信息段)为单位进行存储转发
- 特点
- 线路利用率高
2. 要求中间结点(网络通信设备)缓冲大 - 延迟时间长
-
-
分组交换
-
原理:信息以分组为单位镜像存储转发。源结点把报文分为几组,中间节点负责存储转发,目的节点把分组合成报文。
分组:比报文还小的信息段,可定长也可变长,又称为包
- 优点
高效、灵活、迅速、可靠
-
缺点
-
分组在各节点存储转发时需要排队,这就会造成一定的时延
2. 分组携带的首部会增加一定的开销 -
由于不能像电路交换那样通过建立连接来保证通信时所需的各种资源,因而无法确保通信时端到端所需的带宽
-
三种交换的比较
- 特点:
- 电报交换——整个豹纹的比特流连续地从源点直达终点,好像在一个管道中传送
- 报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表(存储有结点距离及结点地址),转发到下一个节点
- 分组交换——单个分组(只是报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个节点
- 结论
- 传送时间远大于连接建立时间,使用电路交换
- 使用报文和分组交换可以在互联网数据量突发的情况下提高网络的信道利用率
- 分组交换的时延小,灵活性高
- 特点:
-
类别
-
按照作用范围来分类
广域网(几十到几千km)、城域网(5~50km)、局域网(<1km)、个人区域网(<10m)
-
按照网络的使用者进行分类
- 公用网:交钱就能上的网络
- 专用网:为特殊业务工作的需要建造的网络
-
用来把用户接入到互联网的网络
- 接入网AN:一类比较特殊的计算机网络,用于将用户接入互联网,是某个用户端系统到互联网中的第一个路由器之间的一种网络,仅起到用户与互联网间的桥梁作用。不属于互联网的边缘或核心部分
-
按传输技术分:广播式、点到点式
-
按传输速率分:低速网络、中速网络、高速网络
-
按传输媒体分:有线、无线
-
按交换方式分:电路交换、报文交换、报文分组交换
性能
- 性能指标
-
速率
数据的传送速率,也被称为数据率或比特率
-
带宽
在单位时间内,网络中的某信道所能通过的最高比特率,单位bit/s
-
吞吐量
单位时间内通过某个网络的实际数据量
-
时延
- 发送时延:又称传输时延,从发送数据帧的第一个比特算起,到改帧最后一个比特发送完毕的时间
-
1MB=220*8b,1Kbps=103bps,1Mbps=10^6bps
-
公式:
t = 数 据 帧 长 度 ( b i t ) 发 送 速 率 ( b i t / s ) t=\frac{数据帧长度(bit)}{发送速率(bit/s)} t=发送速率(bit/s)数据帧长度(bit)
-
- 传播时延:电磁波在信道中需要传播一定的距离而花费的时间
-
光纤中电磁波传输速率:2.0*10^5km/s
-
铜线:2.3*10^5km/s
-
自由空间:3.0*10^5km/s
-
公式
t = 信 道 长 度 ( m ) 电 磁 波 在 信 道 上 的 传 播 速 率 ( m / s ) t = \frac{信道长度(m)}{电磁波在信道上的传播速率(m/s)} t=电磁波在信道上的传播速率(m/s)信道长度(m)
-
- 处理时延:主机或路由器处理分组消耗的时间
- 排队时延:在排队等待处理消耗的时间
- 分析
- 产生时延的主要因素视情况而定
- 链路的带宽只影响发送时延,而不影响传播时延,传播时延与信道带宽无关只与长度有关
- 时延带宽积=传播时延*带宽
- 物理意义:在传播时延这个时间中,链路可容纳的比特数
- 往返时间(RTT):从发送方发送数据开始,到发送方收到来自接收方的确认所消耗的时间(包括各中间节点的处理时延、排队时延以及转发数据时的发送时延等)
- 利用率
- 分为信道利用率和网络利用率
- 信道利用率指出某信道有百分之几的时间是被利用的
- 网络利用率是整个网络上的所有信道的加权平均值
- 信道利用率增大时时延也会大大增加
- 分为信道利用率和网络利用率
- 发送时延:又称传输时延,从发送数据帧的第一个比特算起,到改帧最后一个比特发送完毕的时间
-
- 非性能指标:费用、维护成本等
结构
-
网络的分层体系结构
-
OSI:七层结构,由于过度复杂败给了TCP/IP
-
五层结构
-
传输过程
发送端自上而下,应用程序发送数据给第五层,第五层添加首部传给第四层……最后由第一层通过物理链路传输数据给另一台主机,另一台主机由下而上逐层剥离首部,最终把应用程序数据送达给本机上的相关应用程序
-
分层
- 应用层
- 任务:通过应用进程间的交互来完成特定网络应用
- 协议:应用进程间通信和交互的规则
- 运输层
- 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务
- 协议:
- 传输控制协议TCP:提供面向连接的、可靠地数据传输服务,数据传输单位是报文段
- 用户数据报协议UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),数据传输单位是用户数据报
- 应用层
-
网络层
- 任务:负责为分组交换网上的不同主机提供通信服务,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送
- 协议:互联网使用的网络层协议是无连接的网际协议IP和许多种路由选择协议
-
数据链路层
- 任务:将网络层叫下来的IP数据报组装成帧,在两个相邻节点间的链路上传送帧,每一帧包括数据和必要的控制信息
- 协议:通过控制信息可以发现所收到的帧有无差错,错了可直接丢弃以防止网络资源的浪费,但如果需要修改则需要采用可靠传输协议来纠正,这会使数据链路层的协议复杂
-
物理层
- 任务:物理层考虑用多大的电压代表0或1,以及接收方如何识别出发送方所发送的比特。除此之外,物理层还需要确定链接电缆的插头应当有多少引脚以及各引脚应如何连接
- 协议:TCP/IP协议族
-
-
分层优势
-
各层之间是独立的:各层间通过接口彼此连接,能够起到降低问题复杂度的效果
-
灵活性好:某一层出现故障只要前后的接口没有发生改变其它层也不受影响,并且可以根据需求删除某层
-
结构上可分割:各层都可用最合适的技术来实现
-
易于实现和维护
-
能促进标准化工作
差错控制、流量控制、分段和重装、复用和分用、连接建立和释放
-
-
体系结构:计算机网络的各层以及其协议的集合就是网络的体系结构,就是这个计算机网络及其构件所应完成的功能的精确定义
-
-
网络协议
为进行网络中的数据交换而建立的规则或约定被称为网络协议
- 三要素:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及作出何种相应
- 同步:即事件实现顺序的详细说明
- 三要素:
-
实体、协议、服务和服务访问点
- 实体:表示任何可发送或接收信息的硬件或软件进程,许多情况下,实体就是一个特定的软件模块
- 协议:协议是控制两个对等实体(或多个实体)进行通信的规则的集合
- 在协议的控制下,两个对等实体间的通信是的本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务
- 协议是水平的,是控制对等实体之间通信的规则,而服务是垂直的,是由下层向上层通过层间接口提供的
- 协议必须把所有不利的条件实现都估计到,而不能假定一切都是正常的和非常理想的。所以看一台计算机网络协议是否正确,不能只看在正常情况下是否正确,还必须非常仔细的检查这个协议能否应付各种异常情况
本章重要概念
- 计算机网络把许多计算机连接在一起,而互联网则把许多网络连接在一起,是网络的网络
- 以小写字母开始的internet(互连网)是通用名词,泛指由多个计算机网络互连而成的网络。这些网络之间的通信协议是任意的
- 以大写字母开头的Internet(互联网)是专用名词,它指当前全球最大的,由众多网络互连而成的特定互联网,并且采用TCP/IP协议族作为通信规则
- 互联网现在采用存储转发的分组交换技术,以及三层ISP结构
- 互联网按工作方式可划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换
- 计算及通信是计算机中的进程间的通信,计算机网络采用的通信方式是C/S模式或P2P方式
- 客户和服务器都是指通信中所涉及的应用进程。客户是请求方,服务器是服务方
- 按作用的范围不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN、和个人局域网PAN
- 计算机网络常用的性能指标是:速率、带宽、吞吐量、时延、时延带宽积、往返时间和信道利用率
- 网络协议是为了进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构
- 五层协议的体系结构有应用层、运输层、网络层、数据链路层和物理层五层组成。运输层最重要的协议是TCP和UDP协议,而网络层最重要的协议是IP协议
第二章 物理层
基本概念和标准
- 物理层的基本概念
- 物理层考虑的是怎样在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体
- 作用:尽可能的屏蔽掉不同传输媒体和通信手段的差异
- 主要任务:确定传输媒体的接口的一些特性
- 机械特性:指明接口所用的接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
- 电气特性:指明在接口电缆的各条线上出现的电压的范围
- 功能特性:指明某条线上出现的某一电平的电压的意义
- 过程特性:指明对于不同功能的各种可能事件的出现顺序
数据通信基础知识
-
数据通信系统的模型
- 三大部分:源系统(发送端)、传输系统(传输网络)和目的系统(接收端)
- 源系统一般包含
- 源点:源点设备产生要传输的数据
- 发送器:源点产生的数字比特流要经过发送器编码后才能在传输系统中进行传输
- 目的系统一般包含
- 接收器:接收传输系统传送过来的信号,并把它转化为能够被目的设备处理的信息
- 终点:终点设备从接收器获取传送来的数字比特流,然后把信息输出
- 源系统一般包含
- 三大部分:源系统(发送端)、传输系统(传输网络)和目的系统(接收端)
-
常用术语
- 消息:如语音、文字、图像、视频等
- 数据:运输消息的实体,是使用特定方式表示的信息,通常是有意义的符号序列
- 信号:数据的电气或电磁的表现
- 模拟信号(连续信号):代表消息的参数的取值是连续的
- 数字信号(离散信号):代表消息的参数的取值是离散的
-
有关信道的几个基本概念
信道一般都是用来表示向某一个方向传送信息的媒体,因此,一条通信电路往往包含一条发送信道和一条接收信道
-
通信双方信息交互的方式来看
- 单向通信:又称为单工通信只能有一个方向的通信不能有反向交互
- 双向交替通信:又称为半双工通信。通信的双方都可以发送消息,但不能同时发送
- 双向同时通信:又称为全双工通信。通信的双方可以同时发送和接收消息
-
基带信号
来自信源的信号,即基本频带信号
- 基带信号往往包含较多的低频甚至直流成分,许多信道不能传输,这就需要对基带信号进行调制
- 基带调制:仅对基带信号的波形进行变换,使它能够与信道特性相适应,变换后的依然是基带信号
- 带通调制:使用载波进行调制,把基带信号的频率范围搬移到更高的频段,并转换为模拟信号,经过载波调制后的信号被称为带通信号(仅在一定频率范围内能通过信道)
- 常用编码方式
- 不归零制:正电平代表1,负电平代表0
- 归零制:正脉冲代表1,负脉冲代表0
- 曼彻斯特编码:位于周期中心上跳代表0,下跳代表1
- 差分曼彻斯特编码:每一个周期中心都有跳变,周期开始边界有跳变代表0,没有代表1
- 基本带通调制方法
- 调幅(AM):载波的振幅随基带数字信号而变化
- 调频(FM):载波的频率随基带数字信号而变化
- 调相(PM):载波的初始相位随基带数字信号而变化
- 基带信号往往包含较多的低频甚至直流成分,许多信道不能传输,这就需要对基带信号进行调制
-
信道的极限容量
-
限制码元在信道上的传输速率的因素
-
信道能够通过的频率范围
- 码间串扰:接收端收到的信号波形因高频分量在传输时受到衰减失去了码元间的明显界限的现象
- 奈氏准则:在任何信道中,码元传输的速率是有上限的,传输速率超过此上限就会出现严重的码间串扰的问题,使接收端对码元的判决(识别)成为不可能
-
信噪比
-
噪声:噪声存在与所有电子设备和通信信道中,随机产生,瞬时值有时很大,因此会使接收端对码元的判决产生错误。但信号相对较强的话噪声的影响就会比较小,所以信噪比很重要
-
公式
信 噪 比 ( d B ) = 10 l g ( 信 号 的 平 均 功 率 ( S ) 噪 声 的 平 均 功 率 ( N ) ) 信噪比(dB)=10lg( \frac{信号的平均功率(S)}{噪声的平均功率(N)}) 信噪比(dB)=10lg(噪声的平均功率(N)信号的平均功率(S)) -
信道的极限传输速率计算公式:香农公式
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)W为信道带宽(Hz),S为信道内所传信号平均功率,N为信道内部的高斯噪声功率
香农公式表明:信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高
-
编码:让每一个码元携带更多比特的信息量
在码元传输速率达到上限后提高单位时间内传输的信息量的方法
-
-
-
-
物理层下的传输媒体
传输媒体也称为传输介质或传输媒介
引导型传输媒体
-
双绞线
- 把两根互相绝缘的铜导线并排放到一起,然后用规则的方法绞合起来就构成了双绞线
- 价格便宜的同时性能不错
- 无论哪种类别的双绞线,衰减都随频率的升高而增大,使用更粗的导线可以降低衰减,但增加了导线的重量和价格
- 信号应当有足够大的振幅,以便在噪声干扰下能够在接收端正确地被检测出来
- 双绞线的最高速率还与数字信号的编码方法有很大关系
-
同轴电缆
同轴电缆由内导体铜制芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及保护塑料外层所组成。由于外导体屏蔽层的存在,同轴电缆具有很好的抗干扰特性,被广泛用于传输较高速率的数据
-
光缆
利用光导纤维传递光脉冲,有光脉冲相当于1,没有相当于0
- 现代的生产工艺可以制造出超低损耗的光纤,传输数公里而基本无损耗
- 光线在纤芯中的传输方式是不断地全反射
- 多模光纤:可以存在多条不同角度入射的光线
- 单模光纤:光纤的直径只有一个光的波长,可使光线一直向前传播,制造成本高
- 特点
- 传输损耗小,中继距离长,对远距离传输特别经济
- 抗雷电和电磁干扰性能好
- 无串音干扰,保密性好,也不容易被窃听或截取数据
- 体积小,重量轻
非引导型传输媒体
-
短波通信
-
主要依靠电离层的反射通信,但电离层的不稳定因素所产生的衰落现象和电离层反射所产生的多径效应,使得短波通信的通信质量较差
多径效应:同一个信号经过不同反射路径到达同一个接收点,但各反射路径的衰减和时延都不同,使得最后得到的合成信号失真很大
-
采用复杂的调制解调技术后能达到几千比特每秒
-
-
微波通信
- 主要频率:使用2~40GHz的频率范围
- 传播方式:直线传播
- 两种主要方式
- 地面微波接力通信
- 卫星通信
- 传播时延高
- 主要特点
- 微波波段频率很高,其频段范围也很宽,因此其通信信道的容量很大
- 因工业干扰和添点干扰的主要频谱成分比微波频率低得多,对微波通信的危害比对短波和米波通信小得多,因而传输质量较高
- 与电缆载波通信比较,投资少,见效快,易跨越山区江河
- 缺点
- 相邻站点之间必须直视,不能有障碍物
- 有时会收到恶劣气候的影响
- 微波通信的隐蔽性和保密性较差
- 大量中继站的使用和维护要耗费较多的人力和物力
信道复用技术
复用器和分用器总是成对使用,前者用于共享高速信道,后者作用相反
频分复用、时分复用和统计时分复用
-
频分复用FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带,即频分用户在不同时间占用不同的带宽资源
-
时分复用TDM/同步时分复用
将时间划分为一段段等长的时分复用帧(TDM帧),每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙
- TDM信号又称等时信号
- 时分复用用户是在不同的时间占用同样的频带宽度
- 更有利于数字信号的传输
- 由于计算机的数据突发性,一个用户对分配到的子信道利用率总是不高便有了统计时分复用(STDM)
-
统计时分复用(STDM)/异步时分复用
-
是一种改进的时分复用,集中器常使用这种
-
过程:
每个用户有了数据就发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,对没有数据的缓存就跳过去,当一个帧的数据放满了,就发送出去。
-
STDM帧不是固定分配时隙,而是按需动态分配时隙
-
从平均的角度看,这两种时分复用是平衡的
-
STDM帧中的时隙并不是固定地分配给某个用户,因此在每个时隙中还必须有用户的地址信息,这是不可避免的一些开销
-
波分复用(WDM)
波分复用就是光的频分复用
数据传输系统
网络接入技术
第三章 数据链路层
数据链路层使用的主要信道
- 点对点信道:使用一对一的点对点通信方式
- 广播信道:使用一对多的广播通信方式
- 广播信道上连接的主机很多,因此必须使用专用的协议进行数据传输
使用点对点信道的数据链路层
-
数据链路和帧
- 链路是一条无源的点到点的物理线段,中间没有任何其他的交换节点
- 数据链路是把实现通信协议的硬件和软件加到链路上构成的
- 早期的通信协议叫做通信规程,由此在数据链路层规程和协议是同义语
- 数据链路层的传输单位:帧
-
三个基本问题
-
封装成帧
在一点数据的前后分别添加首部和尾部,就构成了一个帧,目的是确定帧的界限
-
帧同步
帧同步方法:
- 字节(符)计数法
- 原理:用以特殊的字符表示一帧的开始,有一个字段表明本帧内字节数
- 缺点:计数字段一旦出错,将无法再同步
- 使用字符(节)填充的首位定界符法
- 原理:以特定的字符序列定界以帧的开始和结束。为防止数据中的特殊字符被误判,再起前面填充转义字符(ESC)
- 缺点:依赖于字符集,不通用,也无法扩展
- 透明传输
- 传输的数据中任何8比特组合不允许和用作帧同步的控制字符的比特编码一样,否则会定界错误
- 使用比特填充的首位标记方法
- 原理:以特定的比特模式(01111110)定界一帧的开始和结束
- 防误判:在数据段中连续出现5个或5个以上的连续"1",则在第五个"1"后面添加一个"0"
- 字节(符)计数法
-
物理层编码违例法
-
-
差错控制
-
传输差错的特性
- 差错是由噪声引起的,噪声分为热噪声和冲击噪声
- 热噪声:信道固有的持续存在的随机噪声,由此引起的差错称为随机错
- 冲击噪声:由于外界特定的短暂原因引起。其幅度可以相当大,不可能靠提高信号幅度来避免其造成的差错
- 冲击噪声造成的传输差错是主要的
- 突发错误:由冲击噪声引起的差错呈突发状
- 突发长度:从突发错误发生的第一个码原到最后一个码原的长度
- 差错是由噪声引起的,噪声分为热噪声和冲击噪声
-
差错控制的方法
-
检错码:能自动发现错误的
-
纠错码:不仅能自动发现还能纠正错误的
-
编码效率:码字中信息位所占的比例
-
循环冗余码(CRC)
-
CRC是检测码,又称多项式码
-
原理
-
k位要发送的信息为->(k-1)次多项式K(x)
-
r位冗余位(CRC码)->(r-1)次多项式R(x)
-
k位信息位+r位冗余位组成的n=k+r位码字->(n-1)次多项式T(x)=x^r*K(x)=R(x)生成多项式P(x)
生成多项式P(x)一般比冗余码少一位
-
-
校验过程
-
发送端
-
生成冗余位(帧检验序列FCS)
x r K ( x ) / P ( x ) − > 余 式 R ( x ) x^rK(x)/P(x)->余式R(x) xrK(x)/P(x)−>余式R(x)
对应的余式代码为冗余码 -
装配成传送码字,并进入信道:
- 信息位+冗余位=传送码字,即
T ( x ) = x r K ( x ) + R ( x ) T(x)=x^rK(x)+R(x) T(x)=xrK(x)+R(x)
- 信息位+冗余位=传送码字,即
不等同于循环冗余检验CRC,CRC是一种差错控制方法,可以计算FCS,FCS只是一个冗余码,即使不用CRC,也可以用其它方法算出
-
-
接收端
-
用同一生成多项式P(x)去除接收到的码字多项式T(x),若余式为0,有错,若余式为0,则可认为无错
所有的运算均是模2运算,实际为亦或运算
-
-
-
-
-
数据链路层协议
-
理想模型
- 理想化的数据传输模型
- 假定:①链路是可靠的 ②不管发方以多快的速率发送数据,收方总来得及接收,并及时上交主机
- 在此理想化模型下,不需要协议即可保证数据传输
- 具有最简单流量控制的数据链路层协议
- 取消假定②,为使接收缓存在任何情况下都不会溢出,需要简单的流量控制
- 由接收方控制发送方的数据流量,是计算机网络中流量控制的一个基本方法
- 理想化的数据传输模型
-
实用的停等协议
-
协议规定
-
发送方每发送一帧后,停下来等待接收方送回已正确接收的确认后,再继续发送下一帧
-
解决方法:对有噪声信道,接收数据可能出错,需要发送端重传
-
带来的问题
- 死锁——超时定时器
- 发送方传送的数据可能丢失,但它在等待接收方的回复,接收方并没有收到数据,它也在等发送方的数据,就造成了死锁
- 重复帧——给帧编号
- 死锁——超时定时器
-
-
协议分析
-
缺点:造成信道资源浪费
-
信道利用率公式
U = L B + 2 R U=\frac{L}{B+2R} U=B+2RL
B为信道容量,2R为传播延迟,L为传送数据量 -
对传播延时长的高速信道很不利
-
-
-
连续ARQ协议
- 提供思路:不等确认,连续发送若干帧
- 工作原理:发送完一个数据帧后,不等确认帧而是继续发送若干数据帧。若此时收到了接收端发来的确认,则可以继续发
- 连续ARQ的问题
- 当未被确认的数据帧的数目太多时,只要有一帧出了差错,就有很多的帧需要重传,这必然浪费很多时间,故:连续ARQ又被称为Go-Back-N ARQ(回退N协议)
- 为了对发送的大量数据帧进行编号,每个数据帧的发送需要也要占用较多的比特数,这样又增加了一些不必要的开销
-
滑动窗口机制
引入滑动窗口机制是为了实现流量控制
-
工作原理
-
发送端
在发送端设定发送窗口,对发送端进行流量控制,发送窗口的大小Wt表示在没有收到对方确认信息的情况下能连续发送多少帧
-
接收端
-
发送窗口:允许发送的帧
- 顺序接收来自网络层的分组
- 最多保存n个待确认的帧
- 窗口达到最大值n时强制关闭网络层
-
接收窗口:希望接受的帧
- 对进入窗口的帧顺序提交网络层,产生确认
-
只有在接收窗口向前移动时,发送窗口才有可能向前移动,
-
发送窗口的最大值
- 当用n(bit)进行编号时候
-
-
-
选择重传ARQ协议
- 原则:只重传出错或定时器超时的数据帧
- 方法:Wr(接收窗口大小) > 1,即接收窗口需要有缓存功能,暂存接收窗口中序号在出错帧之后的数据帧
- 优点:避免重传已正确发送的帧,提高了信号的利用率
- 缺点:在接收端需要占用一定容量的缓存
点对点协议PPP
-
特点
- 现在全世界使用的最多的数据链路层协议是点对点协议PPP(point-to-Point Protocol)
-
需满足的需求
- 简单
- 封装成帧
- 透明性
- 多种网络层协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
-
PPP协议的组成
- 一个将数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元
- 一个用来建立、配置和测试数据链路连接的链路控制协议LCP
- 一套网络控制协议NCP,其中的每一个协议支持不同网络层协议,如IP、OSI网络层等
-
PPP帧格式
- PPP是面向字节的,所有的PPP帧长度都是整数字节
- PPP 有一个 2 字节的协议字段
- 当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
- 若为 0xC021,则信息字段是 PPP的LCP数据。
- 若为 0x8021,则表示这是NCP数据。
-
解决透明传输问题
-
PPP适用于同步传输和异步传输
- 用在同步传输时:采用零比特填充方法(硬件实现)
- 用在异步传输时:使用一种特殊的字符填充法
-
字符填充规则
-
将信息字段中每一个 0x7E 字节转变成为 2 字节序列(0x7D, 0x5E)。
-
若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列(0x7D, 0x5D)。
-
若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符的编码加以改变。
-
-
-
PPP协议的工作状态
- 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
- PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。(最大帧长、鉴别协议(PAP、CHAP)等)
- 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
- 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
使用广播信道的数据链路层
局域网的数据链路层
-
局域网
-
定义
IEEE局部网络委员会对局域网有如下定义:
“局部地区网络在下列方面与其它类型的数据网络不同,其通信常被限制在中等规模的地理区域内,例如一座办公楼、一个仓库或一所学校,能够依靠具有中等到较高数据率的物理信道,并且这种信道具有始终一致的低误码率”。
-
-
LAN的特点
- 覆盖范围小(房间、建筑物、园区范围,距离≤25km)
- 高传输速率(10Mbps~1000Mbps)
- 低误码率
- 采用总线、星形、环形拓扑结构
- 双绞线、同轴电缆、光线
- 为一个单位所有,自行建设,不对外提供服务
-
优点
- 具有广播功能,从一个站点可以很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源
- 便于系统的扩展和逐渐演变,各设备的位置可灵活调整和改变
- 提高了系统的可靠性、可用性和生存性
-
局域网技术
- 主要包括:拓扑结构、传输介质和介质访问控制方式
- 拓扑结构:总线型、星形、环形、树形
- 传输介质:光纤、双绞线、同轴电缆、红外线等
- 介质访问控制方式:按协议实现信道共享方式
- 主要包括:拓扑结构、传输介质和介质访问控制方式
-
局域网体系结构和标准
国际公认的LAN标准是IEEE 802系列标准
- 数据链路层按功能划分为两个子层:LLC和MAC
- 功能分解的目的
- 将功能中与硬件相关的部分和与硬件无关的部分分开,降低实现复杂度
- 局域网特点:共享信道(如总线)。需要解决介质访问控制(MAC)问题。分层可以使帧的传输独立于介质和MAC方法
- LLC:与介质、拓扑无关
- MAC:与介质、拓扑相关
- 对于同一个LLC可提供多个MAC选择
- 功能分解的目的
- 说明
- TCP/IP协议经常使用的局域网是V2,未使用IEEE 802系列标准,因此LLC层作用不大。因此很多适配器仅装有MAC协议而没有LLC协议,所以以后一般不考虑LLC子层
- 数据链路层按功能划分为两个子层:LLC和MAC
-
适配器
计算机与外界局域网的连接是通过通信适配器进行的
- 网络接口板又称为通信适配器(Adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。
- 功能:
- 进行数据串行传输和并行数据的转换
- 由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片对数据进行缓存
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议
- 优点
- 适配器在接收和发送各种帧的时候,不使用计算机的CPU,使得CPU可以处理其他任务
- 收到有差错的帧时,不必通知计算机直接丢掉
- 适配器的硬件地址(MAC)就在适配器的ROM中
CSMA/CD协议
载波监听多点接入/碰撞检测
-
总线
最早的以太网是将很多计算机连接到一根总线上
- 特点:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据,这就是广播通信方式
- 实现一对一通信
- 使每台计算机的适配器拥有一个与其它适配器都不同的地址
- 发送数据时在帧首部写明接收站的地址,只有数据帧中目的地址和适配器ROM中存放的硬件地址一致时,适配器才接收数据帧
-
为了通信简便采取两种措施
-
较灵活的无连接工作方式
-
不必先建立连接就可以直接发送数据
-
适配器对发送的数据帧不进行编号,也不要求对方发回确认
-
以太网提供的服务是尽最大努力的交付,即不可靠的交付
目的站收到有差错的帧时直接丢弃,其他什么也不做,对有差错的帧是否重传则由高层决定,如高层是TCP协议,经过一段时间后TCP就把这些数据重传,但是以太网并不知道这些是重传的数据,而是把它当做新的数据帧来传送
-
总线上同时只能允许一台计算机发送数据
-
-
以太网发送的数据都使用曼彻斯特编码信号
- 采用曼彻斯特编码来解决一长串1或0无法收到比特同步信号的问题
-
-
CSMA/CD协议的要点
-
多点接入
说明这是总线型网络
许多计算机以多点接入的方式连接在一根总线上。协议的实质是“载波监听”和“碰撞检测”
-
载波监听
通过电子技术检测总线上有没有其他计算机也在发送
载波监听就是检测信道,不管在发送前还是在发送中,每个站都必须不停地检测信道。发送前检测是为了获取发送权,发送中检测是为了及时发现有没有其他站的发送和本站发送的碰撞,这就是碰撞检测
-
碰撞检测
边发送边监听
适配器边发送数据边检测信道上的信号电压变化情况,以便判断自己在发送数据时其他站是否也在发送数据(几个站同时在总线上发送数据时会导致电压变化幅度增大)。当电压变化幅度超过一定的门限值时,表明产生了碰撞,即冲突。碰撞检测也称为冲突检测。
-
-
电磁波在总线上总是以有限的速率传播的
- 即使发送前监听到信道为空闲,也可能会发生碰撞
- 电磁波在1km电缆的传播时延约为5μs
- 一般把单程端到端传播时延记为 τ ,则最迟需要 2τ 的时间才能知道是否发生了碰撞,2τ 即为端到端往返传播时延
-
特点
-
使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)
-
发送的不确定性
每个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性,而这一段时间是不确定的。因此以太网不能保证自己的数据包能在某一时间内成功地发送出去。
吐过希望在以太网上发生碰撞的机会很小,必须使整个以太网的平均通信量远小于以太网的最高数据率
-
-
争用期
- 在发送数据帧后至多经过2τ的时间就可以知道所发送的数据是否遭到了碰撞,因此以太网端到端往返时间2τ被称为争用期,又称碰撞窗口
- 经过争用期还没发生碰撞则这次发送肯定不会发生碰撞
-
截断二进制指数退避
以太网使用这种算法来确定碰撞重传的时机。
- 此算法让发生碰撞的站推迟一个随机的时间再尝试重发数据而不是等待信道变为空闲后就立即发送数据,防止再次发生碰撞
- 具体的退避算法
- 对于10Mbit/s的以太网,具体的争用期时间是51.2μs,即在争用期内可发送512bit,即64字节。也可以说是512比特时间,可以直接使用比特作为争用期的单位,争用期是512bit,即争用期是发送512bit所需的时间
- 从0~2^k-1的整数集合中随机取出一个数记为r,重传应退后的时间是r倍的争用期。k=Min[重传次数,10],即当重传次数不超过10时,参数k等于重传次数,但超过10次后,k就不再增大并一直等于10。这也称为动态回避,可以减小发生碰撞的概率
- 重传16次依然不成功时,则丢弃该帧并向高层报告
- 根据此算法得,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧,接收端在收到这种帧时应将其舍弃
-
强化碰撞
当发送数据的站一旦发现碰撞,除了立即停止发送数据外,还需要再发送32bit或48bit的人为干扰信号,以便让所有的用户都知道现在已发生了碰撞
-
帧间最小间隔
为了让接收站的接收缓存来得及清理做好接收下一帧的准备,而设置的发送间隔
帧间最小间隔为9.6μs
-
CSMA/CD要点
- 准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部组成以太网帧,放入适配器缓存,在发送前必须要先检测信道
- 检测信道:若检测到信道忙则应当不停检测,若检测到信道空闲,并在96比特时间内信道保持空闲(保证最小帧间隔),就发送这个帧
- 在发送过程中保持边发送边监听,两种可能
- 发送成功,帧未发生碰撞
- 发送失败:在争用期内检测到碰撞,则立即停止发送数据并发送人为干扰信号,执行指数退避算法,尝试重传
- 以太网每发送完一帧,一定要把已发送的帧暂时先保留一下以防发生碰撞
使用集线器的星形拓扑
-
集线器
以太网最终发展成使用更便宜更灵活的双绞线传输数据,这种以太网采用星形拓扑,在星形的中间增加了一个可靠性非常高的设备,叫做集线器(hub)。双绞线以太网总是和集线器配对使用
-
IEEE 10BASE-T的标准802.3i
10代表10Mbit/s的数据率,BASE表示连接线上的信号是基带信号,T代表双绞线
-
适用于使用双绞线的星形以太网
-
此种以太网通信距离稍短,每个站到集线器的距离不超过100m
-
这种性价比很高的10BASE-T双绞线以太网的出现,是局域网发展历史上的里程碑
- 双绞线能够传输高速数据的主要措施是把双绞线的绞合度做的非常精确,这样可使特性阻抗均匀以减少失真,而且大大减少了电磁波辐射和无线电频率的干扰
IEEE802.3标准还可使用光纤作为传输媒体,相应标准为10BASE-F,主要用作集线器之间的远程连接
-
-
集线器特点
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议,同一时刻至多允许一个站发送数据
- 一个集线器有很多接口,用两对双绞线与一台计算机上的适配器相连。因此一个集线器很像一个多接口的转发器
- 集线器工作在物理层,每个接口仅仅简单地转发比特,不进行碰撞检测,若两个接口同时有信号输入(发生碰撞)那么所有接口都收不到正确的帧
- 集线器采用了专门的芯片进行自适应串音回波抵消,使得接口转发出去的较强信号不致对该接口收到的较弱信号产生干扰
-
堆叠式集线器由4-8个集线器堆叠起来使用,集线器一般都有少量的容错能力和网络管理功能
以太网的信道利用率
-
由于以太网数据传输时会发生碰撞,所以以太网总的信道利用率并不能达到100%
-
以太网利用率公式
a = τ / T 0 a=τ/T_0 a=τ/T0- 式中,τ为端到端传输延迟,T0为发送延迟。
- 由此可以看出,要提高以太网信道利用率就必须减少τ与T0之比
- 所以a值应当尽可能的小,以太网连线的长度也应当受到限制且以太网的帧长不能太短
-
假设不会发生碰撞,那么以太网极限信道利用率为
S m a x = T 0 T 0 + τ = 1 1 + a Smax=\frac{T_0}{T_0+τ}=\frac{1}{1+a} Smax=T0+τT0=1+a1
意义:指出了**只有当参数a远小于1才能得到尽可能高的极限信道利用率*
以太网的MAC层
-
MAC层的硬件地址
- 局域网中,硬件地址又称为物理地址或MAC地址,实际上就是适配器地址或适配器标识符EUI-48
- 名字与系统所在地无关
- IEEE 802标准为局域网规定了一种48位的全球地址,指局域网上的每一台计算机固化在适配器ROM中的地址
- 局域网的“地址”应当是每一个站的”名字“或标识符
当连接在局域网上的主机或路由器安装多个适配器时,其就拥有多个地址,更准确的说,这种48位地址应当是某个接口的标识符
-
地址组成
-
第一个字节的最低位为I/G位,当其为0时,地址字段表示单个站地址。为1表示组地址,用来进行多播(曾称为组播)
-
第一个字节的最低两位为G/L位,当其为0表示是全球管理(保证全球没有相同地址),厂商向IEEE购买的OUI都属于全球管理。为1时是本地管理,此时用户可任意分配网络上的地址。
采用2字节地址字段时全都是本地管理。以太网几乎不理会这个G/L位
-
全球管理时,每一个站的地址可用46位的二进制数字表示,即2^46,超过70万亿个。
-
-
适配器的过滤功能
-
每收到一个MAC帧就先用硬件检查MAC帧中的目的地址,如果是发往本站的帧则收下再处理,否则丢弃
发往本站的帧有以下三种
- 单播帧(一对一),即收到的帧的MAC地址与本站的硬件地址相同
- 广播帧(一对全体),即发送给本剧与网上所有站点的帧(全1地址)
- 多播帧(一对多),即发送给本局域网上一部分站点的帧
所有适配器都能够识别单播和广播地址,有的可通过编程方法识别多播地址
显然,只有目的地址才能使用广播地址和多播地址
-
-
混杂工作方式
- 工作在混杂方式的适配器只要“听到”有帧在以太网上传输就悄悄地接收下来,而不管这些帧是发往哪个站。实际上就是窃听行为
- 另一方面,网络维护和管理人员需要用这种方式来监视和分析以太网上的流量以找出提高网络性能的具体措施。此外,有种很有用的网络工具叫做嗅探器,就使用了工作在混杂方式的网络适配器。,能够帮助学习网络的人员更好地理解各种网络协议的工作原理
-
MAC帧的格式
-
以太网V2——五个字段组成MAC帧
-
前两个字段分别为6字节长的目的地址和源地址字段
-
第三个字段是2字节的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议
-
第四个字段是数据字段,其长度在46到1500字节之间
最小长度64字节-首部尾部共18字节=46
-
最后一个字段是4字节的帧检验序列FCS
-
-
MAC子层辨认数据字段结束的方法
- 问题:MAC帧首部并没有一个标明帧长度的字段
- 解决原理:采用曼彻斯特编码在每一个码元的正中间有一次电压的转换,而数据发送完之后发送方便不再发送任何码元,因此适配器接口上的电压也就不再变化
- 找到结束位置后往前推4个字节(FCS字段长度是4字节),就能确定数据字段结束的位置
-
数据字段长度小于46字节
- MAC子层会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节
- 问题:MAC帧首部并没有一个标明数据长度的字段
- 解决方法:MAC子层剥去首尾部上交给上层上层协议必须有识别有效的数据字段长度的功能
-
传输媒体上实际传输的要比MAC帧还多八个字节
-
原因:当一个站开始接收帧时,由于适配器的时钟上位与到达的比特流达成同步,因此MAC帧的最前面的若干位就无法接受,使整个MAC被弃用
-
解决方法:从MAC子层向下传到物理层时还要在帧前面插入8字节(由硬件生成)
由两个字段构成,第一个字段是7个字节的前同步码(0和1交替码),作用是使接收端的适配器在接收MAC帧时能够迅速调整其时钟频率,与发送端时钟同步。第二个字段是帧开始定界符,定义为10101011,前六位作用和前同步码一样,最后两个连续的1就是提醒适配器准备接收MAC帧
-
-
IEEE 802.3规定的无效MAC帧
- 帧长度不是整数个字节
- 用收到的帧检验序列FCS查出有差错
- 收到的的MAC客户数据字段长度不在461500字节之间,即有效的MAC帧长度为641518字节之间
- 对于检测到无效的MAC帧就简单丢弃,以太网不负责重传
-
IEEE 802.3标准和以太网V2标准MAC帧差距
- IEEE 802.3规定的MAC帧的第三个字段是“长度/类型”
- 当“长度/类型”字段值小于0x0600时,数据字段必须装入上面的逻辑链路控制LLC子层的LLC帧
-
拓展的以太网
拓展的以太网在网络层看来任然是一个网络
在物理层拓展以太网
使用光纤和一对光纤调制解调器拓展以太网
- 光纤调制解调器作用:进行电信号和光信号的转换
- 使用多个集线器就可以连接成覆盖更大范围的多级星形结构以太网
- 优点:
- 光信号时延小带宽高,因此能很容易使主机和几公里外的集线器相连接
- 使不同以太网上的计算机能够进行通信
- 扩大了以太网覆盖的地理范围
- 缺点:
- 形成了更大的碰撞域,导致以太网吞吐量下降,更容易发生碰撞
- 不同以太网使用不同的以太网技术(如数据率不同)就无法将它们互联
在数据链路层扩展以太网
这是一种更常用的方法,最初使用网桥,根据MAC帧的目的地址进行转发和过滤。当网桥收到一个帧时并不是向所有接口转发此帧而是根据此帧的目的MAC地址,查找网桥中的地址表,然后再决定把它转发给哪个端口或是丢弃。网桥及后来使用交换式集线器,称为以太网交换机
- 以太网交换机的特点
- 实质:一个多接口的网桥
- 特点:
- 能同时连通多对端口,使多对主机能够同时通信
- 相互通信的主机都是独占媒体,无碰撞地传输数据
- 拥有缓存,能在输出端口繁忙时把到来的帧进行缓存
- 即插即用,内部拥有帧交换表(又称地址表),是通过自学习算法自动建立起来的
- 从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做任何改动
- 直通交换
- 不必把整个数据帧先缓存后再进行处理,而是在接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,提高了转发速度
- 缺点:不检查错误就直接转发,因此也有可能会把一些无效的帧转发给其它站
- 以太网交换机的自学习功能
- 过程
- 一开始,交换机中的交换表是空的
- 当A发送给B一帧时,交换机查询自身交换表,发现没有B的端口,则向除了A所在接口的其它所有接口转发该帧,并将A的地址和接口号保存进交换表
- 当B再发送给A一帧时,交换机查询自身交换表,发现有A的接口记录,则直接向A的接口转发帧不再进行广播,并将B的地址及接口号保存进交换表
- 交换表中的每个项目都设有一定的有效时间
- 防止交换机的接口更换主机或主机更换网络适配器的情况
- 可以保证交换表中的数据都复合当前网络的实际情况
- 以太网组网增加的冗余链路有时会导致以太网帧在某个环路中无限制兜圈子
- 解决方法:IEEE 802.1D标准制定了一个生成树协议,可不改变网络的实际拓扑但在逻辑上切断某些链路,使得从一台主机到其它所有主机的路径是无环路的树状结构
- 过程
- 从总线以太网到星形以太网
- 随着以太网上站点数目增多,总线结构的以太网可靠性下降。采用以太网交换机的星形结构又称为以太网的首选拓扑
- 总线以太网使用CSMA/CD协议,以半双工方式工作,但以太网交换机不适用总共享总线,没有碰撞问题,因此不适用CSMA.CD协议,而是以全双工方式工作
- 之所以还叫做以太网是因为它的帧结构没变,仍然采用以太网的帧结构
虚拟以太网
对虚拟以太网(VLAN)的定义:由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个真的计算机属于哪一个VLAN
虚拟局域网只是局域网给用户提供的一种服务而不是一种新型局域网
- 特点:
- 每一个VLAN的计算机可处在不同的局域网中,也可以不在同一层楼中
- 在虚拟局域网上的每一个站都可以收到同一个虚拟局域网上的其它成员所发出的广播,而与其连接在同一个以太网交换机上的其它计算机不会收到广播信息,因为交换机只向该虚拟局域网的成员转发
- 使网络不会因传播过多的广播信息(广播风暴)而引起性能恶化
- 可按照需要将有关设备和资源非常方便的重新组合,使用户可以从不同的服务器或数据库中存取所需的资源
- VLAN标记
- IEEE 802.3ac标准云溪在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记,插入VLAN标记得出的帧称为802.1Q帧
- VLAN标记的长度是4字节,前两个字节总是设置为0x8100,称为IEEE 802.1Q标记类型
- 后面两个字节中,前三位是用户优先级字段,第四位是规范格式指示符CFI,最后的12位是该虚拟局域网VLAN 标识符VID,它唯一的标志了这个以太网帧属于哪一个VLAN
- 加入VLAN标记的以太网帧的最大帧长从原来的1518变为1522字节
高速以太网
100BASE-T以太网(802.3u)
- 仍然使用IEEE802.3的CSMA/CD协议,但在使用以太网交换机且工作在全双工方式的情况下不起作用,但半双工则一定要使用CSMA/CD协议
- 又称为快速以太网
- 未包括对同轴线缆的支持,则想从细缆以太网升级为快速以太网的用户必须重新布线
- 最短帧长不变,一个网段的最大长度是100m,最短帧长仍为64字节即512bit,因此争用期为5.12μs,帧间最小间隔为0.96μs
吉比特以太网(802.3z)
-
特点
- 允许在1Gbit/s下以全双工和半双工两种方式工作
- 使用IEEE 802.3协议规定的帧格式
- 在半双工方式下使用CSMA/CD协议,而在全双工方式不使用CSMA/CD协议
- 与10BASE-T和100BAST-T技术向后兼容
-
吉比特以太网的物理层使用两种成熟技术
- 一种来自现有的以太网
- 另一种则是美国国家标准协会ANSI制定的光纤通道FC
-
要求
-
吉比特以太网工作在半双工时必须进行碰撞检测
-
吉比特以太网仍保持一个网段的最大长度为100m,但采用了载波延伸的办法,使得最短帧长仍为64字节,同时将争用期增大为512字节。凡是不足512字节的MAC帧均用特殊字符填充到512字节。
-
但所填充的448字节造成了很大的开销,为此吉比特以太网还增加了一种功能称为分组突发。
分组突发:当有很多短帧要发送时,第一个短帧采用载波延伸进行填充,但随后的短帧可以一个接一个地发送,他们之间只需保留最小帧间隔即可,直到达到1500字节或稍多一些为止
-
10吉比特以太网(10GE)和更快的以太网
- 仍采用相同的以太网帧格式
- 只工作在全双工,因此不会产生争用,也不使用CSMA/CD协议
- 以太网的工作方式的好处:
- 以太网是一种经过实践证明的成熟技术,当然对于ISP来说,以太网还需要在更大的范围进行试验
- 以太网的互操作性也很好,不同厂商生产的以太网都能可靠地进行互操作
- 在广域网中使用以太网时,其价格大约只有同步光纤网SONET的五分之一和异步传递方式ATM的十分之一。且以太网能够适应多种传输媒体
- 端到端的以太网连接使帧格式统一,不再需要进行帧格式转换,简化了操作和管理
- 以太网的演进证明了以太网是:
- 可扩展的
- 灵活的
- 易于安装
- 稳健性好
使用以太网进行宽带接入
- PPPoE协议
- 解决以太网帧格式中没有用户名字段,也没有让用户键入密码来鉴别用户身份的过程的问题
第四章 网络层
网络层提供的两种服务
-
虚电路服务
- 模仿传统电信网的通信方式,即两台计算机进行通信时也应当先建立连接(分组交换中是建立一条虚电路进行存储转发)
- 通信结束后需要释放建立的虚电路
- 特点
- 只是连续占用一条条链路,并不是专用的
- 某结点与其它节点间的分组都必须在事先建立的虚电路上传送
-
数据报服务
-
互联网采用的设计思路
-
网络层向上只提供简单灵活的、无连接的、尽量大努力交付的数据报服务
数据报(或IP数据报)就是我们经常使用的“分组”
-
-
要点
- 网络层向上只提供简单灵活的、无连接的、尽量大努力交付的数据报服务
- 每一个分组独立发送,与其前后的分组无关(不进行编号)
- 网络层不提供服务质量的承诺,即所传分组可能出错、丢失、重复和失序(即不按顺序到达终点
-
优点:网络造价大大降低,运行方式灵活,能够适应多种应用
-
-
两种服务对比
对比的方面 虚电路服务 数据报服务 思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证 连接的建立 必须有 不需要 终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址 分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发 结点出现故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化 分组的顺序 总是按发送顺序到达终点 到达终点的时间不一定按发送顺序 端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 由用户主机负责
网际协议IP
- TCP/IP协议是一个协议族,IP是TCP/IP体系中两个最重要的协议之一,与IP配合使用的还有三个协议
- 地址解析协议ARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
IP经常要用ARP协议,另外两个协议需要用到IP协议
ipv4:第四代网际协议
-
特点
-
TCP/IP体系中的网络层常常被称为网际层或IP层
-
IP采用无连接的数据报机制,为不可靠传递
-
TCP/IP的可靠性体现在传输层,所以TCP/IP的可靠性被称为端到端可靠性
-
虚拟互联网络
网络互连:为实现网络之间的连通性和互操作性,用户可以相互透明地交换信息而将不同的网络进行连接
-
网络互连使用的中间设备
- 物理层中间设备:转发器和集线器
- 数据链路层中间设备:网桥和交换机
- 网络层中间设备:路由器
- 网桥和路由器的混合物:桥接器
- 网络层以上使用的中间设备:网关
-
网络互连使用路由器
- 当中间设备是转发器或网桥时,一般不称为网络互连,因为仅仅是把一个网络扩大了,本质依然是一个网络
- 由于网关比较复杂,使用较少,因此讨论网络互连时都是指用路由器进行网络互连和路由选择
-
意义
- 所谓虚拟互联网络就是逻辑互联网络,他的意思就是互联起来的各种物理网络的异构性本来就是客观存在的,但是我们利用一个IP协议皆可以使这些性能各异的网络从用户看起来好像是一个统一的网络
- 使用IP协议的虚拟互联网络可简称为IP网
- 使用虚拟互联网络的好处是:好像在一个网络上通信一样,忽略各个网络间通信的细节
- 如果在覆盖全球的IP网络的上层使用TCP协议,那么就是现在的互联网
-
互联网可以由多种异构网络互连组成
分类的IP地址
-
IP地址
- 把整个互联网看成一个单一的抽象网络
- IP地址就是给每个连接在互联网上的主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符(ipv4)
- IP地址现在由互联网名字和数字分配机构ICANN进行分配
-
IP地址的编址方法
-
分类的IP地址
-
将IP地址划分为若干个固定类
-
每一类地址都由两个固定长度字段组成:网络号(net_id)主机号(host_id)
-
IP在整个互联网范围内是唯一的
-
IP地址::={<网络号>,<主机号>}
-
各类IP地址和其字段分配
- A类地址:以0开头,网络号8位,主机号24位
- B类地址:以10开头,网络号16位,主机号16位
- C类地址:以110开头,网络号24位,主机号8位
- D类地址:以1110开头,用于多播
- E类地址:以1111开头,保留为今后使用
-
IP地址的表示:点分十进制记法
以一个字节为单位,即每8位插入一个空格(计算机中没有),为了便于书写,可用其等效的十进制数字表示,并在这些数字之间加上一个点
例:10000000 00001011 00000011 00011111通过点分十进制变成128.11.3.31
-
-
子网的划分
-
构成超网:无分类的编址方法
-
-
常用的三种类别的IP地址
IP地址的指派范围
网络类别 最大可指派的落落书 第一个可指派的网络号 最后一个可指派的网络号 每个网络中的最大主机数 A 126(2^7-2) 1 126 16777214 B 16383(2^14-1) 128.1 191.255 65534 C 2097151(2^21-1) 192.0.1 223.255.255 254 一般不使用的特殊IP地址
网络号 主机号 源地址使用 目的地址使用 代表的意思 0 0 √ × 在本网络上的本主机 0 host-id √ × 在本网络上的某台主机host-id 全1 全1 × √ 只在本网络上进行广播(各路由器均不转发) net-id 全1 × √ 对net-id上的所有主机进行广播 127 非全0或全1的任何数 √ √ 用于本地软件环回测试 - 特殊用途的IP地址
- 主机号全0的IP地址为网络地址,表示该网络本身
- 主机号为全1的地址是广播地址
- 任何以数字127开头的IP地址都叫做回送地址
- 任何程序使用回送地址作为目的地址时,计算机上的协议软件不会把该数据报向网络发送,而是发回本主机
- 内部地址
- D类和E类地址
- D类地址是组播地址不是一个主机地址
- 特殊用途的IP地址
-
IP地址的重要特点
- IP地址是一种分等级的地址结构,好处如下
- IP地址管理机构在分配时只分配网络号,剩下的主机号则由得到该网络号的单位自行分配,方便了IP地址的管理
- 路由器仅根据目的主机所连接的网络号来转发分组而不考虑目的主机号,使得路由表中的项目数大大减少,从而减小了路由表所占空间和查找路由表的时间
- 实IP地址是标志一台主机(或路由器)和一条链路的接口
- 多归属主机:当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,网络号得是不同的
- 由于一个路由器至少连接两个网络,则一个路由器至少有两个不同的IP地址
- 用转发器或网桥连接起来的若干个局域网仍为一个网络
- 所有分配到网络号的网络都是平等的(指互联网同等对待每一个IP地址)
- IP地址是一种分等级的地址结构,好处如下
-
注意
- 在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的
- 用网桥(只在链路层工作)互连的网段依然是一个局域网,只能有一个网络号
- 路由器总是具有两个或以上的IP地址(即路由器的每一个接口都有一个不同网络号的IP地址
- 无编号网络/无名网络
- 由两个路由器直接相连,在连线端口的两端可以不分配IP地址
IP地址与硬件地址
IP地址和硬件地址是不一样的
- 从层次上看**,物理地址是数据链路层和物理层使用的地址**,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(IP地址是用软件实现的)
- 在IP层抽象的互联网上只能看到IP数据报
- 在IP数据报的首部有源站的IP地址,但路由器只根据目的站的IP地址的网络号进行路由选择
- 在局域网的链路层,只能看的见MAC帧
- 通过IP层抽象互联网屏蔽了下层那些很复杂的细节。只要在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信
地址解析协议ARP
通信时使用了两个地址
- IP地址
- MAC地址
-
作用
- 从网络层使用的IP地址,解析出数据链路层使用的硬件地址
-
要点
-
不管网络层使用什么协议,在实际网络的链路上传输数据帧时,最终还是必须使用硬件地址
-
每一个主机都设有一个ARP高速缓存,里面有所有在局域网上的主机和路由器的IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(添加或超时删除)
ARP高速缓存作用:存放最近获得的IP地址到MAC地址的绑定,以减少ARP广播的数量
ARP对保存在高速缓存中的每一个映射地址项目都设置生存时间,凡超过生存时间的项目就从高速缓存中删掉
-
当主机A想向本局域网上的B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址
-
有,则可查出其对应的硬件地址,再把这个帧写入MAC帧,然后通过局域网发送
-
没有
-
ARP进程在本局域网上广播发送一个ARP请求分组
ARP请求分组:包含发送方硬件地址/发送方IP地址/目标方硬件地址(未知时填0)
-
在本局域网上的所有主机上运行的ARP进程都能收到此ARP请求分组
-
主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组并向主机A发送ARP响应分组,同时在这个分组中写入自己的MAC地址
- ARP请求分组是广播的,但是ARP响应分组是单播的,即从一个源地址发送到一个目的地址
- 此时B也会将A的MAC地址写入自己的的ARP高速缓存中
-
主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射
-
-
-
-
注意
- ARP解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题
- 当源主机和目的主机不在同一局域网时,要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发给这个路由器,让这个路由器把分组转发给下一个网路。剩下的工作就由下一个网络来做
- IP地址到硬件地址的解析是自动进行的,不为用户所知的
IP分组格式及说明
- IP数据报的格式
-
IP数据报由首部和数据两部分组成
-
首部
前一部分是固定长度,共20字节,是所有IP数据报必须具有的。后面是一些可选字段,长度可变
- 版本
- 占四位,指IP协议的版本
- 通信双方使用的IP协议版本必须一致
- 首部长度
- 占4位,可表示的最大十进制数是15
- 首部长度字段所表示的数的单位是32位字
- 区分服务
- 占8位,只有在使用区分服务时才起作用
- 总长度
- 指首部和数据之和的长度,总长度字段为16位
- 每种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,称为最大传送单元MTU,如以太网规定MTU值为1500字节,当数据字段过长时就要把过长的数据报进行分片处理
- 使用尽可能长的IP数据报会使传输效率得到提高,但数据报短些也有好处——越短则路由器转发的速度就越快
- 标识
- 占16位,IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1
- 用途:当数据报超过MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中,相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报
- 标志
- 占3位,但目前只有两位有意义
- 标志字段中的最低位记为MF,MF=1代表后面还有分片,MF=0代表这已是若干数据报片中的最后一个
- 标志字段中的中间一位记为DF,意思是不能分片,只有当DF=0时才允许分片
- 占3位,但目前只有两位有意义
- 片偏移
- 占13位,片偏移指出:较长的分组在分片之后,某片在原分组中的相对位置
- 生存时间
- 占8位,标明这是数据报在网络中的寿命
- 协议
- 占8位,指出数据报携带的数据是使用何种协议
- 首部检验和
- 占16位,只检验数据报的首部,不包含数据部分
- 源地址:占32位
- 目的地址:占32位
- 版本
-
首部的可变部分
- 为了增加IP数据报的功能,但同时也会增加路由器转发的开销。最新的IPV6标准中首部已变为固定的
-
-
首部的前一部分是固定长度,共20字节
-
IP层分组转发的流程
-
每个路由器指出到某个网络应如何转发,即可大大减少路由表的体积
-
根据目的网络地址确定下一跳路由器
- IP数据报最终一定可以找到目的主机所在目的网络上的路由器
- 只有到达最后一个路由器时,才试图向目的主机进行直接交付
-
互联网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许特定的目的主机指明一个路由,这种路由叫做特定主机路由
- 采用特定主机路由可使管理人员更方便地控制和测试网络
-
路由器还可以采用默认路由以减小路由表所占空间和搜索路由表所用的时间
-
分组转发算法
- 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N
- 若N就是与此路由器直接相连的某个网络地址,则进行直接交付,否则就是间接交付,执行3
- 若路由表中有目的地址为D的特定主机路由,则吧数据报传送给路由表中所指明的下一跳路由器,否则执行4
- 若路由表中有到达网络N的路由,则吧数据报传送给路由表中所指明的下一跳路由器,否则执行5
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器,否则执行6
- 报告转发分组出错
路由表并没有给出分组指明到某个网络的完整路径,而是在到达下一跳路由器后,再继续查找其路由表,一步步查找下去直到到达目的网络
划分子网和构造超网
划分子网
-
IP地址划分产生问题
- IP地址空间的利用率有时很低
- 给每一个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏
- 两级IP地址不够灵活
-
从两级IP地址到三级IP地址
-
为解决以上问题,1985年起在IP地址中新增了一个子网号字段,使两级IP地址变为三级,这种做法叫做划分子网或子网寻址或子网路由选择
-
划分子网基本思路
-
一个拥有许多物理网络的单位,可以将所属的物理网络划分为若干个子网。这完全是一个单位内部的事情,本单位以外的网络看不见这个网络是由多少子网构成,因为这个单位对外依然表现为一个网络
-
划分子网是从网络的主机号借用若干位作为子网号,同时主机号也就相应地减少了同样的位数
此时 IP地址::={<网络号>,<子网号>,<主机号>}
-
从其他地方发送给本单位某台主机的IP数据报,依然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机
-
-
-
子网掩码
因从IP数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分,就需要使用子网掩码
子网掩码是一个网络和子网的重要属性
- 将三级IP地址的子网掩码和收到的数据报的目的IP地址逐位相与,就可得出需要的子网网络地址
- 好处:不管网路有没有划分子网,只要把子网掩码和IP地址进行逐位的与运算,就立即得出网络地址
- 当一个网络不划分子网时,该网络的子网掩码就使用默认子网掩码
- A类地址默认子网掩码:255.0.0.0
- B类:255.255.0.0
- C类:255.255.255.0
- 子网掩码的表示
- 直接的32bit表示形式
- 点分整数法
- 掩码的斜杠表示法:斜杠后的整数,就是掩码中所有1的个数
- IP地址/子网掩码对:156.26.30.60/20 = 156.26.30.60/255.255.240.0
- 若使用较少位数的子网号,则每一个子网上可连接的主机数就较多,反之,则子网数增多但每个子网上可连接的主机数就较少
- 划分子网增加了灵活性,但却减少了能够连接在网络上的总主机数
使用子网时分组的转发
- 使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址
- 在划分了子网的情况下,路由器分组转发算法如下
- 从数据报的首部提取目的主机的IP地址D
- 先判断是否直接交付。对路由器直接相连的网络逐个进行检查:用个网络的子网掩码和D逐位相与,看结果是否和相应的网络地址匹配,匹配则直接交付,转发任务结束。否则执行3
- 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行4
- 对路由表中的每一行,用其中的子网掩码和D逐位相与,其结果为N。若N与该行的目的网络地址匹配,则吧数据报传送给该行指明的下一跳路由器。否则执行5
- 若路由表中有一个默认路由,则把数据包传送给路由表中所指明的默认路由器,否则执行6
- 报告转发分组出错
无分类编址CIDR
变长子网掩码VLSM,可提高IP地址资源利用率。CIDR是VLSM的演进版本
-
特点
-
CIDR消除了传统的A\B\C类地址以及划分子网的概念
-
CIDR把32位IP地址划分为前后两个部分,前面是网络前缀,用来指明网络,后者用来指明主机
使IP地址又回到了两级地址,但这已是五分类的两级编址
-
采用斜线记法,或称为CIDR记法,即在IP地址后面加上/,然后写上网络前缀所占的位数
10.0.0.0/10可简写为10/10,也就是将点分十进制中的低位连续的0省略
10.0.0.0/10隐含地指出IP地址10.0.0.0的掩码是255.192.0.0
用*表示:如101000101*,表示10100101为网络号
-
-
CIDR地址块
-
CIDR把网络前缀都相同的连续的IP地址组成一个CIDR地址块
例:
128.14.32.0/20表示的地址块共有2^12个地址(/20表示网络前缀有20比特,则主机号的比特数是12
这个地址快的起始地址是128.14.32.0,
128.14.32.0/20地址块的最小地址是128.14.32.0
128.14.32.0/20地址块的最大地址是128.14.47.255
-
CIDR地址块中的地址具有相同的网络号,不同的主机编号,以此来构成不同的IP地址
-
-
-
路由聚合
一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,使得路由表中的一个项目可以表示很多个原来传统分类地址的路由
- 路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能
- 路由聚合也称为构造超网
- CIDR虽然不使用子网,但依然使用“掩码”这一名词
-
构成超网
- 前缀长度不超过23位的CIDR地址都包含了多个C类地址,这些C类地址就构成了一个超网
- 网络前缀越短,其地址块所包含的地址数就越多
-
最长前缀匹配
- 使用CIDR后路由表中的项目需要改变,每个项目由“网络前缀”和“下一跳地址”组成,但在查找路由表时可能会得到不止一个匹配结果
- 解决:从匹配结果中选择具有最长网络前缀的路由,称为最长前缀匹配
- 原因:网络前缀越长,地址块就越小,因而路由就越具体
- 最长前缀匹配又称为最长匹配或最佳匹配
- 使用CIDR后路由表中的项目需要改变,每个项目由“网络前缀”和“下一跳地址”组成,但在查找路由表时可能会得到不止一个匹配结果
-
使用二叉搜索查找路由表
- 将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按照层次进行查找,称为二叉搜索
- IP地址中从左到右的比特值决定了从根节点逐层向下延伸的路径,二叉搜索中的各个路径就代表路由表中存放的各个地址
网际控制报文协议ICMP
在网际层使用了网际控制报文协议ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告
ICMP是IP层的协议,不是高级协议
-
种类
ICMP前四个字节是统一格式,共三个字段:类型、代码和检验和。接着的四个字节的内容和ICMP的类型有关,最后是数据字段,长度取决于ICMP的类型
-
ICMP差错报告报文
- 终点不可达
- 时间超过
- 参数问题
- 改变路由(重定向)
不应发送ICMP差错报告报文的情况
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对每一个分片的数据报片的所有后续数据报片,都不发送
- 对具有多播地址的数据报,都不发送
- 对具有特殊地址(127.0.0.0或0.0.0.0)的数据报,不发送
-
ICMP询问报文
- 回送请求和回答
- 时间戳请求和回答
-
-
ICMP应用举例
- ping命令,利用率ICMP的回送请求和回送回答报文
互联网路由选择协议
有关路由选择协议的几个基本概念
-
理想的路由算法
-
算法必须是正确和完整的
正确的意思是:沿着各路由表所指引的路由,分组一定能够最终到达目的网络和目的主机
-
算法在计算上应简单
-
算法应能适应通信量和网络拓扑的变化,即应具有自适应性和稳健性
-
算法应具有稳定性
-
算法应是公平的
-
算法应是最佳的
最佳:相对于某一种特定要求下得出的较为合理的选择
-
-
静态/动态路由选择策略
- 静态路由选择(非自适应路由选择)
- 简单、开销小,但不能及时适应网络状态的变化
- 动态路由选择(自适应路由选择)
- 能较好地适应网络变化,但实现起来较为复杂
- 静态路由选择(非自适应路由选择)
分层次的路由选择协议
互联网采用的路由选择协议主要是自适应的(动态的)、分布式路由选择协议
-
自治系统(AS)
- 是在单一技术管理下的一组路由器
- 一个AS对其它AS表现出来的是一个单一的和一致的路由选择策略
-
内部网关协议IGP:一个AS内部使用的协议
具体的协议有很多种,如RIP和OSPE
-
外部网关协议EGP:用于AS间通信
目前使用的协议就是BGP
内部网关协议RIP
-
工作原理
-
RIP是一种基于距离向量的路由选择协议,最大优点就是简单
距离被定义如下:从以路由器到直接连接的网络的距离定义为1,从一路由器到非直接连接的网络的距离+1
RIP协议的距离也称跳数
-
RIP允许一条路径最多只能包含15个路由器,因此距离等于16时相当于不可达,所以RIP只适用于小型互联网
-
RIP不能在两个网络之间同时使用多条路由
-
-
特点
- 仅和相邻路由器交换信息
- 交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表
- 按固定的时间间隔交换路由信息
- 刚开始工作时,路由器路由表是空的,然后它就得出到直接连接的几个网络的距离(为1),接着,每个路由器都只和数量非常有限的相邻路由器交换并更新路由信息。但经过若干次更新后,所有的路由器最终都会知道到达本AS中任何一个网络的最短距离和下一跳地址
-
距离向量算法
- 对每个相邻路由器发过来的RIP报文,进行以下步骤
- 对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目,把下一跳字段中的地址都改为X,并把所有的距离字段的值加1,每一个项目都有三个关键数据:到目的网络N,距离是d,下一跳路由器是X
- 若原来的路由表中没有目的网络N,就把该项目添加到路由表中,否则若下一跳路由器地址是X,则把收到的项目替换成原路由表中的项目,否则,判断收到的项目中的距离d是否小于路由表中的距离,是则更新不是则什么也不做
- 若三分钟还没收到相邻路由器的更新路由表,则把此路由器记为不可达的路由器,即把距离设置为16
- 返回
- 对每个相邻路由器发过来的RIP报文,进行以下步骤
-
RIP协议的报文格式
-
RIP总结
- 实现简单,开销小
- 好消息传播的快,坏消息传播的慢(网络故障需要较长时间才能将此信息传送到所有的路由器)
- 限制网络规模最大距离为15
- 随着网络规模的扩大,开销增加,更新收敛时间过长
内部网关协议OSPF
OSPF:开放最短路径优先
-
特点
-
使用分布式的链路状态协议
-
使用洪泛法向AS中的所有路由器发送信息,而不是仅仅向相邻的发送
-
发送的信息就是本路由器相邻的所有路由器的链路状态(即本路由器与哪些路由器相邻)以及该链路的度量(费用、距离、时延、带宽等)
-
只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此消息,而不是固定时间间隔发送消息
最终能建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图,在全网范围内是一致的
-
更新过程收敛快
-
-
区域划分
- 为了把利用洪泛法交换链路状态信息的范围局限于某一个区域而不是整个AS以减少整个网络上的通信量,OSPF将一个AS划分成若干个更小的区域,每一个区域都有一个32位标识符
- 为了使区域间通信,OSPF使用层次结构的区域划分
- 在上层区域的叫主干区域,用来连通其他在下层的区域
- 主干区域内的路由器叫做主干路由器
- 主干区域内还要有一个路由器专门和本自治系统外的其他AS交换路由信息,这样的路由器叫做自治系统边界路由器
- 从其他区域来的信息都由区域边界路由器进行概括,每一个区域都至少有一个区域边界路由器
- 在上层区域的叫主干区域,用来连通其他在下层的区域
-
OSPF不用UDP而直接用IP数据报传送
-
其他特点
- OSPF对于不同类型的业务可计算出不同的路由
- 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径,这叫做多路径间的负载平衡
- 所有在OSPF路由器之间交换的分组都具有鉴别的功能,因而保证了仅在可信赖的路由器之间交换链路状态信息
- OSPF支持可变长度的子网划分和无分类的编址CIDR
-
OSPF五种分组类型
- 问候分组:用来发现和维持临站的可达性
- OSPF规定两个相邻路由器每隔10s就要交换一次以确保可达,超过40s没有收到某个相邻路由的问候分组,则会认为该路由器不可达,并应立即修改路由表
- 数据库描述分组:向临站给出自己的链路状态数据库中所有链路状态项目的摘要信息
- 链路状态请求分组:向对方发送某些链路状态项目的详细信息
- 链路状态更新分组:用洪泛法更新链路状态
- 链路状态确认分组:对链路更新分组的确认
后四种分组都是用来进行链路状态数据库的同步
同步:指不同路由器的链路状态数据库的内容是一样的,两个同步的路由器叫做“完全邻接的”路由器
- 问候分组:用来发现和维持临站的可达性
外部网关协议BGP
- 目标
- 力求寻找一条能够到达目的网络且比较好的路由(而不是最佳路由)
- 特点
- BGP采用路径向量协议
- 每个AS要为自己选择一个BGP发言人,往往就是BGP边界路由器,但也可以不是
- 通过TCP连接交换BGP报文以建立BGP会话,彼此建立连接的两个BGP发言人就称为彼此的邻站或对等站
- BGP支持无分类域间路由选择CIDR。
- 在BGP刚运行时,BGP的邻站是交换整个的BGP路由表,但以后只需要在发生变化时更新有变化的部分,这样对节省网络带宽和减少路由器的处理开销方面都有好处
第五章 运输层
运输层协议概述
运输层概述
-
作用:
- 在源主机和目的主机之间提供端到端(进程-进程)的性能可靠的数据传输
- 逻辑通信的意思是好像是这样通信,但事实上并不是
-
主要功能
- 运输层为应用进程之间提供端到端的逻辑通信
- 通信的真正端点并不是主机而是主机中的进程
- 对收到的报文进行差错检测
- 基于端口的复用和分用功能
- 运输层为应用进程之间提供端到端的逻辑通信
-
两种不同的运输协议
逻辑通信信道对上层的表现会跟网络层使用的协议不同而不同
- TCP协议:面向连接的传输服务,全双工可靠信道
- UDP协议:面向无连接的传输服务,不可靠信道
运输层地位及目的
-
运输层的地位
- 向上提供标准的传输服务
- 向下屏蔽通信细节
-
运输层的协议设计要与下层使用的协议相适应
-
目的:加强和幕布通信子网的服务
TCP/IP体系中的运输层
运输层中的两个协议
-
TCP/IP层有两个不同的协议
两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元
TCP传送的数据单位协议是TCP报文段
UDP传送的数据单位是UDP报文段
下层使用的协议越可靠,运输层就可越简单
- 用户数据报协议UDP:
- 无连接的协议,不提供可靠交付,支持单播多播广播,不需要确认。简单,适用于多媒体
- 传输控制协议TCP:
- 有连接的协议,提供可靠交付,支持点对点单播,不支持多播、广播。复杂,适用于各种应用程序
- 用户数据报协议UDP:
-
注意两点
- 运输层的UDP数据报与网际层IP数据报有很大区别
- IP数据报要经过互联网中许多路由器存储转发
- UDP用户数据报是在运输层的端到端
- 运输层的UDP数据报与网际层IP数据报有很大区别
运输层的端口
运行在计算机中的进程是用进程标识符来标志的
运行在应用层的各种应用进程不应当让计算机操作系统指派它的进程标识符(每个操作系统都不一样),所以需要使用统一的方法
- 端口的概念
- 端口就是运输层服务访问点TSAP
- 端口的作用
- 发送方:让应用层的各种应用进程都能够将其数据通过端口向下交付给运输层
- 接收方:让运输层知道
- 软件端口和硬件端口
- 在协议栈层间的抽象的协议端口是软件端口,是应用层的各种协议进程与运输实现交互的一种地址
- 路由器或交换机上的端口是硬件端口
- TCP/IP层端口
- 端口有一个16位端口号进行标志,允许有65535个不同的端口号
- 端口号只有本地意义,即端口号只是为了标志本计算机应用层中的各进程。不同计算机的相同端口号是没有联系的
- 进行通信不仅要知道端口号还要知道IP地址
- 端口分类
-
服务器端口
-
熟知端口号或系统端口号
由IANA指派给TCP/IP最重要的一些app
FTP_21
TELNET_23
SMTP_25
DNS_53
TFTP_69
HTTP_80
SNMP_161
SNMP_162
HTTPS_443
-
登记端口号
为没有熟知端口号的app使用,必须在IANA登记以防重复
-
-
客户端端口
- 短暂端口号
-
- 端口使用说明
- 端口号和主机IP地址结合在一起使用
- TCP使用连接作为最基本的抽象,一个连接有它的两个端点来标识,构成一个48bit的地址,称为插口或套接字
用户数据报协议UDP
-
UDP概述
- 只在IP的数据报服务商增加了很少的功能,即复用和查错
-
特点
-
UDP是无连接的,减少了法开销和发送数据之前的时延
-
UDP尽最大努力交付,不保证可靠交付,因此主机也不需要维持复杂的状态连接表
-
UDP是面向报文的,对下层交来的报文不进行拆分和合并
-
应用层交给UDP多长的报文,UDP就发送那么长的完整报文
-
应用程序必须选择合适大小的报文
- 若报文太长,UDP交给IP层后,IP层需要分片,降低IP层的效率
- 若报文太短,UDP交给IP层后,会使得IP数据包的首部相对长度太大,也降低了IP层的效率
-
-
UDP没有拥塞控制,即使网络出现拥塞也不会使源主机发送的速率降低,很适合多媒体通信的要求
-
UDP支持多对一,一对多,多对一和多对多通信
-
UDP首部只有8个字节,小于TCP的20字节
-
-
UDP用户数据报的首部格式
- 计算检验和时会将临时一个12字节的伪首部加载UDP报文之前,这个报文只用于计算检验和
传输控制协议TCP
-
TCP概述
- TCP是面向连接的传输层协议,增加了可靠服务
-
特点
-
是面向连接的传输层协议
-
每一条TCP连接只能有两个端点,每一条TCP连接只能是一对一的
-
TCP提供可靠交付的服务(无差错、不丢失、不重复、不失序)
-
TCP提供全双工通信,双方应用进程在任何时候都可以发送数据,所以双方都有发送和接收缓存
-
面向字节流
流指的是流入或流出进程的字节序列
- TCP将应用程序传送来的数据看成无结构的字节流,将若干个字节组成一个报,再发送出去
- TCP中每个字节都对应有一个序号
-
-
注意
- TCP连接是一条虚连接不是物理连接
- 对应用进程一次把多长的报文发送到TCP的缓存中是不关心的
- 根据对方给出的窗口大小和当前网络的拥塞程度决定数据报的长度(拥塞控制)
- 同一个IP地址可以有多个不同的TCP连接
-
TCP主要功能
- 可靠传输
- 流量控制
- 拥塞控制
- 传输连接管理
-
TCP报文首部格式
- 仍有20字节的固定首部和可选的首部字段
- 序号字段占4字节
- 确认号占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号
- 数据便宜占4字节,表示数据部分离起始部分有多远(实际上就是TCP首部的长度)
- 紧急比特URG,当URG=1时,紧急指针字段有效,应立即交给上层
- 确认比特ACK,当ACK=1时有效,=0无效,说明TCP具有捎带功能
- 推送比特PSH,接收到推送比特为1的报文段,将以前收到的数据和本报文段的数据一起立即交给应用进程,而不再等到缓存满了在提交
- 复位比特RST,当RST=1时,表示TCP连接中出现严重错误,必须立即释放连接,通知app清空缓存并重新建立连接
- 终止比特FIN,用来释放一个连接,=1时表明此报文段的发送端的数据已经发送完步,并要求释放传输连接
- 窗口字段,占两个字节,用来控制对方发送的数据量,单位为字节
- 检验和,占2字节,检验和的检验乏味包括首部和数据部分,计算检验和时要在TCP报文段前面临时加上12字节的伪首部
- 紧急指针,两字节,指出本报文段紧急数据的最后一字节的序号
- 选项字段,长度可变,最大报文段长度(MSS)告诉对方TCP:“我的缓存所能接受的报文段的数据字段(TCP报文段长度-首部长度)的最大长度是MSS个字节”
- MSS与接收窗口值没有关系
- 选择较小的MSS长度,网络利用率就降低
- 太长在IP层传输时就有可能要分解成多个短数据报片,终点还要组装,出错还要重传,开销增大
TCP的可靠传输
- 对数据进行编号和确认的原因
- 保证数据传输的可靠性
- 如何实现
- 以字节为单位
- 收到数据后发确认(使用捎带确认)
- 采用超时重传机制
- 实现
- 以字节为单位的滑动窗口
- 发送窗口表明在没有收到确认的情况下,发送方可以把发送窗口内的数据都发送出去
- 发送窗口通常只是发送缓存的一部分
- 发送缓存用来暂时存放
- app传送给发送方TCP准备发送的数据
- TCP已发送但未收到确认的数据
- 接收窗口
- 接收缓存用来暂时存放
- 按序到达的、但尚未被接收app读取的数据
- 未按需到达的数据
- 接收缓存用来暂时存放
- 发送窗口表明在没有收到确认的情况下,发送方可以把发送窗口内的数据都发送出去
- 超时重传
- 每发送一个数据报就设置一个计时器,超时重传
- 超时重传
- 选择确认SACK
- 未按序收到,且中间缺了几个数据,为了不让发送方重传已收到的数据而进行选择确认
- 在TCP首部的选项中加上允许SACK的选项,双方必须事先商定好
- 以字节为单位的滑动窗口
TCP流量控制
流量控制就是让发送方发送速率不要太快,要让接收方来得及接收
利用滑动窗口实现流量控制
- 发送方的发送窗口不能超过接收方给出的接收窗口的数值
- 窗口单位是字节,不是报文段
- TCP为每一个链接设有一个持续计时器
- 只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器,设置的时间到期,就发送一个零窗口探测报文段,如果依然是0,则重置持续计时器,不是0则可继续传输数据
- 解决了发生零窗口通知后,接收方处理完重新回复的报文可能会丢失造成收发放互等的死锁问题
TCP传输效率
-
TCP报文的发送时机
- TCP维持一个变量,它等于最大报文段长度MSS,只要缓存中存放的数据达到了MSS字节时就组装成一个TCP报文段发送出去
- 有发送方的app指明要求发送报文段,即TCP支持的推送操作
- 发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但是长度不能超过MSS)发送出去
-
糊涂窗口综合征
指TCP接收方缓存已满,但是app一次只从缓存中读取1个字节,这样接收缓存空间也就只腾出了一个字节,然后向对方发送确认,窗口设置为1字节(实际发送的数据报是40字节长),接着对方发过来一个字节的数据(实际发送的IP数据报是41字节),如此往返,效率极低
解决方法:
- 让接收方等待一段时间,使得接收缓存已有足够空间容纳一个最长的报文段
- 等到接收缓存已有一半空闲的空间
当发生以上两种情况之一时,接收方就发送确认报文,并向发送发通知当前窗口大小,同时,发送发也不要发送太小的报文段,而是把数据积累成足够大的报文段或达到对方缓存的空间的一半大小
TCP的拥塞控制
- 一般原理
- ∑对资源的需求 > 可用资源,即为拥塞
- 不可通过增加资源的方式缓解拥塞,甚至可能变得更坏
- 随着提供的负载增大,网络吞吐量的增长速率逐渐减小
- 当网络吞吐量明显小于理想的吞吐量时,网络就进入了轻度拥塞状态
- 当提供的负载达到某一数值时,网络吞吐量反而随提供的负载增大而下降,这时网络就进入了拥塞状态
- 当提供的负载继续增大到某一数值时,网络的吞吐量就下降到0,网络已无法工作,这就是死锁
- 拥塞控制是很难设计的,因为它是一个动态的问题
- 分组丢失是网络发生拥塞的征兆而不是原因。在许多情况下,甚至是拥塞控制机制本身成为引起网络性能恶化甚至发生死锁的原因
- 拥塞控制和流量控制的区别
- 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载
- 使网络能够承受现有的网络负荷
- 拥塞控制是一个全局性的过程
- 流量控制:让发送方发送速率不要太快,要让接收方来得及接收
- 流量控制往往是指点对点通信量的控制,是个端到端的问题
- 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载
TCP拥塞控制方法
-
慢开始和拥塞避免
-
也叫做基于窗口的拥塞控制
-
发送方维持一个叫做拥塞窗口cwnd的状态变量,拥塞窗口的大小取决于网络的拥塞程度,并且动态变化,发送方让自己的窗口等于拥塞窗口
-
发送方控制拥塞窗口的原则
- 只要网络没有出现拥塞,拥塞窗口接口就可以再增大一些,以便发送更多的分组提高网络利用率
- 只要网络出现拥塞或有可能出现拥塞,就必须把拥塞窗口减小一些,以减少注入到网络中的分组数,缓解网络出现的拥塞
- 只要出现了超时,就可以猜想网络可能出现了拥塞。判断网络拥塞的依据就是出现了超时
-
慢开始算法
当主机开始发送数据时,由于并不清楚网络的负载情况,所以如果立即吧大量数据字节注入网络没那么就有可能引发网络拥塞
- 先探测一下,由小到大逐渐增大发送窗口,即由小到大逐渐增大拥塞窗口数值
- 在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个SMSS的数值
- “慢”并不是指cwnd的增长速率慢,而是指在TCP开始发送报文段时先设置cwnd=1,使得发送方在开始时只发送一个报文段,然后在逐渐增大cwnd,这比一下注入许多报文段到网络中要慢得多
-
拥塞避免
- 为了防止拥塞窗口cwnd增长过大而引起网络拥塞,还需要设置一个慢开始门限ssthresh状态变量
- 当cwnd < ssthresh,使用慢开始算法
- 当cwnd = ssthresh,两者皆可
- 当cwnd > ssthresh,停止使用慢开始算法,改为使用拥塞避免算法
- 算法思路
- 让cwnd缓慢增大,即经过一个RTT就把发送方的拥塞窗口cwnd+1,而不是加倍增长
- 将cwnd按线型规律缓慢增长,使网络比较不容易出现拥塞
- 为了防止拥塞窗口cwnd增长过大而引起网络拥塞,还需要设置一个慢开始门限ssthresh状态变量
-
快重传算法
- 可以让发送方尽早知道发送了个别报文段的丢失
- 过程
- 接收方在收到发送方发送的数据的时候立即发出确认,即使收到失序的报文段也要立即发出对已收到的报文段的重复确认
- 发送方只要一连收到三个重复确认就知道接收方确实没有收到报文段,应当立即重传
-
接收方窗口又称为通知窗口
-
发送方的发送窗口一定不能超过对方给出的接收方窗口值rwnd
-
主动队列管理AQM
- 原因
- 路由器队列会使用先进先出FIFO规则处理到来的分组,因为分组长度有限,后到来的分组就会被丢弃。导致发送端出现超时重传,进入慢开始状态,但是路由器同时具有多个TCP链接,这些链接可能都同时进入了慢开始状态,发送速率很低,这种状态称为全局同步
- 为了避免全局同步现象,出现了主动队列管理AQM
- 不等路由器的队列达到最大值而是一个警戒值时开始主动丢弃分组,以提醒发送方放慢发送速率
*TCP的运输链接管理
见p238
第六章
- FTP使用20、21端口
- 万维网TCP监听80端口的信息
- SMSA(最小电子邮件)使用25端口
- DHCP客户运行在68端口,服务器运行在67端口
复习
第一章
习题:T3、T17、T19
- 计算机网络定义
- 计算机网络是用通信线路将分散在不同地点并具有独立功能的多个计算机系统相互连接,按照网络协议进行数据通信,实现共享资源的计算机之集合。
- 三网融合是哪三网
- 电信网、计算机网、有线电视网
- 计算机网络类别
- 广域网、城域网、局域网、(个人区域网)
- 传送时延发送时延
- 信噪比
- 工作方式
- 全双工、半双工
- 数据传输系统分为:数字传输、模拟传输
- 数字信号可以在模拟系统中传送(需要配合调制器、解调器)
第二章
习题:T7、T8、T9、T13
-
信道复用技术、时分、频分
- 时分 TDM,统计时分STDM
- 频分 FDM
- 波分 WDM
- 码分 CDMA
-
物理层下的传输媒体:
- 无线
- 短波通信、微波通信
- 有线
- 双绞线、同轴电缆、光纤
- 电磁波在光纤的速度是2.0*105,在铜线中是2.3*105,在无线环境下是3.0*10^5
- 无线
-
ADSL 非对称数字用户线
-
编码方式
- 曼彻斯特编码
- 从高到低跳变——1
- 从低到高跳变——0
- 差分曼彻斯特
- 不变为1
- 跳变为0
- 曼彻斯特编码
-
比特填充
- 发送方:连续五个1立即添0
- 接收方:遇到连续五个1后的0去掉
-
*信噪比公式——香农
-
C = W l o g 2 ( 1 + S / N ) C=Wlog_2(1+S/N) C=Wlog2(1+S/N)
-
信噪比
d B = 10 l g ( S / N ) dB=10lg(S/N) dB=10lg(S/N)
-
第三章
习题:T1、T7、T8、T10、18、33
- 所有有关以太网的必须掌握
- 以太网帧格式
- MAC帧最小最大帧长(64-1518,数据长度为46~1500,首部+尾部共18字节)
- 首部长度(12个字节,前六个为目的地址,后六个为源地址),尾部为4字节的FCS校验码
- 两个标准V2、IEEE802
- 10BASE-T等名词解释(速率为10Mbps,传输的信号为基带信号,使用双绞线进行传输)
- 以太网介质访问控制方式
- CSMA/CD(载波监听多点接入/碰撞检测协议)
- 以太网帧格式
- PPP点对点协议
- ISP:网络服务提供商
- LCP:链路控制协议
- NCP:网络控制协议
- MAC地址
- 基本内容
- 与IP地址区别
- MAC硬件地址,IP是软件定义
- CRC校验
- 冗余码位数 = 生成多项式的位数-1 = 在x^4K(X)后添加的0的个数
第四章
9、10、17、20、21、22、26、42
- 中继器(位于物理层)
- 判断IP地址是否合法
- 192.168.256.3 ×
- 划分IP地址ABC类、组播地址、广播地址
- 回答模板e.g. 因为该IP地址的首字节对应的十进制数是192所以为C类
- A类1~126
3. B类128~191
4. C类192~223,拥有254个主机号 - 给IP数据报长度,最大传输单元,问划分几个片,每个片长度多少
- 标志字段中的最低位记为MF,MF=1代表后面还有分片,MF=0代表这已是若干数据报片中的最后一个
- 标志字段中的中间一位记为DF,意思是不能分片,只有当DF=0时才允许分片
- 片偏移指出:较长的分组在分片之后,某片在原分组中的相对位置
- 构建子网
- 每个网络的IP地址范围
- 2的主机号位数的次方-2
- 每个网络的广播地址
- 每个网络的网络地址
- 每个网络的IP地址范围
- 超网
- CIDR
- 网络层四个协议
- IP协议 网际协议,用于标识每台接入互联网的设备接口
- ARP 地址解析协议,用于将IP地址解析为MAC地址
- RARP 反向地址转换协议,允许局域网上的物理机器从网关服务器的ARP表中请求其IP地址
- ICMP 网际控制报文协议,允许主机或路由器报告差错情况和提供有关异常情况的报告,属于IP层,不是高级协议,e.g 计算机的ping命令
- IGMP 网际分组管理协议
第五章
13、14、23
- 协议
- TCP 传输控制协议
- UDP 用户数据报协议
- 分片
- TCP首部20个字节
- UDP首部8个字节,UDP下面给多大的片它就往IP层提交多大的片
- UDP首部结构
- 源端口号、目的端口号、长度、检验和,各为2字节
- UDP首部结构
- 运输层位于协议栈的地位和作用,运输层通信和网络层的不同
- 运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务
- 运输层是应用进程与应用进程之间,网络层是主机和主机之间
- 为什么运输层必不可少
- 应用进程希望的是可靠或尽力而为的传输,必须通过运输层以分用和复用形式加载到下一层网络层
第六章
- DNS解析过程、全程
- DNS 域名系统:将域名解析为主机能识别的IP地址
- 域名系统是一个C/S系统,使用UDP协议
- 叙述访问某站点的域名解析过程
- 在浏览器地址栏键入该站点的网址
- 先在主机域名解析的缓存中查找该域名,若找到则可以立即获得对应的IP地址
- 若不在本机缓存中,则向本地DNS域名服务器发送DNS请求报文,请求解析该域名
- 本地DNS域名服务器收到请求后查找自己的缓存及映射表,若找到,则发送响应报文给请求的主机,若没找到,则向上级DNS域名服务器提出请求,直到解析成功或返回错误信息
- 邮件传输过程,以及该过程涉及的传输协议
- 电子邮件是通过通信网络进行信件传递的系统
- 邮件服务器负责发送和接收邮件,同时还要向发信人报告邮件传送的情况,按照C/S方式工作,需要使用两种不同的协议(SMTP、POP3)
- 涉及协议
- SMTP:简单邮件传送协议,用于发送邮件,使用25号端口建立TCP连接
- POP3:邮局协议,用于接收邮件
- MIME:通用因特网邮件扩充
- UA:用户代理,用户与电子邮件系统的接口
- 传输过程
- 发信人调用用户代理来编辑要发送的邮件,用户代理用SMTP把邮件传送给发送端邮件服务器
- 发送端邮件服务器将邮件放入邮件缓存队列中,等待发送
- 运行在发送端邮件服务器的SMTP客户进程发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器的SMTP服务器进程发起TCP连接请求
- TCP连接建立后,SMTP客户进程开始向远程的SMTP服务器进程发送邮件,当所有待发送的邮件都发送完了,SMTP关闭TCP连接
- 运行在接收端的SMTP服务器进程收到邮件后,将邮件放入收件人的用户信箱中,等待收信人在方便时进行读取
- 收件人在打算收信时调用用户代理,使用POP3协议将自己的邮件从接收端邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)
- 万维网端口80,HTTP也是80
- FTP控制进程端口21,数据传送用20