导图社区 计算机网络
计算机是考研中最热门的专业之一,这是根据王道和天勤书整理的计算机网络的思维导图,考研党肯定用的上!!!
编辑于2021-09-02 17:14:46计算机网络
第一章 计算机网络体系结构
计算机网络概述
计算机网络的基本概念
广义观点:实现远程信息处理系统或者能进一步达到资源共享的系统
资源共享观点
以能够相互共享资源的方式互联起来的自治计算机系统的集合
目的:资源共享
组成单位:分布在不同地理位置的多台独立的“自治计算机”
网络协议:网络中计算机必须遵循的统一规则
用户透明性观点:能为用户自动管理资源的网络操作系统,能够调用用户所需要的资源,整个网络就像一个大的计算机系统一样对用户是透明的
计算机网络的组成
从组成部分上看
硬件:主机(端系统)、通信处理机(网卡)、通信链路(双绞线和光纤)和交换设备(路由器、交换机)
软件:实现资源共享的软件和方便用户使用的工具软件(如网络操作系统、邮件收发程序、FTP程序、聊天程序等)
协议:计算机网络的核心,规定了网络传输数据时所遵循的规范
从工作方式上看
边缘部分:所有连接到因特网上、供用户直接使用的主机组成,用来进行通信(如数据传输、音频或视频)和资源共享
用户直接使用:C/S方式、P2P方式
核心部分:大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务
从功能组成上看
通信子网:由传输介质、通信设备和相应的网络协议组成,使得网络具有数据传输、交换、控制和存储的能力
资源子网:实现资源共享功能的设备及其软件的集合,向用户提供共享其它计算机硬件、软件和数据的服务
计算机网络的功能
数据通信:最基本最重要的功能,实现联网计算机之间的信息传输,将分散的计算机联系起来
资源共享:实现软件、硬件、数据的共享,使得计算机网络中的资源互通有无、分工协作,提高了硬件、软件、数据资源的利用率
分布式处理:将某个计算机负荷过重的任务分散到多台计算机上,提高整个系统的利用率
提高可靠性:计算机网络中的各台计算机通过网络互为替代机
负载均衡:将工作任务均衡的分配给各台计算机
计算机网络的分类
按分布范围分类
广域网(WAN)
任务:提供长距通信,运送主机发来的数据
距离:几十千米到几千千米
地位:是因特网的核心部分,连接广域网的各结点交换机的链路一般是高速链路,具有较大的通信容量
采用交换技术
城域网(MAN)
范围:跨越几个街区甚至几个城市
距离:5~50千米
多采用以太网技术
局域网(LAN)
范围:用微机或工作站通过高速线路相连,覆盖范围小
距离:几十米到几千米
地位:对计算机配置数量没有太多限制
采用广播技术
个人区域网(PAN)
范围:个人工作的地方将电子设备用无线技术连接起来的网络
距离:直径为10米
按传输技术分类
广播式网络
所有联网计算机共享一个公共通信信道
一台计算机发送报文分组,其他计算机也能收听这个分组
根据报文目的地址进行接收
采用广播通信技术,广域网中的无线、卫星通信网络也采用广播式通信技术
点对点网络
每个物理线路连接一对计算机
计算机通过直接或者中间结点对分组进行接收,存储和转发直到目的地
采用分组存储转发机制
按拓扑结构分类
总线形网络
用单根传输线把计算机连接起来
优点:建网容易、增减结点方便、节省线路
缺点:重负载时通信效率不高,总线任意一处对故障敏感
星形网络
每个终端或计算机都以单独的线路与中央设备相连
优点:便于集中控制和管理
缺点:成本高、中心设备对故障敏感
环形网络
所有计算机接口设备连接成一个环
典型例子:令牌环局域网
网状网络
每个结点至少有两条链路与其它结点相连,多用在广域网中
优点:可靠性高
缺点:成本高、控制复杂
按使用者分类
公用网:公众使用的网络
专用网:为满足某个部门特殊业务建立的网络(铁路、电力、军队)
按交换技术分类
电路交换网络
源结点和目的结点之间建立一条传送数据的专用通路,包括建立、传输数据和断开连接三个阶段
典型例子:传统电话网络
优点:数据直接传送、时延小
缺点:线路利用率低、不能充分利用线路容量、不便于进行差错控制
报文交换网络(存储—转发网络)
用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文
优点:较为充分地利用线路容量,可以实现不同链路之间不同数据传输速率的转换,可以格式转换,可以一对多、多对一的访问、可以实现差错控制
缺点:增大了资源开销,增加了缓冲时延,缓冲区难以管理
分组交换网络(包交换网络)
将数据分成较短的固定长度的数据块,并给数据块加上目的地址、源地址等辅助信息组成分组(包),以存储—转发方式运输
优点:缓冲易于管理,包的平均时延更小,占用平均缓冲区更少,更易于标准化,更适合应用
按传输介质分类
有线网络:双绞线网络、同轴电缆网络
无线网络:蓝牙、微波、无线电
计算机网络的标准化工作及相关组织
生成RFC的过程
因特网草案→建议标准→草案标准→因特网标准
国际组织
国际标准化组织(ISO):OSI参考模型、HDLC
国际电信联盟(ITU):远程通信标准
国际电气电子工程师协会(IEEE):802标准
计算机网络的性能指标
带宽:网络在通信线路中传送数据的能力,单位:比特/秒(b/s)
时延
数据从网络一端传送到另一端所需要的时间
发送时延(传输时延)
发送分组的第一个比特开始,到最后一个比特发送结束的时间
发送时延=分组长度/信道带宽
传播时延
一个比特从链路一端到另一端需要的时间
传播时延=信道长度/电磁波在信道上的传播速率
处理时延
数据在交换结点为存储转发而进行的一些必要的处理所花费的时间
例子:分析分组的首部、从分组中提取的数据部分、差错检验、寻找适当的路由器
排队时延:分组在进入路由器后,像排队一样等待被转发的时间
总时延是以上四中时延之和,但是排队时延和处理时延一般忽略不计(除非题目说明)
时延带宽积
发送端连续发送数据且发送的第一个比特即将到达终点时,发送端已经发出的比特数
时延带宽积=传播时延✖信道带宽
往返时延:从发送数据到接收到接收端的确认经历的时延
吞吐量:单位时间内通过某网络或信道、接口的数据量,受网络带宽或网络额定速率的限制。
速率:连接到计算机网络上的主机在数字信道上传输数据的速率(数据率或者比特率),最高数据率即为带宽
利用率
信道利用率=有数据通过时间/(有+无)数据通过时间。
网络利用率:全网络信道利用率的加权平均值。
计算机网络体系结构与参考模型
计算机网络的分层结构
原则
每层实现一种相对独立的功能,降低系统的复杂度
各层之间界面清晰,易于理解,相互交流少
各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现
保持下层对上层的独立性,上层单项使用下层提供的服务
整个分层结构应促进标准化工作
基本概念
实体:任何可以发送或者接收信息的硬件或者软件进程
不同机器上的同一层称为对等层,同一层的实体称为对等实体
n层实体实现的服务为n+1层所利用
服务数据单元(SDU):完成用户所要求的功能而应传送的数据,第n层为n-SDU
协议控制信息(PCI):控制层协议操作的信息,n-PCI
协议数据单元(PDU):对等层次之间传递数据的单位,n-PDU
层次结构含义
第N层的实体不仅要使用第N-1层的服务来实现自身定义的功能,还要向第N+1层提供本层的服务,该服务是第N层及下面各层提供的服务总和
最底层只提供服务,是整个层次结构的基础,中间各层既是下一层的服务使用者,也是上一层的服务提供者,最高层面向用户提供服务
上一层只能通过邻近层的接口使用下一层的服务,而不能调用其他层的服务,下一层所提供的服务的实现细节对上一层透明
两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方
计算机网络协议、接口、服务的概念
协议
控制两个或多个对等实体进行通信的规则集合,是水平的
不对等实体之间是没有协议的
组成
语法:规定了传输数据的格式
语义:规定了要完成的功能
同步:规定了执行各操作的条件时序关系
协议是水平的,是控制对等实体之间通信的规则
接口
同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定
每层只能为紧邻的层次之间定义接口,不能跨层定义接口
服务
下层为紧邻的上层提供的功能调用,是垂直的
服务原语
由服务用户发往服务提供者,请求完成某项任务
由服务提供者发往服务用户,指示用户做某件事情
由服务用户发往服务提供者,作为对指示的响应
只有本层协议的实现才能保证向上一层提供服务,本层的服务用户只能看见服务,而无法看见下面的协议
服务的分类
面向连接服务和无连接服务
面向连接服务
通信双方必须建立连接,分配相应资源,结束后释放连接与资源(可靠服务)
阶段:连接建立、数据传输、连接释放
代表协议:TCP协议
无连接服务
通信双方不需要建立连接,直接发送数据(不可靠服务)
尽最大努力交付(IP协议、UDP协议)
可靠与不可靠服务
可靠服务:网络具有纠错、检错、应答机制,保证数据正确可靠的传送到目的地
不可靠服务:网络尽可能正确,可靠性由应用或者用户来保障,不能保证数据的正确、可靠的传送到目的地
有应答服务和无应答服务
有应答服务:接收方在收到数据后向发送方发出相应的应答,传输系统自动实现
无应答服务:接收方收到数据后不会自动给出应答,如果需要应答就由高层实现
OSI参考模型
物理层
传输单位:比特流
任务:透明的传输比特流
功能:在物理媒体上为数据端设备透明地传输原始比特流
设备:集线器、中继器
定义数据终端设备和数据通信设备的物理与逻辑连接方法
接口标准:EIA-232C、EIA/TIA RS-449、CCITT的X.21等
数据链路层
传输单位:帧
任务:将网络层传下来的IP数据报组装成帧
功能:成帧、差错控制、流量控制和传输管理
差错控制:对传输中受到干扰的信号进行检错,并对其丢弃
流量控制:控制发送方的速度
设备:网桥、交换机
协议:SDLC、HDLC、PPP、STP、帧中继
网络层
传输单位:数据报
任务:把网络层的协议数据单元从源端传到目的端,为分组交换网上的不同主机提供服务
功能:流量控制、拥塞控制、差错控制、网际互联
拥塞控制:对网络中因来不及接收分组而要丢弃大量分组的情况,网络层采取一定的措施对拥塞进行缓解
网际互连:将大量异构网络通过路由器相互连接起来
设备:路由器
协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
传输层(运输层)
资源子网和通信子网的桥梁
资源子网:应用层、表示层、会话层
通信子网:网络层、数据链路层、物理层
传输单位:报文段(TCP)或用户数据报(UDP)
任务:主机中两个进程之间的通信
功能:为端到端连接提供可靠的传输服务、流量控制、差错控制、服务质量、数据传输管理
协议:TCP、UDP
注意:传输层具有复用和分用的功能
会话层
任务:允许不同主机上的各个进程之间进行通话
功能:建立会话同步、管理主机间的会话进程(建立、管理及终止)
使用校验点恢复通信,实现数据同步
表示层
任务:处理两个通信系统中交换信息的方式
功能:数据压缩、加密和解密、数据表示转换
应用层
任务:提供系统与用户的接口
功能:文件传输、访问和管理、电子邮件服务
协议:文件传送的FTP、电子邮件的SMTP、万维网的HTTP、POP3
TCP/IP模型
应用层
对应OSI的会话层、表示层和应用层
包含所有高层协议(HTTP、SMTP等等)
传输层
对应OSI的传输层
是得发送端和目的端主机上的对等实体进行会话
传输控制协议(TCP)
面向连接(可靠交付)
数据传输的基本单位是报文段
用户数据报协议(UDP)
面向无连接(不可靠交付)
基本单位是用户数据报(尽最大努力交付)
网际层
对应OSI的网络层
将分组发送到任何网络上,选择合适的路由
不能保证有序到达,有序交付给高层负责
定义了IP协议:IPV4、IPV6
网络接口层
对应OSI的数据链路层和物理层
指出主机必须使用的某种协议与网络连接
作用:从主机或结点接收IP分组,并把它们发送到指定的物理网络上
TCP/IP模型与OSI模型的比较
相同
都采用分层结构
都是基于独立的协议栈的概念
都可以解决异构网络的互联,实现不同厂家生产的计算机之间的通信
不同
OSI精确的定义了服务、接口和协议,TCP/IP没有明确区分
OSI通用性良好,TCP/IP协议是对已有协议的描述,但是不适用于其它非TCP/IP的协议栈
OSI没有考虑多种异构网络的互联问题
网络层(网际层)
OSI中支持无连接和面向连接
TCP/IP只有无连接
传输层
OSI支持面向连接的通信
TCP/IP支持面向连接和无连接的通信
信息传输过程
用户发送数据报
应用层将自然语言转换为通信数据
然后开始每层都会加上SDU和PCI进行包裹包装
到达目的主机又会进行包裹拆包,将SDU和PCI一层层拆开,最终获得数据
第二章 物理层
通信基础
基本概念
数据、信号与码元
数据:传送信息的实体
信号:数据的电气或电磁表现,数据在传输过程中的存在形式。
模拟数据(模拟信号):连续变化的数据或信号
数字数据(数字信号):取值为允许有限的几个离散数值的数据或信号
码元:用一个固定时长的信号波形表示一位k进制数字,该时长成为码元宽度。
信源、信道与信宿
信源:产生和发送数据的源头
信道
信号传输的媒介
发送端信源发出的信息需要通过变换器转换成合适的信号后在信道上传输到信宿
噪声源是指信道上的噪声(对信号的干扰),及分散在通信系统其它各处的噪声的集中表示
信宿:接收数据的终点,通常都是计算机或其他数字终端装置。
一个通信系统的组成部分
通信的基本方式
单向通信:只有一个方向的通信,没有反方向的交互(无线电广播、电视广播)
半双工通信:通信双方都可以发送或接收信息,但是任何一方不能同时发送和接收信息
全双工通信:通信双方可以同时发送和接收信息
速率、波特与带宽
速率(数据率):单位时间内传输的数据量
码元传输速率(波特率):单位时间内数字通信系统所传输的码元个数,单位是波特(Baud),它与进制数无关。
信息传输速率(比特率):单位时间内数字通信系统传输的二进制码元个数(比特数),单位是比特每秒(b/s)
带宽:网络的通信线路所能传送数据的能力,单位是比特每秒(bit/s)
奈奎斯特定理与香农定理
奈奎斯特定理(奈氏准则)
理想低通(没有噪声,带宽有限)的信道中,极限码元传输速率为2W波特(W是理想低通信道的带宽,单位HZ)
公式:Cmax=f采样×log2N=2f×log2N(bit/s) 注:f表示理想低通无噪声信道的带宽,N表示每个码元离散电平的数目。
理想低通信道下极限数据传输速率=2Wlog2V(单位为b/s)
结论
在任何信道中,码元传输速率是有上限的。
信道的频带越宽(通过的信号高频越多),就可用更高的速率进行码元的有效传输。
给出了码元传输速率的限制,但并未对信息传输速率给出限制。
香农定理
带宽受限且有高斯白噪声干扰的信道的极限数据传输率
信道极限传输速率=Wlog2(1+S/N) (单位为b/s)
W为信道的带宽,S为信道所传输信号的平均功率,N为信道内部的高斯噪声功率
S/N为信号的平均功率和噪声的平均功率之比
信噪比:信号的平均功率和噪声的平均功率之比(记为S/N),信噪比=10log10(S/N)(dB)
香农公式:Cmax=W×log2(1+S/N)(bit/s),注:想要提高最大数据传输速率,就应设法提高传输线路的带宽或提高所传信号的信噪比。
结论
对一定的传输带宽和一定的信噪比,信息传输速率的上限是确定的。
只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错传输。
实际的信道传输速率要比极限速率低不少。
编码与调制
概念
调制:数据变换为模拟信号的过程
编码:数据变为数字信号的过程
数字数据编码为数字信号
数字数据编码用于基带传输中,在不改变数字信号频率的情况下,直接传输数字信号
非归零编码
用两个电压来代表两个二进制数字,低电平为0,高电平为1
优点:容易实现
缺点:无法使得双方同步,没有检错功能
曼彻斯特编码(以太网用的)
将一个码元分为两个相等的间隔,前一个间隔为高电平而后一个间隔为低电平表示码元1,码元0表示刚好相反
优点:可以进行双方的同步
缺点:占用的频带宽度是原始基带宽度的两倍
差分曼彻斯特编码
若码元为1,前半个码元的电平与上一个码元的后半个码元的电平相同,若码元为0,刚好相反
优点:可以实现自同步,抗干扰性好
主要用于局域网传输
4B/5B编码
将发送的数据流每4位作为一组,然后按照4B/5B编码规则将其转换为相应的5位码
5位码共有32种组合,但是只是用其中的16种对应16种不同的4位码,其它16位作为控制码(帧的开始和结束、线路的状态信息等)或保留
数字数据调制为模拟信号
幅移键控(ASK)
通过改变载波信号的振幅来表示数字1和0,而载波的频率和相位都不改变
比较容易实现,抗干扰能力强
频移键控(FSK)
通过改变载波信号的频率来表示数字1和0,而载波的振幅和相位都不改变
容易实现,抗干扰能力强,应用较为广泛
相移键控(PSK)
通过改变载波信号的相位来表示数字1和0,而不改变载波的振幅和频率
分为绝对调相和相对调相
信道的带宽或信噪比越大,信息的极限传输速率越高。
正交振幅调制(QAM)
频率相同的前提下,将ASK与PSK结合起来,形成叠加信号
设波特率为B,采用m个相位,每个相位有n种振幅,该QAM技术的传输速率R=Blog2(mn)
模拟数据编码为数字信号
采样
对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号
采样频率大于等于原始信号的最大频率的两倍
量化
把采样取得的电平幅值按照一定的分级标准转化为对应的数字值并取整数
这样就把连续的电平幅值转换为离散的数字量
采样和量化的实质就是分割和转换
编码:把量化的结果转化为与之对应的二进制编码
模拟数据调制为模拟信号
需要较高的频率
使用频分复用(FDM)技术,充分利用带宽资源
电话局和本地局交换机采用模拟信号传输模拟数据的编码方式
模拟的声音数据是加载到模拟的载波信号中传输的
电路交换、报文交换与分组交换
电路交换
数据传输前,先建立一条专用的(双方独占)物理通信路径
直通方式传输数据
电路交换技术的三个阶段:连接建立、数据传输和连接释放
优点
通信时延小:通信线路双方专用,数据直达,时延非常小
有序传输:双方通信时按发送顺序传输数据,不存在失序问题
没有冲突:不同的通信双方拥有不同的信道,不会出现争用物理信道的现象
适用范围广:既适用于传输模拟信号,又适用于传输数字信号
实时性强:双方的物理通路一旦建立,双方就可以随时通信
控制简单:交换设备及控制均较简单
缺点
建立时间长:平均连接建立时间对计算机通信来说太长
线路独占:使用效率较低,只能供通信双方使用
灵活性差:只要通信双方的任何一点出现故障,就必须重新建立连接
难以规格化:数据的不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制
报文交换(存储转发方式)
数据交换的单位是报文,报文携带有目的地址、源地址等信息
报文交换的时候使用存储转发的传输方式
优点
无需建立连接:不需要建立专用线路,不存在连接时延,用户可以随时发送报文
动态分配线路:当发送方将报文交给交换设备时,交换设备先储存整个设备,然后选择一条合适的空闲线路,将报文发送出去
提高线路可靠性:如果某条传输路径发生故障,那么可以重新选择另一条路径传输数据
提高线路利用率:通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通道
提供多目标服务:一个报文可以发送给多个目的地址
缺点
数据进入交换结点后要经历存储、转发这一过程,因此会引发转发时延
包括接收报文、检验正确性、排队、发送时间等
报文交换对报文大小没有限制,所以网络结点要有较大的缓存空间
现在已经很少使用,多使用分组交换方式代替
分组交换(存储转发方式)
采用存储转发方式,限制了每次传送数据块的大小上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(源地址、目的地址、编号信息等),构成分组
网络结点根据控制信息把分组送到下一结点,下一结点收到分组后暂时保存并排队等待传输,根据分组控制信息选择它的下一个结点,直到目的结点
优点
没有建立时延:不需要为通信双方预先建立一条专用的通信线路,不存在建立时延,用户可随时发送分组
线路利用率高:通信双方不是固定占用一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路
简化了存储管理(相对于报文交换):因为分组的长度固定,相应的缓冲区大小也固定,在交换结点中的存储器管理通常被简化为对缓冲区的管理,相对比较容易
加速传输
分组是逐个传输的,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线方式减少了报文的传输时间
传输一个分组所需的缓冲区比传输一次报文所需的缓冲区小,这样因缓冲区不足而等待发送的概率和时间也会少
减少出错概率和重发数据量:分组较短,出错概率减小,重发的数据量也就减小,提高了可靠性,也减少了传输时延
缺点
存在传输时延
需要额外的信息量:每个小数据块都要加上源地址、目的地址和分组编号等信息
当分组交换采用数据报服务时,可能会出现失序、丢失或者重复分组,到达目的地后要对分组进行排序工作
数据报与虚电路
数据报特点
发送分组前不需要建立连接,发送方可随时发送分组
网络进最大努力交付,传输不保证可靠性
发送的分组中要包括发送端和接收端的完整地址,以便可以独立运输
分组在交换结点存储转发时,需要排队等候处理,会带来一定的时延
对故障的适应能力强
存储转发的时延一般比较小,提高了网络的吞吐量
收发双方不独占某条链路,资源利用率较高
虚电路服务
必须建立连接
三个阶段:虚电路建立、数据传输和虚电路释放
特点
对长时间、频繁的数据交换效率较高
虚电路的路由选择体现在连接建立阶段,连接建立后就确定了传输路径。
提供了可靠的通信功能,能保证每个分组正确且有序到达。
当网络中某个结点或某条链路出现故障而彻底失效时,所有经过该结点或该链路的虚电路将遭到破坏。
分组首部不包含目的地址,包含的是虚电路标识符,相对数据报方式,开销小。
传输分类
串行传输和并行传输
串行传输
将表示一个字符的8位二进制数按由低位到高位的顺序依次发送
速度慢、费用低、适合远距离
并行传输
将表示一个字符的8位二进制数同时通过8条信道发送
用于计算机内部数据传输
速度快、费用高、适合近距离
同步传输和异步传输
同步传输
在同步传输的模式下,数据的传送是以数据区块为单位,因此同步传输又称为区块传输
在传输数据时,需要先送出一个或多个同步字符,再送出整批的数据
异步传输
异步传输将比特分成小组进行传输,小组可以是8位的一个字符或更长,发送方可以任何时刻发送这些比特组,而接收方不知道它们会在什么时候到达
传输数据时,加一个字符起始位和一个字符终止位
传输介质
双绞线、同轴电缆、光纤与无线传输介质
双绞线
简介
最常用的古老传输介质,由两根采用一定规则并排绞合的相互绝缘的铜导线组成
绞合可以减少对想零导线的电磁干扰
屏蔽双绞线(STP):在双绞线的外面加上一个由金属丝编织成的屏蔽层
非屏蔽双绞线(UTP):无屏蔽层
优点:价格便宜、适用范围广
使用范围
局域网、传统电话网
模拟传输和数字传输
传输距离:几千米到几十千米
距离过大
模拟传输使放大器衰减的信号
数字传输使用中继器将失真的信号整形
同轴电缆
由内导体、绝缘层、网状编织屏蔽层和塑料外层构成
50Ω同轴电缆:主要传输基带数字信号
75Ω同轴电缆
主要传送宽带信号
主要用于有线电视系统
优点
良好的抗干扰特性
广泛用于传输较高速率的数据
传输距离更广
缺点:价格相对于双绞线贵
光纤
利用光导纤维传递光脉冲
利用光的全反射原理在光纤中不断的传输
多模光纤:从不同角度入射的多数光线在一条光线中传输
单模光纤:光线的直径减小到仅一个光波长度时,光纤就像一根波导那样,可是光线一直向前传播,而不会产生多次反射
优点
传输损耗小,中继距离长,对远距离传输特别经济
抗雷电和电磁干扰性能好
无串音干扰,保密性好,也不易被窃听或截取数据
体积小,重量轻
无线传输介质
无线电波
无线电波具有较强的穿透力,可以传输很长的距离,所以它被广泛应用于通信领域
无线电波使信号向所有方向散播,因此有效距离范围内的接收设备无须对准某个方向,就可以与无线电波发射者进行通信连接,简化了通信连接
微波、红外线和激光
相同点:需要发送方和接收方之间存在一条视线通路,由很强的方向性,都沿直线传播,有时统称这三者为视线介质
不同点
红外通信和激光通信要把传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再直接在空中传播
微波通信的频率高,频段范围宽,载波频道通常为2~40GHZ,因而通信信道的容量大
微波通信的信号是沿直线传播的,因此在地面传播的距离有限,超过一定距离后就要使用中继站来接力
卫星通信
卫星通信利用地球同步卫星作为中继来转发微波信号,可以克服地面微波通信距离的限制
优点:容量大、距离远、覆盖广
缺点:保密性差、端到端传播时延长
物理层接口的特性
机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
电气特性:指明接口在电缆的各条线上出现的电压范围
功能特性:指明某条线上出现的某一电平的电压表示何种意义
过程特性(规程特性):指明对于不同功能的各种可能时间的出现顺序
常用接口标准:EIA RS-232-C、ADSL和SONET/SDH
物理层设备
中继器
功能:将数字信号整形并放大再转发出去,消除信号的失真和衰减
原理:信号再生
优点:局域网环境下扩大网络规模最简单、最廉价的互联设备
缺点
不能够连接具有两个不同速率的局域网
中继器出现故障,相邻的两个网段都会产生影响
限制
5-4-3规则:互相串联的中继器个数不能超过4个,4个中继器串联的5段通信介质只有3段可以挂接计算机,其余两段只能用作扩展通信范围的链路段
与放大器对比
放大器放大的是模拟信号
原理是将衰减信号放大而不是再生
集线器(Hub)
功能
实质是一个多端口的中继器,也可以对信号进行整形再生
收到信号后,就将信号从其它端口发出
如果多端口输入,输出时就会发生冲突,数据都无效
优点:扩大网络的传输范围
缺点
不具有定向传送能力
只能工作在半双工状态下
Hub每个端口连接的网络部分是同一个网络的不同网段
不能分割冲突域
多台主机同时交互时,会使其工作效率降低
第三章 数据链路层
数据链路层的功能
概要
数据链路层在物理层提供服务的基础上向网络层提供服务,主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路
为网络层提供服务
无确认的无连接服务
特点
源机器发送数据帧时不需要先建立链路连接,目的机器收到数据帧时不需要发回确认
对丢失的帧,数据链路层不负责重发而交给上层处理
适用于实时通信或误码率较低的通信信道,如以太网
有确认的无连接服务
特点
源机器发送数据帧时不需要先建立连接,但目的机器收到数据帧时必须发回确认
源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性
适用于误码率较高的通信通道,如无线通信
有确认的面向连接服务
特点
帧传输过程分为三个阶段:建立数据链路、传输帧、释放数据链路
目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧
适用于通信要求(可靠性、实时性)较高的场合
有连接就一定有确认,不存在无确认的面向连接服务
链路管理
负责数据链路层连接的建立、维持和释放过程,主要用于面向连接的服务
实现过程
首先确认对方已处于就绪状态
交换一些必要的信息以对帧序号初始化
建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接
帧定界、帧同步与透明传输
概述:两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送
帧定界:将一段数据的前后分别添加首部和尾部就构成了帧,首部和尾部含有很多控制信息,起作用就是确定帧的界限
帧同步:接收方能从接受的二进制比特流中区分出帧的起始与终止
透明传输:采取有效的措施解决误以为“传输结束”而丢弃后面的数据问题
流量控制
限制发送方的数据流量,使其发送速率不超过接收方的接收能力
注意:流量控制并不是数据链路层特有的功能
差错控制
概述:用于使发送方确定接收方是否正确收到由其发送的数据的方法
位错:帧中某些位出现了差错,通常采用循环冗余校验(CRC)方式发现位错
帧错:帧的丢失、重复、或失序等错误,通过自动重传请求(ARQ)方式来重传出错的帧
组帧
功能实现
为了使接收方能正确的接收并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧
解决问题:帧定界、帧同步、透明传输等
字符计数法
实现方法:在帧头部使用一个计数字段来标明帧内字符数
缺点:如果计数字段出错,收发双方将失去同步而导致的错误
字符填充的首尾定界符法
实现方法
使用一些特定的字符来定界一帧的开始(DLE STX)于结束(DLE ETX)
在特殊字符前面填充一个转义字符(DLE),防止特殊字符被误判为帧的首尾界定符
零比特填充的首尾标志法
实现方法
使用一个特定的比特模式,即01111110来标志一帧的开始和结束
在发送信息时,遇到5个连续的1就自动在后面加0
在收到信息时,遇到5个连续的1就自动在后面减0
优点:很容易由硬件来实现,性能优于字符填充法
违规编码法(物理编码违例法)
使用条件
在物理层使用比特编码时,通常采用违规编码法
违规编码法只适用于采用冗余编码的特殊编码环境
实现方法
正常情况下:曼彻斯特编码中比特“1”编码成“高-低”电平,比特“0”编码成“低-高”电平
违规编码:曼彻斯特编码中比特“1”编码成“高-高”电平,比特“0”编码成“低-低”电平
借用这些违规编码序列来定界帧的起始和终止
局域网IEEE802标准就采用了这种方法
目前较常用的组帧方法是比特填充法和违规编码法
差错控制
概要
影响因素:信道固有声道干扰
解决方法:提高信噪比
外界的冲击噪声是产生差错的重要原因,没有办法通过提高信号幅度来降低干扰
利用编码计数进行差错控制
自动重传请求ARQ:接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止
前向纠错FEC:接收端不但能发现差错,而且能确定比特串的错误位置,从而加以纠正
检错编码
奇偶校验码:n-1位数据和1位校验元组成,校验元用于调节发送信息中的1的个数是奇数还是偶数
循环冗余码
任何一个由二进制数位串组成的代码都可以与一个只含有0和1两个系数的多项式建立一一对应的关系
计算步骤
假设一个帧有m位,其对应多项式为M(x)
加0:假设G(x)的阶为r,在帧的低位端加上r个0
模2除:利用模2除法,用G(x)对应的数据串去除上一条计算出的数据串,得到余数即为冗余码(共r位,前面的0不可省略)
纠错编码
海明码(汉明码)
原理
在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中
当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错位,而且能指出错位的位置
计算过程
设n为有效信息的位数,k为校验位的位数,则信息位n和校验位k应满足n+k≤2的k次幂-1
确定校验位的分布
分组以形成校验关系
校验位取值
海明码的校验原理
补充:海明码要检测出d位错误,需要一个海明距为d+1的编码方案,要纠正d位错误,需要一个海明距为2d+1的编码方案。
流量控制与可靠传输机制
流量控制、可靠传输和滑动窗口机制
流量控制:控制发送方发送数据的速率,使接收方来得及接收
停止—等待流量控制基本原理
每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输速率很低
如果接收方不反馈应答信号,那么发送方就必须一直等待
滑动窗口流量控制
基本原理
发送方都维持一组连续的允许发送的帧的序号,称为发送窗口
发送窗口用来对发送方进行流量控制
接收方也维持一组连续的允许接收帧的信号,称为接收窗口
发送方:发送窗口的大小代表还未收到对方确认信息的情况下发送方最多还可以发送多个数据帧
接收方:接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧
帧的序号落入接收窗口之内,将该数据帧收下;帧的序号落在接收窗口之外,则将其丢弃
机制特点
只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才一定)向前滑动
接收窗口的大小为1时,可保证帧的有序接收
数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的
可靠传输机制
通常使用确认和超时重传两种机制
基本概念
确认帧:是一种无数的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收
稍待确认:为了提高传输效率,将确认捎带在一个回复帧中
超时重传:发送方在发送某个数据帧后就开启一个计时器,一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止
自动重传请求:接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法
停止-等待
后退N帧
选择性重传
滑动窗口技术与请求重发技术的结合
单帧滑动窗口与停止等待协议
从滑动窗口机制的角度看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议
在停止-等待协议中,除数据帧丢失外,还有其它两种差错
到达目的站的帧可能已遭破坏
解决方案:装备计时器,计时器计满时仍未收到确认,那么再次发送相同的帧,直到该数据帧无错误地到达为止
数据帧正确而确认帧被破坏
解决方案:发送方重传已被接收的数据帧,接收方收到同样的数据帧时丢弃该帧,并重传一个该帧对应的确认帧
帧缓冲区
目的:为了超时重发和判定重复帧的需要
实现方法:发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错时进行重传;只有收到对方发来的确认帧ACK时,方可清除此副本
多帧滑动窗口与后退N帧协议(GBN)
后退N帧式ARQ
发送方连续发送帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧(累计确认)
优点:连续发送数据帧而提高了信道的利用率
缺点:若信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停止-等待协议
GBN协议重点总结
累计确认(偶尔稍待确认)
接收方只按顺序接收帧,不按序无情丢弃
确认序列号最大的、按序到达的帧
发送窗口最大为2的n次幂-1,最小为1
多帧滑动窗口与选择重传协议(SR)
选择重传
每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传
一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传
接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧
优点:提高了信道的利用率
缺点:需要开辟缓存空间来存储数据
介质访问控制
概述
主要任务:为使用介质的每个结点隔离来自同意信道上其它结点所传送的信号,以协调活动结点的传输
介质访问控制(MAC):用来决定广播信道中信道分配
常见介质访问控制方法
信道划分介质访问控制
静态划分信道
随机访问介质访问控制
轮询访问介质访问控制
动态划分信道
信道划分介质访问控制
将使用介质的每个设备与来自同一通信信道上的其它设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备
多路复用技术:
当传输介质的宽带超过了传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率,是实现信道划分介质访问控制的途径。
优点:提高了信道的利用率
频分多路复用(FDM)
定义:将多路基带信号调制到不同频率的载波上,再叠加形成一个复合信号的多路复用技术
每个子信道分配的带宽可以不相同,但它们的总和一定不超过信道的总带宽。
优点:充分利用了传输介质的带宽,系统效率较高,也较容易实现。
不足:需要在相邻信道之间加入保护频带防止子信道相互干扰
时分多路复用(TDM)
定义:将物理信道按时间分成若干时间片,轮流地分配给多个信号使用
统计时分多路复用(STDM,又称异步时分多路复用):是一种动态的时间分配
缺点:由于计算机数据的突发性,对于子信道的利用率不高
优化:统计时分多路复用(STDM,异步时分多路复用)
采用STDM帧,STDM帧不固定分配时隙,而按需动态地分配时序
提高线路的利用率
波分多路复用(WDM)
在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来
码分多路复用(CDM)
定义:采用不同的编码来区分各路原始信号的一种复用方式,既共享信道的频率,又共享时间,是一种真正的动态复用技术。
优点:频谱利用率高、抗干扰能力强、保密性强、语音质量好,可以减少投资和降低运行成本,主要用于无线通信系统,特别是移动通信系统。
码分多址(CDMA)
每比特时间被分成m个更短的时间槽,称为码片(Chip)
发送1时,站点发送码片序列,发送0时,站点发送码片序列的反码
多个站点发送数据:多个站点的码片序列相互正交,从而从信道中分离出各路信号
随机访问介质访问控制
不采用集中控制方式解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率
信道划分的方法分为静态划分信道(代价高,不适合小局域网)和动态划分信道(包括静态接入(需要掌握四种协议)和受控接入)
ALOHA协议
纯ALOHA协议
思想
网络中任何一个站点需要发送数据时,可以不进行任何检测就发送数据
在一段时间内未收到确认,那么该站点就认为传输过程发生了冲突;发送站点需要等待一段时间后再发送数据,直至发送成功
缺陷:数据碰撞的概率较大,所以网络的吞吐量很低
时隙ALOHA协议
思想:所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧
优点
避免了用户发送数据的随意性
减少了数据产生冲突的可能性
提高了信道的利用率
缺陷:每个用户都是想发就发,碰撞概率还是很大
CSMA协议:一种多路访问控制协议。
1—坚持CSMA
思想
一个结点要发送数据时,首先侦听信道
信道空闲,那么立即发送数据
信道忙,那么等待,同时继续侦听直至信道空闲
如果发生冲突,那么随机等待一段时间后,再重新开始侦听信道
缺陷
传播时延对协议的性能影响较大
存在碰撞现象
非坚持CSMA
思想:当发送节点一旦监听到信道空闲的时候时,立即发送数据,否则延迟一段随机的时间再重新监听。
优点:降低了多个结点等待信道空闲后同时发送数据导致冲突的概率
缺陷:增加了数据在网络中的延迟时间
p—坚持CSMA
思想:当发送节点监听到信道空闲时,以概率p发送数据,以概率(1-p)延迟一段时间并重新监听。
优点:降低了冲突概率,减少了时间延迟
CSMA/CD协议
适用于总线形网络或半双工网络环境
思想:发送数据时先广播告知其它结点,让其它结点在某段时间内不要发送数据,以免出现碰撞
基本概念
载波侦听多路访问/碰撞检测协议(CSMA/CD)是CSMA协议的改进方案
载波侦听:发送前先侦听,每个站在发送数据之前先要检测一下总线上是否有其它站点正在发送数据,若有则暂时不发数据,等待信道变为空闲时再发
碰撞检测:就是边发送边侦听,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其它站点是否也在发送数据
最小帧长=总线传播时延×数据传输速率×2
争用期:以太网端到端的往返时间,只有度过了争用期才能确定本次传输不会发生冲突
工作流程:先听后发,边听边发,冲突停发,随机重发。
二进制指数退避算法解决碰撞
基本概念
定义参数k作为第几次重传
从离散整数集合[0,1,2……,2的k次幂-1]中取出一个数r
所得数值即为退避等待时间
重传16次不成功,则认为此帧永远无法发出,丢弃此帧,并向高层报告
优点:重传需要推迟的平均时间随重传次数的增大而增大,降低发生碰撞的概率,有利于整个系统的稳定
CSMA/CA协议
适用于有线连接的局域网
思想:发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送
注意:无线网络不能使用该协议
接收信号的强度往往会远小于发送信号的强度,而且无线介质上信号强度的动态变化范围很大
并非所有的站点都能够听见对方,存在“隐蔽站”问题
采用二进制指数退避算法
实现碰撞避免机制
预约信道:发送方在发送数据的同时向其它站点通知自己传输数据需要的时间长度,让其它站点在这段时间内不发送数据,避免碰撞
ACK帧:所有站点在正确接收到发送给自己的数据帧(除广播帧和组播帧)后,都需要向发送方发回一个ACK帧
接收失败,那么不采取任何行动
在规定时间内如果未收到ACK帧,那么认为发送失败,此时进行该数据帧的重发,直到收到ACK帧或达到规定重发次数为止
RTS/CTS帧:可选的碰撞避免机制,主要用于解决无线网中的隐蔽站问题
在CSMA的基础上增加了冲突避免的功能,要求每个节点在发送数据之前监听信道。
CSMA/CD与CSMA的区别
CSMA/CD可以检测冲突,但无法避免,CSMA/CA发送数据时不能检测信道上有无冲突,只能尽量避免。
传输介质不同。CSMA/CD用于总线型以太网,CSMA/CA用于无线局域网。
检测方式不同。CSMA/CD通过电缆中电压变化来检测,而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式。
轮询访问介质访问控制:令牌传递协议
通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配
令牌在固定次序中转圈,拿到令牌就可以发送数据
适用于负载很高的广播信道
局域网
基本概念与体系结构
在一个较小地理范围内的各种计算机或其他通信设备,通过双绞线、同轴电缆等连接介质互连起来组成资源和信息共享的互联网络。
特点
为一个单位所拥有,且地理范围和站点数目均有限
所有站点共享较高的总带宽(即较高的数据传输速率)
较低的时延和较低的误码率
各站为平等关系而非主从关系
能进行广播和组播
主要技术要素:拓扑结构、传输介质、介质控制访问方法(最重要的,决定着局域网的技术特性)
主要拓扑结构:星形结构、环形结构、总线形结构、星形结构和总线形结合的复合型结构。
主要传输介质:双绞线(主流传输介质)、铜缆和光纤等
主要介质访问控制方法
CSMA/CD
令牌总线
总线形局域网
令牌环
环形局域网
局域网拓扑实现
以太网:逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结构
令牌环:逻辑拓扑是环形结构,物理拓扑是星形结构
FDDI:逻辑拓扑是环形结构,物理拓扑是双环结构
逻辑链路控制(LLC)子层:向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4种不同的连接服务类型
媒体接入控制(MAC)子层:向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧、比特传输差错检测、透明传输
以太网与IEEE 802.3
采用总线形拓扑结构
简化通信
采用无连接的工作方式(尽最大努力交付)
差错纠正由高层完成
传输介质的适用情况
以太网的传输介质与网卡
传输介质:粗缆、细缆、双绞线和光纤。
网卡
局域网中连接计算机和传输介质的接口
网卡的作用:能实现与局域网传输介质之间的物理连接和电信号匹配,涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码及数据缓存功能等。
介质访问控制(MAC)地址
网卡在出厂时都有一个唯一的代码
用于控制主机在网络上的通信
以太网的MAC帧
网卡从网络每接收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址,如果是发往本站的帧,那么就收下,否则丢弃
结构组成
前导码:在帧前面插入8B,使接收端与发送端时钟同步。这8B分为前同步码(7B)和帧开始定界符(1B)。注意:MAC帧不需要帧结束符。
地址:目的地址、源地址均使用48bit(6B)的MAC地址。
类型:占2B,指出数据域中携带的数据应交给哪个协议实体处理。
数据:占46~1500B,包含高层的协议消息;由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较小时必须加以填充(0~46字节)
填充:0~46B,当帧长太短时填充帧,使之达到64字节的最小长度。
校验码(FCS):占4B,采用CRC循环冗余码,校验MAC帧的数据部分、目的地址、源地址和类型字段,但是不校验前导码。
高速以太网(速率达到或超过100Mb/s)
100BASE-T以太网
双绞线上传送100Mb/s基带信号的星形拓扑结构以太网,使用CSMA/CD协议。
既支持全双工方式,有支持半双工方式,只是在全双工方式下不使用CSMA/CD协议。
吉比特以太网(千兆以太网)
允许在1Gb/s下用全双工和半双工两种方式工作
在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)
10吉比特以太网
使用光纤作为传输媒体
只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD协议
IEEE 802.11
IEEE 802.11是无线局域网的一系列标准,包括802.11a和802.11b等,它们制定了MAC协议,运行在多个物理层标准上
有固定基础设施无线局域网
802.11标准规定无线局域网的最小构件是基本服务集(BSS)
组成:一个基本服务集包括一个基站和若干移动站
所有的站在本BSS内都可以直接通信,但在与本BSS外的站通信时都要通过本BSS的基站
无固定基础设施移动自组织网络
由一些平等状态移动站相互通信组成的临时网络,各结点之间地位平等,中间结点都为转发结点,这些结点都具有路由器功能
移动自组织网络把移动性扩展到无线领域中的自治系统,具有自己特定的路由选择协议,并且可以不和因特网相连
令牌环网的基本原理
令牌环网的每一站通过电缆与环接口干线耦合器(TCU)相连
TCU的主要作用:传递所有经过的帧,为接入站发送和接收数据提供接口。
TCU两个状态:收听状态和发送状态。
控制机制
分布式控制模式的循环方法
拿到令牌就可以占有信道发送数据
物理上采用星形拓扑结构,但逻辑上仍是环形拓扑结构
广域网
广域网的基本概念
覆盖范围很广(远超一个城市的范围)的长距离网络,由一些节点交换机以及连接这些交换机的链路组成,节点交换机将完成分组存储转发的功能。
任务:长距离运送主机所发送的数据
PPP协议和HDLC协议是目前最常用的两种广域网数据链路层控制协议
广域网与局域网对比
广域网
覆盖范围:很广,通常跨区域
连接方式:点到点连接
OSI层次:物理层、数据链路层、网络层
着重点:强调资源共享
局域网
覆盖范围:较小,通常在一个区域内
连接方式:多点接入
OSI层次:物理层、数据链路层
着重点:强调数据传输
PPP协议
概要:使用串行线路通信的面向字节协议,应用在直接连接两个节点的链路上
目的:主要是用来通过拨号或专线方式建立点对点连接发送数据
PPP协议是在SLIP协议基础上发展而来,它既可以在异步线路上传输,又可以在同步线路上使用,不仅用于Modem链路,也由于租用的路由器到路由器的线路
背景:SLIP主要完成数据报的传送,但没有寻址、数据检验、分组类型识别和数据压缩等功能,只能传送IP分组
三个组成部分
链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路,并在不需要时将它们释放。
网络控制协议(NCP):PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
一个将IP数据报封装到串行链路的方法:IP数据报在PPP帧中就是信息部分,其长度受最大传送单元(MTU)的限制。
注意
PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验);它不是可靠的传输协议,因此也不使用序号和确认机制
它仅支持点对点的链路通信,不支持多点线路
PPP只支持全双工链路
PPP的两端可以运行不同的网络层协议,但仍然可以使用同一个PPP进行通信
PPP是面向字节的,当信息字段出现和标志字段一致的比特组合时
PPP用在异步线路(默认),则采用字节填充法
PPP用在SONET/SDH等同步线路,则协议规定采用硬件来完成比特填充(和HDLC的做法一样)
HDLC协议
概要
数据报可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现
全双工通信,有较高的数据传输效率
传输控制功能与处理功能分离,具有较大的灵活性
所有帧采用CRC检测,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高
两种基本配置
非平衡配置:由一个主站控制整个链路的工作
平衡配置:链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许
站类型
主站:负责控制链路的操作,发出的帧称为命令帧
从站:受控于主站,按主站的命令进行操作,发出的帧称为响应帧
复合站:具有主站和从站的功能,可以发命令帧和响应帧
数据操作方式
正常响应方式:这是一种非平衡结构操作方式,即主站向从站传输数据,从站响应传输,但从站只有在收到主站的许可后,才可进行响应
异步平衡方式:这是一种平衡结构操作方式,在这种方式中,每个复合站都可以进行对另一站的数据传输
异步响应方式:这是一种非平衡结构操作方式,在这种方式中,从站即使未收到主站的许可,也可进行传输
HDLC帧
信息帧(D):第一位为0,用来传输数据信息,或使用捎带技术对数据进行确认
监督帧(S):第一、二位分别为1、0,用于流量控制和差错控制,执行对信息帧的确认、请求重发和暂停发送等功能
无编号帧(U):第一、二位均为L用于提供对链路的建立、拆除等多种控制功能
数据链路层设备
网桥的概念及其基本原理
两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段
网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域
基本特点
具备寻址和路径选择能力,可以确定帧的传输方向
从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧
网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换
网桥对接收到的帧不做任何修改,或只对帧的封装格式做很少的修改
可以把原协议的信息段的内容作为另一种协议的信息部分封装在帧中
有足够大的缓冲空间
网桥的优点
可过滤通信量
扩大了物理范围
可使用不同的物理层
可互联不同类型的局域网
提高了可靠性
性能得到改善
网桥的缺点
增大了时延
MAC子层没有流量控制功能
不同MAC子层的网段桥接在一起时,需进行帧格式的转换
只适用于用户数不多和通信量不大的局域网
路径选择算法
透明网桥(选择的不是最佳路由)
建立转发表,采用自学习算法处理收到的帧
工作原理
如果源LAN和目的LAN相同,那么丢弃该帧
如果源LAN和目的LAN不同,那么转发该帧
如果目的LAN未知,那么扩散该帧
源路由网桥(选择的是最佳路由)
路由选择由发送数据帧的源站负责,网桥只根据数据真正的路由信息对帧进行接收和转发
源站以广播方式向目的站发送一个发现帧(Discovery Frame)作为探测之用,然后根据经过的结点生成最佳路径
缺陷:如果发现帧过多,会导致网络出现阻塞
局域网交换机及其工作原理
局域网交换机
又称以太网交换机,从本质上说,以太网交换机是一个多端口的网桥
能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽
优点
对工作站是透明的,管理开销低廉
简化了网络结点的增加、移动和网络变化的操作
方便实现虚拟局域网(VLAN),VLAN不仅可以隔离冲突域,还可以隔离广播域
原理:检测从以太端口来的数据帧的源和目的地的MAC地址,和系统内部的动态查找表对比,若不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
特点
每个端口都直接与单台主机相连,并且一般都工作在全双工方式
能同时连通许多端口,无碰撞地传输数据
是一种即插即用的设备,转发表也是通过自学算法自动地逐渐建立起来的
使用了专用的结构交换芯片,因此交换速率较高
独占传输媒体的带宽
两种交换模式
直通式交换机
只检查帧的目的地址,数据帧就可以马上被传输出去
优点:速度快
缺点:缺乏只能性和安全性,也无法支持具有不同速率的端口的交换
存储转发式交换机
先将接收到的帧缓存,然后检查数据是否正确
正确就发出去
有错那么就将其丢弃
优点:可靠性高,并能支持不同速率端口间的转换
缺点:延迟较大
第六章 应用层
网络应用模型
客户/服务器模型(C/S模型)
概述:在客户/服务器(C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其它称为客户机的主机请求
工作流程
服务器处于接收请求状态
客户机发出服务请求,并等待接受结果
服务器收到请求后,进行必要的处理,得到结果并发送给客户机
主要特征
客户机是服务请求方,服务器是服务提供方
网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,或进行其它受限的网络活动
客户机相互之间不直接通信
受服务器硬件和网络带宽的限制,服务器支持的客户机数量有限,可扩展性不佳
客户/服务器模型的应用
Web
文件传输协议(FTP)
远程登陆
电子邮件
P2P模型
概述
各计算机没有固定的客户和服务器划分
任意一对计算机称为对等方(Peer),直接相互通信
每个结点既作为客户访问其它结点的资源,也作为服务器提供资源给其它结点访问
P2P应用
PPlive
Bittorrent
电驴
优点
减轻了服务器的计算压力,消除了对某个服务器的完全依赖,提高了系统效率和资源利用率
多个客户机之间可以直接共享文档
可扩展性好,传统服务器有响应和带宽的限制,只能接收一定数量的请求
网络健壮性强,单个结点的失效不会影响其它部分的结点
缺点
占用较多的内存,影响整机速度
P2P下载会对硬盘造成较大的损伤
使网络变得非常拥塞
各大ISP(互联网服务提供商,如电信、网通等)通常都对P2P应用持反对态度
域名系统(DNS)
基本概述
域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名转换为便于机器处理的IP地址
DNS系统采用客户/服务器模型
协议运行在UDP之上,使用53号端口
层次域名空间
因特网采用层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器都有一个唯一的层次结构的名字就是域名
域名规则
标号中的英文不区分大小写
标号中除连字符(-)外不能使用其它的标点符号
每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符
级别最低的域名写在最左边,级别最高的顶级域名写在最右边
顶级域名分类
国家顶级域名(nTLD):国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,“.uk”表示英国
通用顶级域名(gTLD):常见的有“.com”(公司)、“.net”(网络服务机构)、“.org”(非营利性组织)和“.gov”(国家或政府部门)等
基础结构域名:这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名
域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型
分类
根域名服务器:最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址
顶级域名服务器
负责管理在该顶级域名服务器注册的所有二级域名
收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查找的域名服务器的IP地址)
授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记
授权域名服务器总能将其管辖的主机名转换为该主机的IP地址
本地域名服务器
当一台主机发送DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器
每个因特网服务提供者(ISP),或一所大学,甚至一所大学中的各个系,都可以拥有一个本地域名服务器
域名解析过程
正向解析:把域名映射成为IP地址
反向解析:把IP地址映射成为域名
查询方式
递归查询:给根域名服务造成的负载过大,所以在实际中几乎不使用
递归与迭代相结合的查询
主机向本地域名服务器的查询采用的是递归查询
本地域名服务器向根域名服务器的查询采用迭代查询
域名解析的过程
客户机向其本地域名服务器发送DNS请求报文
本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
根域名服务器收到请求后,判断该域名属于域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器
本地域名服务器向顶级域名服务器dns.com发出解析请求报文
顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器
本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文
授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器
本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
高速缓存
主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息
优点
提高DNS的查询效率
减少因特网上的DNS查询报文数量
文件传输协议(FTP)
FTP的工作原理
概述
FTP提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限
屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件
FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务
FTP的功能
提供不同种类主机系统(硬件、软件体系等都可以不同)之间的文件传输能力
以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力
以匿名FTP的方式提供公用文件共享的能力
FTP进程组成
主进程:负责接收新的请求
若干从属进程:处理单个请求
工作步骤
打开熟知端口21(控制端口),使客户进程能连接上
等待客户进程发送连接请求
启动从属进程来处理客户进程发来的请求
回到等待状态,继续接收其他客户进程的请求
FTP服务器必须在整个会话期间保留用户的状态信息
控制连接与数据连接
特点:FTP在工作时使用两个并行的TCP连接
控制连接(端口号21)
服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接
控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCⅡ格式传送
控制连接在整个会话期间一直保持打开状态
数据连接(端口号20)
服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建数据传送进程和数据连接
传送完毕后关闭“数据传送连接”并结束运行
电子邮件
电子邮件系统的组成结构
电子邮件是一种异步通信方式,使用协议如SMTP、POP3(或IMAP)等
三个主要组成构件
用户代理(UA):用户与电子邮件系统的接口,具有撰写、显示和邮件处理的功能
邮件服务器
组成电子邮件系统的核心
发送和接收邮件
向用户回报发送情况
邮件发送协议和读取协议
SMTP:邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件
POP3:邮件读取协议用于用户代理从邮件服务器读取邮件
电子邮件的收发过程
发信人调回用户代理来撰写和编辑要发送的邮件;用户代理用SMTP把邮件传送给发送方邮件服务器
发送方邮件服务器将邮件放入邮件缓存队列中,等待发送
运行在发送方邮件服务器的SMTP客户进程,发现邮件缓存中有待发送的邮件,就向运行在接收方邮件服务器的SMTP服务器进程发起建立TCP连接
TCP连接建立后,SMTP客户进程开始向远程SMTP服务器进程发送邮件;当所有待发送邮件发送完后,SMTP就关闭所建立的TCP连接
运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,将邮件放入收信人的用户邮箱,等待收信人在方便时读取
收信人打算收信时,调用用户代理,使用POP3(或IMAP)协议将自己的邮件从接收方邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)
电子邮件格式与与MIME
电子邮件格式
To是必需的关键字,后面填入一个或多个收件人的电子邮件地址
Subject是可选关键字,是邮件的主题,反映了邮件的主要内容
From是必填的关键字,但它通常由邮件系统自动填入
多用途网际邮件扩充(MIME)
背景
SMTP只能传送一定长度的ASCⅡ码,许多其它非英语国家的文字(如中文)就无法传送
无法传送可执行文件及其它二进制对象
继续使用目前的格式,增加了邮件主题的结构,并定义了传送非ASCⅡ码的编码规则
内容
5个新的邮件首部字段,包括MIME版本、类型
定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化
定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变
SMTP和POP3
简单邮件传输协议(SMTP)
概述
一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的SMTP进程交换信息
使用客户/服务器方式
发送邮件的SMTP进程是SMTP客户,而负责接收的SMTP进程是SMTP服务器
TCP连接,端口号为25
通信阶段
连接建立
发件人的邮件发送到发送方邮件服务器的邮件缓存后,SMTP客户就每隔一定时间对邮件缓存扫描一次
发现有邮件,就是用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接
SMTP不使用中间邮件服务器;TCP连接总是在发送方和接收方这两个邮件服务器之间直接建立
邮件传送
连接建立后就可开始传送邮件
邮件的传送从MAIL命令开始,MAIL命令后面有发件人的地址
SMTP服务器已准备好接收邮件,则回答250 OK,接着SMTP客户端发送一个或多个RCPT(收件人)命令
RCPT命令的作用:先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件,避免浪费通信资源
获得OK的回答后,客户端就是用DATA命令,表示要开始传输邮件的内容
连接释放
邮件发送完毕后,SMTP客户应发送QUIT命令
SMTP服务器返回的信息是221(服务关闭),表示SMTP同意释放TCP连接
缺点
SMTP不能传送可执行文件或其它二进制对象
SMTP仅限于传送7位ASCⅡ码,不能传送其它非英语国家的文字
SMTP服务器会拒绝超过一定长度的邮件
POP3
概述
邮局协议(POP)是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3
当用户读取邮件时,用户代理向邮件服务器发出请求,拉取用户邮箱中的邮件
使用客户/服务器的工作方式
在传输层使用TCP,端口号为110
工作方式
下载并保留
下载并删除
因特网报文存取协议(IMAP)
邮件接收协议,比POP复杂得多
用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息
允许用户代理只获取报文的某些部分
基于万维网的电子邮件
特点
用户浏览器与Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用HTTP
在不同邮件服务器之间传送邮件时使用SMTP
万维网(WWW)
万维网的概念与组成结构
概念
在这个空间中,有用的事物称为资源,并由一个全域“统一资源定位符”(URL)标识
这些资源通过超文本传输协议(HTTP)传送给使用者,而后通过单机链接来获取资源
万维网的内核部分
统一资源定位符(URL):负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL
超文本传输协议(HTTP):一个应用层协议,它使用TCP连接进行可靠传输,HTTP是万维网客户程序和服务器之间交互所必须严格遵守的协议
超文本标记语言(HTML):一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述
工作流程
Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求
Web服务器把URL转换为文件路径,并返回信息给Web浏览器
通信完成关闭连接
超文本传输协议(HTTP)
概述
HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
HTTP是面向事物的应用层协议
规定了在浏览器和服务器之间的请求和响应的格式与规则
是万维网上能够可靠地交换文件的重要基础
HTTP的操作过程
每个万维网站点都有一个服务器进程,它不断地监听TCP的端口80(默认)
当监听到连接请求后便与浏览器建立连接
TCP连接建立后,浏览器就像服务器发送请求获取某个Web页面的HTTP请求
服务器收到HTTP请求后,将构建所请求Web页的必须信息,并通过HTTP响应返回给浏览器
浏览器再将信息进行解释,然后将Web页显示给用户
TCP连接释放
HTTP报文
请求报文
响应报文
用户单击鼠标后发生的事件顺序
浏览器分析链接指向页面的URL
浏览器向DNS请求解析域名的IP地址
域名服务器DNS解析出IP地址
浏览器与该服务器建立TCP连接(默认端口号为80)
浏览器发出HTTP请求:GET/chn/index.html
服务器通过HTTP响应把文件index.htm发送给浏览器
TCP连接释放
浏览器解释文件index.htm,并将Web页显示给用户
HTTP的特点
HTTP是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同
HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求
使用Cookie加数据库的方式来跟踪用户的活动
HTTP采用TCP作为运输层协议,保证了数据的可靠传输
HTTP既可以使用非持久连接,也可以使用持久连接
持久连接与非持久连接
非持久连接:每个网页元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP连接
持久连接
指万维网服务器在发送响应后仍然保持这条连接,使同一个客户和服务器可以继续在这条连接上传送后续的HTTP请求与响应报文
非流水线:客户在收到前一个响应后,才能发出下一个请求
流水线:客户每遇到一个对象引用,就立即发出一个请求
HTTP的报文结构
HTTP是面向文本的
报文类型
请求报文:从客户向服务器发送的请求报文
响应报文:从服务器到客户的回答
状态码
1xx表示通知信息,如请求收到了或正在处理
2xx表示成功,如接受或知道了
3xx表示重定向,如要完成请求还必须采取进一步行动
4xx表示客户的差错,如请求中有错误的语法或不能完成
5xx表示服务器的差错,如服务器失效无法完成请求
第五章 传输层
传输层提供的服务
传输层的功能
概述
传输层向它上面的应用层提供通信服务,它属于面向通讯部分的最高层,同时也是用户功能中的最低层
为运行在不同主机上的进程之间提供了逻辑通信
传输层的功能
提供应用进程之间的逻辑通信(即端到端通信),而网络层提供的是主机之间的通信
复用和分用
复用:发送方不同的应用进程都可使用同一个传输层协议传送数据
分用:接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程
对收到报文的首部和数据部分进行差错检测,而网络层只检测IP数据报首部,并不检查数据部分
提供面向连接的TCP(可靠性较高)和无连接的UDP(高效率但不可靠)
向高层用户屏蔽低层网络核心的细节(如网络拓扑、路由协议等),使应用进程好像在两个传输层实体之间有一条端到端的逻辑通信信道
注意:即使网络层协议不可靠,传输层同样能为应用程序提供可靠的服务
传输层寻址与端口
端口的作用
端口可以标识主机中的应用进程
让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程
端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的
软件端口与硬件端口
软件端口:协议栈层间的抽象的协议端口,是应用层的各种协议进程与传输实体进行层间交互的一种地址
硬件端口:不同硬件设备进行交互的接口
端口号
服务器端使用的端口号
熟知端口(保留端口),数值为0~1023
FTP 21
TELNEL 23
SMTP 25
DNS 53
TFTP 69
HTTP 80
SNMP 161
登记端口,数值为1024~49151
使用这类端口号必须在IANA登记,以防止重复
客户端使用的端口号(49152~65535)
又称短暂端口号(也称临时端口):这类端口号仅在客户进程运行时才动态地选择
通信结束后,刚用过的客户端口号就不复存在,从而这个端口号就可供其它客户进程使用
套接字
背景
IP地址来标识和区别不同的主机
端口号来标识和区分一台主机中的不同应用进程
在网络中采用发送方和接收方的嵌套字(Socket)组合来识别端点
套接字=(主机IP地址,端口号)
唯一地标识网络中的一台主机和其上的一个应用(进程)
实际上是一个通信端点
无连接服务与面向连接服务
面向连接服务
在双方进行通信之前,必须先建立连接,在通信过程中,整个连接的情况一直被实时地监控和管理
通信结束后,应该释放这个连接
无连接服务:两个实体之间的通信不需要先建立好连接,需要通信时,直接将信息发送到”网络“中,让该信息的传递在网上尽力而为地往目的地传送
TCP/IP协议族的传输协议
面向连接的传输控制协议(TCP):采用TCP时,传输层向上提供的是一条全双工的可靠逻辑信道
无连接的用户数据报协议(UDP):采用UDP时,传输层向上提供的是一条不可靠的逻辑信道
TCP/IP协议
TCP提供面向连接的可靠传输服务,增加了许多开销,如确认、流量控制、计时器及连接管理等
TCP主要适用于可靠性更重要的场合,如文件传输协议(FTP)、超文本传输协议(HTTP)、远程登陆(TELNET)等
UDP协议
在IP之上仅提供两个附加服务:多路复用和对数据的错误检查
远程主机的传输层收到UDP报文后,不需要给出任何确认
UDP简单、执行速度比较快、实时性好
UDP的应用有:小文件传输协议(TFTP)、DNS、SNMP和实时传输协议(RTP)
注意
IP数据报和UDP数据报的区别
IP数据报在网络层要经过路由的存储转发
UDP数据报在传输层的端到端的逻辑信道中传输,封装成IP数据报在网络层传输时,UDP数据报的信息对路由是不可见
TCP和网络层虚电路的区别
一
TCP报文段在传输层抽象的逻辑信道中传输,对路由器不可见
虚电路所经过的交换结点都必须保存虚电路状态信息
二
网络层若采用虚电路方式,则无法提供无连接服务
而传输层采用TCP不影响网络层提供无连接服务
UDP协议
UDP数据报
UDP实现了传输协议能够做的最少工作,在IP的数据报服务之上增加了两个最基本的服务:复用和分用以及差错检测
UDP优点
UDP无需建立连接,不会有建立连接的时延
无连接状态:UDP不维护连接状态,应用服务器使用UDP时,一般都能支持更多的活动客户机
分组首部开销小
特点
UDP常用于一次性传输较少数据的网络应用,如DNS、SNMP等
UDP提供尽最大努力的交付,即不保证可靠交付;所有维护传输可靠性的工作需要用户在应用层来完成
UDP是面向报文的;报文是UDP数据处理的最小单位
UDP的首部格式
源端口:源端口号,在需要对方回信时选用,不需要时可用全0
目的端口:这在终点交付报文时必须使用到
长度:UDP数据报的长度(包括首部和数据),其最小值是8(仅有首部)
校验和
检测UDP数据报在传输中是否有错,有错就丢弃
该字段是可选的,当源主机不想计算校验和时,则直接令该字段为全0
收到数据报
根据首部中的目的端口,把UDP数据报通过相应的端口上交给应用进程
如果接收方UDP发现收到的报文中的目的端口号不正确,丢弃该报文,并由ICMP发送”端口不可达“差错报文给对方
UDP校验
UDP的校验和只检查首部和数据部分
注意
校验时UDP数据报长度不是偶数字节,则需要填入一个全0字节,此字节与伪首部一样,是不打送的
如果校验出数据报是错误的,可以丢弃,也可以交付上层,但需要附上错误报告
通过伪首部,不仅可以检查源端口号、目的端口号和数据部分,还可以检查IP数据报的源IP地址和目的地址
检错能力并不强
优点:简单、处理速度快
TCP协议
TCP协议的特点
TCP是在不可靠的IP层之上实现的可靠的数据传输协议,主要解决传输的可靠、有序、无丢失和不重复问题
主要特点
TCP是面向连接的传输层协议
每条TCP连接只能有两个端点,即只能一对一
提供的服务可靠,不丢失、不重复且有序
提供全双工通信
是面向字节流的
TCP报文段
TCP传送的数据单元称为报文段
作用
运载数据
建立连接、释放连接和应答
字段意义
源端口和目的端口字段:各占2B,端口是运输层与应用层的服务接口,运输层的复用和分用功能都要通过端口实现
序号字段
占4B,TCP是面向字节流的(即TCP传送时是逐个字节传送的),所以TCP连接传送的数据流中的每个字节都编上一个序号
序号字段的值指的是本报文段所发送的数据的第一个字节的序号
确认号字段:占4B,是期望收到对方的下一个报文段的数据报的数据的第一个字节的序号
数据偏移(即首部长度):占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远
保留字段:占6位,保留为今后使用
紧急位URG:URG=1时,表明紧急指针字段有效;它告诉系统报文段中有紧急数据,应尽快传送(相当于高优先级的数据)
确认位ACK
ACK=1时确认号字段才有效
ACK=0时,确认号无效
TCP规定,在连接建立后所有传送的报文段都必须把ACK置为1
推送位PSH(Push):接收TCP收到PSH=1的报文段,就尽快地交付给接受应用进程,而不再等到整个缓存都填满后再向上交付
复位位RST(Reset):RST=1时,表明TCP连接中出现严重差错(如主机崩溃和其他原因),必须释放连接,然后再重新建立运输连接
同步位SYN:SYN=1时,表示这是一个连接请求或连接接收报文
终止位FIN(Finish):用来释放一个连接;FIN=1表明此报文段的发送方的数据已发送完毕,并要求释放传输连接
窗口字段:占2B,表示允许对方发送的数据量
校验和:占2B,校验和字段检验的范围包括首部和数据两部分
紧急指针字段:占16位,指出在本报文段中紧急数据共有多少字节(紧急数据放在本报文段数据的最前面)
选项字段:长度可变,TCP最初只规定了一种选项,即最大报文段长度
填充字段:使整个首部长度是4B的整数倍
TCP连接管理
TCP连接的管理就是使运输连接的建立和释放都能正常进行
连接阶段
连接建立
数据传送
连接释放
TCP连接建立时面对的问题
要使每一方都能够确知对方的存在
要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项、时间戳选项及服务质量等)
能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配
连接的建立(三次握手)
客户机的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
seq=v
ack=u+1
服务器通知客户端TCP释放连接
FIN=1
ACK=1
seq=w
ack=u+1
客户机受到连接释放报文后,发出确认
ACK=1
seq=u+1
ack=w+1
SYN洪泛攻击
SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手
攻击者发送TCP、SYN,SYN是TCP三次握手中的第一个数据报,而当服务器返回ACK后,该攻击者就不会对其进行再确认
那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者
影响
浪费服务器的资源
在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机
TCP可靠传输(实现机制)
序号:TCP首部的序号字段用来保证数据能有效提交给应用层,序号建立在传送的字节流之上
确认
TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号
TCP默认使用累计确认,即TCP只确认数据流中至第一个丢失字节为止的字节
重传
超时:TCP每次发送一个报文段,就对这个报文段设置一次计时器;计时器设置的重传时间到期但还未收到确认时,就要重传这一报文段
冗余ACK
再次确认某个报文段的ACK,而发送方先前已经收到报文段的确认
当收到对于某个报文段的3个冗余ACK,可以认为该报文段已经丢失;这时发送方可以立即对该报文段执行重传
TCP流量控制
匹配发送方的发送速率与接收方的读取速率
流量控制机制
基于滑动窗口协议的流量控制机制
实现方法
接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小(接收窗口rwnd),限制发送方向网络注入报文的速率
发送方根据其对当前网络拥塞程序的估计而确定的窗口值,这称为拥塞窗口cwnd;其大小与网络的带宽和时延有关
流量控制的区别
传输层:定义端到端用户之间的流量控制
数据链链路层:定义两个中间的相邻结点的流量控制
窗口大小的区别
传输层:滑动窗口可以动态变化
数据链路层:滑动窗口不能动态变化
TCP拥塞控制
基本概念:防止过多的数据注入网络,保证网络中的路由器或链路不致过载
拥塞控制与流量控制的区别
相同点:它们都通过控制发送方发送数据的速率来达到控制效果
区别
拥塞控制只有一个目的就是使网络能够承受现有的网络负荷
拥塞控制是一个全局性的过程
流量控制是点对点通信量的控制
流量控制是抑制发送端发送数据的速率
拥塞控制是一个动态的问题,很难设计。
窗口
接收窗口rwnd:接收方根据目前接收缓存大小所许诺的最新窗口值,反映接收方的容量
拥塞窗口cwnd:发送方根据自己估算的网络拥塞程度而设置的窗口值,反应网络的当前容量
发送窗口的上限值=min[rwnd,cwnd]
实现机制
慢开始
每经过一次传输轮次(即往返时延RTT),拥塞窗口cwnd就会加倍
令拥塞窗口cwnd=1即一个最大报文段长度MSS,每收到一个对新报文段的确认后,将cwnd加1
使分组注入网络的速率更加合理
慢开始一直把拥塞窗口cwnd增大到一个规定的慢开始门限ssthresh(阈值),然后改用拥塞避免算法
拥塞避免
发送端的拥塞窗口cwnd每经过一个往返时延RTT就增加一个MSS的大小,而不是加倍
cwnd按线性规律缓慢增长(即加法增大),而当出现一次超时(网络拥塞)时,令慢开始门限ssthresh等于当前cwnd的一半(即乘法减小)
快重传
当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时
快恢复
发送端收到连续三个冗余ACK(即重复确认)时,执行“乘法减小”算法,把慢开始门限ssthresh设置为出现拥塞时发送方cwnd的一半
把cwnd的值设为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢的线性增大
网络拥塞的处理
发送方检测到超时事件的发生(未按时收到确认,重传计时器超时),就要把慢开始门限ssthresh设置为出现拥塞时的发送方的cwnd值的一半(但不能小于2)
然后把拥塞窗口cwnd重新设置为L执行慢开始算法
第四章 网络层
网络层的功能
网络层设计思路:向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务
设计思路的好处:网络的造价大大降低,运行方式灵活,能够适应多种应用
异构网络互联
异构网络:不同的寻址方案、不同的网络接入机制、不同的差错处理方法、不同的路由选择机制等
网络互联:将两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统
四中中间设备(又称中间系统或中继系统)
物理层中继系统:中继器,集线器(Hub)
数据链路层中继系统:网桥或交换机
使用物理层或数据链路层中继系统时,只是把一个网络扩大了,而从网络的角度看,它仍然是同一个网络,一般并不称之为网络互联
网络层中继系统
路由器
TCP/IP体系在网络互联上采用的做法是网络层(即IP层)采用标准化协议,相互连接的网络可以是异构的
网络层以上的中继系统:网关
虚拟互联网络
也就是逻辑互联网络,即互联起来的各种物理网络的异构本来是客观存在的,但是通过使用IP就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络
优点:互联网上的主机进行通信时,就像在一个网络通信一样看不见互联的具体的网络异构细节(如具体的编址方案、路由选择协议等)
路由与转发
功能
路由选择(确定哪一条路径)
根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表
按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由
分组转发(当一个分组到达时所采取的动作)
处理通过路由器的数据流,关键是转发表查询、转发及相关的队列管理和任务调度等
路由器根据转发表将用户的IP数据报从合适的端口转发出去
拥塞控制
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞
判断拥塞状态的方法
轻度拥塞:随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量
拥塞状态:网络的吞吐量随着网络负载的增大而下降
死锁状态:网络的负载继续增大,而网络的吞吐量下降到零
避免拥塞现象:获取网络中发生拥塞的信息,从而利用这些信息进行控制,以避免由于拥塞而出现分组的丢失,以及严重拥塞而产生的网络死锁现象
作用:确保子网能够承载所达到的流量
实现方法
合理优化主机、路由器及路由器内部的转发处理过程等
单一地增加资源并不能解决拥塞
流量控制与拥塞控制的区别
流量控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收
拥塞控制必须确保通信子网能够传送待传送的数据,是一个全局性的问题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素
拥塞控制方法
开环控制
事先考虑有关发生拥塞的各种因素,力求网络在工作时不产生拥塞。在做决定时不考虑当前网络的状态
优点:一种静态的预防方法,一旦整个系统启动并运行,中途就不再需要修改
闭环控制
事先不考虑,采用监测网络系统去监视,及时检测到哪里发生了拥塞,并解决问题
优点:基于反馈环路的概念,是一种动态的方法
路由算法
静态路由与动态路由
静态路由算法(非自适应路由算法)
概念
由网络管理员手动配置的路由信息
当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息
优点:简便、可靠,在负荷稳定、拓扑变化不大的网络中运行效果很好
缺陷
大型和复杂的网络环境通常不宜采用
管理员难以全面了解网络拓扑结构
发生变化后需要大范围修改和调整路由信息
使用范围:广泛用于高度安全的军事系统和较小的商业网络
动态路由算法(自适应路由算法)
概念
路由器上的路由表项是通过互相连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的
路由信息会在一定时间间隙里不断更新,以适应不断变化的网络,随时获得最优的路由效果
优点:能改善网络的性能并有助于流量控制
缺点
算法复杂,会增加网络的负担
对动态变化的反应太快而引起振荡,或反应太慢而影响网络路由的一致性
动态路由算法
距离-向量路由算法
原理:所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点
路由选择表内容
每条路径的目的地(另一结点)
路径的代价(也称距离)
更新路由表的条件
被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由
来的路由信息中有一条到达某个目的地的路由,该路由与当前使用的路由相比,有较短的距离(较小的代价)
缺点:容易出现路由环路问题
最常见的距离-向量路由算法是RIP算法,它采用跳数作为距离的度量
链路状态路由算法
原理
要求每个参与该算法的结点都具有完全的网络拓扑信息
主动测试所有邻接结点的状态
定期地将链路状态传播给所有其它结点(或称路由结点)
特点
使用泛洪法向所有相邻的路由器发送信息,然后相邻路由器又向其它相邻路由器发送信息
发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
只有当链路状态发生变化时,路由器才向所有路由器发送此信息
用于大型的或路由信息变化聚敛的互联网环境
优点
每个路由结点都使用同样的原始状态数据独立地计算路径,而不依赖中间结点的计算
链路状态报文不加改变的传播,因此采用该算法易于查找故障
当一个结点从其它所有结点接收到报文时,它可以在本地立即计算正确的通路,保证一步汇聚
链路状态算法比距离-向量算法有更好的规模可伸展性
典型的链路状态路由算法是OSPF算法
层次路由
背景
当网络规模扩大时,路由器的路由表成比例的增大
这不仅会消耗越来越多的路由器缓冲区空间,而且需要更多的CPU时间来扫描路由表
路由选择协议
内部网关协议(IGP,也称域内路由选择)
自治系统内部所使用的路由选择协议
RIP
OSPF
外部网关协议(EGP,也称域间路由选择)
不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优的路径
BGP
特点
每个路由器都知道在本区域内如何把分组路由到目的地的细节,但不用知道其它区域的内部结构
使用交换信息的种类多,但也会使OSPF协议更加复杂
IPv4(IP版本4)
概述
IPv4即现在普遍使用的IP(版本4)
IP定义数据传送的基本单元——IP分组及其确切的数据格式
IP也包括一套规则,指明分组如何处理、错误怎样控制
包含非可靠投递的思想,以及与此关联的分组路由选择的思想
IPv4分组
IPv4分组格式
版本:占4位,通信双方版本必须一致,指IP版本,目前广泛使用的版本号是4
首部长度:占4位,基本单位为4B,最大值为60B(15✖4B)最常用的首部长度是20B
总长度:占16位(2B),基本单位为1B,指首部和数据之和的长度最大长度为65535B
标识:占16位(2B),是一个计数器,产生IP数据报的标识,用于保证数据报片能够正确组装成原来的数据报
标志:占3位,最低位MF=1代表分片,中间位DF=0代表可以分片
片偏移:占13位,以8字节为偏移单位,即每个分片的长度是8B(64位)的整数倍
生存时间(TTL):占8位,保证分组不会在网络中循环,每次路由转发分组前,先把TTL减1,若TTL被减为0,则该分组必须丢弃;是IP分组的保质期
协议:占8位,指出该分组使用的协议(6为TCP协议,17为UDP协议)
首部检验和:占16位,只校验分组的首部,不校验数据部分
源地址字段:占4B,标识发送方的IP地址
目的地址字段:占4B,标识接收方的IP地址
IP数据报分片
最大传送单元(MTU):数据报能承载的最大数据量
MTU
以太网:1500B
广域网:一般不超过576B
分片:当数据报长度大于链路MTU时,就要对其进行分片传输
分片会在目的地进行组装,不会在中间路由处进行组装
标志位含义
MF(more fragment):为1代表进行了分片
DF(don't fragment):为0时,才可以进行分片
网络层转发分组流程
提取目的主机的IP地址
直接交付或者根据路由表进行转发交付
若找不到目标路由就发送给默认路由
如果最后没有转发成功,就报告转发分组出错
IPv4地址与NAT
IPv4地址
IP地址:连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符
分类
A类地址(1~126):网络号为前面8位,并且第一位规定为0。最大可用网络数为2⁷-2,每个网络中最大主机数为2²⁴-2。
B类地址(128~191):网络号为前面16位,并且前面2位规定为10。最大可用网络数为2¹⁴-1,每个网络中最大主机数为2¹⁶-2。
C类地址(192~223):网络号为前面24位,并且前三位规定为110。最大可用网络数为2²¹-1,每个网络中的最大主机数为2⁸-2。
D类地址(224~239)
E类地址(240~255)
组成部分
网络号:标志主机(或路由器)所连接到的网络
主机号:标志该主机(或路由器)
特殊含义地址
主机号全为0表示本网络本身,如202.98.174.0
主机号全为1表示本网络的广播地址,又称直接广播地址,如202.98.174.255
127.0.0.0保留为环路自检(Loopback Test)地址,此地址表示任意主机本身,目的地址为环回地址的IP数据报永远不会出现在任何网络上
32位全为1,即255.255.255.255表示整个TCP/IP网络的广播地址,又称受限广播地址
32位全为0,即0.0.0.0表示本网络上的本主机
实际使用时,由于路由器对广播域的隔离,255.255.255.255等效为本网络的广播地址
IP地址特点
IP地址是一种分等级的地址结构
IP地址是标志一台主机(或路由器)和一条链路的接口
用转发器或桥接器连接的若干LAN仍然是同一个网络,该LAN中所有主机的IP地址的网络号必须相同,主机号必须不同。
所有分配到网络号的网络都是平等的
同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的
网络地址转换(NAT)
概念:将专用网络地址(如Intranet)转换为公用地址(如Internet),从而对外隐藏内部管理的IP地址。
优点
只需要一个全球IP地址就可以与因特网连通,由于专用网本地址IP地址是可重用的,所以NAT大大节省了IP地址的消耗
隐藏了内部网络结构,从而降低了内部网络受到攻击的风险
具体实现:本地地址的主机和外界通信时,NAT路由器使用NAT转换表将本地地址转换为全球地址,或将全球地址转换为本地地址
注意
普通路由器在转发IP数据报时,不改变其源IP地址和目的地址
NAT路由器在转发IP数据报时,一定要更换其IP地址
普通路由器仅工作在网络层
NAT路由器转发数据报时需要查看和转换传输层的端口号
子网划分与子网掩码、CIDR
子网划分
背景
两级IP地址的缺点
IP地址空间的利用率有时很低
两级的IP地址不够灵活
会使路由表变得太大而使网络性能变坏
概述:两级IP地址变成了三级IP地址
划分思路
子网划分纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络
从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特
IP地址={<网络号>,<子网号>,<主机号>}
先找到连接到本单位网络上的路由器,然后该路由器在收到IP数据报后,按目的网络号和子网号找到目的子网;最后把IP数据报直接交付给目的主机
注意
子网号全为0和全为1不能作为主机号
全为0为本网络号,全为1为子网的广播地址
子网掩码
使用子网掩码来表达对原网络中主机号的借位
分类
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
使用子网掩码情况
一台主机在设置IP地址的同时必须设置子网掩码
同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码
路由表中必须包含目的网络地址、子网掩码、下一跳地址
无分类域间路由选择(CIDR)
概述:无分类域间路由选择是在变长
特点
消除了传统A、B、C类地址及子网划分的概念,因而可以更有效地分配IPv4的地址空间
IP={<网络前缀>,<主机号>}
将网络前缀都相同的连续IP地址组成:CIDR地址块;一个CIDR地址块可以表示很多地址,这种地址的聚合称为路由聚合或构成超网。
网络前缀越短,其地址块所包含的地址数就越多。
优点
有利于减少路由器之间的路由选择信息的交换,提高网络性能
网络前缀长度具有灵活性
查找路由表使用的数据结构方法:二叉线索树
ARP、DHCP与ICMP
IP地址与硬件地址
概述
IP地址是网络层使用的地址,它是分层次等级的
硬件地址是数据链路层使用的地址(如MAC地址),它是平面式的
在网络层及网络层之上使用IP地址,IP地址放在IP数据报的首部,而MAC地址放在MAC帧的首部
数据链路层看不见数据报分组中的IP地址
具体关系:在网络层中的路由器相互传输时使用IP地址,当到达目标网络后,使用MAC地址查找目标物理主机
路由器
拥有多个IP地址
拥有多个硬件地址
注意:路由器不仅有多个IP地址,也有多个硬件地址。
地址解析协议(ARP)
作用:实现IP地址到MAC地址的映射
ARP表:每台主机都设有一个ARP高速缓存,用来存放本局域网上各路主机和路由器的IP地址到MAC地址的映射表
可能出现的情况
发送方是主机时,要把IP数据报发送到本网络上的另一台主机;这时用ARP找到目的主机的硬件地址
发送方是主机时,要把IP数据报发送到另一个网络上的另一台主机;这时用ARP找到本网络上一个路由器的硬件地址,剩下的工作由这个路由器来完成
发送方是路由器时,要把IP数据报转发到本网络上的一台主机;这时用ARP找到目的主机的硬件地址
从IP地址到硬件地址的解析是自动进行的,主机的用户并不知道这种地址解析过程。
动态主机配置协议(DHCP)
概述
常用于给主机动态地分配IP地址
提供了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取IP地址,而不用手工参与
DHCP是应用层协议,它是基于UDP的
实现过程
DHCP客户机广播“DHCP发现”消息,试图找到网络中的DHCP服务器
DHCP服务器收到“DHCP发现”消息后,向网络广播“DHCP提供”消息。其中包括提供DHCP客户机的IP地址和相关配置信息
DHCP客户机收到“DHCP提供”消息后,如果接收DHCP服务器所提供的相关参数,那么通过广播“DHCP请求”消息向DHCP服务器请求提供IP地址
DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机
作用:常用于给主机动态地分配地址,提供了即插即用的联网机制。
注意
DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址
DHCP的客户端和服务器端需要通过广播方式来进行交互
网际控制报文协议(ICMP)
目的:为了提高IP数据报交付成功的机会,在网络层使用了网际控制报文协议(ICMP)来让主机或路由器报告差错和异常情况
种类
ICMP差错报告报文
终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文
源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢
时间超过:当路由器收到生存时间(TTL)为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文
参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文
改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)
ICMP询问报文的分类
回送请求和回答报文
时间戳请求和回答报文
前两种最常用
掩码地址请求和回答报文
路由器询问和通告报文
不应发送ICMP差错报告报文的几种情况
对ICMP差错报告报文不再发送
对第一个分片的数据报片的所有后续数据报片都不发送
对具有组播地址的数据报都不发送
对具有特殊地址(127.0.0.0或0.0.0.0)的数据报不发送
ICMP的应用
分组网间探测PING
测试两台主机之间的连通性
使用了ICMP回送请求和回答报文
Traceroute
用来跟踪分组经过的路由
使用了ICMP时间超过报文
IPv6
IPv6的主要特点
IPv6从根本上解决了IP地址耗尽问题,缓解方法是超网聚合、网络地址转换(NAT)等
10个主要特点
更大的地址空间,IPv6将地址从IPv4的32位增加到了128位
扩展的地址层次结构
灵活的首部格式,扩展了首部
改进的选项
允许协议继续扩充
支持即插即用(即自动配置)
支持资源的预分配
从一般意义上说,IPv6不允许类似IPv4的路由分片
首部长度必须是8B的倍数,IPv4的首部是4B的整数倍
增大了安全性
IPv6地址
基本地址类型
单播:传统的点对点通信
多播:一点对多点的通信,分组被交付到一组计算机的每台计算机。
任播
这是IPv6增加的一种类型
任播目的站是一组计算机,但数据报只交付其中的一个,通常是距离最近的一台计算机
IPv6地址缩写
当16位域的开头有一些0时,可以采用一种缩写表示法,但在域中必须至少有一个数字
当有相继的0值域时,还可以进一步缩写;这些域可以用双冒号缩写(::)
IPv4向IPv6过度
双协议栈:双协议栈技术是指一台设备上同时装有IPv4和IPv6协议栈,那么这台设备既能和IPv4网络通信,又能和IPv6网络通信
隧道技术:将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可以在IPv4网络的隧道中传输
路由协议
自治系统(AS)概述
单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由
同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由
域内路由与域间路由
内部网关协议(IGP,域内路由选择)
在一个自治系统内部使用的路由选择协议
目前该路由选择协议使用得最多,如RIP和OSPF
外部网关协议(EGP,域间路由选择)
源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时(两个自治系统可能使用不同的IGP)需要使用一种协议将路由选择信息传递到另一个自治系统中
目前使用最多的外部网关协议是BGP-4
路由信息协议(RIP)
简介
内部网关协议(IGP)中最先得到广泛应用的协议
是一种分布式的基于距离向量的路由选择协议,其最大优点就是简单
实现
路由信息在相邻路由之间交换
距离基本单位为“跳”,每到达一个路由器为一跳
最多允许15跳,超过15跳即为不可到达
每30秒广播一次RIP路由更新信息,建立并维护路由表(动态路由表)
RIP协议中每个网络的子网掩码必须相同
RIP的特点
仅和相邻路由器交换信息
交换的信息是当前路由器所知道的全部信息,即自己的路由表。
按固定的时间间隔(如每隔30s)交换路由信息
RIP的优缺点
优点:实现简单、开销小、收敛过程较快。
缺点
限制了网络的规模,能使用的最大距离为15(16表示不可达)。
网络规模越大,开销也越大。
网络出现故障时,会出现慢收敛现象,俗称“坏消息传的慢”。
注意:RIP是应用层协议,它使用UDP传送数据。它是根据最少跳数进行路径选择的。
开放最短路径优先协议(OSPF)
简介:使用分布式链路状态路由算法的典型,也是内部网关协议(IGP)的一种
实现
OSPF向本自治系统中的所有路由器发送信息,这里使用的方法是洪泛法
已发送信息是与本路由器相邻的所有路由器的链路状态
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛的快
OSPF是网络层协议,它不使用UDP或TCP,而直接用IP数据报传送
特点
OSPF对不同的链路可根据IP分组的不同服务类型(TOS)而设置成不同的代价
OSPF对不同类型的业务可计算出不同的路由,十分灵活
负载平衡:如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径
所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息
支持可变长度的子网划分和无分类编址CIDR
每个链路状态都带上一个32位的序号,序号越大,状态就越新
使用迪杰斯特拉算法
使用洪泛法,就像水波一样,相互交互路由表信息
分组类型
问候分组,用来发现和维持邻站的可达性
数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
链路状态请求分组,向对方请求发送某些链路状态状态项目的详细信息
链路状态更新分组,用洪泛法对全网更新链路状态
链路状态确认分组,对链路更新分组的确认
边界网关协议(BGP)
简介
是不同自治系统的路由器之间交换路由信息的协议,是一种外部网关协议
边界网关协议常用于互联网的网关之间
BGP采用的是路径向量路由选择协议
应用层协议,基于TCP
工作原理
每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”
一个BGP发言人与其它自治系统中的BGP发言人要交换路由信息,先建立TCP连接
再利用BGP会话交换路由信息
所有BGP发言人都相互交换网络的可达性的信息后,各BGP发言人就可以找出到达各个自治系统的较好路由
特点
交换路由信息的结点数量级是自治系统的数量级,要比自治系统中的网络数少很多。
每个自治系统中BGP发言人(或边界路由器)的数目是很少的,这使得自治系统之间的路由选择不过分复杂。
BGP支持CIDR,所以路由表应包括目的网络前缀、下一跳路由器和到达该目的网络所要经过的各个自治系统序列。
BGP刚运行时,BGP的邻站交换整个路由表,以后只需发生变化时更新有变化的部分。
报文类型
打开(Open)报文:用来与相邻的另一个BGP发言人建立关系
更新(Update)报文:用来发送某一路由的信息,以及列出要撤销的多条路由
保活(Keeplive)报文:用来确认打开报文并周期性地证实邻站关系
通知(Notification)报文:用来发送检测到的差错
IP组播
组播的概念
概述
组播机制是让源计算机一次发送的单个分组可以抵达用一个组地标标识的若干目标主机,并被它们正确接收;组播仅应用于UDP
因特网中的IP组播也使用组播组的概念,每个组都有一个特别分配的地址,要给该组发送的计算机将使用这个地址作为分组的目标地址
实现过程
主机使用一个称为IGMP(因特网组管理协议)的协议加入组播组
使用该协议通知本网络上的路由器关于要接收发送给某个组播组的分组的愿望
通过扩展路由器的路由选择和转发功能,可以在许多路由器互联的支持硬件组播的网络上面实现因特网组播
优点:数据只需发送一次就可发送到所有接收者,大大减轻了网络的负载和发送者的负担
注意:组播需要路由器的支持才能实现,能够运行组播协议的路由器称为组播路由器
IP组播地址(使用D类地址格式)
组播数据报和一般的IP数据报的区别
组播数据报也是“尽最大努力交付”,不提供可靠交付
组播地址只能用于目的地址,不能用于源地址
对组播数据报不产生ICMP差错报文;因此,若在PING命令后面键入组播地址,将永远不会收到响应
并非所有D类地址都可作为组播地址
分类
只在本局域网上进行组播
在因特网的范围内进行组播
在因特网上进行组播的最后阶段,还是要把组播数据报在局域网上用硬件组播交付给组播组的所有成员
硬件地址的映射关系不是唯一的,因此收到组播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃
IGMP与组播路由算法
用途:利用因特网组管理协议(IGMP)要使路由器知道组播成员的信息
特点:IGMP是TCP/IP的一部分
工作阶段
第一阶段
主机加入新的组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明要成为该组的成员
本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其它组播路由器
第二阶段
本地组播路由器周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续时组的成员
响应结果
只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的
一个组在经过几次的探询之后仍然没有一台主机响应时,则不再将该组的成员关系转发给其他的组播路由器
实现因特网组播的路由算法
基于链路状态的路由选择
基于距离-向量的路由选择
协议无关的组播(PIM)(可以建立在任何路由器协议之上)
移动IP
移动IP的概念
支持移动性的因特网体系结构与协议共称为移动IP,它是为了满足移动结点(计算机、服务器、网段等)在移动中保持其连接性而设计的
移动IP的功能实体
移动节点:具有永久IP地址的移动节点
本地代理:一个移动节点的永久“居所”被称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体称为归属代理(本地代理);它根据移动用户的转交地址,采用隧道技术转交移动节点的数据报
外部代理:在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理,是移动节点漫游链路的默认路由器
移动IP与动态IP
移动IP:移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何变化
动态IP:局域网中的计算机可以通过网络中的DHCP服务器动态地获得一个IP地址
移动IP的通信过程
移动节点在本地网时,按传统的TCP/IP方式进行通信。
移动节点漫游到一个外地网络时,仍使用固定的IP地址进行通信。
本地代理接收来自转交地址的注册后,构建一条通向转交地址的隧道,将截获的发给移动节点的IP分组通过隧道送到转交地址处。
在转交地址处解除隧道封装,恢复原始的IP分组,最后送到移动节点。
可以理解为呼叫转移
移动节点在外网通过外网的路由器或外部代理向通信对端发送IP数据报。
移动节点来到另一个外网时,只需向本地代理更新注册的转交地址,就可继续通信。
移动节点回到本地网时,向本地代理注销转交地址,这时移动节点又将使用传统的TOP/IP方式进行通信。
总结:移动IP为移动主机设置了两个IP地址,即主地址和辅地址(转交地址)。移动主机在本地网使用主地址,移动到另一个网络时需要获得一个临时的辅地址,但此时主地址不变。从外网回本地网时,辅地址改变或撤销,主地址仍然不变。
网络层设备
路由器的组成和功能
基本描述:路由器是一种具有多个输入/输出端口的专用计算机
任务:连接不同的网络(连接异构网络)并完成路由转发
功能;可以隔离广播域
重点:不同层次的设备隔离不同的域
集线器:不隔离
网桥:隔离碰撞域(所以有广播风暴)
路由器:隔离广播域
工作过程
源主机和目标主机在同一个网络上,那么直接交付而无需通过路由器
源主机和目的主机不在同一网络上,路由器按照转发表指出的路由将数据报转发给下一个路由器,即间接交付
功能组成
路由选择部分(控制部分)
核心构件:路由选择处理机
任务
根据所选定的路由选择协议构造出路由表
和其它相邻路由器交换路由信息然后更新和维护路由表
分组转发部分
交换结构
根据转发表对分组进行处理,将从输入口进入的分组从一个合适的输出端口转发出去
三种常用交换方法:通过存储器进行交换、通过总线进行交换和通过互联网络进行交换。
一组输入端口:从物理层接受到的比特流中提取出数据链路层帧,进而从帧中提取出网络层数据报
一组输出端口:将数据报变为比特流发送到物理层
注意:如果一个存储转发设备实现了某个层次的功能,那么它就可以互联两个在该层次上使用不同协议的网段(网络)
功能
分组转发
处理通过路由器的数据流
转发表查询、转发及相关的队列管理和任务调度
路由计算
通过和其它路由器进行基于路由协议的交互,完成路由表的计算
路由器和网桥区别
网桥与高层协议无关
路由器是由面向协议的,依据网络地址进行操作,并进行路径选择、分段、帧格式转换、对数据报的转换的生存时间和流量进行控制等
支持协议:OSI、TCP/IP、IPX等
路由表与路由转发
路由表功能:实现路由选择
路由表结构
目的网络IP地址
子网掩码
下一跳IP地址
接口
转发:路由器根据转发表把收到IP数据报从合适的端口转发出去,仅涉及一个路由器
路由选择:涉及很多路由器,路由表是许多路由器协同工作的结果
默认路由(路由表中)
目的:减少转发表的重复项目,使用一个默认路由代替所有具有相同”下一跳“的项目