计算机网络详解
2021-06-21 23:38:25 0 举报
AI智能生成
考研计算机网络全解
作者其他创作
大纲/内容
计算机网络详解
一、计算机网络体系结构
考纲内容
1、计算机网络概述
计算机网络的概念、组成与功能
计算机网络的分类
计算机网络的标准化工作与相关组织
2、计算机网络体系结构与参考模型
计算机网络分层结构
计算机网络协议、接口、服务等概念
ISO/OSI参考模型和TCP/IP模型
重点
基本概念,分层结构,相关协议,性能指标
计算机网络的概念
互联的、自治的计算机系统的集合,用于实现资源共享和信息传递。包含
分散、具有独立功能的计算机系统
通信设备和连接线路
功能完善的软件
从不同观点分类
1、广义观点
能够实现远程信息处理的系统或能进一步达到资源共享的系统,都是计算机网络。
这种观点定义在物理结构上具有计算机网络的雏形。
由于资源共享能力弱,是计算机网络发展的低级阶段。
2、资源共享观点
以能够相互共享资源的方式互联起来的自治计算机系统的集合。
三层含义
目的:资源共享。
组成单元:分布在不同地理位置的多台独立的“自治计算机”。
必须遵循的统一规则--网络协议。
3、用户透明性观点
存在一个能为用户自动管理资源的,能够调用用户所需要的资源,对用户是透明的,如同一台超级计算机,用户无需了解网络的存在、资源的位置信息的网络。
观点的特点
分布式系统。
是未来网络发展追求的目标
计算机网络的组成
概念
计算机网络又称网络,由若干节点和链路组成
从组成部分上定义,包含
硬件
端系统主机
通信链路
双绞线,光纤
交换设备
路由器,交换机
通信处理机
网卡
软件
网络操作系统,各种系统应用
协议
协议是计算机网络的核心
从工作方式上定义,包含
核心部分
由大量的网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务。
数据交换方式
电路交换
报文交换
分组交换
边缘部分
由所有连接到因特网上、用户直接使用的主机组成。用来通信和资源共享
主机之间的通信方式
客户/服务器的方式(Client/Server方式C/S )
对等方式(Peer-to-Peer方式P2P)
从功能组成上定义,包含
通信子网
包含
传输介质、通信设备、网络协议
作用
使网络具有数据传输、交换、控制和存储的能力
实现计算机之间的数据通信
资源子网
实现资源共享功能的设备及其软件的集合
向用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。
计算机网络的功能
1、数据通信
实现联网的计算机之间的传输,并将不同地理位置的计算机进行统一的调配、控制和管理
2、资源共享
软件共享、数据共享、硬件共享,提高网络资源的利用率
3、分布式处理
将任务分配给网络中的其他计算机系统,利用空闲计算机资源以提高整个系统的利用率。
4、提高可靠性
计算机网络中的各台计算机可以通过网络互为替代机
5、负载均衡
将工作任务均衡分配给计算机网络中的各台计算机。
还能满足巨大的社会需求
1、按照分布范围分类
广域网
长距离传输,覆盖范围几十千米到几千千米的区域。
广域网是因特网的核心部分。具有高速链路,较大的通信容量。
城域网
覆盖范围为5-50km
大多采用以太网技术,也经常被并入局域网的范围
局域网
一般用微机或工作站通过高速链路相连。覆盖范围较小,通常为几十米到几千米的区域。
传统上局域网使用广播技术,而广域网使用交换技术。
个人区域网
个人的电子设备用无线技术连接起来的网络。
注意:若中央处理器之间的距离非常近(如仅1m的数量级或甚至更小,则一般就称之为多处理器系统,而不称它为计算机网络)
2、按照传输技术分类
广播式网络。
原理
所有联网计算机都共享一个公共通信信道。
计算机利用共享通信信道发送报文分组时,所有其他的计算机都会接收到这个分组。
接收到这个分组的计算机将通过检查目的地址来决定是否接收该分组。
状况
局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信也采用广播式通信技术。
点对点网络。
每条物理线路连接一对计算机。
如果两台通信的主机没有直接的物理线路连接,会通过中间节点的接收、存储和转发,直至目的的节点。
是否采用分组存储转发与路由选择机制是点对点式网络与广播网络的重要区别,广域网基本都属于点对点网络。
3、按照拓扑结构分类
网络拓扑结构是指网中节点(路由器、主机等)与通信线路(网线)之间的几何关系
主要是指通信子网的拓扑结构。
按照网络的拓扑结构分类
总线型和环型多用于局域网,网状型网络多用于广域网
1、总线型网络
使用单根传输线把计算机连接起来。
特点
优点
建网容易、增减节点方便,节省线路。
缺点
重负载时通信效率不高、对总线的故障敏感。
2、星型网络
每个终端或计算机都以单独的线路与中央设备相连。
中央设备早期是计算机,现在一般是交换机或路由器
星型网络便于集中管理和控制,因为端用户之间的通信必须通过中央设备。
成本高、中心节点对故障敏感。
3、环形网络
所有的计算机接口设备连接成一个环。比如令牌环局域网。
环可以是单环,也可以是双环。
环中的信号是单向传输的。
4、网状型网络
每个节点至少有两条路径与其他节点相连,多用于广域网,
有规则型和非规则型
可靠性高
控制复杂、线路成本高
4、按照使用者分类
公用网
指电信公司建造的大型网络,缴纳费用的用户可以使用。
专用网
指某个部门为满足本单位特殊业务的需要而建造的网络。比如铁路、电力、军队等部门的专用网络。
5、按照交换技术分类
交换技术是指各台主机之间,各通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。
分类
电路交换网络
需要一条专用的物理通路来保证双方通信的通信资源。
必须通过
经过三个步骤的交换方式称为电路交换
1、建立连接(开启通信资源)
2、通话(一直占用通信资源)
3、释放连接(归还通信资源)
交换
就是按照某种方式动态地分配传输线路的资源。
主要特点
当通信资源不足时,用户必须结束通信,等由空闲的通信资源时,再重新拨号。
用户建立连接后,用户独占的传送模拟信号的专用线路。
在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
图示
由于通信线路被占用,传输的资源利用率有比较低,因此又会导致线路的传输效率比较低。
报文交换网络
报文
将通信的数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文,通常把要发送的整块数据称为报文(message)。
报文到达一个节点时,经过存储转发,到下一个节点,按照此规律直到到达目的地。
每个报文可以单独选择到达目的地的不同结点路径
报文交换网路也可以成为存储-交换网络
流程
1、先将报文传至邻近的节点,然后存储。
2、查找转发表。转发到下一个节点。
优劣
可以比较充分地利用线路容量
可以实现不同的链路之间的不同数据率的转换,可以实现格式转换。
可以实现一对多,多对一的访问。
可以是实现差错控制。
增大了资源的开销(如辅助信息报文头导致处理时间和存储资源的开销)
增加了缓冲时延,需要额外的控制机制保证多个报文的顺序不乱序,缓冲区很难管理(因为报文的大小不确定,接收方的接收到报文之前不能预知报文的大小)。
分组交换网络
分组交换网络,也称包交换网络。将数据分成较短的固定长度的数据块。
每个数据段为1024bit.
每个数据段前面,加上必要的控制信息组成的首部,构成一个分组。
分组又称为“包”,而分组的首部也可称为“包头”
分组是互联网中传送的数据单元。
包头包含了目的地地址和源地址,可以在互联网中独立的传输,并正确地到达终点。
每个数据块中加上目的地址、源地址等辅助信息组成分组(包)
每个包通过存储-转发方式传输。
单个分组(报文的一部分)传送到相邻结点,存储后查找转发表,转发到下一个结点。
具备报文交换网络的优点
有利于缓冲的管理
包的平均时延更小,网络占用的平均缓冲区更小
更有利于标准化
更适合应用。现在的主流网络基本上都可以视为交换网络。
问题
分组在各个路由器存储转发时需要排队,这回造成一定地时延。
无法确保端到端所需要地宽带。
各个分组携带地控制信息也造成了一定地开销。
整个分组交换网还需要专门地管理和控制机制。
电路交换、报文交换和分组交换的主要区别
区别
电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
分组交换:单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率
信道(channel)是指以传输媒体为基础的信号通路(包括有线或无线电线路),其作用是传输信号。
由千一个分组的长度往往远小千整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
6、按照传输介质分类
传输介质分类
有线介质
无线介质
有线网络
双绞线网络
同轴电缆网络
无线网络
蓝牙
微波
无线电
计算机网络的标准化工作及相关组织
因特尔地所有标准都以RFC(Request For Comments)地形式在因特尔上发布
RFC称为正式标准需要经过4个阶段
因特网草案(Internet Draft)
建议标准(Proposed Standard)
草案标准(Draft Standard)
因特网标准(Internet Standard)
各种RFC之间地关系
相关组织
国际标准化组织(ISO)
国际电信联盟(ITU)
国际电气电子工程协会(IEEE)
计算机网络的性能指标
1. 速率(Speed)
指连接到计算机网络上地主机在数字信道上传送数据地速率,也称为数据率或比特率
当数据率较高时,就常常在bit/s 的前面加上一个字母。例如, k (kilo)= 103 =千, M (Mega) = 106 =兆, G (Giga) = 109 =吉, T(Tera)= 1012 =太, P (Peta)= 1015 =拍, E (Exa) = 1018 =艾, Z (Zetta)= 1021 =泽, Y (Yotta)= 1024 =尧
2. 带宽(Bandwidth)
在计算机网络中,带宽表示网络的通信线路所能传递数据的能力
在通信网络上,带宽表示通信线路允许通过的信号频带范围,单位是Hz
是数字信道所能传递的“最高数据率”的同义语,单位是比特/秒(b/s)
3. 吞吐量(Throughput)
吞吐量表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。
吞吐量受网络的带宽或网络的额定速率的限制。
吞吐量还可以用每秒传送的字节数或帧数来表示。
4. 时延(Delay)
时延(delay 或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
也称为延迟或迟延。
不同的部分组成
(1) 发送时延
发送时延(transmission delay)是主机或路由器发送数据帧所需要的时间
也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
发送时延的计算公式:
发送时延=数据帧长度(bit)/发送速率(bit/s)
发送时延=信道长度/信道宽度
(2) 传播时延
传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。
一个比特从链路的一端传播到另一端所需的时间。
信号传送的距离越远,传播时延就越大。
电磁波在网络传输媒体中的传播速率比在自由空间要略低一些
在铜线电缆中的传播速率约为2.3 X 105 km/s
在光纤中的传播速率约为2.0 X 105 km/s
计算公式
传播时延=信道长度/电磁波在信道上的传播速率
(3) 处理时延
数据在交换节点为存储转发而进行的一些必要的处理所花费的时间。
例如
分析分组的首部
从分组中提取数据部分
进行差错检验或查找适当的路由等
(4) 排队时延
分组在进入路由器后要先在输入队列中排队等待处理。
确认转发端口后,还要在输出队列中排队等待转发
总时延
总时延=发送时延+传播时延+处理时延+排队时延
降低总时延时,要考虑哪种时延占比比较大。然后针对性的降低。
5. 时延带宽积
指发送端发送的第一个比特即将到达终点时,发送端已经发送了多少个比特
又称为以比特为单位的链路长度。
公式
时延带宽积=传播时延*信道宽带
所要表达的意思是:传输线路所能承载的数据量
指从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。
往返时延还包括个中间节点的处理时延、排队时延及转发数据时的发送时延。
有效速率公式
有效速率=数据长度/(发送时间+RTT)
7. 利用率
信道利用率
指出某一信道又百分之多少的时间是有数据通过的
信道利用率 = 有数据通过时间/(有+无)数据通过时间
网络利用率
网络利用率则是全网络的信道利用率的加权平均值。
信道利用率并非越高越好
根据排队论的理论,当某信道的利用率增大时,该信道引起的时延也就迅速增加。
在网络通信量不断增大的情况下,由千分组在网络结点(路由器或结点交换机)进行处理时需要排队等候,因此网络引起的时延就会增大。
网络当前的时延计算公式
时延与利用率的关系
当网络的利用率接近最大值1 时,网络的时延就趋于无穷大。
信道或网络的利用率过高会产生非常大的时延。
一些拥有较大主干网的ISP 通常控制信道利用率不超过50% 。如果超过了就要准备扩容,增大线路的带宽。
计算机网络的非性能特征
1. 费用
2. 质量
3. 标准化
4. 可靠性
5. 可扩展性和可升级性
6. 易千管理和维护
1、计算机网络分层结构
计算机网络的体系结构通常都是具有可分层的特性
分层的基本原则
1、每层都实现一种相对独立的功能,降低大系统的复杂度。
2、各层之间界面自然清晰,易于理解,相互交流尽可能少
3、各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
4、保持下层对上层的独立性,上层单向下层提供的服务。
5、整个分层结构应能够促进标准化工作。
分层带来的优势
1、各层之间是独立的
2、灵活性能好
3、结构上可分隔开
4、易于实现和维护。
5、能促进标准化工作
分层的相关概念
第n层的实体不仅要使用第n-1层的服务来实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。
最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。
上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务;下一层所提供服务的实现细节对上一层透明。
两台主机通信时,对等层在逻辑上有一条直接通道,但实际上是要通过层级之间的接口。
对等层
在计算机网络分层结构中,不同机器上的同一层称为对等层。
数据单元
每一层都有自己传送的数据单元,其名称、大小、含义也各有不同。
物理层称为:比特
链路层称为:帧
网络层称为:分组
传输层称为:报文
每种数据单元分为两部分
数据部分:SDU
控制信息部分:PCI
两者组成PDU
服务数据单元SDU
为完成用户所需要的功能而应该传送的数据。
第n层的服务数据单元记为n-SDU
协议控制信息PCI
控制协议操作的信息。第n层的协议控制信息记为n-PCI
协议数据单元PDU
对等层之间传递的数据单元称为PDU,第n层的协议数据单元记为n-PDU .
各层间传输数据时,把从第n+1层收到的PDU作为第n层的SDU
三者的关系是
n-SDU+n-PCI=n-PDU=(n-1)-SDU
2、计算机网络的实体、协议、接口、服务和服务访问接口的概念
实体
表示任何可以发送或接收信息的硬件或软件进程。,实体就是一个特定的软件模块。
在计算机网络分层结构中,不同机器上的同一实体层称为对等层。
网络协议(network protocol)
为进行网络中的数据交换而建立的规则、标准或约定
协议是控制两个对等实体(或多个实体)进行通信的规则的集合。
在协议控制下,两个对等实体间的通信使得本层能够向上一层提供服务
并且要实现本层协议,需要使用下层所提供的服务。
网络协议的三要素
(1) 语法,即数据与控制信息的结构或格式;
(2) 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3) 同步,即事件实现顺序的详细说明。
一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能
通常各层协议所要完成的功能主要有以下一些(可以只包括一种,也可以包括多种):
差错控制
使相应层次对等方的通信更加可靠。
流量控制
发送端的发送速率必须使接收端来得及接收,不要太快。
分段和重装
发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
复用和分用
发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
连接建立和释放
交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
协议是水平的,是属于实体的。服务是垂直的,用来传递到上下层接口的
接口
同一节点内相邻两层间交换信息的连接点,不能跨层定义接口。
服务访问点
在同一系统中相邻两层的实体进行交互(即交换信息)的地方
是一个逻辑的接口。
和设备之间的硬件接口是不一样的。
服务
指下层为相邻的上层提供的功能调用,他是垂直的。
上层使用下层所提供的服务时,需要与下层交换一些命令。
这些命令在OSI中称为服务源语
OSI将服务源语分为4类
请求(Request)
由服务用户发往服务提供者,请求完成某项工作。
指示(Indication)
由服务提供者发往服务用户,指示用户做某件事情
响应(Response)
由服务用户发往服务提供者,对指示做出响应。
证实(Confirmation)
由服务提供者发往服务用户,作为对请求的证实。
四者的关系
计算机网络提供的服务三种分类
1、面向连接服务与无连接服务
连接服务
通信前双方必须建立连接,分配相应的资源(如缓冲区),传输结束后释放连接和所占用的资源。
这种服务有三步
连接建立
数据传输
连接释放
TCP就是一种面向连接服务地协议
无连接服务
通信前双方不需要建立连接。直接发送数据,传送到线路上,有系统选定路线进行传输。是一种不可靠服务
IP、UDP就是一种无连接服务地协议。
2、可靠服务和不可靠服务
可靠服务
指网络具有纠错、检错、应答机制,保证数据正确、可靠地传送到目的地。
可靠传输建立会话
不可靠服务
指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地。
不可靠服务地正确性、可靠性要由应用或用户来保证
用户把出错地信息报告给信息地发送者,用来纠正
不可靠传输不建立会话
3、有应答服务和无应答服务
有应答服务
指接收方在收到数据后向发送方给出相应地应答,该应答有传输系统内部自动实现,而不由用户实现。
肯定应答
否定应答
无应答服务
指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。
WWW服务,客户端收到服务器发送地页面文件后,不给出应答
注意:
这四类源语,用于不同的功能,如建立连接、传输数据和断开连接。
有些应答服务包括全部4类源语,而无应答服务则只有请求和指示两类源语。
服务与协议的关系
首先
只有本层协议的实现才能保证向上一层提供服务。
本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。
协议是水平的,即协议是控制对等实体之间通信的规则。
其次
协议是水平的,即协议是控制对等实体之间的通信规则。
服务是垂直的,即服务是由下层通过层间接口向上提供。
另外
并非在一层内完成的全部功能都称为为服务。只有那些能够被高一层实体看见的功能才能叫做服务
3、ISO/OSI参考模型和TCP/IP模型
1、OSI参考模型
OSI有7层
自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
低三层统称为通信子网, 它是为了联网而附加的通信设备, 完成数据的传输功能;
三层统称为资源子网, 它相当于计算机系统, 完成数据的处理等功能。
传输层承上启下。
层次结构图
各层功能
(1)物理层 (Physical Layer)
物理层的传输单位是比特, 任务是透明的传输比特流, 功能是在物理媒体上为数据端设备透明地传输原始比特流。
物理层定义了
的物理与逻辑连接方法
数据终端设备(DTE)
数据通信设备(DCE)
物理层协议也称物理层接口标准。
也称物理层规程
物理层主要研究
1、通信链路与通信结点的连接需要一些电路接口。 物理层规定了这些接口的协议
机械形状和尺寸
交换电路的数量和排列
2、物理层也规定了通信链路上传输的信号的意义和电气特征
(2) 数据链路层 (Data Link Layer)
数据链路层的传输单位是帧, 任务是将网络层传来的IP数据报组装成帧。
功能
成帧、差错控制、流量控制和传输管理
数据链路层将网络层叫下来的IP数据报组装成帧。
每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制)
广播式网络在数据链路层还要处理新的问题, 即如何控制对共享信道的访问。
数据链路层的一个特殊的子层-介质访问子层,就是专门处理这个问题的。
协议应用
典型的数据链路层协议有 SDLC、 HDLC、 PPP、 STP 和帧中继等。
(3)网络层 (Network Layer)
网络层的传输单位是数据报
对分组进行路由选择
就是根据网络的情况,利用相应的路由算法计算出一条合适的路径。
实现流量控制
协调发送端发送速率和接收端的接收速率
拥塞控制
结点处于来不及接收分组而要丢弃大量分组的情况,那么网络就处千拥塞状态
网络层要采取一定的措施来缓解这种拥塞,这就是拥塞控制。
通信两节点之间约定的特定检错规则。
比如奇偶校验码
接收方根据这个规则检查接收到的分组是否出现差错
那么能纠错就纠错,不能纠错就丢弃,确保向上 层提交的数据都是无误的。
网际互联
网络层的协议有IP、IPX、ICMP、IGMP、ARP、RARP和OSPF等。
(4)传输层(TransportLayer)
传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),
输层负责主机中两个进程之间的通信
功能是为端到端连接提供可靠的传输服务
端到端连接提供流量控制、差 错控制、服务质量、数据传输管理等服务。
传输层具有复用和分用的功能
复用是指多个应用层进程可同时使用下面传输层的服务。
分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。
传输层与数据链路层的差异
数据链路层提供的是点到点的通信,传输层提供的是端到端的通信
点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或IP地址标识的
端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称端到端通信。
传输层的协议有TCP、UDP。
(5)会话层(SessionLayer)
描述
会话层允许不同主机上的各个进程之间进行会话。
会话层利用传输层提供的端到端的服务, 向表示层提供它的增值服务。
这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)。
会话层负责管理主机间的会话进程,包括建立、管理及终止进程间的会话。
会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。
(6)表示层(PresentationLayer)
表示层主要处理在两个通信系统中交换信息的表示方式。
不同机器采用的编码和表示方法不同,使用的数据结构也不同。
比如视频的压缩传送
为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。
数据压缩、加密和解密也是表示层可提供的数据表示变换功能。
(7)应用层(ApplicationLayer)
应用层是OSI模型的最高层,是用户与网络的界面。
应用层为特定类型的网络应用提供访问OSI环境的手段。
用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的层,使用的协议也最多。
典型的协议有用千文件传送的FTP、用千电子邮件的SMTP、用千万维网的HTTP等。
2.TCP/IP模型
模型从低到高依次为网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、 表示层和应用层)。
TCP/IP由千得到广泛应用而成为事实上的国际标准。TCP/IP的层次结构及各 层的主要协议如图
分层
网络接口层
类似于 OSI 的物理层和数据链路层
络接口层的作用是从主 机或结点接收1P分组,并把它们发送到指定的物理网络上。
网际层(主机-主机)
TCP/IP 体系结构的关键部分
它和 OSI 网络层在功能上非常相似。 网际层将分组发往任何网络, 并为之独立地选择合适的路由,但它不保证各个分组有序地到达, 各个分组的有序交付由高层负责。
传输层(应用-应用或进程-进程)
功能 同样和 OSI 中的传输层类似, 即使得发送端和目的 端主机上的对等实体进行会话。
使用两种协议
它是面向连接的,数据传输的单位是报文段,能够提供可靠的交付。
它是无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供 “尽最大努力交付"。
应用层(用户-用户)
包含所有的高层协议
如虚拟终端协议 (Telnet)、文件传输协议 (FTP)、 域名解析服务 (DNS)、电子邮件协议 (SMTP) 和超文本传输协议 (HTTP)。
3.TCP/IP模型与OSI参考模型的比较
TCP/IP模型与OSI参考模型相似之处
首先,二者都采取分层的体系结构,将庞大且复杂的问题划分为若干较容易处理的、 范围较小的问题,而且分层的功能也大体相似。
其次,二者都是基千独立的协议栈的概念。
最后, 二者都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信。
TCP/IP模型与OSI参考模型差别
一
1、OSI 参考模型的最大贡献就是精确地定义了三个主要概念: 服务、 协议和接口
面向对象程序设计思想非常吻合
TCP/IP 模型在这三个概念上却没有明确区分
不符合软件工程的思想。
二
三
四
3、小结及疑难点
二、物理层
通信基础
信道、 信号、 带宽、 码元、 波特、 速率、 信源与信宿等基本概念奈奎斯特定理与香农定理 ;
编码与调制
电路交换、 报文交换与分组交换 ;数据报与虚电路
传输介质
双绞线、 同轴电缆、 光纤与无线传输介质;物理层接口的特性
物理层设备
中继器;集线器
1)通信基础
1、基本概念
1. 数据、 信号与码元
数据
数据是指传送信息的实体
数据传输方式可分为串行传输和并行传输
串行传输是指一 个一 个的比特按照时间顺序传输(出于经济上的考虑 , 远距离通信通常采用串行传输)
并行传输是指多个比特通过多条通信信道同时传输。
信号
信号是指数据的电气或电磁表现, 是数据在传输过程中的存在形式。
码元
指用一 个固定时长的信号波形(数字脉冲)表示一位k进制数字
时长内的信号称为K进制码元
时长称为码元宽度
1码元可以携带多个比特的信息量
代表不同离散数值的基本波形 , 是数字通信中数字信号的计量单位
在使用二进制编码时, 只有两种不同。的码元:一种代表0状态 ,另一种代表1状态。
“模拟的与数字的”
连续变化的数据 (或信号) 称为模 拟数据(或模拟信号)
取值仅允许为有限的儿个离散数值的数据(或信号)称为数字数据(或 数字信号)
2. 信源、 信道与信宿
发送端信源发出的信息需要通过变换器转换成适合于在信道上传输的信号, 而通过信道传输到接收端的信号先由反变换器转换成原始信息, 再发送给信宿。
数据通信是指数字计算机或其他数字终端之间的通信。
数据通信系统主要划分为信源、信道和信宿三部分。
信源
信源是产生和发送数据的源头。
信道
信道与电路并不等同, 信道是信号的传输媒介。
可视为一条线路的逻辑部件,用来表示向某个方向传送信息的介质
一条通信线路
包含一条发送信道
包含一条接受信道
按传输信号形式分类
传送模拟信号的模拟信道
传送数字信号的数字信道
按传输介质分类
无线信道
有线信道
信号的分类
基带信号
基带信号将数字信号l和0直接用两种不同 的电压表示,, 然后送到数字信道上传输(称为基带传输)。
宽带信号
宽带信号将基带信号进行调制后形成频分复用模拟信号, 然后传送到模拟信道上去传输(称为宽带传输)。
信宿
信宿是接收数据的终点。
噪声源
噪声源是信道上的噪声(即对信号的干扰)及分散在通信系统其他各处的噪声的集中表示。
通信双方的交互方式
1、单工通信
只有一个方向的通信二没有反方向的交互,仅需要一条信道。
无线电广播
电视广播
2、半双工通信
通信的双方都可以发送或接收消息,但任何一方不能同时进行发送和接收消息,需要两条信道
3、全双工通信
通信双方可以同时发送和接收信息, 也需要两条信道。
信道的极限容量是指信道的最高码元传输速率或信道的极限信息传输速率
3. 速率、 波特与带宽
速率
速率也称数据率, 指的是数据的传输速率, 表示单位时间内传输的数据量。
可以用码元传输速率和信息传输速率表示
l ) 码元传输速率
又称码元速率、调制速率、 波形速率或符号速率。
表示单位时间内数字通信系统所传输的码元个数(也可称为脉冲个数或信号变化的次数)
单位是波特 (Baud)
一波特表示数字通信系统每秒传输一个码元。
这里的码元可以是多进制的,也可以是二进制的,但码元速率与进制数无关。
Rb为码元传输速率,T为码元长度
2) 信息传输速率
又称信息速率、 比特率
表示单位时间内数字通信系统传输的二进制码元个数(即比特数), 单位是比特/秒 (b/s)。
两者之间的关系
波特和比特是两个不同的概念
码元传输速率也称调制速率、 波形速率或符号速率。
码元传输速率与信息传输速率在数量上却又有一定的关系。
若一个码元携带n比特的信息量, 则M波特率的码元传输速率所对应的信息传输速率为Mn比特/秒。
宽带
1、模拟信号系统中
2、数字设备中
在实际的网络中,宽带与数据率在数值上有互换的关系,常用来表示网络通信线路所能传输数据的能力。
4、失真
影响失真程度的因素
1、码元传输速率
2、信号传输距离
3、噪音干扰
4、传输媒体质量
图解
失真的现象
码间串扰
接收端收到的信号波形失去了码元之间清晰界限的现象。
码元的频率太高,导致接收端无法区分各个码元
2、奈奎斯特定理与香农定理
1. 奈奎斯特定理
又称奈氏准则
指出在理想低通( 没有噪声、 带宽有限) 的信道中, 极限码元传输率为2W波特, 其中W是理想低通信道的带宽, 单位为Hz 。 若用V表示每个 码元离散电平的数目(码元的离散电平数目是指有多少种不同的码元。
比如有16种不同的码元,则需要4 位二进制位, 因此数据传输率是码元传输率的4倍)。
极限数据率为
理想低通信道下的极限数据传输率=2Wlog2V (单位为b/s)
结论
l) 在任何信道中, 码元传输的速率是有上限的。
若传输速率超过此上限, 就会出现严重的码间串扰问题(指在接收端收到的信号波形失去了码元之间的清晰界限), 使得接收端不 可能完全正确识别码元。
2)\t信道的频带越宽(即通过的信号高频分量越多), 就可用更高的速率进行码元的有效传输。
3)奈氏准则给出了码元传输速率的限制, 但并未对信息传输速率给出限制, 即未对一个码 元可以对应多少个二进制位给出限制。
由于 码元的传输速率受奈氏准则的制约, 所以要提高数据的传输速率, 就必须设法使每个码 元携带更多个比特的信息量, 此时就需要采用多元制的调制方法。
2. 香农定理
香农(Shannon)定理给出了带宽受 限且有高斯白噪声干扰的信道的极限数据传输率, 当用 此速率进行传输时, 可以做到不产生误差。
香衣定理定义为
信道的极限数据传输率= (单位为b/s)
式中,W 为信道的带宽,S为信道所传输信号的平均功率,N为信道内部的高斯噪声功率。SIN 为信噪比, 即信号的平均功率与噪声的平均功率之比
信噪比= (单位为dB)
得出以下结论
1) 信道的带宽或信道中的信噪比越大, 信息的极限传输速率越高。
2)对一定的传输宽带和一定的信噪比,信息的传输速率的上限是确定的。
3)\t只要信息的传输速率低千 信道的极限传输速率, 就能找到某种方法来实现无差错的传输。
4)香农定理得出的是极限信息传输速率, 实际信道能达到的传输速率要比它低不少。
从香农定理可以看出, 若信道带宽W或信噪比SIN没有上限(实际信道当然不可能这样),则信道的极限信息传输速率也没有上限。
两者异同
奈氏准则只 考虑了带宽与极限码元传输速率的关系, 而香农定理不仅考虑到了带宽, 也考虑到了信噪比。 这从 另一个侧面表明, 一个码元对应的二进制位数是有限的。
两者的极限传输速率计算公式是不同的。
对于奈氏,要提高数据率,就要提高带宽/采用更好的编码技术。
对于香农,要提高数据率,就要提高宽带/信噪比。
3、编码与调制
数据无论是数字的还是模拟的,为了传输的目的都必须转变成信号。
编码
把数据变换为数字信号的过程称为编码。
调制
把数据变换为模拟信号 的过程称为调制。
根据传输信号分类
模拟信道(传输模拟信号)
数字信道(传输数字信号)
根据传输介质分类
信号是数据的具体表示形式,它和数据有一定的关系,但又和数据不同。
将数字信号1和0直接用不同的电压表示,再送到数字信道上传输(基带传输)
来自信源的信号
直接表达了要传输的信息的信号
将基带信号进行调制后形成的频分复用的模拟信号,再传送到模拟信号上传输(宽带传输)
把基带信号经过载波调制后,把信号的频率范围搬迁到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)
选择
传输距离近
采用基带传输,衰减小,信号不易发生变化。
传输距离远
采用宽带传输,衰减大,需要过滤出基带信号。
数字数据可以通过数字发送器转换为数字信号传输,也可以通过调制器转换成模拟信号传输;
同样,模拟数据可以 通过 PCM 编码器转换成数字信号传输,也可以通过放大器调制器转换成模拟信号传输。
就形成了下列4种编码方式。
四种编码方式
1、数字数据编码为数字信号
数字数据编码用千基带传输中,即在基本不改变数字数据信号频率的情况下,直接传输数字信号。
常用的编码方式
1、归零编码
在归零编码 (RZ) 中用高电平代表 l 、低电平代表 0(或者相反),每个时钟周期的中间均跳变到低电平(归零),接收方根据该跳变调整本方的时钟基准,这就为传输双方提供了自同步机制。 但是低电平占用了大部分带宽,造成了浪费,因此传输效率受到了一定的影响。
2、非归零编码
归零编码 (NRZ) 与 RZ编码的区别是不用归零,一个周期可以全部用来传输数据。NRZ编码无法传递时钟信号,双方难以同步,因此若想传输高速同步数据,则需要都带有时钟线。
3、反向非归零编码
反向非归零吗(NRZI)与NRZ编码的区别是用信号的翻转代表0,信号保持不变代表1.翻转的信号本身可以作为一种通知机制。这种编码方式集成了前两种编码的优点,既能传输时钟信号,又能尽量不损失系统宽带。USB2.0通信的编码方式就是NRZI编码。
4.曼切斯特编码
曼彻斯特编码 (Manchester Encoding) 将一个码元分成两个相等的间隔,前一个间隔为高电平而后一个间隔为低电平表示1;码元0的表示方式则正好相反。
也可以采用相反的规定。
在每个码元的中间出现电平跳变。
位中间的跳变既为时钟信号(用于同步),有作为数据信号
所占的频带宽度是原始基带宽度的两倍。
注意
以太网使用的编码方式是曼彻斯特编码。
5、差分曼彻斯特编码
6、4B/5B编码
将欲发送数据流的每4位作为一组, 然后按照4B/5B编码规则将其转换成相应的5位码。 5位码共32种组合, 但只采用其中的16种对应16种不同的4位码, 其他的16种作为控制码(帧的开始和结束、 线路的状态信息等)或保留。
编码效率为80%
2、数字数据编码为模拟信号
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字 信号, 分别对应千调制解调器的调制和解调过程。
基本的调制方法有如下几种
l) 幅移键控(ASK)
2)频移键控(FSK)
3)相移键控(PSK)
4)正交振幅调制(QAM)
在频率相同的前提下,将 ASK与PSK结合起来, 形成叠加信号。
(单位为 b/s)
图所示是二进制幅移键控、 频移键控和相移键控的例子。 2ASK中用载波有幅度和无幅 度分别表示数字数据的 “1\"和 “0\"; 2FSK中用两种不同的频率分别表示数字数据 “1\"和 “0\"; 2PSK中用相位0和相位兀分别表示数字数据的 “1\"和 “ O\
3、模拟数据编码为数字信号
这种编码方式最典型的例子是常用千对音频信号进行编码的脉码调制(PCM)。 它主要包括 三个步骤, 即采样、 量化和编码。(音频数字化)
采样定理:
在通信领域, 带宽是指信号最高频率与最低频率之差, 单位为Hz。
离散信号可以无失真地代表被采样的模拟数据。
采样频率也可以尽可能地大
l)采样是指对模拟信号进行周期性扫描, 把时间上连续的信号变成时间上离散的信号。
2)量化是把采样取得的电平幅值按照一定的分级标度转化为对应的数字值并取整数, 这样就把连续的电平幅值转换为了离散的数字量。
3)编码是把量化的结果转换为与之对应的二进制编码。
子主题
采样和量化的实质就是分割和转换。
4、模拟数据编码为模拟信号
为了实现传输的有效性, 可能需要较高的频率。 这种调制方式还可以使用频分复用(FDM)技术, 充分利用带宽资源。 电话机和本地局交换机采用模拟信号传输模拟数据的编码方式;模拟的声音数据是加载到模拟的载波信号中传输的。
4、电路交换、报文交换与分组交换
传送的数据量很大且其传送时间远大千呼叫时间时,采用电路交换较为合适。 端到端的通路由多段链路组成时,采用分组交换传送数据较为合适。从提高整个网络的信道利用率上看, 报文交换和分组交换优千电路交换, 其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式数据通信。
1、电路交换
通信双方独占(始终占用端到端的固定传输宽带)一条物理通信路径(由通信双方之间的交换设备和链路逐渐连接而成,中间可能通过许多结点),通信结束后才会被释放。电路交换技术分为三个阶段:连接建立、数据传输和连接释放。
1、通信时延小
通信线路专用,数据直达,传输数据的 时延非常小,特别是传输数据量较大时,优势非常明显
2、有序传输
双方通信时按发送顺序传送数据,不存在失序的问题。
3、没有冲突
全双工通信,通信双方拥有不同的信道,不会出现争用物理信道的问题。
4、适用范围广
电路交换既适用千传输模拟信号, 又适用千传输数字信号。
5、实用性强
通信双方之间的物理通路一旦建立, 双方就可以随时通信。
6、控制简单
电路交换的交换设备(交换机等)及控制均较简单。
1、建立连接时间长
电路交换的平均连接建立时间对计算机通信来说太长。
2、线路独占,使用效率低。
电路交换连接建立后, 物理通路被通信双方独占, 即使通信线路空闲, 也不能供其他用户使用, 因而信道利用率低。
3、灵活性差
只要在通信双方建立的通路中的任何一点出了故障, 因为没有存储功能,就必须重新拨号建立新的连接, 这对十分紧急和重要的通信是很不利的。
4、难以规格化
电路交换时, 数据直达, 不同类型、 不同规格、 不同速率的终端很难相互进行通信, 也难以在通信过程中进行差错控制。
电路建立后, 除源结点和目的结点外, 电路上的任何结点都采取 “直通方式 ” 接收数据和发送数据, 即不会存在存储转发所耗费的时间。
2、报文交换
概要
数据交换的单位是报文,报文携带有目标地址、 源地址等信息。报文交换在交换结点采用的是存储转发的传输方式。
报文是网络中交换与传输地数据单元,即站点一次性要发送地数据块。
报文包含了将要发送地完整地数据信息,其长短很不一致,且可变。
l)无须建立连接
报文交换不需要为通信双方预先建立一条专用独占的通信网络,不存在建立连接时延,用户可以随时发送报文。
2)动态分配线路
当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择一条合适的空闲线路, 将报文发送出去。
3)提高线路可靠性
如果某条传输路径发生故障, 那么可重新选择另一条路线。
4)提高线路利用率
通信双方不是固定独占一整条通信线路,而是不同时间一段一段地占有,提高线路地利用率。
5)提供多目标服务
一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
1、发送时延较大
由千数据进入交换结点后要经历存储、 转发这程, 因此会引起转发时延(包括接收报文、 检验正确性、 排队、 发送时间等)。
2、设备需要较大地存储空间
报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间。
注意:报文交换主要使用在早期的电报通信网中, 现在较少使用, 通常被较先进的分组交换方式所取代。
3、分组交换
同报文交换一样, 分组交换也采用存储转发方式,但解决了报文交换中大报文传输的问题。 分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,一般选128B,再加上一些必要的控制信息(如源地址、 目的地址和编号信息等), 构成分组(Packet)。
网络结点根据控制信息把分组送到下一结点,结点收到分组后,保存并排队等待传输,然后根据分组控制信息选择它地下一结点,直到到达目的地。
1、无建立时延
不需要建立一条通信双方专用地通信网络,没有建立连接时延,随时发送分组。
2、线路利用率高
3、简化存储管理(相对于报文交换)
分组地长度大小固定,相应设备地缓冲区地大小也固定。
在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
4、加速传输
分组是逐个传输的, 可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线方式减少了报文的传输时间
传输一个分组所需的缓冲区比传输 次报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的概率及时间也 必然少得多。
5、减少出错概率和重发数据量
因为分组较短, 其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性, 也减少了传输时延。
l)存在传输时延。
尽管分组交换比报文交换的传输时延少, 但相对于电路交换仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力
2)需要传输额外的信息量 。
每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量增大了5%~10%,一定程度上降低了通信效率,增加了处理的时间, 使控制复杂, 时延增加。
3)当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组, 分组到达目的结点时,要对分组按 编号进行排序等工作,因此很麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
4、数据报与虚电路
概述
面向连接地虚电路方式和无连接地数据报方式。
这两种服务都是由网络层提供。
这两种方式是分组交换的两种方式。
1、数据报
通信子网用户的端系统发送一个报文时,在端系统中实现的高层协议先把报文拆成若干带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)。中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。
数据报服务的特点
l) 发送分组前不需要建立连接。
2)网络尽最大努力交付,传输不保证可靠性,所以可能丢失
为每个分组独立地选择路由, 转发的路径可能不同,因而分组不一定按序到达目的结点。
3)\t发送的分组中要包括发送端和接收端的完整地址,以便可以独立传输。
4)分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。
通过交换结点 的通信量较大或网络发生拥塞时,这种时延会大大增加, 交换结点还可根据情况丢弃部分分组。
5)\t网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强。
6)存储转发的延时一般较小,提高了网络的吞吐量。
7) 收发双方不独占某一链路,资源利用率较高。
8)结点对分组进行差错分析,若正确就会向上一个结点发送确认信息,上一个节点收到确认信息后,就会丢弃该分组地备份副本。
2、虚电路
虚电路方式试图将数据报方式与电路交换方式结合起来,充分发挥两种方法的优点,以达到最佳的数据交换效果。 在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,并且连接一旦建立,就固定了虚电路所对应的物理路径。
与电路交换类似,整个通信过程分为三个阶段: 虚电路建立、 数据传输与虚电路释放。
在虚电路方式中,端系统每次建立虚电路时,选择一个未用过的虚电路号分配给该虚电路,以区别千本系统中的其他虚电路。
在传送数据时,分组不需要源地址和目的地址,每个数据分组不仅要有分组号、 校验和等控制信息,还要有它要通过的虚电路号,以区别于其他虚电路上的分组。
在虚电路网络中的每个结点上都维待一张虚电路表,表中的每项记录了一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号、 前一结点和下一结点的标识。 数据的传输是双向进行的,上述信息是在虚电路 的建立过程中确定的。
工作原理
2)虚电路建立后,主机A就可向主机B发送数据分组。当然,主机B也可在该虚电路上向主机A发送数据。
3)传送结束后主机A通过发送“释放请求“分组来拆除虚电路,逐段断开整个连接。
1)虚电路通信链路的建立和拆除需要时间开销,对交互式应用和小量的短分组情况显得很浪费,但对长时间、频繁的数据交换效率较高。
2)\t虚电路的路由选择体现在连接建立阶段,连接建立后,就确定了传输路径。
3)\t虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可以对两个数据端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送。
4)虚电路有一个致命的弱点,即当网络中的某个结点或某条链路出现故障而彻底失效时, 所有经过该结点或该链路的虚电路将遭到破坏。
5)分组首部并不包含目的地地址,而包含虚电路标识符,相对于数据报方式开销小。
6)建立连接后各个结点不再进行路由转发。但会进行差错分析。
虚电路并不是专用的,两个结点之间可能由若干条虚电路,每条虚电路仅仅支持特定的两个端系统之间的数据传输
两个端系统之间也可以有多条虚电路为不同的进程服务,这些虚电路的实际路由可能相同,也可能不同。
数据报与虚电路的比较
2)传输介质
1、双绞线、同轴电缆、光线与无线传输介质
传输介质也称传输媒体,它是发送设备和接收设备之间的物理通路。
导向传输介质
电磁波被导向沿着固体媒介(铜线或光纤)传播
非导向传输介质
非导向传输介质可以是空气、 真空或海水等。
1、双绞线
由两根采用一定规则并排绞合的、 相互绝缘的铜导线组成。
绞合可以减少对相邻导线的电磁干扰。为了进一步提高抗电磁于扰能力, 可在双绞线的外面 再加上一个由金属丝编织成的屏蔽层,这就是屏蔽双绞线(STP)。
无屏蔽层的双绞线称为非屏蔽 双绞线CUTP)。
价格便宜,常用
在局域网和传统电话网中比较常用。
双绞线的宽带取决于铜线的粗细和传输距离。
模拟信号和数字信号都可以使用双绞线,通信距离为几千米到数十千米。
对于模拟信号要用放大器放大衰减的信号。
对于数字信号要用中继器将失真的信号整形。
2、同轴电缆
同轴电缆由内导体、 绝缘层、 网状编织屏蔽层和塑料外层构成
按特性阻抗的数值的不同分类
50Ω同轴电缆
用千传送基带数字信号, 又称基带同轴电缆, 它在局域网中应用广泛;
70Ω同轴电缆
用千传送宽带信号, 又称宽带同轴电缆, 主要用千有线电视系统。
由千外导体屏蔽层的作用, 同轴电缆具有良好的抗干扰特性, 被广泛用千传输较高速率的数据, 其传输距离更远, 但价格较双绞线贵。
3、光纤
光纤通信就是利用光导纤维(简称光纤)传递光脉冲来进行通信。
多模光纤
从不同角度入射的多束光线可在 条光纤中传输, 这种光纤称为多模光纤
多模光纤的光源为发光二极管。 光脉冲在多模光纤中传输时会逐渐展宽, 造成失真, 因此多模光纤只适合近距离传输。
单模光纤
光纤的直径减小到仅一个光波长度时, 光纤就像一根波导那样, 可使光线一直向前传播, 而不会产生多次反射, 这样的光纤就是单模光纤
单模光纤的纤心很细, 直径只有几微米, 制造成本较高。 同时, 单模光纤的光源为定向性很好的激光二极管, 因此单模光纤的衰减 较小, 适合远距离传输。
4、无线传输介质
1、无线电波
无线电波具有较强的穿透能力, 可以传输很长的距离, 所以它被广泛应用千通信领域
无线电波使信号向所有方向散播,因此有效距离范围内的接收设备无须对准某个方向, 就可与无线电波发射者进行通信连接, 大大简化了通信连接。 这也是无线电传输的最重要优点之一。
2、微波、红外线和激光
目前高带宽的无线通信主要使用三种技术: 微波、红外线和激光。
需要发送方和接收方之间存在一条视线(Line-of-sight)通路, 有很强的方向性, 都沿直线传播,有时统称这三者为视线介质。
不同
红外通信和激光通信把要传输的信号分别转换为各自的信号格式, 即红外光信号和激光信号, 再直接在空间中传播。
一定距离后就要用中继站来接力。
卫星通信利用地球同步卫星作为中继来转发微波信号,可以克服地面微波通信距离的限制。 三颗相隔120°的同步卫星几乎能设盖整个地球表面, 因而基本能实现全球通信。 卫星通信的优点 是通信容量大、距离远、覆盖广, 缺点是端到端传播时延长, 一般为250~270ms。
2、物理层接口的特性
物理层考虑的是如何在连接到各台计算机的传输媒体上传输数据比特流,而不指具体的传输 媒体。
物理层应尽可能屏蔽各种物理设备的差异, 使数据链路层只需考虑本层的协议和服务。
物理层的特性
1、机械特性
主要定义物理连接的边界点, 即接插装置。 规定物理连接时所采用的规格、引线的数目、引脚的数量和排列情况等。
2、电气特性
规定传输二进制位时, 线路上信号的电压高低、 阻抗匹配、传输速率和距离限制等。
3、功能特性
指明某条线上出现的某一电平的电压表示何种意义, 接口部件的信号线(数据线、控制线、定时线等)的用途。
4、规程特性
主要定义各条物理线路的工作规程和时序关系。
常用的物理层接口标准有EIA RS-232-C、ADSL和SONET/SDH等。
3)物理层设备
1、中继器
中继器又称转发器
存在地原因
主要功能是将信号整形并放大再转发出去, 以消除信号经过一长段电缆后, 因噪声或其他原因而造成的失真和衰减, 使信号的波形和强度达到所需要的要求, 进而扩大 网络传输的距离。
其原理是信号再生和还原(而非简单地将衰减的信号放大)。
保持与原数据相同,增加信号地传输距离,延长网络长度。
两个端口
中继器有两个端口, 数 据从一个端口输入, 再从另一个端口发出。 端口仅作用于信号的电气部分, 而不管数据中是否有 错误数据或不适于网段的数据。
可以连接相同地媒体,也可以连接不同地媒体
两端必须是相同协议
中继器是局域网环境下用来扩大网络规模的最简单、 最廉价的互联设备。
使用中继器连接的几个网段仍然是一个局域网。 一般情况下, 中继器的两端连接的是相同的媒体, 但有的中继器也可以完成不同媒体的转接工作。
由千中继器工作在物理层, 因此它不能连接两个具有不同速率的局域网。 中继器两端的网络部分是网段, 而不是子网。 中继器若出现故障, 对相邻两个网段的工作都将产生影响。
放大器和中继器都起放大作用, 只不过放大器放大的是模拟信号, 原理是将衰减的信 号放大, 而中继器放大的是数字信号, 原理是将衰减的信号整形再生。
如果某个网络设备具有存储转发的功能, 那么可以认为它能连接两个不同的协议, 如果该网络设备没有存储转发功能, 那么认为它不能连接两个不同的协议。
中继器是及有存储转发功能的, 因此它不能连接两个速率不 同的网段, 中继器两端的网段一定要使用同一个协议。
2、集线器
集线器 (Hub) 实质上是一个多端口的中继器, 它也工作在物理层。
当 Hub 工作时, 个端口接收到数据信号后, 由千信号在从端口到 Hub 的传输过程中已有衰减,所以 Hub 便将该信号进行整形放大, 使之再生(恢复) 到发送时的状态, 紧接着转发到其他所有(除输入端口外)处千工作状态的端口。
从 Hub 的工作方式可以看出, 它在网络中只起信号放大和转发作用, 目的是扩大网 络的传输范围, 而不具备信号的定向传送能力, 即信号传输的方向是固定的, 是一个标准的共享式设备。
如果同时有两个或多个端口输入, 那么输出时会发生冲突, 致使这些数据都无效。
由 Hub 组成的网络是共享式网络, 但逻辑上仍是一个总线网。 Hub 的每个端口连接的网络部分是同一个网络的不同网段, 同时 Hub 也只能在半双工状态下工作, 网络的吞吐率因而受限制。
台计算机必须会发生同时通信的情形,因此集线器不能分割冲突域,所有集线器的端口都属于一个冲突域。
集线器在一个时钟周期中只能传输一组信息,如果机器数目较多,且多台机器经常需要同时通信,那么将导致信息砬撞,使得集线器的工作效率很差。
比如,一个带宽为IOMb/s的集线器上连接了8台计算机,当这8台计算机同时工作时,每台计算机真正所拥有的带宽为I0/8Mb/s = l.25Mb/s
4)本章小结及疑难点
1. 传输媒体是物理层吗?传输媒体和物理层的主要区别是什么?
传输媒体并不是物理层。
传输媒体在物理层的下面,被称为0层
传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表 什么。
物理层由千规定 了电气特性,因此能够识别所传送的比特流。
2. 什么是基带传输、 频带传输和宽带传输?三者的区别是什么?
基带传输
可以不经过调制就在信道上直接进行的传输 方式称为基带传输。
通常用千局域网
数字基带传输就是在信道中直接传输数字信号,且传输 媒体的整个带宽都被基带信号占用, 双向地传输信息。
频带传输
用数字信号对特定频率的载波进行调制(数字调制),将其变成适合于传送的信号后再进行传输,这种传输方式就是频带传输。
远距离传输或无线传输时,数字信号必须用频带传输技术进 行传输。 利用频带传输,不仅解决了电话系统传输数字信号的问题,而且可以实现多路复用,进 而提高传输信道的利用率。
宽带传输
借助频带传输,可将链路容量分解成两个或多个信道,每个信道可以携带不同的信号,这就是宽带传输。
宽带传输中所有的信道能同时互不干扰地发送信号,链路容量大大增加。 比如把信道进行频分复用,划分为2条互不相关的子信道,分别在两条子信道上同时进行频带传输,链路容量就大大增加了,这就是宽带传输。
3. 如何理解同步和异步?什么是同步通信和异步通信?
4. 奈氏准则和香农定理的主要区别是什么?这两个定理对数据通信的意义是什么?
三、数据链路层
1、数据链路层的功能
2、组帧
3、差错控制
检错编码
纠错编码
4、流量控制与可靠传输机制
流量控制、可靠传输与滑动窗口机制;
停止-等待协议
后退N帧协议(GBN)
选择重传协议(SR)
5、介质访问控制
信道划分
频分多路复用、 时分多路复用、 波分多路复用、 码分多路复用的概念和基本原理
随机访问
ALOHA协议;CSMA协议;CSM凶CD协议;CSMA/CA协议
3轮询访问: 令牌传递协议
6、局域网
局域网的基本概念与体系结构;以太网与IEEE 802.3
IEEE 802.11;令牌环网的基本原理
7、广域网
广域网的基本概念;PPP协议;HDLC协议
8、数据链路层设备
网桥的概念及其基本原理;局域网交换机及其工作原理
脑图
1)数据链路层的功能
数据链路层在物理层提供服务的基础上向网络层提供服务
主要作用
加强物理层传输原始比特流的功能, 将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路, 使之对网络层表现为一条无差错的链路。
IEEE 802标准定义的局域网参考模型
数据链路层分成
逻辑链路控制(LLC)子层
LLC子层与传输媒体无关,它向网络层提供无确认无连接、 面向连接、 带确认无连接、 高速传送4种不同的连接服务类型。
媒体接入控制(MAC)子层
与接入传输媒体有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括组帧和拆卸帧、 比特传输差错检测、 透明传输。
1、为网络层提供服务
1、无确认地无连接服务
源机器发送数据帧时不需要先建立连接,并且目的端收到数据帧时不需要发回确认。
对丢失的帧,数据链路层不负责重发而交给上层处理。
适用于实时通信或误码率较低的通信信道,如以太网。
2、有确认地无连接服务
源机器发送数据帧时不需先建立链路连接, 但目的机器收到数据 帧时必须发回确认。
源机器在所规定的时间内未收到确定信号时, 就重传丢失的帧, 以提高传输的可靠性。
该服务适用于误码率较高的通信信道,如无线通信。
3、有确认地面向连接服务
帧传输过程分为三个阶段: 建立数据链路、 传输帧、 释放数据 链路。
目的机器对收到的每一帧都要给出确认, 源机器收到确认后才能发送下一帧, 因而该服务的可靠性最高。
该服务适用于通信要求(可靠性、 实时性) 较高的场合。
注意:有连接就一定要有确认, 即不存在无确认的面向连接的服务。
2、链路管理
数据链路层连接的建立、维待和释放过程称为链路管理,它主要用于面向连接的服务。
3、组帧、帧定界、帧同步与透明传输
组帧
将网络层的分组封装成帧,以帧的格式进行传送。
将一段 数据的前后分别添加首部和尾部,就构成了帧。
组帧地四种方法
1、字符计数法
2、字符(节)填充法
3、零比特填充法
4、违规编码法
帧定界
首部和尾部中含有很多控制信息, 它们的一个重 要作用是确定帧的界限,即帧定界。
帧同步
接收方应能从接收到的二进制比特流中区分出帧的起始与终止。
例子
如在HDLC通信规程中, 用标识位F (01111110)来标识帧的开始和结束。 通信过程中,检测到帧标识位F即认为是帧的开始,然后一旦检测到帧标识位F即表示帧的结束。
透明传输
如果在数据中恰好出现与帧定界符相同的比特组合(会误认为 “传输结束” 而丢弃后面的数 据), 那么就要采取有效的措施解决这个问题,即透明传输。
指不管所传数据是什么样地比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输地东西。
4、流量控制
就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。
通过某种反馈机制使发送方控制发送速度。
流量控制并不是数据链路层特有地功能,其他高层也提供此功能,两者控制地对象不同。
数据链路层控制地是相邻两结点之间数据链路上地流量
运输层控制源端到目的端之间的流量
5、差错控制
差错
由千信道噪声等各种原因,帧在传输过程中可能会出现错误。
位错
指帧中某些位出现了差错。
帧错
指帧的丢失、重复或失序等错误。
控制
用以使发送方确定接收方是否 正确收到由其发送的数据的方法称为差错控制。
2)组帧
将比特组个成帧,成为传输单元。
依据一定地规则将网路层递交地分组封装成帧
组帧时既要加首部, 又要加尾部。 原因是, 在网络中信息是以帧为最小单位进行传输 的, 所以接收端要正确地接收帧, 必须要清楚该帧在一 串比特流中从哪里开始到哪里结束(因为 接收端收到的是一 串比特流, 没有首部和尾部是不能正确区分帧的)。 而分组(即IP数据报)仅是包含在帧中的数据部分(后面将详细讲解), 所以不需要加尾部来定界。
目的
出错地帧被重发,提高效率
需要解决地问题
字符计数法是指在帧头部使用一个计数字段来标明帧内字符数。目的结点的数据链路层收到字节计数值时,就知道后面跟随的字节数,从而可以确定帧结束的位置(计数字段提供的字节数包含自身所占用的一个字节)。
这种方法最大的问题在千如果计数字段出错,即失去了帧边界划分的依据, 那么接收方就无 法判断所传输帧的结束位和下一帧的开始位,收发双方将失去同步,从而造成灾难性后果。
2、字符填充地首尾定界符法
字符填充法使用一些特定的字符来定界一帧的开始(DLE ETX)与结束(DLE ETX)。
在特定的字符前填充一个转义符来区分数据部分出现与定界字符相同的情况。
过程
帧的数据段中出现DLE字符,发送方在每个DLE字符前再插入一个DLE字符
接收方收到数据后会自己删除这个插入的DLE字符,结果仍得到原来的数据。 这也正是字符填充法名称的由来。
用法
当传送的帧是由文本组成时,由于比特符和ASCII不冲突,就不需要转义字符就可以实现透明传输
当传送的帧是由非ASCII的文本文件组成(二进制代码的程序或图形),就需要采用字符填充的方法实现透明传输
3、零比特填充的首位标志法
零比特填充法允许数据帧包含任意个数的比特, 也允许每个字符的编码包含 任意个数的比特。
它使用一个特定的比特模式,即01111110来标志一帧的开始和结束。
为了不使 信息位中出现的比特流01111110被误判为帧的首尾标志,发送方的数据链路层在信息位中遇到5个连续的 “ l\"时, 将自动在其后插入一个 “0\";而接收方做该过程的逆操作, 即每收到 5个连续的 “ l\"时, 自动删除后面紧跟的 “ O\
保证了透明传输:
在传输的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
零比特填充法很容易由硬件来实现, 性能优千字符填充法。
在物理层进行比特编码时, 通常采用违规编码法。
曼彻斯特编码方法将数据比特 ” 1\"编码成 “高-低 “ 电平对,将数据比特 ” 0 ” 编码成 “低-高 “ 电平对, 而 “高-高“ 电平对和 “低-低 电平对在数据比特中是违规的(即没有采用)。 可以借用这些违规编码序列来定界帧的起始和终止。
违规编码法不需要采用任何填充技术, 便能实现数据传输的透明性,但它只适用千采用冗余编码的特殊编码环境。
由千字节计数法中计数字段的脆弱性和字符填充法实现上的复杂性与不兼容性,目前较常用 的组帧方法是比特填充法和违规编码法。
3)差错控制
传输中的差错是由于噪声引起的。
全局性
由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法
提高信噪比来减少或避免干扰。(对传感器下手)
局部性
外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
通常利用编码技术来解决。
例如:比特位出错,1变为0,0变为1
丢失
收到[#1]-[#3]
重复
收到[#1]-[#2]-[#2]-[#3]
失序
收到[#1]-[#3]-[#2]
通常利用编码技术进行差错控制,主要有两类:
自动重传请求 ARQ
接收端检测出差错时,就设法通知发送端重发, 直到接收到正确的码字为止。
前向纠错FEC
接收端不但能发现差错, 而且能确定比特串的错误位置, 从而加以纠正。
1、检错编码
1. 奇偶校验码
奇偶校验码是奇校验码和偶校验码的统称,是一种最基本的检错码。
它由n -1位信息元和1位校验元组成
奇校验码, 那么在附加一个校验元后, 码长为n的码字中 “ 1\"的个数为奇数
偶校验码, 那么在附加一个校验元以后, 码长为 n 的码字中 “ 1\"的个数为偶数
它又分为垂直奇偶校验、 水平奇偶校验和水平垂直奇偶校验。
奇偶校验码特点
只能检查出奇数个比特错误,检错能力为50%
2. 循环冗余码CRC
检错编码都采用冗余编码技术, 其核心思想是在有效数据(信息位)被发送前, 先按某种关系附加一定的冗余位, 构成一个符合某一规则的码字后再发送。
当要发送的有效数据变化时, 相应的冗余位也随之变化, 使得码字遵从不变的规则。
接收端根据收到的码字是否仍符合原规则来判断是否出错。
计算冗余码
2) 模2除。 利用模2除法, 用 G(x)对应的数据串去除l ) 中计算出的数据串, 得到的余数即为冗余码 (共 r 位, 前面的 0不可省略)。
多项式以2为模运算。 按照模2运算规则, 加法不进位, 减法不借位, 它刚好是异或操作。乘除法类似于二进制的运算, 只是在做加减法时按模2规则进行。
示例
冗余码的计算举例: 设 G(x) = 1101(即r=3), 待传送数据M= 101001(即m=6), 经模2 除法运算后的结果是: 商Q = 110101(这个商没什么用),余数R = 001。 所以发送出去的数据为 101001 001(即2'M+FCS),共有m+r位。
2、纠错编码
海明码
海明距离
两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的海明距离(码距)
一个有效编码集,任意两个合法编码(码字)的海明距离的最小值称为该编码集的海明距离(码距)
检错
检错d位需要d+1位码字
纠错d位需要2d+1位码字
海明码的编码原理和过程
(1)确定海明码的位数
设n为有效信息的位数,k为校验位的位数, 则信息位n和校验位k应满足
(若要检测两位错, 则需再增加1位校验位, 即k+l位)
例子1
例子2
海明码位数为成立,则n、k有效。
设置信息位为(1010),共4位。
校验码位为,共3位。
对应的海明码为
(2)确定校验位的分布
规定校验位R在海明位号为2I一] 的位置上, 其余各位为信息位, 因此有:
的海明位号为 span class=\"equation-text\" data-index=\"1\" data-equation=\"2^{i-1} = 2^0 = 1\" contenteditable=\"false\
的海明位号为 span class=\"equation-text\" data-index=\"1\" data-equation=\"2^{i-1} = 2^1 = 2\" contenteditable=\"false\
的海明位号为 span class=\"equation-text\" data-index=\"1\" data-equation=\"2^{i-1} = 2^2 = 4\" contenteditable=\"false\
将信息位按原来的顺序插入, 则海明码各位的分布如下:
(3)分组以形成校验关系
每个数据位用多个校验位进行校验, 但要满足条件:被校验数据位的海明位号等千校验该数 据位的各校验位海明位号之和。
另外, 校验位不需要再被校验。 分组形成的校验关系如下。
(4)校验位取值
校验位E的值为第z组(由该校验位校验的数据位)所有位求异或。
校验位求值
1010对应的海明码为1010010(下画线为校验位,其他为信息位)。
(5)海明码的校验原理
每个校验组分别利用校验位和参与形成该校验位的信息位进行奇偶校验检查,构成K个校验 方程
若 说明没有错误。否则说明出错,这个数就是错误位的位号
若 说明第 1 位出错,即H1出错,直接将该位取反就达到了纠错的目的。
4)流量控制与可靠传输机制
1、流量控制、可靠传输与滑动窗口机制
1、停止-等待流量控制基本原理
发送方每发送一帧,都要等待接收方的应答信号,才能发送下一帧。
接收方每接收一帧,都要反馈一个应答信号,表示可接受下一帧。
特点是传输效率比较低
2、滑动窗口流量控制基本原理
发送方维护一组连续的允许发送的帧的序号,称为发送窗口;
接收方也维护一组连续的允许接收帧的序号,称为接收窗口。
发送窗口用来对发送方进行流量控制, 而发送窗口的大小肌代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。
同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。
在接收方,只有收到的数据帧的序号落入接收窗口内时, 才允许将该数据帧收下。在接收窗口之外的,将其丢弃。
发送方的发送过程
发送端每收到一个确认帧,发送窗口就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧(即窗口内的帧全部是已发送但未收到确认的帧)时,发送方就会停止发送,直到收到接收方发送的确认帧使窗口移动,窗口内有可以发送的帧后,才开始继续发送
接收方的接收过程
接收端收到数据帧后,将窗口向前移 个位置,并发回确认帧,若收到的数据帧落在接收窗口之外,则丢弃
滑动窗口的重要特性
1)只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才 定)向前滑动。
2)协议
三种协议只在发送窗口大小与接收窗口大小有所差别
停止-等待协议:
后退 N帧协议(GBN):
选择重传协议(SR):
3)接收窗口的大小为1时,可保证帧的有序接收。
4)数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(注意与第5章传输 层的滑动窗口协议的区别)
3、可靠传输机制
数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。
确认
一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。
超时重传
指发送方发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重传发送该数据帧,直到发送成功。
2、单帧滑动窗口与停止-等待协议
停止-等待协议中数据帧和确认帧的发送时间关系
1、为什么要有停止-等待协议
底层信道除了有比特差错的情况,也有丢包的情况,需要实现流量控制
丢包
物理线路故障、设备故障、病毒攻击、路由信息错误等原因,导致数据包丢失。
2、研究停等协议的前提
就是没发完一个分组就停止发送,等待确认,在收到确认后再发送下一个分组。
3、停等协议有几种应用情况
无差错情况
有差错情况
1、数据帧丢失或检测到帧出错
2、ACK丢失
3、ACK迟到
该协议的性能分析
信道利用率低
发送方在一个发送周期内,有效地发送数据所需要地时间占整个发送周期地比率。
效率比较低
3、多帧滑动窗口与后退N帧协议 (GBN)
在后退N帧式ARQ中
发送方无须在收到上一个帧的ACK后才能开始发送下一帧,而是 可以连续发送帧。
接收方只允许按顺序接收帧。
接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;
或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重传该出错帧及随后的N个帧。
为了减少开销,GBN 协议还规定接收端不一定每收到一个正确的数据帧就必须立即发回一个确认帧, 而可以在连续收到好几个正确的数据帧后,才对最后一个数据帧发确认消息。
或者捎带确认
表明此前地数据帧都正确无误收到
发送方的响应的事件
1、上层的调用
上层要发送数据时,发送方先检查发送窗口是否已满,未满则产生一个帧将其发送,已满就会将数据返回给上层,上其稍等在发送。(实际实现上,发送方会缓存这些数据)
2、收到了一个ACK
GBN协议中,AC.Kn表示对第n号帧的确认,对n号帧的确认采用累积确认的方式,表明接收方已经收到n号帧和它之前的全部帧。
3、超时事件
出现丢失和时超时的情况,定时器将再次使发送方重传所有已发送但没有被确认的帧。
4、维护一定长度的滑动窗口
发送方要响应的事件
如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层。
接收方只需要按序接收,只需维护期望的下一帧序号。
滑动窗口的尺寸长度
若采用n个比特对帧编号,那么发送窗口的尺寸应满足:。因为发送窗口尺寸过大,就会让接收方无法区别新帧和旧帧。
重点总结
1、累计确认
偶尔捎带确认
2、接收方只按照顺序接收帧,不按顺序的就会被丢弃。
3、确认序列号是最大的、按序到达的帧序号。
4、发送窗口的最大长度为,接收窗口大小为1。
GBN协议性能分析
后退N帧协议一方面因连续发送数据帧而提高了信道的利用率
另一 方面在重传时又必须把原来已传送正确的数据帧进行重传(仅因这些数据帧的前面有一个数据帧 出了错), 这种做法又使传送效率降低。
若信道的传输质量很差导致误码率较大时, 后退N帧协议不一定优于停止-等待协议。
4、多帧滑动窗口与选择重传协议(SR)
为进一步提高信道的利用率, 可设法只重传出现差错的数据帧或计时器超时的数据帧。
必须加大接收窗口, 以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。 这就是选择重传ARQ协议。
在选择重传协议中, 每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重 传。
另外,该协议使用了比上述其他协议更有效的差错处理策略, 即一旦接收方怀疑帧出错, 就会发一个否定帧NAK给发送方, 要求发送方对NAK中指定的帧进行重传
SR发送方必须做的事
1、上层调用
从上层收到数据后,SR发送方检查一下可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;没有的话就像GBN一样,要么缓存下来,要么返回给上层。
2、当收到一个ACK
如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已经接收。
如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了,并且有序号在窗口内的未发送帧,则发送这些帧。
每帧都有自己的定时器,一个超时事件发生后只重传一个帧。
SR接收方需要做的事
对于位于窗口内的帧,都可以接收,没有顺序要求。
SR接收方将确认一个正确接收的帧而不管其是否按序。
失序的帧会被缓存,并且返回给发送方该帧的确认帧
当窗口中的所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动欢动窗口。
如果收到了窗口序号外(位于窗口左边,并且在窗口长度范围内)的帧,就会返回确认帧ACK,防止之前发送的ACK没有到达发送方。
滑动窗口长度
发送窗口最好等于接收窗口。(大了会溢出,小了没有意义)
分别代表发送端和接收端的窗口大小,n是指使用多少比特来编码帧序列号。
SR协议重点总结
1、在窗口内对数据帧逐一确认,收一个确认一个
2、值重传出错的帧
3、接收方有缓存
4、窗口长度
5)介质访问控制
介质访问控制所要完成的主要任务是,为使用介质的每个结点隔离来自同 信道上其他结点所传送的信号,以协调活动结点的传输。
常见的介质访问控制方法
静态划分信道
信道划分介质访问控制
频分多路复用FDM
时分多路复用TDM
波分多路复用WDM
码分多路复用CDM
动态划分信道
轮询访问介质访问控制
令牌传递协议
随机访问介质访问控制
ALOHA协议
CSMA协议
CSMA/CD协议
CSMA/CA协议
1、信道划分介质访问控制
信道划分介质访问控制将使用介质的每个设备与来自同 通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。
多路复用
当传输介质的带宽超过传输单个信号所需的带宽时,通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率
就是把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高了信道的利用率。
发送采用多路复用技术,把多个输入通道的信息整合到一个复用通道中,在接收端把收到的信息分离出来并传送到对应的输出通道
信道划分实际上通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道。
实际上就是把广播信道转变为点对点信道。
信道划分介质访问控制分类
1、频分多路复用FDM
将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
在物理信道的可用带宽超过单个原始信号所需带宽的情况下,可将该物理信道的总带宽分割成若干与传输单个信号带宽相同(或略宽)的子信道,每个子信道传输一种信号。
每个子信道分配的宽带(频率带宽)可不相同,但它们的总和必须不超过信道的总宽带。
在实际应用中, 为了防止子信道之间的干扰, 相邻信道之间需要加入 “保护频带”。
频分多路复用的优点在千充分利用了传输介质的带宽, 系统效率较高; 由于技术比较成熟,实现也较容易。
2、时分多路复用TDM
将时间划分为一段段等长的时分复用帧(TDM帧)。每个时分复用的用户在每个TDM帧中占有固定序号的时隙,所有用户轮流占用信道。
TDM帧
在物理层传送的比特流所划分的帧,标志一个周期。
某一时刻,时分复用信道上传送的仅是某一设备之间的信号;
对于单个用户,子信道的利用率一般不高。
统计时分多路复用(STDM),又称异步时分多路复用
是TDM的一种改进,它采用STDM帧,STDM帧并不固定分配时隙,而是按需动态地分配时隙。
3、波分多路复用WDM
波分多路复用即光的频分多路复用。
一根光纤中传输多种不同波长(频率)的光信号, 由 千波长(频率)不同, 各路光信号互不干扰, 最后再用波长分解复用器将各路波长分解出来。
由于 光波处于频谱的高频段, 有很高的带宽, 因而可以实现多路的波分复用。
4、码分多路复用CDM
码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。
与 FDM 和 TDM 不同,它既共享信道的频率, 又共享时间。
码分多址(CDMA)
其原理是每比特时间被分成m个更短的时间槽,称为码片(Chip),通常情况下每比特有64或128个码片。
每 个站点被指定一个唯一的m位代码或码片序列。发送l时,站点发送码片序列;发送0时,站点发送码片序列的反码。
当两个或多个站点同 时发送时,各路数据在信道中线性相加。为从信道中 分离出各路信号,要求各个站点的码片序列相互正交。
A站向C站发出的信号用一个向量来表示,B站向C站发出的 信号用另一个 向量来表示,两个向量要求相互正交。向量中的分量,就是所谓的码片。
令向量S 表示 A站的码片向量,令T表示 B站的码片向量。两个不同站的码片序列正交,即向量S 和T的规格化内积(InnerProduct) 为0:
令向量T为(-1 -1 +1-1 +l +l +1-1 )。当A站向C站发送数据1时,就发送了 向量(-1-1 -I +l +1 -1 +l +l)。 当B站向C站发送数据0时,就发送了向量(+1 +1-1 +1-1-1-1 +l)。 两个向量到了 公共信道上就进行叠加,实际上就是线性相加,得到
S - T = (0 0 -2 2 0 -2 0 2)
到达C站后,进行数据分离。如果要得到来自A站的数据,那么就让S 与S-T进行规格化内积,得到
S•(S —T) =l
所以 A站发出的数据是1。同理,如果要得到来自B站的数据,那么
T•(S —T)=-1
因此从B站发送过来的信号向量是一个反码向量,代表0。
2、随机访问介质访问控制
所以随机介质访问控制实质上是一种将广播信道转化为点到点信道的行为
又称争用型协议
1、ALOHA协议
AdditiveLink On-line HAwaii system
ALOHA 协议分为
纯 ALOHA 协议
不监听信道,不按时间槽发送,随机发送。
冲突如何检测
如果发生冲突,接收方就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
如何解决冲突
超时后等一随机时间再重传。
网络的吞吐量(T0时间内所有站点发送成功的平均帧数)很低。
时隙 ALOHA 协议
避免用户发送数据的随意性,减少数据产生冲突的可能性,提高吞吐量,信道利用率
时隙ALOHA网络比纯ALOHA网络的吞吐量大了1倍。
两种协议对比
1、纯ALOHA比时隙ALOHA吞吐量更低。效率更低。
2、纯ALOHA想发就发,时隙ALOHA协议只有在时间片段开始时,才能发送。
2、CSMA协议
载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
CS原理
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(相互叠加)。当一个站检测到的信号电压摆动值超过一定的门限,就认为总线上至少有两站同时在发送数据,表明产生了碰撞,发生了冲突。
MA指多点接入,表示计算机以多点接入的方式连接在一根总线上。
监听情况
信道空闲
发送完整帧
信道忙
推迟发送
根据侦听方式和侦听到信道忙后的处理方式不同, CSMA 协议分为三种
1、1-坚持CSMA
一个结点要发送数据时, 首先侦听信道;
如果信道空闲,那么立即发送数据;
如果信道忙,那么等待, 同时继续一直侦听直至信道空闲;
如果发生冲突, 那么随机等待一段时间后, 再重新开始侦听信道。
含义
优缺点
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
假如有两个或两个以上的站点有数据要发送,冲突就不能避免。
2、非坚持CSMA
如果信道空闲, 那么立即发送数据;
如果信道忙, 那么放弃侦听, 等待一个随机的时间后再 重复上述过程。
降低了多个结点等待信道空闲后同时发送数据导致冲突的概率。
增加数据在网络中的平均延迟。
信道利用率的提高是以 增加数据在网络中的延迟时间为代价的。
3、p-坚持CSMA
用于时分信道
一个结点要发送数据时,首先帧听信道;
如果信道忙, 就持续侦听, 直至信道空闲;
如果信道空闲, 那么以概率p 发送数 据,以概率1-p推迟到下一个时隙;
如果在下一个时隙信道仍然空闲,那么仍以概率p发送数据, 以概率1-p推迟到下一个时隙;
这个过程一直持续到数据发送成功或因其他结点发送数据而检测到信道忙为止, 若是后者, 则等待下一个时隙再重新开始帧听。
既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的方案,
克服非坚持 CSMA 协议中由千随机等待而造成的延迟时间较长的缺点。
三种不同类型的CSMA协议比较
3、CSMA/CD协议
是CSMA协议的改进方案,适用千总线形网络或半双工网络环境。
”碰撞检测” 就是边发送边侦听, 即 适配器边发送数据边检测信道上信号电压的变化情况, 以便判断自己在发送数据时其他站点是否也在发送数据。
CSMA/CD的工作流程可简单概括为“先听后发,边听边发(区别于CSMA协议),冲突停发,随机重发”。
争用期(又称冲突窗口或碰撞窗口)
站 A 在发送帧后至多经过时间就能知道所发送的帧是否发生碰撞( 时)。
每个站在自己 发送数据之后的一小段时间内, 存在发生冲突的可能性, 只有经过争用期这段时间还未检测到冲突时, 才能确定这次发送不会发生冲突。
最小帧长
为了需要在发送完帧之前就能收到可能发生冲突的信号,帧的发送时延至少要两倍于信号在总线中的传播时延。
所有数据帧都必须要大于一个最小帧长
任何站点收到帧长小千最小帧长的帧时, 就把它当作无效帧立即丢弃。
最小帧长的计算公式是
以太网规定取51.2µs为争用期的长度。
如何确定碰撞后的重传时机?
退避算法
1、确定基本退避时间,一般取两倍的总线端到端传播时延(即争用期)。
3、从离散的整数集合span class=\"equation-text\" data-index=\"0\" data-equation=\
4、当重传达16次仍不能成功时, 说明网络太拥挤, 认为此帧永远无法正确 发出, 抛弃此帧并向高层报告出错
使用二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(这也称动态退避), 因而能降低发生碰撞的概率, 有利千整个系统的稳定。
广泛用于有线连接的局域网中。
4、CSMA/CA协议
载波监听多点接入/碰撞避免CSMA/CA
广泛用于无线连接的局域网中。
为什么要有CSMA/CA?
因为在无线局域网中,无法做到360度的全面检测碰撞。
隐蔽站的问题
在无线通信中, 并非所有的站点都能够听见对方。
当A和C都检测不到信号,认为信道空闲时,同时向终端B发送数据帧,就会导致冲突。
c对于A就是隐蔽站。
CSMA/CA原理
发送数据前,先检测信道是否空闲。
接收端收到RTS后,将响应CTS(clear to send).
如果另外的站点也发送了RTS,这时接收端是拒收这个请求的。
发送端收到CTS,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
接收端收到数据后,将用CRC来检验是否正确,正确则响应ACK。
发送方收到ACK就可以进行下一个数据帧的发送。若没有收到则一直重传直至发送次数限制。
CSMA/CD与CSMA/CA主要有如下区别:
相同点
都是隶属于CSMA的速录,其核心是发送数据时先广播告知其他结点。换言之,两个在接入信道之前都要进行监听。当发现信道空闲后,才能接入。
不同点
1、传输介质
CD是有线局域网,CA是无线局域网。
2、载波检测方式不同
CSMA/CD通过电缆中的电压变化来检测;
CSMA/CA采用能噩检测、 载波检测和能量载波混合检测
CSMA/CD可以检测冲突, 但无法避免;CSMA/CA发送包的同时不能检测到信道上有无冲突,本结点处没有冲突并不意味着在接收结点处就没有冲突,只能尽量避免。
总结:
CSMA/CA协议的基本思想是在发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据, 以免出现碰撞。
CSM凶CD协议的基本思想是发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送。
3、轮询访问介质访问控制
在轮询访问中,用户不能随机地发送信息, 而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。
当某结点使用信道时,其他结点都不能使用信道。
典型的轮询访问介质访间控制协议是令牌传递协议,它主要用在令牌环局域网中。
令牌环网中没有碰撞。
轮询协议
主节点轮流“邀请”从属结点发送数据。
1、轮询开销
2、等待延迟
3、单点故障
一个特殊格式的MAC控制帧,不含任何信息。
控制信道的使用,确保同一时刻只有一个结点独占信道。
每一个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权力,但并不是无限制地持有令牌。
1.令牌开销
应用于令牌网
物理星型拓扑,逻辑环形拓扑
采用令牌传送方式地网络常用于负载较重、通信量较大地网络中。
总结
6)局域网
1、局域网的基本概念和体系结构
1、为一个单位所拥有,且地理位置范围和站点数目均有限。
2、所有站点共享较高地总宽带(即较高地数据传输率)。
3、较低地时延和较低地误码率。
4、各站为平等关系而非主从关系。
5、能进行广播和组播。
局域网的特性主要由三个要素决定:
拓扑结构
1、星型结构
2、环形结构
3、总线型结构
4、星型和总线型结合地复合型结构(树形)
三种特殊地局域网拓扑实现
1、以太网
(目前使用范围最广的局域网)。 逻辑拓扑是总线形结构,物理拓扑是星形或拓展星形结构。
2、令牌网
逻辑拓扑是环形结构,物理拓扑是星形结构。
3、FDDI
逻辑拓扑是环形结构,物理拓扑是双环结构。
较为主流地传输介质
2、铜缆
介质访问控制方式
1、CSMA/CD
常用于总线型局域网,也用于树形局域网
2、令牌总线
把总线型或树型网络中地各个工作站按一定地顺序如按接口地址大小排列形成一个逻辑环。只有令牌持有者才能控制总线,才有发数据的权力
3、令牌环
用于环形局域网
如令牌网
用于总线型局域网中
其中最重要的是介质访问控制方式
局域网分类
1、局域网
以太网是应用最为广泛地局域网,包括
它们都符合IEEE802.3系列标准规范
标准以太网(10Mbps)
快速以太网(100Mbps)
千兆以太网(1000Mbps
10G以太网
逻辑拓扑总线型,物理拓扑星型或拓展星型
使用CSMA/CD
2、令牌环网
物理上采用星型拓扑结构,逻辑上是环形拓扑结构
3、FDDI(Fiber Distributed Data Interface)
物理上采用双环拓扑结构,逻辑上是环形拓扑结构。
4、ATM网(Asynchronous Transfer Mode)
较新型地单元交换技术,使用53字节固定长度地单元经进行交换。
5、无线局域网
采用IEEE 802.11标准
2、IEEE 802.3
3、以太网
以太网逻辑上采用总线形拓扑结构。
物理拓扑为星型及其扩展。
以广播方式发送,所有计算机共享同一条总线。
使用了CSMAJCD方式对总线进行访问控制。
传输介质为
双绞线+集线器
使用集 线器的以太网在逻辑上仍然是一个总线网, 属于一个冲突域。
两个标准
DIXEthernet V2标准
第一个局域网产品(以太网)规约
IEEE 802.3标准
帧格式有少量地改动
提供无连接、不可靠地服务
无连接
发送方和接收方之间无“握手过程”
不可靠
不对发送方地数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错有高层负责。
1、以太网的传输介质与网卡
常用地传输介质
粗缆
细缆
双绞线和光纤+集线器
10BASE-T以太网,T表示采用双绞线,现采用地是无屏蔽双绞线,传输速率是10Mbps
计算机与外界局域网的连接是通过主机箱内插入的 块网络接口板网卡实现。
网卡上装有处理器和存储器, 是工作在数据 链路层的网路组件。
网卡是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配, 还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码 与解码及数据缓存功能等。
网卡在出厂时都有 个唯 的代码, 称为介质访问控制(MAC)地址。
这个地 址用千控制主机在网络上的数据通信。
数据链路层设备(网桥、交换机等)都使用各个网卡的MAC 地址。
网卡控制着主机对介质的访问,因此网卡也工作在物理层
因为它只关注比特, 而不关注任何地址信息和高层协议信息。
48位二进制地址,前24位代表厂家,后24位自定义。
常用6个十六进制表示,如02-60-8c-e4-b1-21
2、以太网的MAC帧
由于总线上使用的是广播通信,因此网卡从网络上每收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址。如果是发往本站的帧就接收,否则丢弃。
MAC帧格式的两种标准
DIXEthernet V2标准(即以太网V2标准)
前导码:
使接收端与发送端时钟同步。
在帧前面插入的8字节可再分为两个字段:
第一个字段共7个字节,是前同步码,用来快速实现MAC帧的比特同步;
第二个字段是帧开始定界符, 表 示后面的信息就是MAC帧。
地址:
通常使用6字节(48bit)地址(MAC地址)
类型:
2字节, 指出数据域中携带的数据应交给哪个 协议实体处理。
数据:
46~1500字节,包含高层的协议消息。 由千CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较少时必须加以填充(0~46字节)。
填充:
0~46字节,当帧长太短时填充帧,使之达到64字节的最小长度。
校验码(FCS ):
4字节,校验范围从目的地址段到数据段的末尾,算法采用32位循环冗余码(CRC),不但需要检验MAC帧的数据部分,还要检验目的地址、 源地址和类型字段,但不校验前导码。
MAC帧并不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙。 因此,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个MAC帧,所以 图3.24只有帧开始定界符但不要误以为以太网MAC帧不需要尾部,在数据链路层上,帧既要加首部,也要加尾部。
IEEE 802.3 标准。
802.3帧格式与DIX以太帧格式的不同之处在千用长度域替代了DIX帧中的类型 域,指出数 据域的长度。
3. 高速以太网
速率达到或超过 lOOMb/s的以太网称为高速以太网 。
1、lOOBASE-T以太网
lOOBASE-T 以太网是在双绞线上传送 lOOMb/s 基带信号的星形拓扑结构以太网,它使用 CSMA/CD 协议。 这种以太网既支持全双工方式,又支待 半双工方式,可在全双工方式下工作而无冲突发生。因此,在全双工方式下不使用CSMA/CD协议 。
2、吉比特以太网
吉比特以太网又称于兆以太网,允许在lGb/s下用全双工和半双工两种方式工作。使用802.3 协议规定的帧格式。在 半双工方式下使用CSMNCD协议(全双工方式不需要使用CSMNCD协议)。 与lOBASE-T和lOOBASE-T技术向后兼容。
3、10吉比特以太网
10吉比特以太网与lOMb/s、lOOMb/s和lGb/s以太网的帧格式完全相同。
10吉比特以太网不再使用铜线而只使用光纤作为传输媒体。10吉比特以太网只工作在全双工方式, 因此没有争用问题,也不使用 CSMA/CD协议。
10吉比特以太网还保留了802.3标准规定的以太网最小和最大帧长, 便千升级。
以太网从lOMb/s到 lOGb/s的演进证明了以太网是可扩展的(从 lOMb/s到 lOGb/s)、灵活的(多种传输媒体、 全/半双工、 共享/交换), 易千安装, 稳健性好。
4、IEEE 802.11 无线局域网
IEEE 802.11是无线局域网的 系列协议标准
802.11的MAC帧头格式
802.11的 MAC层采用CSMNCA协议进行介质访问控制。
在无线局域网中, 即使在发送过程中发生了碰撞, 也要把整个帧发送完毕。 而在有线局域网中, 发生冲突则结点立即停止发送数据。
无线局域网分类
1、有固定基础设施无线局域网
2、无固定基础设施无线局域网自组织网络(Ad Hoc Network)
一个基本服务集包括一个基站和若干移动站。
所有的站在本BSS内都可以直接通信,但与BSS外的站通信都要通过BSS的基站。基本服务集中的基站也称为接入点(Access Point,AP,起作用和网桥相似。)
5、令牌环网的基本原理
TCU
令牌网的每一站通过电缆于环接口干线耦合器(TCU)相连。
TCU的作用
传递所有经过的帧,为接入发送和接收数据提供接口。
TCD的状态
收听状态和发送状态。
数据总是在某个特定的方向上从一个TCU到下一个TCU逐比特地依次传送,每个TCU重新产生并重新传输每一比特。
令牌
由于令牌在网环上是按顺序依次传递的, 因此对所有入网计算机而言,访问权是公平的。
令牌环网中令牌和数据的传递过程如下:
l)网络空闲时,环路中只有令牌帧在循环传递。
2)令牌传递到有数据要发送的站点处时,该站点就修改令牌中的 个标志位,并在令牌中附加自己需要传输地数据,将令牌变成一个数据帧,然后将这个数据帧发送出去。
3)数据帧沿者环路传输,接收到的站点一边转发数据,一边查看桢的目的地址。如果目的地址和自己的地址相同,那么接收站就复制该数据帧以便进一步处理。
4)数据帧沿着环路传输,直到到达该帧的源站点,源站点接收到自己发出去的数据帧后便不再进行转发。 同时, 发送方可以通过检验返回的数据帧来查看数据传输过程中是否有 错, 若有错则重传该帧。
5)源站点传送完数据后,重新产生一个令牌,并将令牌传递给下一个站点,以交出对媒体的访问权限。
令牌环网在物理上采用星形拓扑结构,但逻辑上仍是环形拓扑结构,其标准由IEEE 802.5定义。 图3.27中的环并不是由通信线路连接而成的物理环。
7)广域网
1、广域网的基本概念
广域网通常是指覆盖范围很广(远超一个城市的范围)的长距离网络。广域网是因特网的核心部分,其任务就是长距离运送主机所发送的数据。
连接广域网各结点交换机的链路都是高速链路,它可以长达几于千米的光缆线路, 也可以是长达几万于米的点对点卫星链路。
因此广域网首要考虑的间题是通信容量必须足够大, 以便支持日益增长的通信量。
广域网由一些结点交换机及连接这些交换机的链路组成。
注意不是路由器,结点交换机和路由器都用来转发分组, 它们的工作原理也类似。结点交换机在单个网络中转发分组, 而路由器在多个网络构成的互联网中转发分组。
结点交换机的功能是将分组存储并转发。
结点之间都是点到点连接, 但为了提高网络的可靠性,通常—个结点交换机往往与多个结点交换机相连。
广域网中的一个重要问题是路由选择和分组转发。
路由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表, 然后从路由表再构造出转发分组的转发表。
分组是通过转发表进行转发的。
广域网和局域网的区别与联系
局域网使用的协议主要在数 据链路层,而广域网使用的协议主要在网络层
网络中的两个结点要进行数据交换,那么结点除要给出数据外,还要给数据 “包装” 上一层控制信息,用于实现检错纠错等功能。
如果这层控制信息是数据链路层协议的控制信息,那么就称使用了数据链路层协议,如果这层控制信息是网络层的控制信息, 那么就称使用了网络层协议。
表格
广域网数据链路层控制协议
PPP协议
HDLC协议
2、PPP协议(TCP协议簇)
使用串行线路通信的面向字节的协议, 该协议应用在直接连接两个 结点的链路上。
设计的目的主要是用来通过拨号或专线方式建立点对点连接发送数据。其成为各种主机、 网桥和路由器之间简单连接的 种共同的解决方案。
PPP协议是在SLIP协议的基础上发展而来的
它既可以在异步线路上传输, 又可在同步线 路上使用;不仅用于Modem链路, 也用千租用的路由器到路由器的线路。
SLIP
SLIP主要完成数据报的传送,但没有寻址、数据检验、分组类型识别和数据压缩等功能。只能传送IP分组。
如果上层不是IP协议, 那么无法传输, 并且此协议对一些高层 应用也不 支持, 但实现比较简单。为了改进 SLIP 的缺点,于是制定了点对点协议(PPP)。
PPP协议的组成
1、连路程控制协议(LCP)
一种扩展链路控制协议,用千建立、配置、测试和管理数据链路。
实现身份的验证功能
2、网络控制协议(NCP)
PPP协议允许同时采用多种网络层协议, 每个不同的网络层协议 要用一个相应 的NCP来 配置, 为网络层协议建立和配置逻辑连接。
3、将IP数据报封装到串行链路的方法
IP 数据报在PPP帧中就是其 信息 部分, 这个 信 息部分的长度受最大传送单元(MTU) 的限制 。
PPP帧格式
前三个字段和后二字段
PPP帧的前3个字段和最后2个字段与HDLC帧是 样的,标志字段 (F) 仍为 7E(01111110), 前后各占1字节,若它出现在信息字段中,就必须做字节填充,使用的控制 转义字节是7D (01111101)。
PPP是面向字符的,因而所有PPP帧的长度都是整数个字节。
第4个字段是协议段
占2字节,在HDL C中没有该字段,它是说明 信息段中运载的是什么种类的分组。
以比特0开始的是诸如IP、IPX和 Apple Talk这样的网络层协议;
以比特l开始的被用来协商其他协议, 包括LCP及每个支持的网络层协议的一个不同的NCP。
第5 段信息段
长度是可变的,大于等千0且小千等千1500B。
为了实现透明传输, 当信息段中出现和标志字段 样的比特组合时, 必须采用 些措施来改进。
第6个字段是帧检验序列(FCS)
占2字节, 即循环冗余码检验中的冗余码。检验区包括地址段、控制字段、协议字段和信息字段。
因为PPP是点对点的,并不是总线形, 所以无须采用CSMA/CD协议,自然就没有最短帧, 所以信息段占0 - 1500字节, 而不是46- 1500字节。
当数据部分出现和标志位样的比特组合时, 就需要采用一些措施来实现透明传输。
PPP 链路建立、 使用、 撤销所经历的状态图
当线路处千静止状态时,不存在物理层连接。
当线路检测到载波信号时,建立物理连接,线路变为建立状态。
此时,LCP 开始选项商定,商定成功后就进入身份验证状态。 双发身份验证通过后, 进入网络状态。
这时, 采用NCP配置网络层,配置成功后,进入打开状态,然后就可进行数据传输。
当数据传输完成后,线 路转为终止状态。 载波停止后则回到静止状态。
PPP协议特性
1、PPP 提供差错检测但不提供纠错功能, 只保证无差错接收(通过硬件进行 CRC 校验)。
错就丢弃。
2、它是不可靠的传输协议, 因此也不使用序号和确认机制 。
无需流量控制。
3、它仅支持点对点的链路通信, 不支持多点线路。
4、PPP 只支持全双工链路。
5、PPP 的两端可以运行不同的网络层协议, 但仍然可使用同一个 PPP 进行通信。
6、PPP 是面向字节的, 当信息字段出现和标志字段一致的比特组合时, PPP 有两种不同的处 理方法:若 PPP 用在异步线路(默认), 则采用字节填充法;若 PPP 用在 SONET/SDH 等同步线路, 则协议规定采用硬件来完成比特填充(和 HDLC 的做法一样)。
PPP协议应满足的要求
简单
对于链路层的帧,无需纠错,无需序号,无需流量控制。
封装成帧
帧定界符
与帧定界符一样比特组合的数据应该如何处理:
异步线路用字节填充
同步线路用比特填充
多种网络协议
封装的IP数据报可以采用多种协议
多种类型链路
串行/并行,同步/异步,电/光...
差错检测
检查到错就丢弃
检测连接状态
链路是否正常工作。
最大传送单元
数据部分最大长度MTU。
不超过1500B
网络层地址协商
知道通信双方的网络层地址。
数据压缩协商
PPP协议需要将数据进行压缩。
PPP协议无需满足的要求
纠错
序号
不支持多点线路
3、HDLC协议
该协议不依赖千任何一种字符编码集;
数据报文可透明传输,用千实现透明传输的 “0比特插入法” 易千硬件实现;
全双工通信,有较高的数据 链路传输效率;
所有帧采用 CRC 检验, 对信息帧进行顺序编号,可防止漏收或重发, 传输可靠性高;
传输控制功能与处理功能分离, 具有较大的灵活性。
HDLC链路的两种基本配置
非平衡配置
非平衡配置的特点是由一个主站控制整个链路的工作。
平衡配置
平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传输,而不需要得到对方复合站的允许。
1、站
HDLC 有 3 种站类型
主站
主站负责控制链路的操作, 主站发出的帧称为命令帧。
从站
从站受控千主站, 按主站的命令进行操作; 发出的帧称为呴应帧。
复合站
有些站既具有主站的功能,又具有从站的功能,这类站的复合站,它可以发出命令帧和响应帧。
2、数据操作方式
HDLC有3种数据操作方式
1、正常响应方式。
这是一种非平衡结构操作方式,即主站向从站传输数据,从站响应传输,但从站只有在收到主站的许可后,才可进行响应。
2、异步平衡方式。
这是一种平衡结构操作方式。这种方式中,每个复合站都可以进行对另一站的数据传输。
3、异步响应方式。
非平衡结构操作方式。在这种方式中,从站即使未受到主站的允许,也可进行传输。
3、HDLC帧
·
由标志、地址、控制、信息和帧校验序列CFCS)等字段构成。
在接收端只要找到标志字段就可确定一个帧的位置。
HDLC协议采用比特填充的首尾标志法实现透明传输。
在发送端,当一串比特流数据中有5个连续的1时,就立即在其后填入一个0.
接收帧时, 先找到F字段以确定帧的边界, 接着对比特流进行扫描。每当发现5个连续的1时, 就将其后的一个0删除,以还原成原来的比特流。
在使用非平衡方式传送数据时, 站地址字段总是写入从站的地址;
在使用平衡方式传送数据时, 站地址字段填入的是应答站的地址。
HDLC的许多重要功能都靠控制字段来实现。
根据 其第1位或第1、2位的取值, 可将HDLC帧划分为三类:
1、信息帧(I), 第1 位为0
用来传输数据信息, 或使用捎带技术对数据进行确认。
2、监督帧(S), 第1、2位分别为 1、0
用千流量控制和差错控制, 执行对信息帧的确认、请求重发和请求暂停发送等功能;
3、无编号帧(U), 第1、2位均为 1
用于提供对链路的建立、拆除等多种控制功能。
4、PPP帧和HDLC帧的比较
1、PPP协议是面向字节的, HDLC协议是面向比特的。
2、PPP帧比HDLC帧多一个2字节的协议字段。
比如当协议字段值为Ox0021时, 表示信息字段是IP数据报。
3、 PPP协议不使用序号和确认机制, 只保证无差错接收(通过硬件进行CRC检验), 而端到端差错检测由高层协议负责。 HDLC 协议的信息帧使用了编号和确认机制, 能够提供 可靠传输。
相同
都只支持全双工链路。
都可以实现透明传输。
都可以实现差错检测,但不纠正差错。
8)数据链路层设备
1、网桥的概念及其基本原理
两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段。
网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。
网桥处理数据的对象是帧,所以它是工作在数据链路层的设备。
中继器、 放大器处理数据的对象是信号,所以它是工作在物理层的设备。
吞吐量
通过网桥连接的以太网,分割了冲突域,所以吞吐量会叠加。
以太网之间换成集线器或转发器,依然是同一个冲突域,吞吐量就不会增加。
网桥的基本特点
1、网桥必须具备寻址和路径选择能力,以确定帧的传输方向;
2、从源网络 接收帧,以目的网络的介质访问控制协议向目的网络转发该帧;
3、网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换。
注意,一般情况下,存储转发类设备都能进行协议转换,即连接的两个网段可以使用不同的协议;
4、网桥对接收到的帧不做任何修改, 或只对帧的封装格式做很少的修改;
5、网桥可以通过执行帧翻译互联不同类型的局域网,即把原协议的信息段的内容作为另一种协议的信息部分封装在帧中;
6、网桥应有足够大的缓冲空间, 因 为在短时间内帧的到达速率可能高千转发速率。
网桥的作用
网桥根据MAC帧的目的地址对帧进行转发和过滤。当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
网桥的优点
能过滤通信量
扩大了物理范围
可使用不同的物理层
可互联不同类型的局域网
提高了可靠性
性能得到改善
网桥的缺点
增大了时延
MAC子层没有流量控制功能(流量控制需要用到编号机制,编号机制的实现在LL C子层);
不同MAC子层的网段桥接在一起时,需要进行帧格式的转换;
网桥只适合于用户数不多和通信量不大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,这就是所谓的广播风暴。
根据路径选择算法不同,网桥的分类
透明网桥
源路由网桥
1、透明网桥(选择的不是最佳路由)
“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备--自学习的特性。
到达帧的路由选择过程取决于源LAN和目的LAN;
如果源LAN和目的LAN相同,那么丢弃该帧;
如果源LAN和目的LAN不同, 那么转发该帧;
如果目的LAN未知, 那么扩散该帧。
当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。
算法的基本思想是
网桥每收到一个帧,就记下其源地址和进入网桥的端口,作为转发表中的一个项目(源地址、 进入的接口和时间)。
在建立转发表时,把帧首部中的源地址写在 “地址” 一栏的下面。
在转发帧时,则根据收到的帧首部中的目的地址来转发。这时就把在 “地址” 栏下 面已经记下的源地址当作目的地址,而把记下的进入端口当作转发端口。网桥就是在这样的转发过程中逐渐将其转发表建立起来的。
为了避免转发的帧在网络中不断地 ”兜圈子“,透明网桥使用了一种生成树算法(无环),以确保每个源到每个目的地只有唯一的路径。生成树使得整个扩展局域网在逻辑上形成树形结构,所以工作时逻辑上没有环路,但生成树一般不是最佳路由。
2、源路由网桥(选择的是最佳路由)
在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
路由选择由 发送帧的源站负责
发现最佳路由方法
源站以广播方向欲通信的目的站发送一个发现帧。
途中的每个网桥都转发此帧,最终该发现帧可能从多个途径到达目的站;
目的站也将一一发送应答帧;
每个应答帧将通过原路径返回,途经的网桥把自己的标志记录在应答帧中;源站选择出一个最佳路由。
以后,凡从这个源站向该目的站发送的帧的首部,都必须携带这一路由信息。
发送帧还可以帮助源站确定整个网络可以通过的帧的最大长度。
由于发现帧的数噩指 数式增加,可能会使网络严重拥塞。
在源路由网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据真正的路由信息对帧进行接收和转发。
源路由网桥对主机是不透明的,主机必须知道网桥的标识及连接到哪个网段上。
3、两种网桥的比较
使用源路由网桥可以利用最佳路由。
若在两个以太网之间使用并联的源路由网桥,则还可使通信量较平均地分配给每个网桥。
采用透明网桥时,只能使用生成树,而使用生成树一般并不能 保证所用的路由是最佳的,也不能在不同的链路中进行负载均衡。
透明网桥和源路由网桥中提到的最佳路由并不是经过路由器最少的路由, 而可以是发 送帧往返时间最短的路由, 这样才能真正地进行负载平衡, 因为往返时间长说明中间某个路由器 可能超载了, 所以不走这条路, 换个往返时间短的路走。
2、局域网交换机及其工作原理
1、局域网交换机
桥接器的主要限制是在同一时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。
从本质上说,以太网交换机是一个多端口的网桥,他工作在数据链路层。
交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。
2、原理
以太网交换机的原理是,它检测从以太端口来的数据帧的源和目的地的MAC(介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
3、特点
l)以太网交换机的每个端口都直接与单台主机相连(普通网桥的端口往往连接到以太网的一个网段),并且一般都工作在全双工方式。
2)以太网交换机能同时连通许多对端口,使每对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。
3)以太网交换机也是一种即插即用设备(和透明网桥一样),其内部的帧的转发表也是通过自学习算法自动地逐渐建立起来地。
4)\t以太网交换机由千使用了专用的交换结构芯片, 因此交换速率较高。
5)以太网交换机独占传输媒体的带宽。
4、两种交换模式
l)直通式交换机只检查帧的目的地址,这使得帧在接收后几乎能马上被传出去。
这种方式速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的交换。
2)存储转发式交换机先将接收到的帧缓存到高速缓存器中,并检查数据是否正确,确认无误后通过查找表转换成输出端口将该帧发送出去。
如果发现帧有错,那么就将其丢弃。 存储转发式的优点是可靠性高,并能支持不同速率端口间的转换,缺点是延迟较大。
3、冲突域和广播域
冲突域
在同一个冲突域中地每一个节点都能收到所有被发送地帧。简单来说就是同一时间内只能有一台设备发送信息地范围。
广播域
网络中能接受任一设备发出地广播帧地所有设备地集合。简单来说如果站点发出一个广播信号,所有能接收到这个信号地设备范围称为一个广播域。
四、网络层
一、网络层地功能
异构网络互联;路由选择与转发;拥塞控制
二、路由算法
静态路由与动态路由;距离-向量路由算法;链路状态路由算法;层次路由
三、IPv4
IPv4 分组; IPv4 地址与 NAT;
子网划分与子网掩码、 CIDR、 路由聚集ARP、 DHCP 与 ICMP
四、IPv6
IPv6 的主要特点;IPv6 地址
五、路由协议
自治系统;域内路由与域间路由;RIP 路由协议;OSPF 路由协议;BGP 路由协议
六、IP组播
组播的概念;IP 组播地址
七、移动IP
移动 IP 的概念;移动 IP 通信过程
八、网络层设备
路由器的组成和功能;路由表与路由转发
1、网络层的功能
1、异构网络互联
用一种或多种通讯处理设备(即中间设备)相互连接起来,以构成更大的网络系统。
把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
中间设备又称中间系统或终极系统。分为4种
l) 物理层中继系统: 中继器, 集线器 (Hub)。
2)\t数据链路层中继系统:网桥或交换机。
3)\t网络层中继系统: 路由器。
4)网络层以上的中继系统: 网关。
使用物理层或数据层的中继系统,只是把一个网络扩大,从网络层看,它仍然是同一个网,并不称为网络互联。
网络互联通常是指用路由器进行网络互联和路由选择。
路由器是一台专用计算机,用于在互联网中进行路由选择。
IP协议
虚拟互联网络也就是逻辑互联网络,
互联起来的各种物理网络的异构性本来是客观存在
使用IP就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。
使用IP的虚拟互联网络可简称为IP网络。
好处
主机在进行通信时,看不见互联的具体的网络异构细节,如同在一个网络上通信一样。
2、路由与转发
往往不去 区分转发表和路由表, 而是笼统地使用路由表一词。
主要是由路由器完成。
路由器的两个功能
1、路由选择
根据特定的路由选择协议构造出路由表, 同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。
指按照复杂的分布式算法, 根据从各相邻路由器所得到的关千整个网络拓扑的变化情况, 动态地改变所选择的路由。
2、分组转发
后者处理通过路由器的数据流, 关键操作是 转发表查询、转发及相关的队列管理和任务调度等。
指路由器根据转发表将用户的IP数据报从合适的端口转发出去。
路由表
根据路由选择算法得出的, 而转发表是从路由表得出的。
转发表
转发表的结构应当使查找过程最优化, 路由表则需要对网络拓扑变化的计算最优化。
3、拥塞控制
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞。
分组发送速率与时延的关系
当分组到达路由器的速率接近R时, 平均时延急剧增加, 并且会有大量的分组被丢弃(路由器端口的缓冲区是有限的),整个网络的吞吐量会骤降, 源与目的地之间的平均时延也会变得近乎无穷大。
拥塞状态
轻度拥塞
如果随着网络负载的增加, 网络的吞吐量明显小于正常的吞吐量, 那么网络就可能已进入 “轻度拥塞” 状态;
如果网络的吞吐量随着网络负载的增大而下降, 那么网络就可能已进入拥塞状态;
死锁状态
如果网 络的负载继续增大, 而网络的吞吐量下降到零, 那么网络就可能已进入死锁状态。
拥塞控制的原理
拥塞控制主要解决的问题是如何获取网络中发生拥塞的信息, 从而利用这些信息进行控制, 以避免由千拥塞而出现分组的丢失, 以及严重拥塞而产生网络死锁的现象。
流量控制和拥塞控制的区别:
流量控制往往是指在发送端和接收端之间的点对点通信量的控 制。 流量控制所要做的是抑制发送端发送数据的速率, 以便使接收端来得及接收。
拥塞控制必须确保通信子网能够传送待传送的数据, 是一个全局性的问题,涉及网络中所有的主机、 路由器及导致网络传输能力下降的所有因素。
拥塞控制的方法有两种:
1、开环控制
在设计网络时事先将有关发生拥塞的因素考虑周到, 力求网络在工作时不产生拥塞。
这是一种静态的预防方法。 旦整个系统启动并运行, 中途就不再需要修改。
控制的手段
做决定时不考虑当前网络的状态。
确定何时可接收新流量
何时可丢弃分组及丢弃哪些分组
确定何种调度决策
2、闭环控制
事先不考虑有关发生拥塞的各种因素, 采用监测网络系统去监视, 及时检测哪里发生了拥塞, 然后将拥塞信息传到合适的地方, 以便调整网络系统的运行, 并解决出现的问题。
闭环控制是基千反馈环路的概念, 是一种动态的方法。
2、路由算法
路由转发分组的路由表是通过各种路由算法得到的。
路由算法分两类
1、静态路由
2、动态路由
1、静态路由算法(又称非自适应路由算法)
指由网络管理员手工配置的路由信息。
当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。
大型和复杂的网络环境通常不宜采用静态路由。
1、网络管理员难以全面了解整个网络的拓扑结构
2、当网络的拓扑结构和链路状态发生变化时, 路由器中的静态路由信息需要大范围地调整, 这一工作的难度和复杂程度非常高。
2、动态路由算法(又称自适应路由算法)
指路由器上的路由表项是通过相互连接的路由器之间彼此交换信息, 然后按照一定的算法优化出来的, 而这些路由信息会在一定时间间隙里不断更新, 以适应不断变化的网络, 随时获得最优的寻路效果。
动态路由算法分类
链路状态路由算法 OSPF
所有路由器掌握完整的网络拓扑和链路费用信息。
分散性
距离-向量路由算法 RIP
路由器只掌握物理相连的邻居及链路费用。
两种算法的优劣
静态路由算法的优点是简便、 可靠, 在负荷稳定、 拓扑变化不大的网络中运行效果很好, 因此仍广泛用于高度安全的军事系统和较小的商业网络。
动态路由算法能改善网络的性能并有助千流量控制;但算法复杂, 会增加网络的负担, 有时因对动态变化的反应太快而引起振荡, 或反应 太慢而影响网络路由的一致性
1、距离-向量路由算法
在距离-向量路由算法中,所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点。
这种路由选择表包含
每条路径的目的地(另一节点)
路径的代价(也称距离)
这里的距离是一个抽象的概念, RIP就将距离定义为“跳数"。跳数指从源端口到达目的瑞口所经过的路由个数, 每经过一个路由器, 跳数加1。
所有结点都必须参与距离向量交换, 以保证路由的有效性和一致性
当被通告一条新的路由,该路由在本结点的路由表中不存在,才是本地系统就会将这条新的路由加入到路由表中。
当其他节点发来的路由信息中与现有的路由相比距离更短,系统就会将这个新路由替换旧路由。
实质
迭代计算一条路由中的站段数或延迟时间,从而得到到达一个 目标的最短(最小代价) 通路。
要求每个结点在每次更新时都将它的全部路由表发送给所有相邻的结点。
最常见的距离-向量路由算法是RIP算法, 它采用 “跳数” 作为距离的度量。
2、链路状态路由算法
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息。
该算法的两个任务
第一,主动测试所有邻接结点的状态。
两个共享一条链接的结点是相邻结点, 它们连接到同一条链路, 或者连接到同一广播型物理网络。
第二, 定期地将链路状态传播给所有其他结点(或称路由结点)。
典型的链路状态算法是OSPF算法。
算法概述
在一个链路状态路由选择中,一个结点检查所有直接链路的状态, 并将所得的状态信息发送 给网上的所有其他结点, 而不是仅送给那些直接相连的结点。
每个结点都用这种方式从网上所有其他的结点接收包含直接链路状态的路由选择信息。
每当链路状态报文到达时,路山结点便使用这些状态信息去更新自己的网络拓扑和状态 “视野图 ”,一旦链路状态发生变化,结点就对更新的网络图利用 Dijsktra 最短路径算法重新计算路由, 从单一的源出发计算到达所有目的结点的最短路径。
链路状态路由算法主要有三个特征:
1、向本自治系统中所有路由器发送信息,这里使用的方法是泛洪法。
泛洪法
路由器通过所有端口向所有相邻的路由器发送信息。
而每个相邻路由器又将此信息发往其所 有相邻路由器(但不再发送给刚刚发来信息的那个路由器)。
2、发送的信息是与路由器相邻的所有路由器的链路状态, 但这只是路由器所知道的部分信息。
链路状态
指说明本路由器与哪些路由器相邻及该链路的 “度量”。
链路状态的 “度量”
主要用来表示费用、 距离、 时延、 带宽等。
3、只有当链路状态发生变化时,路由器才向所有路由器发送此消息。
一个路由器的链路状态只涉及相邻路由器的连通状态,而不是整个互联网。
链路状态路由算法可以用千大型的或路由信息变化聚敛的互联网环境。
每个路由结点都使用同样的原始状态数据独立地计算路径,而不依赖中间结点的计算;
链路状态报文不加改变地传播,因此采用该算法易千查找故障。
当一个结点从所有其他节点接收到报文时,可以在本地立即计算正确的通路,保证一步汇聚。
链路状态报文仅运载来自单个结点关千直接链路的信息,其大小与网络中的路由结点 数目无关,证据有扩展性。
两种动态路由算法的比较
在距离-向量路由算法中,每个结点仅与它的直接邻居交谈,它为它的邻居提供从自已到网络中所有其他结点的最低费用估计。
在链路状态路由算法中,每个结点通过广播的方式与所有其他结点交谈,但它仅告诉它们与它直接相连的链路的费用。
相较之下,距离-向量路由算法有可能遇到路由环路等问题。
层次路由
采用层次路由的原因
当网络规模扩大时,路由器的路由表成比例地增大。 这不仅会消耗越来越多的路由器缓冲区空间,而且需要用更多 CPU 时间来扫描路由表,用更多的带宽来交换路由状态信息。因此路由选择必须按照层次的方式进行。
许多单位不想让外界知道自己的路由协议,但还想连入因特网。
因特网将整个互联网划分为许多较小的自治系统AS(注意一个自治系统中包含很多局域网), 每个自治系统有权自主地决定本系统内应采用何种路由选择协议。
在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由。
同时还使用一种AS之间的路由协议以确定在不同AS之间的路由。
如果两个自治系统需要通信, 那么就需要一种在两个自治系统之间的协议来屏蔽这些差异。
因特网把路由选择协议划分为两大类
1、一个自治系统内部所使用的路由选择协议称为内部网关协议 (IGP),也称域内路由选择。具体的协议有 RIP 和 OSPF 等。
OSPF 将一个自治系统再划分为若干区域 (Area),每个路由器都知道在本 区域内如何把分组路由到目的地的细节, 但不用知道其他区域的内部网络拓扑结构。
2、自治系统之间所使用的路由选择协议称为外部网关协议 (EGP),也称域间路由选择,用在不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优的路径。 具体的协议有 BGP。
采用分层次划分区域的方法虽然会使交换信息的种类增多,但也会使 OSPF 协议更加复杂。
这样做却能使每个区域内部交换路由信息的通信量大大减小,因而使 OSPF 协议能够用千规模很大的自治系统中。
3、IPv4
IPv4即现在普遍使用的IP(版本4)。(TCP/IP 协议栈)
IP
IP定义数据传送的基本单元 IP分组及其确切的数 据格式。
P也包括一套规则, 指明分组如何处理、 错误怎样控制。
特别是IP还包含非可靠投递的思想, 以及与此关联的分组路由选择的思想。
IP在TCP/IP协议栈中的位置
1、IPv4分组
1、IPv4分组的格式
IP数据报
一个IP分组由首部和数据两部分组成。
首部前一部分的长度固定,共20B,是所有IP分组必须具有的。
在首部部分的后部分是一些可选字段,其长度可变,用来提供错误检测及安全等机制。
IP首部 的部分重要字段含义
1、版本
指IP的版本,目前广泛使用的版本号为4。
2、首部长度
用来表示首部的字节长度。
3a、区分服务
占8位,指示期望获得哪种类型的服务。主要用来强调数据报发送的优先级。
3、总长度
占16位。 指首部和数据之和 的长度,单位为字节(1B)
IP数据报的最大长度为
4、标识
占16位。
它是一个计数器,每产生一个数据报就加1,并赋值给标识字段。
并不是一个序号(IP是无连接服务)。
数据报的长度超过网络的MTU时, 必须进行分片,此时每个数据报片都复制一次标识号,以便能够正确重组原来的数据。
5、标志
MF则用来告知目的主机该IP数据报是否为原始数据报的最后一个片。
标志字段中间的一位是DF,只有当DF=0时才允许分片。
6、片偏移
占13位。它指出较长的分组在分片后, 某片在 原分组中的相对位置。 片偏移以8 个字节为 偏移 单位,即每个分片的长度一定 是8B (64位) 的整数倍。
7、首部校验和
占16位。IP数据报的首部 校验和只校验分组的首部 ,而不校验数据部分。
数据报每经过一个路由都会重新计算下校验和。
8、生存时间(TTL)
占 8位。 数据报在网络中可通过的路由器数的最大值,标识分组在网络中的寿命,以确保分组不会永远在网络中循环。
9、协议
协议图
10、源地址字段
11、目的地址字段
12、可选字段
13、填充字段
全为0数字,把首部补成4B的整数倍。
在IP数据报首部中有三个关于长度的标记, 一个是首部长度、 一个是总长度、一个是片偏移, 基本单位分别为4B、1B、8B。
2、IP数据报分片
最大传输单元MTU
规定一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)。
由于IP数据报被封装在帧中,因此链路层的MTU严格地限制着IP数据报的长度。
在IP数据报的源与 目的地路径上的各段链路可能使用不同的链路层协议,有不同的MTU。
以太网的MTU为1500B
广域网的MTU不超过576B
数据报分片
当IP数据报的总长度大于链路MTU时,就需要将IP数据报中的数据分装在两个或多个较小的IP数据报中,这些较小的数据报称为片。
如何分片?
片在目的地的网络层被重新组装。
目的主机使用 IP首部中的标识、 标志和片偏移字段来组装。
需要将原始数据报进行分片时,每个分片都具有原始数据报的标识号。
当目的主机收到到来自同一发送主机的一批数据分片时,它就可以通过检查数据报的标识号来确定哪些数据报属于同一个原始数据报的片。
P首部中的标志位有3比特,但只有后2比特有意义,分别是MF位(MoreFragment)和DF位(Don'tFragment)。
只有当 DF=0时,该IP数据报才可以被分片。
当MF=l时,表示相应的原始数据报还有后续的片; 当MF = 0时,表示该数据报是相应原始数据报的最后一个片。
目的主机在对片进行重组时,使用偏移字段来确定片应放在原始IP数据报的哪个位置。
如何计算分片长度?
解释
需要将上述的数据分配到3个独立的分片上。假设原始数据报的标识号为777。
例题
3、网络层转发分组的流程
网络层的路由器执行的分组转发算法如下:
2、若网络N与此路由器直接相连,则把数据报直接交付给目的主机D
这称为路由器的直接交付;
否则是间接交付,执行步骤3
3、若路由表中有目的地址为D的特定主机路由(对特定的目的主机指明 个特定的路由,通常是为了控制或测试网络,或出千安全考虑才采用的),则把数据报传送给路由表中所指明的下一跳路由器;否则,执行步骤4.
4、若路由表中有到达网络N的路由 ,则把数据报传送给路由表指明的下一跳路由器;否则,执行步骤 5)。
5、若路由表中有一个默认路由 , 则把数据报传送给路由表中所指明的默认路由器;否则, 执行步骤6)。
6、报告转发分组出错。
得到下一跳路由器的 IP地址后并不是直接将该地址填入待发送的数据报, 而是将该IP地址转换成MAC地址(通过ARP), 将其放到MAC帧首部中, 然后根据这个MAC地址找到下一跳路由器。 在不同网络中传送时,MAC帧中的源地址和目的地址要发生变化, 但是网桥在转发帧时, 不改变帧的源地址, 请注意区分。
2、IPv4地址与NAT
1、IPv4地址
连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符,即1P地址。 传统的IP地址是分类的地址, 分为A、 B、 C、 D、 E五类。
(两级IP地址)组成
无论哪类IP地址,都由 网络号和主机号两部分组成。
即IP地址:: = {<网络号>,<主机号>}。
网络号标志主机(或路由器) 所连接到的网络。
一个网络号在整个因特网范围内必须是唯一 的。
主机号标志该主机(或路由器)。
一台主机号在它前面的网络号所指明的网络范围内必须是唯一的。
有些IP地址具有特殊用途, 不用做主机的IP地址:
1、主机号全为0表示本网络本身,如202.98.174.0。
2、主机号全为1表示本网络的广播地址, 又称直接广播地址, 如202.98.174.255。
3、127.0.0.0保留为环路自检(Loopback Test)地址,此地址表示任意主机本身,目的地址为环回地址的IP数据报永远不会出现在任何网络上。
私有IP地址(内部网络地址)
常用的三种类别IP地址的使用范围
A类地址可用的网络数为span class=\"equation-text\" contenteditable=\"false\" data-index=\"0\" data-equation=\"2^7 - 2\
第一,网络号字段全为0 的IP 地址是保留地址, 意思是 “本网络";
第二, 网络号为127 的IP地址是环回测试地址。
B类地址的可用网络数为,减l的原因是128.0这个网络号是不可指派的。
C 类地址的可用网络数为,减l 的原因是网络号为192.0.0的网络是不可指派的。
2、网络地址转换
网络地址转换 (NAT) 是指通过将专用(内部私有)网络地址(如 Intranet) 转换为公用地址(如 Internet)从而对外隐藏内部管理的 IP 地址。
它使得整个专用网只需要一个全球 IP 地址就可以与因特网连 通,由千专用网本地 IP 地址是可重用的,所以 NAT 大大节省了 IP 地址的消耗。
同时,它隐藏了 内部网络结构, 从而降低了内部网络受到攻击的风险。
私有IP地址网段
A类: 1个A类网段, 即10.0.0.0~10.255.255 .255。B类: 16个B类网段, 即172.16.0.0~172.31 .255.255。 C类: 256个C类网段, 即192.168.0.0~192.168.255.255。
在因特网中的所有路由器,对目的地址是私有地址的数据报一律不进行转发。这种采用私有 IP 地址的互联网络称为专用互联网或本地互联网。
私有 IP 地址也称可重用地址。
NAT
使用 NAT 时需要在专用网连接到因特网的路由器上安装 NAT 软件,NAT 路由器至少有一个有效的外部全球地址。
使用本地地址的主机和外界通信时,NAT 路由器使用 NAT 转换表将本地 地址转换成全球地址,或将全球地址转换成本地地址。
NAT 转换表中存放着{本地 IP 地址:端口} 到{全球 IP 地址· 端口}的映射。通过{ip 地址:端口}这样的映射方式,可让多个私有 IP 地址映射到同一个全球IP地址。
NAT转发表
普通路由器在转发IP数据报时, 不改变其源IP地址和目的IP地址。 而NAT路由器 在转发IP数据报时,一定要更换其IP地址(转换源IP地址或目的IP地址)。 普通路由器仅工作在网络层, 而NAT路由器转发数据报时需要查看和转换传输层的端口号。
3、子网划分与子网掩码、CIDR
1、子网划分
什么是子网划分
在IP地址中又增加了一个 “子网号字段"(将两级IP地址的主机号划分为子网号和主机号) ,使两级IP地址变成了三级IP地址。 这种做法称为子网划分。 子网划分已成为因特网的正式标准协议。
为什么要子网划分
两级IP地址的缺点:
IP地址空间的利用率有时很低;
给每个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏;
两级的IP地址不够灵活。
子网划分的基本原理
1、·\t子网划分纯属一个单位内部的事情。 单位对外仍然表现为没有划分子网的网络。
2、从主机号借用若干比特作为子网号, 当然主机号也就相应减少了相同的比特。 三级IP地 址的结构如下:IP地址={<网络号>, <子网号>, <主机号>}。
3、凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号, 先找到连接到本单位网络 上的路由器。 然后该路由器在收到IP数据报后, 按目的网络号 和子网号找到目的子网。 最后把IP数据报直接交付给目的主机。
1、划分子网只是把IP地址的主机号这部分进行再划分, 而不改变IP地址原来的网络号。
从一个IP地址本身或IP数据报的首部,无法判断源主机或目的主机所连接的网络是否进行了子网划分。
2、RFC 950规定,对分类的IPv4地址进行子网划分时,子网号不能为全1或全0。 但随着 CIDR的广泛使用,现在全l和全0的子网号也可使用,但一定要谨慎使用,要弄清你的 路由器所用的路由选择软件是否支持全0或全1的子网号。
2、子网掩码
主机或路由器对一个A类、B类、C类网络进行了子网划分 ,使用子网掩码来表达 对原网络中主机号的 借位。
所有的网络都必须使用子网掩码。
默认子网掩码
A类
255.0.0.0
B类
255.255.0.0
C类
255.255.255.0
由于子网掩码是一个网络或一个子网的重要属性,所以路由器在相互之间交换路由信息时, 必须把自己所在网络(或子网) 的子网掩码告诉对方。
路由表中的每个条目,除要给出目的网络 地址和下一跳地址外, 还要同时给出该目的网络的子网掩码。
掩码组成
子网掩码是一个与 IP地址相对应的、长 32bit的二进制串 ,它由一串l和跟随的一串0 组成。
其中,1对应于IP地址中的网络号及子网号,而0对应主机号。
计算机只需将 IP地址和其对 应的子网掩码逐位 ”与"(逻辑AND运算), 就可得出相应子网的网络地址。
如何使用子网掩码
1、一台主机在设置IP地址信息的同时, 必须设置子网掩码。
2、 同属于一个子网的所有主机及路由器的相应端口,必须设置相同的子网掩码。
3、路由器的路由表中, 所包含信息的主要内容必须有目的网络地址、 子网掩码、 下一跳地址。
使用子网掩码时路由器的分组转发算法
1、从收到的分组的首部提取目的 IP地址, 记为D。
2、先判断是否为直接交付。 对路由器 直接相连的网络逐个进行检查:
3、用各网络的子网掩码和D逐位相 ”与“,看结果是否和相应的网络地址匹配。
若匹配,则将分组 直接交付,
否则间接交付,执行步骤3
5、若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行步骤6)。
3、无分类域间路由选择(CIDR)
无分类域间路由选择是在变长子网掩码的基础上提出的一种消除传统A、 B、C类网络划分。
并且可以在软件的支持下实现超网构造的一种IP地址的划分方法。
CIDR的主要特点
1、CIDR使用 “网络前缀" 的概念代替子网络的概念。
IP地址的无分类两级编址 为: IP:: = {<网络前缀>,<主机号>}。
2、网络前缀所占比特数对应千网络号的部分,等效于子网掩码中连续l 的部分。
通过逐位相与的方法可以得到该地址的网络前缀(或 直接截取前20位)
3、CIDR 虽然不使用子网,但仍然使用 “掩码” 一词。
”CIDR 不使用子网” 是指 CIDR 并没有在 32 位地址中指明若干位作为子网字段。
4、分配到一个 CIDR 地址块的组织,仍可以在本组织内根据需要划分出一些子网。
全 0 和全 l 的主机号地址一般不使用。
5、将网络前缀都相同的连续 IP地址组成 “ CIDR 地址块"。一个 CIDR 地址块可以表示很多地址, 这种地址的聚合称为路由聚合,或称构成超网。
路由聚合使得路由表中的一个项目可以表示多个原来传统分类地址的路由,有利千减少路由器之间的路由选择信息的交换,从而提高网络性能。
应用
构成超网
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合
方法
将网络前缀缩短(所有网络地址取交集)
1、CIDR 地址块中的地址数一定是 2 的整数次幕,实际可指派的地址数通常为 span class=\"equation-text\" contenteditable=\"false\" data-index=\"0\" data-equation=\"2^n - 2\
2、CIDR 的优点在千网络前缀长度的灵活性。由千上层网络的前缀长度较短,因此相应的路由 表的项目较少。而内部又可采用延长网络前缀的方法来灵活地划分子网。
3、最长前缀匹配 (最佳匹配):使用 CIDR 时,路由表中的每个项目由 “网络前缀” 和 “下一跳地址” 组成。在查找路由表时可能会得到不止一个匹配结果。此时,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体。
4、CIDR 查找路由表的方法:为了更加有效地查找最长前缀匹配,通常将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的数据结构就是二 叉线索。
4、ARP、DHCP、ICMP
1、IP地址与硬件地址
IP 地址是网络层使用的地址,它是分层次等级的。
硬件地址是数据链路层使用的地址(如MAC 地址),它是平面式的。
在网络层及网络层之上使用 IP 地址, IP 地址放在 IP 数据报的首部, 而 MAC 地址放在 MAC 帧的首部。
通过数据封装,把IP数据报分组封装为 MAC 帧后,数据链 路层看不见数据报分组中的 IP 地址。
由于路由器是将广播域进行隔离的。网络层只能使用IP地址进行寻址。
寻址时,每个路由器依据其路由表(依靠静态路由或动态路由协议生成)选择到目标网络(即主机号全为0的网络地址)需要转发到的下一跳(路由器的物理端口号或下一网络地址)
ip 分组通过多次路由转发到达目标网络后,改为在目标LAN 中通过数据链路层的 MAC 地址以广播方式寻址。这样可以提高路由选择的效率。
跨广播域的寻址流程
1、在 IP 层抽象的互联网上只能看到 IP 数据报。
2、虽然在 IP 数据报首部中有完整的源 IP 地址和目的 IP 地址,但路由器只根据目的 IP 地址的网络号进行路由选择。
3、在局域网的链路层,只能看见 MAC 帧。而通过路由器转发 IP 分组时,此 IP 分组在每个网络中都被路由器解封装和重新封装。 因此 IP 数据报在被路由器转发时,其数据链路层封装所使用的 MAC 地址是不断改变的。 这也决定了无法使用 MAC 地址跨网络通信。
4、IP 层抽象的互联网却屏蔽了下层这些复杂的细节。不必了解链路层的机制。
路由器由于互联多个网络,因此它不仅有多个IP地址,也有多个硬件地址。
2、地址解析协议(ARP)
无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。
每台主机都设有一个 ARP 高速缓存,用来存放本局域网上各主机和路由器的 IP地址到 MAC 地址的映射表,称 ARP 表。使用 ARP 来动态维护此 ARP 表。
ARP 工作在网络层
在同一局域网中的情况
1、主机 A 欲向本局域网上的某台主机 B 发送 IP 数据报 时,先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
2、如有,就可查出其对应的硬件地址, 再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
3、如果没有,那么就通过使用目的 MAC 地址为 FF-FF-FF-FF-FF-FF 的帧来封装并广播 ARP 请求分组,使同一个局域网里的所有主机收到 ARP 请求。
4、主机 B 收到该 ARP 请求后, 向主机 A 发出响应 ARP 分组, 分组中包含主机 B 的 IP 与 MAC 地址的映射关系,主机 A 在收到后将此映射写入 ARP 缓存,然后按查询到的硬件地址发送 MAC 帧。
在不同广播域中的情况
除了在同一局域网中流程,还增加了通过路由器硬件进行跨广播的方式。
1、通过 ARP 找到一个位于本局域网上的某 个路由器的硬件地址, 然后把分组发送给这个路由器, 让这个路由器把分组转发给下一个网络
2、这一步在同一局域网中的情况相同
ARP的4种典型情况
1、发送方是主机时,要把 IP 数据报发送到本网络上的另一台主机。这时用 ARP 找到目的主机硬件地址。
2、发送方是主机时,要把 IP 数据报发送到另一个网络上的一台主机。这时用 ARP 找到本网 络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成。
3、发送方是路由器时,要把 1P 数据报转发到本网络上的一台主机。这时用 ARP 找到目的主 机的硬件地址。
4、发送方是路由器时,要把 IP 数据报转发到另一个网络上的一台主机。这时用 ARP 找到本网络上的一个路由器的硬件地址,剩下的工作由找到的这个路由器完成。
1、ARP 由千 “看到了“ IP 地址,所以它工作在网络层,而 NAT路由器由于 “看到了“ 端口,所以它工作在传输层。
对于某个协议工作在哪个层次,读者应该能通过协议的工作原理进行猜测。
2、从 IP 地址到硬件地址的解析是自动进行的,主机的用户并不知道这种地址解析过程。 只要 主机或路由器和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 就会自动地将这个 IP 地址解析为链路层所需要的硬件地址。
3、动态主机配置协议 (DHCP)
它提供了即插即用联网的机制, 这种机制允许一台计算机加入新的网络和获取 IP 地址而不用手工参与。
DHCP 是应用层协议,它是基千 UDP 的。
DHCP 的工作原理
1、使用客户/服务器方式。
2、需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文,这时该主机就成为DHCP 客户。
3、本地网络上所有主机都能收到此广播报文,但只有 DHCP服务器才回答此广播报文。
4、DHCP 服务器先在其数据库中查找该计算机的配置 信息。若找到,则返回找到的信息。若找不到,则从服务器的IP 地址池中取一个地址分配给该计 算机。
5、DHCP 服务器的回答报文称为提供报文。
DHCP服务器聚合DHCP客户端的交换过程
1、DHCP 客户机广播 “DHCP 发现“ 消息,试图找到网络中的 DHCP 服务器,以便从 DHCP服务器获得一个 IP 地址。
2、DHCP 服务器收到 “DHCP 发现“ 消息后, 向网络中广播 “DHCP 提供“ 消息,其中包括提供 DHCP 客户机的 IP 地址和相关配置信息。
3、DHCP 客户机收到 “DHCP 提供“ 消息,如果接收 DHCP 服务器所提供的相关参数,那么通过广播 “DHCP 请求“ 消息向 DHCP 服务器请求提供 IP 地址。
4、DHCP 服务器广播 “DHCP 确认“ 消息, 将 IP 地址分配给 DHCP 客户机。
1、当多台DHCP服务器都向同一台客户机应答,DHCP客户机只会挑选最先到达的应答消息。
2、DHCP 服务器分配给 DHCP 客户的 IP 地址是临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 称这段时间为租用期。租用期的数值应由 DHCP 服务器 自己决定,DHCP 客户也可在自已发送的报文中提出对租用期的要求。
3、DHCP 是应用层协议,因为它是通过客户/服务器方式工作的,DHCP 客户端向 DHCP 服务器请求服务。读者在后面的学习中会了解到,应用层协议
4、DHCP 的客户端和服务器端需要通过广播方式来进行交互,原因是在 DHCP 执行期间,客户端和服务器端都没有标识自己身份的 IP 地址, 因此不可能通过单播的形式进行交互。采用 UDP而不采用 TCP 的原因也很明显: TCP 需要建立连接,如果连对方的 IP 地址都不知道,那么更不 可能通过双方的套接字建立连接。
4、网际控制报文协议 (ICMP)
ICMP在TCP/IP 协议站中的位置
ICMP 报文作为 IP 层数据报的数据, 加上数据报的首部, 组成 IP 数据报发送出去。
ICMP 是 IP 层协议。
ICMP的报文结构
此处的校验和无法检查首部数据错误。
ICMP报文的种类有两种
ICMP差错报告报文
ICMP 差错报告报文用千目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况。
ICMP差错报告报文五种类型
1、终点不可达
当路由器或主机不能交付数据报时, 就向源点发送终点不可达报文。
2、源点抑制
当路由器或主机由千拥塞而丢弃数据报时, 就向源点发送源点抑制报文, 使 源点知道应当把数据报的发送速率放慢。
3、时间超过
当路由器收到生存时间 (TTL) 为零的数据报时, 除丢弃该数据报外, 还要向源点发送时间超过报文。 当终点在预先规定的时间内不能收到一个数据报的全部数据报片时, 就把已收到的数据报片都丢弃, 并向源点发送时间超过报文。
4、参数问题
当路由器或目的主机收到的数据报的首部中有的字段的值不正确时, 就丢弃 该数据报, 并向源点发送参数问题报文。
5、改变路由(重定向)
路由器把改变路由报文发送给主机, 让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
不应发送 ICMP 差错报告报文的几种情况
1、对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
2、对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
3、对具有组播地址的数据报都不发送 ICMP 差错报告报文。
组播:指一点到多点
广播:指一点到所有点
4、对具有特殊地址(如 127.0.0.0 或 0.0.0.0) 的数据报不发送 ICMP 差错报告报文。
ICMP询问报文
ICMP 询问报文有 4 种类型:
最常用
1、回送请求和回答报文
主机或路由器向特定目的主句发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。用来测试目的站是否可以到达以及了解其相关状态。
2、时间戳请求和回答报文
请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。
3、掩码地址请求和回答报文
4、路由器询问和通告报文
分组网间探测 PING(用来测试两台主机之间的连通性)
PING 使用了ICMP 回送请求和回答报文
Traceroute (Tracert) 使用了 ICMP 时间超过报文
4、IPv6
1、IPv6的主要特点
解决IP地址耗尽问题的措施有三种
1、采用无类别编码CIDR,使IP地址的分配更加合理;
2、采用网络地址转换(NAT)方法以节省全球IP地址;
3、采用具有更大地址空间的新版本的IPv6.
前两种方法只是延长了1Pv4 地址分配结束的时间,只有第三种方法从根本上解决IP地址耗尽的问题。
1、更大的地址空间。IPv6将地址从 1Pv4的 32位增大到了128位。1Pv6的字节数(16B)是 1Pv4 字节数(4B)的平方。
2、扩展的地址层次结构。
3、灵活的首部格式。
4、改进的选项。
5、允许协议继续扩充。
6、支持即插即用(即自动配置)。
7、支持资源的预分配。
8、1Pv6只有在包的源结点才能分片,是端到端的, 传输路径中的路由器不能分片, 所以从一般意义上说,1Pv6不允许分片(不允许类似1Pv4 在路由分片)。
9、1Pv6首部长度 必须是8B的整数倍,而1Pv4首部是4B的整数倍。
10、增大 了安全性。身份验证和保密功能是1Pv6的关键特征。
1Pv6与1Pv4不兼容
1、首先也是最重要的,IPv6有比IPv4 长得多的地址。IPv6的地址用 16个字节表示,地址空间 是IPv4的 2128-32 = 296 倍,从长远来看,这些地址是绝对够用的。
2、简化了IP分组头 ,它 包含8个域 (1Pv4 是12个域 )。这一改变 使得路由器能够 更快地 处理分组 ,从而可以改善吞吐率。
3、更好地支持 选项。这一改变对新的分组首部很重要,因 为—些从前必要的段现在变 成了 可选段。此外,表示选项的方式的改变还能加快分组的 处理速度。
2、IPv6地址
1Pv6 数据报的目的地址可以是以下三种基本类型地址之一
1、单播
单播就是传统的点对点通信。
2、多播
多播是一点对多点的通信,分组 被交付到一组计算机的每台计算机。
3、任播
是1Pv6增加的一种类型。任播的目的站是一组计算机,但数据报 在交付时只交付其中的一 台计算机,通常是距离最近的一 台计算机。
2a、IPv6数据报格式
3、IPv6格式
1Pv4 地址通常使用 点 分十进制表示法。
1Pv6标准中 指定 了—种比较紧凑的表示法,即把地址中的每4位用 一个十六进制数表示,并用冒号分隔每16位。
如 4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170。
IPv6 地址缩写成更紧凑的形式 。当 16位域的开头有一些 0时,可以采用 一种缩写表示法,但在域中 必须至少有一个数字。
例如,可以把地址 4BF5:0000:0000:0000:BA 5F:039A:000A:2176 缩写为4BF5:0:0:0:BA5F:39A:A:2 l 76。
当有相继的 0值域时,还可以进 一步缩写。这些域 可以用双冒号缩写(::)。
双冒号表 示法在一个地址中仅能出现一次, 因为0值域的个数没有编码, 需要从指定的总的域的个数来推算。
如前述地址 可被 更紧凑 地 书写成4BF5::BA5F:39A:A:2176。
4、IPv6的分级
IPv6扩展了IPv4地址的分级概念,它使用以下3个等级:
第一级(顶级)指明全球都知道 的公共拓扑;
第二级(场点级)指明单个场点;
第三级指明单个网络接口。
1Pv6地址采用多级体系主要是为了使路由器能够更快地查找路由。
5、IPv6的演变
1Pv4向1Pv6过渡只能采用逐步演进的办法,同时还必须使新安装的1Pv6系统能够向后兼容。
IPv6系统必须能够接收和转发IPv4分组,并且能够为1Pv4分组选择路由。
IPv4向IPv6过渡可以采用双协议栈和隧道技术两种策略:
双协议栈技术是指在一台设备上 同时装有IPv4和IPv6协议栈,那么这台设备既能和IPv4网络通信,又能和1Pv6网络通信。
如 果这台设备是一个路由器,那么在路由器的不同接口上分别配置了1Pv4地址和1Pv6地址,并很可能分别连接了1Pv4网络和IPv6网络;
如果这台设备是一台计算机,那么它将同时拥有IPv4地 址和1Pv6地址,并具备同时处理这两个协议地址的功能。
隧道技术是将整个IPv6数据报封装到 1Pv4数据报的数据部分,使得1Pv6数据报可以在IPv4网络的隧道中传输。
5、路由协议
1、自治系统
单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。
一个自治系统内所有网络都由一个行政单位来管辖。
一个自治系统的所有路由器在本自治系统内部都必须是连通的。
2、域内路由与与间路由
自治系统内部的路由选择称为域内路由选择,自治系统之间的路由选择称为域间路由选择。
因特网有两大类路由选择协议
内部网关协议指一个自治系统内部使用的路由选择协议,与其他自治系统无关
使用协议分类
路由信息协议(RIP)
开放最短路径优先(OSPF)协议
种协议将路由选择信息传递到另 个自治系统中
使用协议边界网关协议(BGP-4)
两种协议的关系
3、路由信息协议(RIP)(距离向量)
RIP是一种分布式的基千距离向量的路由选择协议
1、RIP规定
1、网络中的每个路由器都要维护从它自身到其他每个目的网络的距离记录(因此这是一组距离,称为距离向量)。
2、距离也称跳数(HopCount),规定从一个路由器到直接连接网络的距离(跳数)为I。而每经过一个路由器,距离(跳数)加1。
3、 RIP认为好的路由就是它通过的路由器的数目少,即优先选择跳数少的路径。
4、 RIP允许一条路径最多只能包含15个路由器(即最多允许15跳)。
当距离等于16时,指网络不可达。因此RIP的路由器之间只适合小型互联网。
距离向量路由可能会出现环路的情况,规定路径上的最高跳数的目的是为了防止数据报不断循环在环路上,减少网络拥塞的可能性。
5、 RIP默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息,以便自动建立并维护路由表(动态维护)。
6、在RIP中不支持子网掩码的RIP广播,所以RIP中每个网络的子网掩码必须相同。
新的RIP2中,支持变长子网掩码和CIDR。
1a、RIP协议的报文格式
2、RIP的特点(注意与OSPF的特点比较)
1、仅和相邻路由器交换信息。
2、路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表。
3、按固定的时间间隔交换路由信息,如每隔30秒。
RIP通过距离向量算法来完成路由表的更新。
最初,每个路由器只知道与自己直接相连的网络路由的路由信息。
通过每30秒的RIP广播,相邻两个路由器相互将自己的路由表发给对方。
经过第一次RIP广播,每个路由器就知道了与自己相邻的路由器的路由表(即知道了距离自己跳数为1的网络路由)。
经过第二次RIP广播,每个路由器就知道了距离自己跳数为2的网络的路由
经过若干RIP广播后,所有路由器都最终知道了整个IP网络的路由表,成为RIP最终是收敛的。
通过RIP收敛后,每个路由器到每个目标网络的路由都是距离最短的(即跳数最少,最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
3、距离向量算法
当相邻的路由器发送过来的RIP报文时,执行如下步骤
1、对地址为X的相邻路由器发来的RIP报文,先修改此报文中的所有项目:
把“下一跳”字段中的地址都改为X
把所有"距离”字段的值加1
2、对修改后的RIP报文中的每个项目,执行如下步骤:
1、当原来的路由表中没有目的网络N时,把该项目添加到路由表中。
以新的状态为主。
3、如果 180 秒 (RIP 默认超时时间为 180 秒)还没有收到相邻路由器的更新路由表,那么把此相邻路由器记为不可达路由器,即把距离设置为 16(距离为 16 表示不可达)。
4、返回。
RIP的优缺点
实现简单、 开销小、 收敛过程较快。
1、RIP 限制了网络的规模,它能使用的最大距离为 15 (16 表示不可达)。
2、路由器之间交换的是路由器中的完整路由表,因此网络规模越大,开销也越大。
3、网络出现故障时,会出现慢收敛现象(即需要较长时间才能将此信息传送到所有路由器),俗称 “坏消息传得慢“,使更新过程的收敛时间长。
RIP 是应用层协议,它使用 UDP 传送数据(端口520)。 RIP 选择的路径不一定是时间最短的,但一定是具有最少路由器的路径。 因为它是根据最少的跳数进行路径选择的。
4、开放最短路径优先(OSPF)协议(链路状态算法)
开放最短路径优先 (OSPF) 协议是使用分布式链路状态路由算法的典型代表,也是内部网 关协议 (IGP) 的一种。
使用的是最短路径算法SPF。
1、OSPF 协议的基本特点
OSPF 与 RIP 相比有以下4点主要区别:
1、OSPF 向本自治系统中的所有路由器发送信息,这里使用的方法是洪泛法。
RIP 仅向自已相邻的几个路由器发送信息。
2、发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
”链路状态” 说明本路由器和哪些路由器相邻及该链路的 “度量”(或代价)。
RIP 中,发送的信息是本路由器所知道的全部信息,即整个路由表。
3、只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快,不会出现 RIP “坏消息传得慢" 的问题。
在RIP中,不管网络拓扑是否发生变化,路由器之间都会定期交换路由表的信息。
RIP 是应用层协议, 它在传输层使用 UDP。
OSPF的特点
1、 OSPF 对不同的链路可根据 IP 分组的不同服务类型 (TOS) 而设置成不同的代价。
OSPF 对千不同类型的业务可计算出不同的路由,十分灵活。
2、如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这称为多路径间的负载平衡。
3、所有在 OSPF 路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器 之间交换链路状态信息。
4、支待可变长度的子网划分和无分类编址 CIDR。
5、每个链路状态都带上一个 32 位的序号,序号越大,状态就越新。
2、OSPF 的基本工作原理
由于路由器之间频繁地交换链路状态信息,因此所有路由器最终都能建立一个链路状态数据库。
这个数据库实际上就是全网的拓扑结构图。
它在全网范围内是一致的(称为链路状态数据 库的同步)。
每个路由器根据这个全网拓扑结构图,使用 Dijkstra 最短路径算法计算从自己到各目的网络的最优路径,以此构造自己的路由表。
当链路状态发生变化时,每个路由器重新计算到各目的网络的最优路径,构造新的路由表。
路由表中不会存储完整路径, 而只存储 “ 下一跳" (只有到了下一跳路由器, 才能知道再下一跳应当怎样走)。
OSPF的区域
为使 OSPF 能够用千规模很大的网络, OSPF 将一个自治系统再划分为若干更小的范围, 称为区域。
好处是, 将利用洪泛法交换链路状态信息的范围局限千每个区域而非整个自治系统, 减少了整个网络上的通信量。
在一个区域内部的路由器只知道本区域的完整网络拓扑, 而不知道其他区域的网络拓扑情况。
区域也有层次之分。 处在上层的域称为主干区域, 负责连通其他下层的区域, 并且还连接其他自治域。
每个区域都有一个32位的区域标识符(用点分十进制表示)
在一个区域内的路由器最好不超过200个。
3、OSPF 的五种分组类型
OSPF的分组
分组类型
1、问候分组, 用来发现和维持邻站的可达性。
2、数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
3、链路状态请求分组, 向对方请求发送某些链路状态项目的详细信息。
4、链路状态更新分组, 用洪泛法对全网更新链路状态。
5、链路状态确认分组, 对链路更新分组的确认。
刚开始工作时, OSPF 让每个路由器使用数据库描述分组和相邻路由器交换本数据库中已有的链路状态摘要信息。
然后, 路由器使用链路状态请求分组, 向对方请求发送自己所缺少的某些链路状态项目的详细信息。
经过一系列的这种分组交换, 就建立了全网同步的链路数据库。
4、其他特点
通常每隔 10 秒, 每两个相邻路由器要交换一次问候分组, 以便知道哪些站可达。
只要一个路由器的链路状态发生变化, 该路由器就要使用链路状态更新分组, 用洪泛法向全网更新链路状态。
其他路由器在更新后, 发送链路状态确认分组对更新分组进行确认。
每隔30分钟,刷新一次数据库中的链路状态。保持链路的一致性
一个路由器的链路状态只涉及与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。
当互联网规模很大时, OSPF 要比 RIP 好得多, 而且 OSPF 协议没有 “坏消息传播得慢” 的问题。
OSPF不存在坏消息传的很慢的问题,它的收敛速度很快。
5、边界网关协议(BGP)
边界网关协议常用千互联网的网关之间。
路由表包含已知路由器的列表、 路由器能够达到的地址及到达每个路由器的路径的跳数。
由于AS在互联网中比较多,并且使用的协议不同,使得BGP使用的环境不同。原因如下
1、因特网的规模太大, 使得自治系统之间路由选择非常困难。
2、对于自治系统之间的路由选择, 要寻找最佳路由是很不现实的。
3、自治系统之间的路由选择必须考虑有关策略。
边界网关协议 (BGP) 只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),并非寻找最佳的路由。
BGP采用的是路径向量路由选择协议,它与距离向量协议和链路状态协议有很大的区别。
BGP是应用层协议,它是基于TCP的。
BGP原理
1、每个自治系统的管理员要选择至少一个路由器(可以有多个)作为该自治系统的 “BGP 发言人”。
2、一个 BGP 发言人与其他自治系统中的BGP 发言人要交换路由信息,就要先建立 TCP 连接(可见 BGP 报文是通过 TCP 传送的, 也就是说 BGP 报文是 TCP 报文的数 据部分), 然后在此连接上交换 BGP 报文以建立 BGP 会话, 再利用 BGP 会话交换路由信息。
3、当所有 BGP 发言人都相互交换网络可达性的信息后, 各 BGP 发言人就可找出到达各个自治系统的较好路由。
要求
每个 BGP 发言人除必须运行 BGP 外, 还必须运行该 AS 所用的内部网关协议, 如 OSPF 或 RIP。
BGP 所交换的网络可达性信息就是要到达某个网络(用网络前缀表示)所要经过的一系列AS。
1、BGP 交换路由信息的结点数量级是自治系统的数量级, 要比这些自治系统中的网络数少很多。
2、每个自治系统中 BGP 发言人(或边界路由器)的数目是很少的。 这样就使得自治系统之 间的路由选择不致过分复杂。
4、在 BGP 刚运行时, BGP 的邻站交换整个 BGP 路由表, 但以后只需在发生变化时更新有变化的部分。 这样做对节省网络带宽和减少路由器的处理开销都有好处。
BGP协议的报文格式
一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就先要建立TCP连接,即通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息。
BGP-4的4中报文
1、打开(open)报文。
用来与相邻的另一个BGP发言人建立关系。
2、更新(Update)报文。
用来发送某一路由的信息,以及列出要撤销的多条路由。
3、保活(Keepalive)报文。
用来确认打开报文并周期地证实邻站关系。
4、通知(Notification)报文。
用来发送检测到地差错。
三种路由协议地比较
6、IP组播
IP数据报地三种传输方式
单播
单薄用于发送数据包到单个目的地,且每发送一份但播报文都使用一个单播IP地址作为目的地址。是一种点对点地传播方式。
发送和接收之间需要单独地数据信道。
广播
指发送数据包到同一广播域或子网内地所有设备地一种数据传输方式,是一种点对多的传输方式。
组播(多播)
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发数,被传递的数据到达距离用户端尽可能近地节点后才开始复制和分发,是一种点对多地传输方式。
1、组播地概念
1、组播一定仅应用于UDP,因为是点对多地传输。而不能用TCP,因为TCP仅仅是面向一对一的连接。
2、主机可以选择加入或离开一个组, 因此一台主机可以同时属于多个组。
3、因特网中的IP 组播也使用组播组的概念, 每个组都有一个特别分配的地址, 要给该组发送的计算机将使用这个地址作为分组的目标地址。 在1Pv4 中, 这些地址在D类地址空间中分配,而IPv6也有一部分地址空间保留给组播组。
4、主机使用一个称为IGMP(因特网组管理协议)的协议加入组播组。它们使用该协议通知本地网络上的路由器关于要接收发送给某个组播组的分组的愿望。通过扩展路由器的路由选择和转发功能, 可以在许多路由器互联的支待硬件组播的网络上面实现因特网组播。
5、组播需要路由器的支持才能实现, 能够运行组播协议的路由器称为组播 路由器。
主机组播时仅发送一份数据, 只有数据在传送路径出现分岔时才将分组复制后继续转发。
大大减轻了网络 的负载和发送者的负担。
2、IP组播地址
1、IP组播使用D类地址格式。
每个D类IP地址标志一个组播组。
1、组播数据报也是 “尽最大努力交付",不提供可靠交付。用于UDP
2、组播地址只能用千目的地址, 而不能用于源地址。
源地址是单播地址。
3、对组播数据报不产生ICMP差错报文。 因此, 若在PING命令后面键入组播地址,将永远不会收到响应。
4、并非所有的D类地址都可作为组播地址。
IP组播分为两种:
一种只在本局域网上进行硬件组播;
另一种则在因特网的范围内进行组播。
在因特网上进行组播的最后阶段,还是要把组播数据报在局域网上用硬件组播交付给组播组的所有成员。
组播地址映射
组播拥有的以太网MAC地址为
从01-00-5E-00-00-00到01-00-5E- 7F-FF-FF
在每个地址中, 只有23位可用作组播。
只能和D类IP地址中的23位有一一对应关系。
D类IP地址可供分配的有28位,可见在这28位中,前5位不能用来构成以太网的硬件地址
例如,IP组播地址224.128.64.32(即E0-80-40-20)和另一个1P组播地址224.0.64.32(即E0-00-40-20)转换成以太网的硬件组播地址都是0l -OO-SE-00-40-20 。
由千组播IP地址与以太网硬件地址的映射关系不是唯一的, 因此收到组播数据报的主机, 还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。
3、IGMP与组播路由算法
网际组管理协议IGMP
2、IGMP并不是在因特网范围内对所有组播组成员进行管理的协议。
3、IGMP让连接到本地局域网上的组播路由器 知道本局域网上是否有主机参加或退出了某个组播组。
结构图解
IGMP在TCP/IP 协议簇中的位置
IGMP应视为TCP/IP的一部分。
IGMP工作的两个阶段
第一阶段
当某台主机加入新的组播组时, 该主机应向组播组的组播地址发送一个IGMP报文。
声明自己要成为该组的成员。
本地的组播路由器收到IGMP报文后, 将组成员关系转发给因特网上的其他组播路由器。
第二阶段
本地组路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。
只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的,继续向其他组播组路由发送成员关系。
如果经过几次探寻后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。
组播组路由器知道的成员关系只是所连接的局域网中有无组播组的成员。
组播路由选择实际上就是要找出以源主机为根结点的组播转发树,其中每个分组在每条链路上只转发一次(即在组播转发树上的路由器不会收到重复的组播数据报)。
不同的多组播组对应不同的转发数。
同一多播组,对不同的源点也会有不同的多转发树。
组播路由算法
路由器互联的支持硬件多点传送的网络上实现因特网组播,运用的三种路由算法
基于链路状态的路由选择;
基于距离-向量的路由选择;
协议无关的组播(PIM)
建立在任何路由器协议之上
组播组路由协议目的是找出以源主机为根节点的组播转发树。
构造树可以避免在路由之间兜圈子。
对不同的多播组对应于不同的多播转发数,对不同的源点也会有不同的转发树。
转发树
7、移动IP
1、移动IP的概念
移动IP技术是指移动结点以固定的 网络 IP 地址实现跨越不同网段的漫游功能,并保证基千网络 IP 的网络权限在漫游过程中不发生任何改变。
移动IP与动态IP
移动 IP 与动态 IP 是两个完全不同的概念,
动态 IP 指的是局域网中的计算机可以通过网络中的 DHCP 服务器动态地获得一个 IP 地址, 而不需要用户在计算机的网络设置中指定 IP 地址, 动态 IP 和 DHCP 经常会应用在我们的实际工作环境中。
移动节点
移动IP的目标是把分组自动地投递给移动结点。
具有永久IP地址的移动设备。
移动节点是把其连接点从一个网络或子网改变到另外一个网络或子网上。
归属代理(本地代理)
一个移动结点的永久“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理
永久地址(归属地址/主地址)
移动站点在归属网络中的原始地址。
外部代理(外地代理)
在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
转交地址(辅地址)
可以是外部代理的地址或动态配置的一个地址。
2、移动IP通信过程
1、移动结点在本地网时, 按传统的 TCP/IP 方式进行通信(在本地网中有固有的地址)。
2、移动结点漫游到一个外地网络时, 仍然使用固定的 IP 地址进行通信。 为了能够收到通信对端发给它的 IP 分组, 移动结点需要向本地代理注册当前的位置地址, 这个位置地址就是转交地址(它可以是外部代理的地址或动态配置的一个地址)。
3、本地代理接收来自转交地址的注册后, 会构建一条通向转交地址的隧道, 将截获的发给移动结点的 IP 分组通过隧道送到转交地址处。
4、在转交地址处解除隧道封装, 恢复原始的 IP 分组, 最后送到移动结点, 这样移动结点在 外网就能够收到这些发送给它的 IP 分组。
5、移动结点在外网通过外网的路由器或外部代理向通信对端发送 IP 数据包。
6、移动结点来到另一个外网时, 只需向本地代理更新注册的转交地址, 就可继续通信。
7、移动结点回到本地网时, 移动结点向本地代理注销转交地址, 这时移动结点又将使用传 统的 TCP/IP 方式进行通信。
移动 IP 为移动主机设置了两个 IP 地址, 即主地址和辅地址(转交地址)。移动主机在本地网时, 使用的是主地址。 当移动到另一个网络时, 需要获得一个临时的辅地址, 但此时主地址仍然不变。 从外网移回本地网时, 辅地址改变或撤销, 而主地址仍然保持不变。
8、网络层设备
1、路由器的组成和功能
1、路由器
是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络(连接异构网络)并完成路由转发。
在多个逻辑网络(即多个广播域) 互联时必须使用路由器。
在同一个网络中传递数据无须路由器的参数,直接转发。跨不同网络通信必须通过路由器进行转发。
路由器隔离了广播域。
2、组成
从结构上看,路由器由路由选择和分组转发两部分构成
从模型的角度看,路由器是网络层设备,它实现了网络模型的下三层, 即物理层、 数据链路层和网络层。
如果 个存储转发设备实现了某个层次的功能,那么它就可以互联两个在该层次上使用不同协议的网段(网络)。
如果网桥实现了物理层和数据链路层,那么网桥可以互联两个物理 层和数据链路层不同的网段;
但中继器实现了物理层后,却不能互联两个物理层不同的网段,这是因为中继器不是存储转发设备,它属于直通式设备。
路由选择部分
路由选择部分也称控制部分,其核心构件是路由选择处理机。
路由选择处理机的任务是根据所选定的路由选择协议构造出路由表
同时经常或定期地和其他相邻路由器交换路由信息而不断更新和维护路由表。
分组转发部分
分组转发部分由三部分组成:
交换结构
交换结构是路由器的关键部件,它根据转发表(由路由表得来)对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。
三种交换方式
通过存储器进行交换
通过总线进行交换
通过互联网络进行交换
交换结构本身就是一个网络。
一组输入端口
输入端口在从物理 层接收到的比特流中提取出链路层帧,进而从帧中提取出网络层数据报
一组输出端口
输出端口则执行恰好相反的操作。
输入端口对线路上收到的分组的处理
输入端口中的查找和转发功能在路由的交换功能中是最重要的。
输出端口将交换结构传送来的分组发送到线路
若路由器处理分组的速度小于分组进入队列的速率,则队列的存储空间最终必定减少到0,这样使后边再进入队列的分组由于没有存储空间而只能丢弃。
路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
若收到RIP、OSPF分组等,则把分组送往路由选择处理机;
若收到数据分组,则查找转发表并输出。
3、路由器的功能
1、分组转发
处理通过路由器的数据流,关键操作是转发表查询、 转发及相关的队列管理和任务调度等;
2、路由计算
通过和其他路由器进行基于路由协议的交互, 完成路由表的计算。
4、路由器、网桥和集线器的区别
网桥与高层协议无关, 而路由器是面向协议的,它依据网络地址进行操作,并进行路径选择、 分段、帧格式转换、 对数据报的生存时间和流量进行控制等。 现今的路由器一般都提供多种协议的支持, 包括OSI、 TCP/IP、IPX等。
2、路由表与路由转发
1、路由表
路由表是根据路由选择算法得出的, 主要用途是路由选择。
标准的路由表有4个项目
目的网络IP地址、 子网掩码、 下一跳IP地址、 接口
2、转发表
转发表是从路由表得出的, 其表项和路由表项有直接的对应关系。
但转发表的格式和路由表 的格式不同, 其结构应使查找过程最优化(而路由表则需对网络拓扑变化的计算最优化)。
转发 表中含有一个分组将要发往的目的地址, 以及分组的下一跳(即下一步接收者的目的地址, 实际为MAC 地址)。
为了减少转发表的重复项目,可以使用一个默认路由代替所有具有相同 “下一跳” 的项目,并将默认路由设置得比其他项目的优先级低。
路由表总是用软件来实现 的;转发表可以用软件来实现, 甚至也可以用特殊的硬件来实现。
转发和路由选择的区别:
“转发” 是路由器根据转发表把收到的IP数据报从合适的端口 转发出去, 它仅涉及一个路由器。
“路由选择” 则涉及很多路由器, 路由表是许多路由器协同 工作的结果。这些路由器按照复杂的路由算法, 根据从各相邻路由器得到的关千网络拓扑的变化情况, 动态地改变所选择的路由,并由此构造出整个路由表。
在讨论路由选择的原理时, 往往不去区分转发表和路由表的区别, 但要注意路由表不等于转发表。 分组的实际转发是靠直接查找转发表, 而不是直接查找路由表。
两者
某些MAC地址是指下一跳的以太网地址。
五、传输层
1、传输层提供的服务
传输层的功能
传输层寻址与端口
无连接服务和面向连接服务
2、UDP
UDP数据报
UDP校验
3、TCP
TCP段
TCP连接管理
TCP可靠传输
TCP流量控制与拥塞控制
1、传输层的功能
传输层位于网络层之上, 它为运行在不同主机上的进程之间提供了逻辑通信。
只有主机才有的层次。
网络层提供 主机之间的逻辑通信。
网络的边缘部分的两台主机使用网络核心部分的功能进行端到端的通信时, 只有主机的协议栈才有传输层和应用层
路由器在转发分组时都只用到下三层的功能(即在通信子网中没有传输层, 传输层只存在于通信子网以外的主机中)。
1、传输层提供应用进程之间的逻辑通信(即端到端的通信)。
与网络层的区别是,网络层提供的是主机之间的逻辑通信。
2、复用和分用。
复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据;
分用指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
传输层的复用分用功能与网络层的复用分用功能不同。
网络层的复用是指发送方不同协议的数据都可以封装成IP数据报发送出去,分用是指接收方的网络层在剥去首部后把数据交给响应的协议。
3、传输层还要对收到的报文进行差错检割(首部和数据部分)。
而网络层只检查 IP 数据报 的首部, 不检验数据部分是否出错。
4、提供两种不同的传输协议,即面向连接的 TCP和无连接的 UDP。
而网络层无法同时实现 两种协议(即在网络层要么只提供面向连接的服务,如虚电路;要么只提供无连接服务, 如数据报, 而不可能在网络层同时存在这两种方式)。
1、传输层向高层用户屏蔽了低层网络核心的细节(如网络拓扑、 路由协议等)。
使应用进程看见的是好像在两个传输层实体之间有一条端到端的逻辑通信信道,这条逻辑通信信道对上层的表现因传输协议不同而有很大的不同。
当传输层采用面向连接的 TCP 时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。但当传输层采用无连接的UDP时,这种逻辑通信信道仍然是一条不可靠信道。
2、传输层的寻址与端口
1、端口的作用
端口是传输层服务访问点(TSAP)
它在传输层的作用类似于 IP 地址在网络层的作用或 MAC 地址在数据链路层的作用
只不过 IP 地址和 MAC 地址标识的是主机, 而端口标识的是主机中的应用进程。
端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
数据链路层的 SAP 是 MAC 地址, 网络层的 SAP 是 IP 地址, 传输层的 SAP 是端口。
在协议栈层间的抽象的协议端口是软件端口,它与路由器或交换机上的硬件端口是完全不同的概念。硬件端口是不同硬件设备进行交互的接口, 而软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址。传输层使用的是软件端口。
2、端口号
端口号只具有本地意义,即端口号只标识本计算机应用层中的各进程,在因特网中不同计算机的相同端口号是没有联系的。
分为两类(根据端口号范围)
1、服务端使用的端口
熟知端口
最重要的一类是熟知端口号,数值为 0~1023
IANA(互联网地址指派机构)把这些端口号指派给了TCP/IP最重要的一些应用程序,让所有的用户都知道。
常用的熟知端口号
登记端口
数值为1024~ 49151。 它是供没有熟知端 口号的应用程序使用的, 使用这类端口号必须在IANA登记, 以防止重复。
2、客户端使用的端口(临时端口)
客户端使用的端口号,数值为 49152~65535。
由千这类端口号仅在客户进程运行时才动态地选择, 因此又称短暂端口号(也称临时瑞口)。
通信结束后, 刚用过的客户端口号就不复存在, 从而这个端口号就可供其他客户进程使用。
3、套接字
在网络中通过IP地址来标识和区别不同的主机, 通过端口号来标识和区分一台主机中的不同应用进程。
在网络中采用发送方和接收方的套接字(Socket)组合来识别端点。 所谓套接字,实际上是一个通信端点,即
套接字=(主机IP地址, 端口号)
它唯一地标识网络中的一台主机和其上的一个应用(进程)。
在网络通信中, 主机A发给主机 B的报文段包含目的端口号和源端口号, 源端口号是 “ 返回地址” 的一部分,即当B需要发回一个报文段给A时,B到A的报文段中的目的端口号便是A到B的报文段中的源端口号(完全的返回地址是A的IP地址和源端口号)。
3、无连接服务与面向连接服务
面向连接服务
通信双方进行通信之前, 必须先建立连接,在通信过程中, 整个连接的情况一直被实时地监控和管理。 通信结束后, 应该释放这个连接。
两个实体之间的通信不需要先建立好连接,需要通信时, 直接将信息发送到”网络中“,让该信息的传递在网上尽力而为地往目的地传送。
TCP/IP协议簇
TCP/IP协议族在IP层之上使用了两个传输协议:
采用TCP时,传输层向上提供的是一条全双工的可靠逻辑信道;
在传送数据之前必须先建立连接,数据传送结束后要释放连接。 TCP不提供广播或组播服务。
增加了许多开销
如确认、 流量控制、 计时器及连接管理等。
使协议数据单元的头部增大很多,还要占用许多的处理机资源。
因此TCP主要适用于可靠性更重要的场合,如文件传输协议(FTP)、 超文本传输协议(HTTP)、 远程登录(TELNET ) 等。
一个是无连接的用户数据报协议(UDP)
采用UDP时, 传输层向上提供的是一条不可靠的逻辑信道。
它在IP之上仅提供两个附加服务:
多路复用和对数据的错误检查
IP知道怎样把分组投递给一台主机,但不知道怎样把它们投递给主机上的具体应用。
UDP在传送数据之前不需要先建立连接, 远程主机的传输层收到UDP报文后,不需要给出任何确认。
由千UDP比较简单因此执行速度比较快、 实时性好。 使用UDP的应用主要包括小文件传送协议(TFTP)、 DNS、 SNMP和实时传输协议(RTP)。
1、IP 数据报和 UDP 数据报的区别:
IP 数据报在网络层要经过路由的存储转发;
UDP 数据报在传输层的瑞到瑞的逻辑信道中传输,封装成 IP 数据报在网络层传输时, UDP 数据报的信息对路由是不可见的。
2、TCP 和网络层虚电路的区别
TCP 报文段在传输层抽象的逻辑信道中传输,对路由器不 可见;
虚电路所经过的交换结点都必须保存虚电路状态信息。
在网络层若采用虚电路方式,则无法提供无连接服务;而传输层采用 TCP 不影响网络层提供无连接服务。
2、UDP协议
1、UDP数据报
1、UDP概述
UDP 只是做了传输协议能够做的最少工作, 它仅在 IP 的数据报服务之上增加了两个最基本的服务:
复用和分用以及差错检测
UDP是无连接的,减少开销和发送数据之前的时延
UDP尽最大努力交付,即不保证可靠交付。
所有维护传输可靠性的工作需要用户在应用层来完成。
UDP是面向报文的,适合一次性传输少量数据的应用。
发送方UDP对应用层交下来的报文,在添加首部后就向下交付给IP层, 既不合并, 也不拆分, 而是保留这些报文的边界;
接收方UDP对IP层交上来UDP用户数据报, 在去除首部后就原封不动地交付给上层应用进程,一次交付一个完整的报文。因此报文不可分割, 是UDP数据报处理的最小单位。
少量数据不需要分片,本身UDP是不可靠地,如果分片就会加重数据地不可靠。
UDP没有拥塞控制,而TCP的拥塞控制会导致数据出现较大的延迟, 这是它们不可容忍的。
因此UDP适合很多的实时应用。
UDP的首部开销小,8个字节
UDP所具有的优点
1、UDP无需建立连接
UDP 不会引入建立连接的时延。
2、无连接状态
TCP 需要在端系统中维护连接状态。 此连接状态包括接收和发送缓存、 拥塞控制参数和序号与确认号的参数。
UDP 不维护连接状态, 也不跟踪这些参数。因此,某些专用应用服务器使用 UDP 时, 一般都能支待更多的活动客户机。
3、分组首部开销小
TCP 有20B的首部开销, 而 UDP 仅有8B的开销。
4、应用层能更好地控制要发送地数据和发送时间
UDP没有拥塞控制, 因此网络中的拥塞不会影响主机的发送效率。
某些实时应用要求以稳定的速度发送, 能容忍一些数据的丢失, 但不允许有较大的时延, 而UDP正好满足这些应用的需求。
2、UDP的首部格式
UDP数据报包含两部分:
UDP首部
用户数据
整个UDP数据报作为1P数据报的数据部分封装在IP数据报中
1、源端口
源端口号。 在需要对方回信时选用, 不需要时可用全 0。
2、目的端口
目的端口号。 这在终点交付报文时必须使用到。
3、长度
UDP数据报的长度(包括首部和数据), 其最小值是8 (仅有首部)。
4、校验和
检测UDP数据报在传输中是否有错。有错就丢弃。 该字段是可选的, 当源主机不想计算校验和时, 则直接令该字段为全0。
当传输层从IP层收到UDP数据报时,就根据首部中的目的端口, 把UDP数据报通过相应的端口上交给应用进程
如果接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于端口号的应用进程), 那么就丢弃该报文, 并由ICMP发送“端口不可达”差错报文给发送方。
2、UDP校验
伪首部
在计算校验和时,要在UDP数据报之前增加12B的伪首部,伪首部并不是UDP的真正首部。
只是在计算校验和时, 临时添加在UDP数据报的前面, 得到 个临时的UDP数据报。
校验和就是按照这个临时的 UDP 数据报计算的。
伪首部既不向下传送也不向上递交, 而仅为了计算校验和。
这样的校验和, 既检查了UDP数据报, 又对IP数据报的源IP地址和目的IP地址进行了检验。
伪首部只有在计算校验和时才出现,不向下传送也不向上递交。
17:封装UDP报文的IP数据报首部协议字段是17.
UDP长度:
UDP首部8B加数据部分长度(不包括伪首部长度)。
1、UDP校验和的计算方法和IP数据报首部校验和的计算方法相似, 都使用二进制反码运算求和再取反。
2、不同的是,IP数据报的校验和只检验IP数据报的首部, 但UDP的校验和则检查首部和数据部分。
校验算法过程
发送端
发送方首先把全零放入校验和字段并添加伪首部,然后把UDP数据报视为许多16位的字连接起来。
若UDP数据报的数据部分不是偶数个字节,则要在数据部分末尾增加 个全零字节(但此字节不发送)。
接下来按二进制反码计算出这些16位字的和,并将此和的二进制反码写入校验和字段。
1、填上伪首部
2、全0填充到检验和字段
3、全0 填充到数据部分(UDP数据报要看成许多4B的字串接起来)
4、伪首部+首部+数据部分采用二进制反码求和
5、把和求反码填入校验和字段
6、去掉伪首部,发送
接收端
把收到的 UDP 数据报加上伪首部(如果不为偶数个字节, 那么还需要补上全零字节)后, 按二进制反码计算出这些16位字的和。
2、伪首部+首部+数据部分采用二进制反码求和
3、结果全为1则无差错,否则丢弃数据报/交给应用层附上出差错的警告。
1、校验时,若UDP数据报部分的长度不是偶数个字节,则需填入一个全0字节。
此字节和伪首部一样,是不发送的。
2、如果UDP校验和校验出UDP数据报是错误的,那么可以丢弃,也可以交付给上层,但是需要附上错误报告,即告诉上层这是错误的数据报
3、通过伪首部,不仅可以栓查源端口号、目的瑞口号和UDP用户数据报的数据部分,还可以检查IP数据报的源IP地址和目的地址。
3、TCP协议
1、TCP协议的特点
TCP是在不可靠的IP层之上实现的可靠的数据传输协议,它主要解决传输的可靠、 有序、 无丢失和不重复问题。
TCP是TCP/IP体系中非常复杂的一个协议,主要特点如下:
1、TCP是面向连接的传输层协议
2、每条TCP连接只能有两个端点,每条TCP连接只能是点对点的(一对一)
无法用于广播和多播的形式
3、TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复,有序,按序到达,可靠有序,不丢不重
4、TCP提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据。
为此TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
发送缓存用来暂时存放以下数据:
1、TCP准备发送的数据;
2、TCP已发送但尚未收到确认的数据。
接收缓存用来暂时存放以下数据:
1、按序到达但尚未被接收应用程序读取的数据;
2、不按序到达的数据。
5、TCP是面向字节流的,虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅视为一连串的无结构的字节流。
流
流入到进程或从进程流出的字节序列
2、TCP报文段
TCP传送的数据单元称为报文段。
一个TCP报文段分为TCP首部和TCP数据两部分
整个TCP报文段作为IP数据报的数据部分封装在IP数据报中
TCP报文段既可以用来运载数据, 又可以用来建立连接、 释放连接和应答。
各字段意义
1、源瑞口和目的瑞口字段。
各占2B。 端口是运输层与应用层的服务接口,运输层的复用和分用功能都要通过端口实现。
2、序号字段。
占4B。TCP是面向字节流的(即TCP传送时是逐个字节传送的),所以TCP连接传送的数据流中的每个字节都编上一个序号。 序号字段的值指的是本报文段所发送的数据的第一个字节的序号。
3、确认号字段
B正确收到了A发送过来的一个报文段,其序号字段是501,而数据长度是 200B(序 号501~700), 这表明 B正确收到了A发送的到序号700 为止的数据。
4、数据偏移(即首部长度)
占4位, 这里不是IP数据报分片的那个数据偏移,而是表示首部长度,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。
“数据偏移" 的单位是32位(以4B 为计算单位)。因此当此字段的值为 15时,达到TCP 首部的最大长度 60B。
5、保留字段
6、紧急位URG
URG= 1时, 表明紧急指针字段有效。 它告诉系统报文段中有紧急数据,应尽快传送(相当千高优先级的数据)。
URG需要和紧急指针配套使用, 即数据从第一个字节到紧急指针所指字节就是紧急数据。
7、确认位ACK
只有当ACK=l时确认号字段才有效。 当ACK = O时, 确认号无效。 TCP规定,在连接建立后所有传送的报文段都必须把ACK 置l。
8、推送位PSH(Push)
接收TCP收到PSH= 1的报文段, 就尽快地交付给接收应用进程,而不再等到整个缓存都填满后再向上交付。
体现了交付的优先级
9、复位位RST(Reset)
RST= 1时, 表明TCP连接中出现严重差错(如主机崩溃或其他原因), 必须释放连接, 然后再重新建立运输连接。
10、同步位SYN
同步SYN = 1 表示这是一个连接请求或连接接收报文。
11、终止位FIN(Finish)
用来释放一个连接。FIN= 1表明此报文段的发送方的数据已发送 完毕, 并要求释放传输连接。
12、窗口字段
占2B。它指出现在允许对方发送的数据量, 接收方的数据缓存空间是有限的, 因此用窗口值作为接收方让发送方设置其发送窗口的依据, 单位为字节。
13、校验和
占 2B。校验和字段检验的范围包括首部和数据两部分。
14、紧急指针字段
占16位, 指出在本报文段中紧急数据共有多少字节( 紧急数据放在本 报文段数据的最前面)。
15、选项字段
16、填充字段
填充字段。 这是为了使整个首部长度是4B的整数倍。
3、TCP连接管理
TCP 是面向连接的协议, 因此每个 TCP 连接都有三个阶段:
数据传送
TCP 连接的管理就是使运输连接的建立和释放都能正常进行。
TCP连接建立的过程,要解决的三个问题
1、要使每一方都能够确知对方的存在。
2、要允许双方协商一些参数(如最大窗口值、 是否使用 窗口扩大选项、 时间戳选项及服务质最等)。
3、能够对运输实体资源(如缓存大小、 连接表中的项目等)进行分配。
每条TCP连接有两个端点
TCP连接的端点不是主机,不是主机的IP地址,也不是应用进程,也不是传输层的协议端口。
TCP连接的端口称为套接字(socket)或插口。
端口拼接到IP地址即构成套接字。
每条TCP连接唯一地被通信两端地两个端点(两个套接字)确定。
TCP 连接的建立采用客户机/服务器方式。
1、TCP连接地建立
简称三次握手。
建立连接过程
1、客户机的 TCP 首先向服务器的 TCP 发送一个连接请求报文段。
报文段中不含应用层数据。其首部中的SYN标志位被置为1。
另外,客户机会随机选择一个起始序号seq=x (连接请求报文不携带数据, 但要消耗一个序号)。
2、服务器的TCP收到连接请求报文段后,如同意建立连接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量。
3、当客户机收到确认报文段后,还要向服务器给出确认, 并且也要给该连接分配缓存和变量。
该报文段可以携带数据, 若不携带数据则不消耗序号。
成功进行以上三步后, 就建立了TCP连接, 接下来就可以传送应用层数据。TCP提供的是全双工通信, 因此通信双方的应用进程在任何时候都能发送数据。
服务器端的资源是在完成第二次握手时分配的, 而客户端的资源是在完成第三次握手时分配的, 这就使得服务器易于受到SYN洪泛攻击。
洪泛攻击
SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议地特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中地第一个数据包,而当服务器返回ACK后,攻击者不对其经进行确认,那么这个TCP就处于挂起状态,也就是半连接状态,服务器收不到再确认地话,还会重复发送ACK。就造成了大量地资源地浪费,导致服务器死机。
2、TCP连接地释放
TCP连接释放的过程通常称为四次握手
释放连接过程
1、向其TCP发送一个连接释放报文段, 并停止发送数据,主动关闭TCP连接
TCP是全双工的, 即可以想象为一条TCP连接上有两条数据通路。 发送FIN报文时, 发送FIN的一端不能再发送数据,即关闭了其中一条数据通路, 但对方还可以发送数据。
2、服务器收到连接释放报文段后即发出确认报文段
此时,从客户机到服务器这个方向的连接就释放了,TCP连接处千半关闭状态。
但服务器若发送数据, 客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。
3、若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时其发出FIN= 1 的连接释放报文段。
4、客户机收到连接释放报文段后, 必须发出确认。
此时TCP连接还未释放, 必须经过时间等待计时器设置的时间2MSL(最长报文段寿命)后, A才进入连接关闭状态。
这是为了防止客户端发出最后地确认报文丢失,致使服务器一直收不到释放地确认信号。
1、连接建立。 分为3步:
2、释放连接。 分为4步:
连接和释放时,ACK、SYN、FIN一定等于1
连接和释放时,客户端和服务器端地阶段状态
CLOSED 初始(无连接)状态。
LISTEN 侦听状态,等待远程机器的连接请求。
SYN_SEND 在TCP三次握手中,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。
SYN_RECV 在TCP三次握手中,主动连接端收到ACK包后,进入SYN_RECV状态。
ESTABLISHED 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
FIN_WAIT_1 在TCP四次断开时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。
FIN_WAIT_2 在TCP四次断开时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。
TIME_WAIT 在TCP四次断开时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态。
CLOSE_WAIT 在TCP四次断开时,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。
LAST_ACK 在TCP四次断开时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。
4、TCP可靠传输
TCP的任务是在IP层不可靠的、尽力而为服务的基础担负起建立一种可靠数据传输服务。
TCP提供的可靠数据传输服务保证接收方进程从缓冲区读出的字节流与发送方发出的字节流完全一致。
TCP使用了校验、序号、确认和重传等机制来达到这一目的。
1、校验
TCP的校验机制与UDP校验一样。
2、序号
TCP首部的序号字段用来保证数据能有序提交给应用层,TCP把数据视为一个无结构但有序的字节流,序号建立在传送的字节流之上,而不建立在报文段之上。
TCP连接传送的数据流中的每个字节都编上一个序号。
序号字段的指是指报文段所发送的数据的第一个字节的序号。
假设A和B之间建立了一条TCP连接,A的发送缓存区中共有10B,序号从0开始标号,第一个报文包含0~2个字节。那么此个TCP报文段的序号字段为0,第二个报文段的序号是3。
3、确认
TCP首部的确认号是期望收到对方的下一报文段的数据的第一个字节的序号。
如上图中
如果接收方B已收到第 个报文段,此时B希望收到的下一个报文段的数据是从第3个字节开始的,那么B发送给A的报文中的确认号字段应为3.
发送方缓存区会继续存储那些已发送但未收到确认的报文段, 以便在需要时重传。
TCP默认使用累计确认, 即TCP只确认数据流中至第一个丢失字节为止的字节。
接收方B收到了A发送的包含字节 0~2及字节6~7的报文段。由千某种原因,B还未收到字节3~5的报文段,此时B仍在等待字节3(和其后面的字节),因此B到A的下一个报文段将确认号字段置为3。
4、重传
有两种事件会导致 TCP对报文段进行重传: 超时和冗余ACK。
1、超时
TCP每发送一个报文段,就对这个报文段设置一次计时器。 计时器设置的重传时间到期但还未收到确认时,就要重传这一报文段。
由于网路层路由变化很大,为了准确的计算重传时间,TCP采用的是自适应算法。
记录一个报文段发出的时间,以及收到相应确认的时间,这两个时间之差称为报文段的往返时间
2、冗余(冗余确认)
冗余ACK
每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。
TCP规定当发送方收到对同一个报文段的3个冗余ACK时, 就可以认为跟在这个被 确认报文段之后的报文段已经丢失。
冗余ACK还被用在拥塞控制中
5、TCP流量控制
TCP提供流量控制服务来消除发送方使接收方缓存区溢出的可能性,因此可以说流量控制是一个速度匹配服务(匹配发送方的发送速率与接收方的读取速率)
TCP提供一种基千滑动窗口协议的流量控制机制,滑动窗口的基本原理已在第3章的数据链 路层介绍过, 这里要介绍的是 TCP如何使用窗口机制来实现流量控制。
同时,发送方根据其对当前网络拥塞程序的估计而确定的窗口值,这称为拥塞窗口cwnd (后面会讲到), 其大小与网络的带宽和时延密切相关。
发送方的发送窗口取 接收窗口rwnd和拥塞窗口cwnd的最小值。
传输层和数据链路层的流量控制的区别是:
传输层定义端到端用户之间的流量控制。
数据链路层定义两个中间的相邻结点的流量控制。
另外, 数据链路层的滑动窗口协议的窗口大小不能动态变化, 传输层的则可以动态变化。
如何防止死锁的状态
TCP为每个连接设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。
若持续计时器设置的时间到期,接收到零窗口通知的接收方(A)就发送一个零窗口探测报文段,接收方(B)收到探测报文段时给出现在的窗口值。
若窗口仍然是0,那么发送方(A)就重新设置持续计时器。
6、TCP拥塞控制
是指防止过多的数据注入网络, 保证网络中的路由器或链路不致过载。
拥塞往往表现为通信时延的增加。
拥塞控制和流量控制也有相似的地方, 即它们都通过控制发送方发送数据的速率来达到控制效果。
拥塞控制与流量控制的区别:
拥塞控制是让网络能够承受现有的网络负荷, 是 个全局性的过程, 涉及所有的主机、 所有的路由器, 以及与降低网络传输性能有关的所有因素。
流量控制往往是指点对点的通信量的控制, 即接收端控制发送端, 它所要做的是抑制发送端发送数据的速率, 以便使接收端来得及接收。
出现拥塞的原因
对资源需求的总和大于可以用的资源。
网络的负载是否超过了现有网络所能承受的范围。
拥塞控制的四种算法
满开始
拥塞避免
快重传
快恢复
发送方维护的两个窗口
发送方在确定发送报文段的速率时, 既要根据接收方的接收能力, 又要从全局考虑不要使网络发生拥塞。
1、接收窗口 rwnd
收方根据目前接收缓存大小所许诺的最新窗口值, 反映接收方的容量。
由接收方根据其放在 TCP 报文的首部的窗口字段通知发送方。
2、拥塞窗口 cwnd
发送方根据自己估算的网络拥塞程度而设置的窗口值, 反映网络的当前容量。
只要网络未出现拥塞, 拥塞窗口就再增大一些,以便把更多的分组发送出去。
只要网络出现拥塞, 拥塞窗口就减小一些,以减少注入网络的分组数。
发送窗口的上限值应取接收窗口 rwnd 和拥塞窗口 cwnd 中较小的 个, 即
接收方总有足够大的缓存空间, 因而发送窗口大小由网络的拥塞程度决定,也就是说可以将发送窗口等同于拥塞窗口。
1、慢开始和拥塞控制
1、慢开始算法
算法过程
在 TCP 刚刚连接好并开始发送 TCP 报文段时,先令拥塞窗口 cwnd = 1,即报文段的指数。即一个最大报文段长度MSS。
使用慢开始算法后,每经过一个传输轮次(即往返时延 RTT),拥塞窗口 cwnd 就会加倍,即cwnd的大小指数式增长。
传输轮次
指发送了一批报文段并收到它们的确认的时间(即往返时延)
2、拥塞避免算法
算法
发送端的拥塞窗口 cwnd 每经过一个往返时延 RTT就增加 个 MSS的大小,而不是加倍。使 cwnd按线性规律缓慢增长(即加法增大)。
当出现一次超时(网络拥塞)时,令慢开始阈值sstresh等于当前cwnd的一半(即乘法减少)。
根据 cwnd 的大小执行不同的算法,可归纳如下:
•\t当cwnd< ssthresh时,使用慢开始算法。•\t当cwnd> ssthresh时,停止使用慢开始算法而改用拥塞避免算法。•\t当cwnd= ssthresh时,既可使用慢开始算法,又可使用拥塞避免算法(通常做法)。
3、网络拥塞的处理
发送方检测到拥塞事件
网络出现拥塞时,无论是在 慢开始阶段还是在拥塞避免阶段,只要发送方检测到超时事件的发生(未按时收到确认, 重传计时器超时), 就要把慢开始门限 ssthresh 设置为出现拥塞时的发送方的 cwnd 值的 半(但不能小于 2)。
拥塞避免并不能完全能避免拥塞。
拥塞避免 是指在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。
2、快重传和快回复
快重传和快恢复算法是对慢开始和拥塞避免算法的改进。
1、快重传
TCP可靠传输机制中, 快重传技术使用了冗余ACK来检测丢包的发生。
同样, 冗余ACK也用千网络拥塞的检测 (丢了包当然意味着网络可能出现了拥塞)。
快重传并非取消重传计时器, 而是在某些情况下可更早地重传丢失的报文段。
当发送方连续收到三个重复的ACK报文时, 直接重传对方尚未收到的报文段, 而不必等待那个报文段设置的重传计时器超时。
2、快恢复
发送端收到连续三个冗余ACK(即重复确认)时, 执行 “乘法减小” 算法,把慢开始门限ssthresh设置为出现拥塞时发送方cwnd的一半。
把cwnd的值设置为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法(“加法增大”), 使拥塞窗口缓慢地线性增大。
与慢开始(慢开始算法将拥塞窗口cwnd设置为1) 的不同
在流量控制中, 发送方发送数据的最由接收方决定。
在拥塞控制中, 则由发送方自已通过检测网络状况来决定。
实际上, 慢开始、 拥塞避免、 快重传和快恢复几种算法应是同时应用在拥 塞控制机制之中的, 当发送方检测到超时的时候, 就采用慢开始和拥塞避免, 当发送方接收到冗余ACK时, 就采用快重传和快恢复。
发送方实际的发送窗口大 小是由rwnd和cwnd中较小的那一个确定的。
六、应用层
1、网络应用模型
客户/服务器模型;P2P模型
2、域名系统(DNS)
层次域名空间;域名服务器;域名解析过程
3、文件传输协议(FTP)
FTP的工作原理;控制连接与数据连接
4、电子邮件(E-mail)
电子邮件系统的 组成结构;电子邮件格式与MIME; SMTP与POP3
5、万维网(WWW)
WWW的概念与组成结构;HTTP
0、应用层概述
应用层对应用程序的通信提供服务。
应用层协议的定义
应用进程交换的报文类型,请求还是响应?
各种报文类型的语法,如报文的各个字段及其详细描述。
字段的语义,即包含在字段中的信息的含义。
进程何时,如何发送报文,以及对报文进行响应的规则。
应用层的功能
文件传输、访问和管理
电子邮件
虚拟终端
1、客户/服务器模型
服务器工作流程
1、服务器处于接受请求的状态。
2、客户机发出服务请求,并等接收结果。
3、服务器收到请求后, 分析请求, 进行必要的处理, 得到结果并发送给客户机。
客户程序必须知道服务器程序的地址, 客户机上一般不需要特殊的硬件和复杂的操作系统。
服务器程序不需要知道客户程序的地址。
而服务器上运行的软件则是专门用来提供某种服务的程序, 可同时处理多个远程或本地客户的要求。
系统启动后即自动调用并 直不断地运行着,被动地等待并接收来自各地客户的请求。
该模型特征
客户是服务请求方,服务器是服务提供方。
如Web应用程序, 其中总是打开的 Web服务器服务千运行在客户机上的浏览器的请求。
当Web服务器接收到来自客户机对某对象的请求时, 它向该客户机发送所请求的对象以做出响应。
常见的使用客户/服务器模型的应用包括Web、 文件传输协议(FTP)、远程登录和电子邮件等。
1、网络中各计算机的地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使他们不能随意存储、删除数据。或进行其他受限的网络活动。
整个网络的管理工作由少数服务器担当,因此网络的管理非常集中和方便。
2、客户机相互之间不直接通信。 例如, 在 Web 应用中两个浏览器并不直接通信。
3、可扩展性不佳。 受服务器硬件和网络带宽的限制,服务器支持的客户机数有限。
C/S模型的局限性
在 C/S 模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。
2、P2P模型
P2P 模型的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、 上传的功能,其权利和义务都是大体对等的。
在 P2P 模型中,各计算机没有固定的客户和服务器划分。
任意一对计算机—称为对等方(Peer),直接相互通信。
P2P 模型从本质上来看仍然使用客户/服务器方式,每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。
当前比较流行的P2P应用有 PPlive、 Bittorrent 和电驴等。
3、两者的比较
与 C/S 模型相比, P2P 模型的优点主要体现如下:
1、减轻了服务器的计算压力, 消除了对某个服务器的完全依赖, 可以将任务分配到各个结点上, 因此大大提高了系统效率和资源利用率(例如, 播放流媒体时对服务器的压力过 大, 而通过 P2P 模型, 可以利用大量的客户机来提供服务)。
2、多个客户机之间可以直接共享文档。
3、可扩展性好, 传统服务器有响应和带宽的限制,因此只能接受一定数量的请求。
4、网络健壮性强, 单个结点的失效不会影响其他部分的结点。
P2P的缺点
在获取服务的同时,还要给其他结点提供服务,因此会占用较多的内存,影响整机速度。
经常进行 P2P 下载还会对硬盘造成较大的损伤。
据某互联网调研机构统计, 当前 P2P 程序已占互联网 50%~90%的流量,使网络变得非常拥塞, 因此各大 ISP (互联网服务提供商,如电信、 网通等)通常都对 P2P 应用持反对态度。
4、两种模型图
客户/服务器模型
P2P模型
相对于 IP 地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。
DNS 系统采用 客户/服务器模型, 其协议运行在UDP之上, 使用53号端口。
DNS分为三个部分
层次域名空间
域名服务器
解析器
1、层次域名空间
因特网采用层次树状结构的命名方法。
采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名 (Domain Name)。
域 (Domain) 是名字空间中一个可被管理的划分。
域还可以划分为子域, 而子域还可以继续划分为子域的子域, 这样就形成了顶级域、二级域、三级域等。
每个域名都由标号序列组成,而各标号之间用点(“.”)隔开。
由三个标号组成
1、标号com是顶级域名
2、标号 cskaoyan 是二级域名
3、标号 WWW是三级域名
1、标号中的英文不区分大小写。
2、标号中除连字符(-)外不能使用其他的标点符号。
3、每个标号不超过63个字符, 多标号组成的完整域名最长不超过255 个字符。
4、级别最低的域名写在最左边, 级别最高的顶级域名写在最右边。
1、国家顶级域名(nTLD)。
国家和某些地区的域名,如 “.cn\"表示中国,“ .us\"表示美国,\".uk\"表示英国。
国家顶级域名下注册的二级域名均由该国家自行确定。
2、通用顶级域名(gTLD)。
常见的有\".com\"(公司)、" .net\"(网络服务机构)、" .org\"(非营利性组织)和\".gov\"(国家或政府部门)等。
3、基础结构域名。
域名空间的树状结构
域名管理
在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理。
管理CN域的中国将EDU.CN子域授权给中国教育和科研计算机网(CERNET)来管理。
2、域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型。
服务器DNS解析
域名到IP 地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区(不以 “域” 为单位)
各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主 机的域名到 IP 地址的映射。
每个域名服务器不但能够进行一些域名到 IP 地址的解析,而且还必须具有连向其他域名服务器的信息。
当自己不能进行域名到 IP 地址的转换时,能够知道到什么地方去找其他域名服务器。
4种类型的域名服务器
DNS使用了大量的域名服务器,它们以层次方式组织。
没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS上。
1、根域名服务器
根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器 的 IP 地址。
根域名服务器也是最重要的域名服务器,不管是哪个本地域名服务器,若要对因特网 上任何一个域名进行解析,只要自己无法解析,就首先要求助千根域名服务器。
因特网上有13个根域名服务器
这13个根域名服务器中的每个都视为单个服务器
每个“服务器”实际上是冗余服务器的集群,以提供安全性和可靠性。
根域名服务器用来管辖顶级域 (如.com)
它并不直接把待查询的域名直接转换成 IP 地址, 而是告诉本地域名服 务器下一步应当找哪个顶级域名服务器进行查询。
2、顶级域名服务器
这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。收到DNS查询请求时,就给出相应的回答(可能是最后的结果, 也可能是下一步应当查找的域名服务器的 IP 地址)。
3、授权域名服务器(权限域名服务器)
每台主机都必须在授权域名服务器处登记。
为了更加可靠地工作, 一台主机最好至少有两个 授权域名服务器。
实际上, 许多域名服务器都同时充当本地域名服务器和授权域名服务器。
授权 域名服务器总能将其管辖的主机名转换为该主机的 IP 地址。
4、本地域名服务器
每个因特网服务 提供者(ISP), 或一所大学, 甚至一所大学中的各个系, 都可以拥有一个本地域名服务器。 当一台主机发出 DNS 查询请求时, 这个 查询请求报文就发送给该主机的本地域名服务器。
在本地电脑需要填写DNS地址, 这个地址就是本地DNS(域名服务器) 的地址。
DNS的层次结构
3、域名解析过程
域名解析
指把域名映射成为IP地址或把IP地址映射成域名的过程。
域名映射为IP地址称为正向解析
IP地址解析为域名映射称为反向解析。
当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文, 以UDP数据报方式发往本地域名服务器。
域名解析的两种方式
递归查询
由千该方法给根域名服务造成的负载过大, 所以在实际中几乎不使用。
递归与迭代相结合的查询
查询分为两部分
1、主机向本地域名服务器的查询采用的是递归查询
如果本地主机所询问的本地域名服务器不知道被查询域名的 IP 地址, 那么本地域名服务器就以DNS 客户的身份, 向根域名服务器继续发出查询请求报文 (即替该主机继续查 询), 而不是让该主机自已进行下一步的查询。
在这种情况下, 本地域名服务器只需向根域名服 务器查询一次, 后面的几次查询都是递归地 在其他几个域名服务器之间进行的【步骤3—6】
在步骤@中, 本地域名服务器从根域名服务器得到了所需的 IP 地址, 最后在步骤 @中, 本地域名服务器把查询结果告诉主机 m.xyz.com。
2、本地域名服务器向根域名服务器的查询采用迭代查询
当根域名服务器收到本地域名服务器发出的迭代查询请求报文时, 要么给出所要查询的 IP地址, 要么告诉本地域名服务器: “你下一步应当向哪个顶级域名服务器进行查询"。
然后让本地 域名服务器向这个顶级域名服务器进行后续的查询,如图6.6(b)所示。
同样, 顶级域名服务器收到查询报文后,要么给出所要查询的 IP 地址,要么告诉本地域名服务器下一步应向哪个权限域名 服务器查询。
最后, 知道所要解析的域名的 IP 地址后, 把这个结果返回给发起查询的主机。
解析例子
假定某客户机想获知域名为 y.abc.com 主机的 IP 地址, 域名 解析的过程(共使用 8 个 UDP 报文)如下:
1、客户机向其本地域名服务器发出 DNS 请求报文。
2、本地域名服务器收到请求后, 查询本地缓存, 若没有该记录,则以 DNS 客户的身份向根域名服务器发出解析请求。
3、根域名服务器收到请求后,判断该域名属千com 域, 将对应的顶级域名服务器 dns.com的 IP 地址返回给本地域名服务器。
4、本地域名服务器向顶级域名服务器 dns.com 发出解析请求报文。
5、顶级域名服务器 dns.com 收到请求后,判断该域名属于 abc.com 域,因此将对应的授权域名服务器 dns.abc.com 的 IP 地址返回给本地域名服务器。
6、本地域名服务器向授权域名服务器 dns.abc.com 发起解析请求报文。
7、授权域名服务器 dns.abc.com 收到请求后, 将查询结果返回给本地域名服务器。
8、本地域名服务器将查询结果保存到本地缓存, 同时返回给客户机。
DNS的高速缓存
为了提高 DNS 的查询效率, 并减少因特网上的 DNS 查询报文数量, 在域名服务器中广泛地使用了高速缓存。
当一个 DNS 服务器接收到 DNS 查询结果时, 它能将该 DNS 信息缓存在高速缓存中。 这样, 当另一个相同的域名查询到达该 DNS 服务器时, 该服务器就能够直接提供所要求的 IP 地址,而不需要再去向其他 DNS 服务器询问。
因为主机名和 IP 地址之间的映射不是永久 的, 所以 DNS 服务器将在一段时间后丢弃高速缓存中的信息。
1、FTP的工作原理
FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
它屏蔽了各计 算机系统的细节,因而适合千在异构网络中的任意计算机之间传送文件。
FTP提供的功能
1、提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
2、以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
3、以匿名FTP的方式提供公用文件共享的能力。
FTP采用客户/服务器的工作方式,它使用TCP可靠的传输服务。
一个FTP服务器进程可同时为多个客户进程提供服务。
FTP 的服务器进程由两大部分组成:
个主进程, 负责接收新的请求;
另外有若干从属进程, 负责处理单个请求。
FTP 服务器必须在整个会话期间保留用户的状态信息。
特别是服务器必须把指定的用户账户与控制连接联系起来, 服务器必须追踪用户在远程目录树上的当前位置。
工作步骤
1、打开熟知端口 21(控制端口), 使客户进程能够连接上。
2、等待客户进程发连接请求。
3、启动从属进程来处理客户进程发来的请求。 主进程与从属进程并发执行, 从属进程对客户进程的请求处理完毕后即终止。
4、回到等待状态, 继续接收其他客户进程的请求。
2、控制连接与数据连接
FTP 在工作时使用两个并行的 TCP 连接。
一个是控制连接(端口是22)
一个是数据连接(端口是20)
使用两个不同的端口号可使协议更加简单和更容易实现。
1、控制连接
服务器监听 21 号端口, 等待客户连接, 建立在这个端口上的连接称为控制连接
控制连接用来传输控制信息(如连接请求、 传送请求等), 并且控制信息都以7位 ASCII 格式传送。
FTP 客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。
在传输文件时还可以使用控制连接(如客户在传输中途发一个中止传输的命令), 因此控制连接 在整个会话期间一直保持打开状态。
2、数据连接
服务器端的控制进程在接收到 FTP 客户发来的文件传输请求后,就创建 “数据传送进程” 和 “数据连接"。
数据连接用来连接客户端和服务器端的数据传送进程, 数据传送进程实际完成文件的传送, 在传送完毕后关闭 “数据传送连接” 并结束运行。
FTP与NFS
FTP 使用了一个分离的控制连接, 所以也称 FTP 的控制信息是带外 (Out-of-band) 传送的。 使用 FTP 时, 若要修改服务器上的文件, 则需要先将此文件传送到本地主机, 然后再将修改后的文件副本传送到原服务器。
器上的文件, 则需要先将此文件传送到本地主机, 然后再将修改后的文件副本传送到原服务器。 网络文件系统 (NFS) 允许进程打开一个远程文件, 并在该文件的某个特定位置开始读写数据。 这样, NFS 可使用户复制一个大文件中的一个很小的片段, 而 不需要复制整个大文件。
4、电子邮件
1、电子邮件系统应具有三个最主要的组件构成
用户代理(UA)
用户与电子邮件系统的接口。
用户代理使用户能够通过一个很友好的接口 发送和接收邮件,用户代理至少应当具有撰写、 显示和邮件处理的功能。
通常情况下, 用户代理 就是一个运行在 PC 上的程序, 常见的有 Outlook、 Foxmail 和 Thunderbird 等。
邮件服务器
组成电子邮件系统的核心。
邮件服务器的功能是发送和接收邮件, 同时还要向发信人报告邮件传送的情况(已交付、被拒绝、 丢失等)。
邮件服务器采用客户/服务器方式工作,但它能够同时充当客户和服务器。
例如, 当邮件服务器 A 向邮件服务器 B 发送邮件时, A 就作为SMTP 客户, 而 B 是 SMTP 服务器;反之, 当 B 向 A 发送邮件时, B 就是 SMTP 客户, 而 A 就是 SMTP 服务器。
电子邮件协议
邮件发送协议和读取协议:
邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务 器之间发送邮件, 通常使用的是 SMTP;
SMTP 采用的是 “ 推 \"(Push) 的通信方式, 即在用户代理向邮件服务器发送邮件及在邮件服务器之间发送邮件时, SMTP 客户端主动将邮件 ” 推“ 送到 SMTP 服务器端。
邮件读取协议用于用户代理从邮件服务器读取邮件, 如POP3。
POP3采用的是 “ 拉 ” (Pull) 的通信方式, 即用户读取邮件时, 用户代理向邮件服务器发出请求, “ 拉” 取用户邮箱中的邮件。
电子邮件的收发过程
1、发信人调用用户代理来撰写和编辑要发送的邮件。 用户代理用 SMTP 把邮件传送给发送方邮件服务器。
2、发送方邮件服务器将邮件放入邮件缓存队列中, 等待发送。
3、运行在发送方邮件服务器的 SMTP 客户进程, 发现邮件缓存中有待发送的邮件, 就向运行在接收方邮件服务器的 SMTP 服务器进程发起建立 TCP 连接。
4、TCP 连接建立后, SMTP 客户进程开始向远程 SMTP 服务器进程发送邮件。当所有待发送邮件发完后, SMTP 就关闭所建立的 TCP 连接。
5、运行在接收方邮件服务器中的 SMTP 服务器进程收到邮件后, 将邮件放入收信人的用户邮箱, 等待收信人在方便时进行读取。
6、收信人打算收信时, 调用用户代理, 使用 POP3 (或 IMAP) 协议将自己的邮件从接收方邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)。
2、电子邮件格式与MIME
1、电子邮件格式
电子邮件分为信封和内容两部分
邮件内容分为
首部
RFC 822规定了邮件的首部格式
用户写好首部后, 邮件系统自动地将信封所需的信息提取出来并写在信封上, 用户不需要亲自填写信封上的信息。
主体
邮件的主体部分则让用户自由撰写。
邮件内容的首部包含一些首部行, 每个首部行由一个关键字后跟冒号再后跟值组成。
有些关键字是必需的, 有些则是可选的。 最重要的关键字是To.和 Subject:。
to
To 是必需的关键字,后面填入一个或多个收件人的电子邮件地址。
电子邮件地址的规定格式为:
abc 在 cskaoyan.com 这个邮件服务器上必须是唯一
这也就保证了 abc@cskaoyan.com 这个邮件地址在整个因特网上是唯一的。
Subject
Subject是可选关键字,是邮件的主题,反映了邮件的主要内容。
From
它通常由邮件系统自动填入。
首部与主体之间用一个空行进行分割。邮件内容如下
由于SMTP只能传送一定长度的ASCII码,许多其他非英语国家的文字就无法传送,且无法传送可以执行文件及其他二进制对象。
MIME 的意图是继续使用目前的格式, 但增加了邮件主体的结构, 并定义了传送非 ASCII 码的编码规则。
MIME 邮件可在现有的电子邮件程序和协议下传送。
MIME与SMTP的关系
MIME包含三部分
1、5个新的邮件首部字段,包括MIME版本、内容描述、内容标识、内容传送编码和内容类型。
2、定义了许多邮件内容的格式, 对多媒体电 子邮件的表示方法进行了标准化。
3、定义了传送编码, 可对任何内容格式进行转换, 而不会被邮件系统改变。
3、SMTP和POP3
1、SMTP
由千 SMTP 使用客户/服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。
SMTP 用的是 TCP 连接, 端口号为 25。 SMTP 通信有以下三个阶段。
1、建立连接
发件人的邮件发送到发送方邮件服务器的邮件缓存中后, SMTP 客户就每隔一定时间对邮件缓存扫描一次
如发现有邮件, 就使用 SMTP 的熟知端口号 (25) 与接收方邮件服务器的 SMTP服务器建立 TCP 连接。
连接建立后,接收方 SMTP 服务器发出 220 Service ready (服务就绪)。然后 SMTP 客户向 SMTP 服务器发送 HELO 命令, 附上发送方的主机名。
SMTP 不使用中间邮件服务器。
TCP 连接总是在发送方和接收方这两个邮件服务器之间直接建立, 而不管它们相隔多远。
接收方的邮件服务器因故障暂时不能建立连接时, 发送方的邮件服务器只能等待一段时间后再次尝试连接。
2、邮件传送
连接建立后,就 可开始传送邮件。
邮件的传送从 MAIL命令开始,MAIL命令后面有发件人的地址。
如MAIL FROM: < hoopdog@hust.edu.cn>。
若SMTP服务器已准备好接收邮件,则回答250 OK。
接着SMTP客户端发送一个或 多个RCPT(收件人recipient的缩写) 命令,格式为RCPT TO: <收件人地址>。
每发送一个RCPT命令,都应有相应的信息从SMTP服务器返回,如2500K 或550 No such user here(无此用户)。
获得OK 的回答后,客户端就使用 DATA命令,表示要开始传输邮件的内容。
正常情况下, SMTP服务器回复信息是 354Start mail input; end with < CRLF>.<CRLF>。<CRLF>表示 回车换行。
此时 SMTP客户端就可开始传送邮件内容,并用<CRLF> .<CRLF>(两个回车,中间一个点)表 示邮件内容的结束。
RCPT命令的作用是,先弄清接收方系统是否己做好接收邮件的准备,然后才发送邮件, 以便不至千发送了很长的邮件后才知道地址错误,进而避免浪费通信资源。
3、连接释放
邮件发送完毕后,SMTP客户应发送QUIT命令。
SMTP服务器返回的信息是 221(服务关闭),表示SMTP同意释放TCP连接。 邮件传送的全部过程就此结束。
2、POP3
POP3采用的是 “拉 ”(Pull)的通信方式,当用户读取邮件时,用 户代理向邮件服务器发出请求,“ 拉 ” 取用户邮箱中的邮件。
接收方的用户代理上必须运行 POP客户程序,而接收方的邮件服务器上则运行 POP服务器程序
POP有两种工作方式:
下载并保留 ” 和 “下载并删除 “
在 “下载并保留 ” 方式下,用户从邮件服务器上读取邮 件后,邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件;
而使用 “下载并删除“方式时,邮件一旦被读取,就从邮件服务器上删除,用户不能再次从服务器上读取。
3、IMAP因特网 报文存取协议
IMAP为用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令。
因此IMAP服务器维护了会话用户的状态信息。
IM俎) 的另一特性是允许用户代理只获取 报文的某些部分
可以只读取一个报文的首部,或一个多部分 MIME报文的一部分。
这非常适用千低带宽的情况, 用户 可能并不想取回邮箱中的所有邮件,尤其是包含很多音频 或视频的大邮件。
1、WWW的概念与组成结构
2、超文本传输协议(HTTP)
0 条评论
下一页