《计算机网络》速成
课时1 计算机网络体系结构考点重要程度占分题型计算机网络的组成和功能★选择题计算机网络的分类★选择题性能指标★★★★
课时1 计算机网络体系结构
考点 | 重要程度 | 占分 | 题型 |
计算机网络的组成和功能 | ★ | 选择题 | |
计算机网络的分类 | ★ | 选择题 | |
性能指标 | ★★★★ | 选择题、计算题 | |
体系结构与参考模型 | ★ | 选择题 |
1.1计算机网络概述
计算机网络的组成
从组成部分看:
一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。
硬件主要指:主机、通信链路、交换设备和通信设备等;
软件主要指:用户使用的各种软件;
协议指:网络传输数据时需遵循的规范。
从工作方式看:
可分为边缘部分和核心部分。
边缘部分由所有连接到因特网上供用户使用的主机;
核心部分由大量的网络和连接网络的路由器组成。
例如我们使用的校园网,我的电脑就属于边缘部分,用户基本上都是使用边缘部分,而校园网的路由器属于核心部分,为用户提供服务属于核心部分
从功能组成看:
计算机网络由通信子网和资源子网组成。
通信子网由各种传输介质、通信设备和响应的网络协议组成;
资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供服务。
通信子网:快递运到中间传输站再运到我们手中,通信子网负责传输
资源子网:口红、包装带、快递盒,资源子网负责包装
计算机网络的功能
数据通信:网络最基本和最重要的功能,用来实现信息的传输
资源共享:使计算机网络分工协作,互通有无
分布式处理:将某个复杂任务分配给网络中的其他计算机系统
提高可靠性:计算机网络中各台计算机可以通过网络互为替代机
负载均衡:将工作均衡地分配给计算机网络中的各台计算机
计算机网络的分类
按分布范围分类:
- 广域网,范围通常几十千米-几千千米
- 城域网,几个街区或整个城市
- 局域网,几十米到几千米
- 个人区域网,直径约10m
按传输技术分类:
- 广播式网络,所有计算机共享一个公共通信信道
电视
- 点对点网络,每条物理线路连接一对计算机
打电话
按拓扑结构分类:
- 总线形网络
- 星形网络
7个节点、6条链路
- 环形网络
- 网状形网络
按交换技术分类:
- 电路交换网络,在发送、接收双方建立一条专用的通路用于数据传输
- 报文交换网络,将数据加上地址等信息,进行转发,每个报文自行选择路线
- 分组交换网络,将数据分成较小的数据块,类似报文交换,只是将报文分成更小的多个分组
按传输介质分类:
- 分为有线网络和无线网络
计算机网络的性能指标
时延:
- 发送时延:从发送分组的第一个比特算起,到该分组最后一个比特发送完毕所需的时间
发送完成时间-开始发送时间
- 传播时延:一个比特从链路一端到另一端所需的时间
A的一个比特传输到B的时间
- 处理时延:分析地址部分、进行差错检验等花费的时间
A信息到路由器处理的时间
- 排队时延:在进入路由器后等待处理的时间
同一个路由器ABC都到了,BC在等待的时间
往返时延: 从发送端发送数据开始,到发送端收到来自接受端的确认,总共经历的时间
吞吐量:
单位时间通过某个网络(或接口)的数据量
速率:
连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据率或比特率。通常,把最高数据率称为带宽
时延带宽积:
指发送端第一个比特即将到达终点时,发送端已经发出了多少个比特。时延带宽积=传播时延*信道带宽
1.2分层结构
基本原则:
每层都实现一种相对独立的功能,降低大系统的复杂度各层之间界面自然清晰,易于理解,相互交流尽可能少
各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现
保持下层对上层的独立性,上层单向使用下层提供的服务整个分层结构应能促进标准化工作
两个主机通信时,同一层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方
协议、接口与服务
协议:
协议即规则的集合,由语法、语义和同步三部分组成。
语法规定了传输数据的格式;
语义规定了所要完成的功能;
同步规定了执行各种操作的时序关系等。
接口:
接口是相邻两层交换信息的连接点
服务:
服务是指下层为紧邻的上层提供的功能调用
注意:协议和服务在概念上是不一样的,只有本层协议的实现才能保证向上层提供服务
计算机网络的服务可分为三种:
1、面向连接服务与无连接服务:
面向连接服务中,通信前双方必须先建立连接,分配资源,再进行数据传送,传输结束释放连接
无连接服务中,通信双方不需要先建立连接,需要发送数据时可直接发送,通常被称为“尽最大努力交付”
2、可靠服务与不可靠服务:
可靠服务是指网络具有纠错、检错机制,保证数据正确可靠
不可靠服务是指网络的正确性、可靠性由应用或用户来保障
3、有应答服务和无应答服务:
有应答服务即接收方在收到数据后向发送方给出相应的应答
无应答服务即接收方在收到数据后不自动给出相应的应答
ISO/OSI模型
物理层:物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明地传输原始比特流
数据链路层:数据链路层的传输单位是帧,任务是将网络层传来的 IP 数据报组装成帧。数据链路层的功能可以概括为成帧、差错控制、流量控制和传输管理等
网络层: 网络层的传输单位是数据报,主要任务是把网络层的分组从源端传到目的端,为分组交换网上的不同主机提供通信服务
传输层: 输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信
会话层: 会话层允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步
表示层: 表示层主要处理在两个通信系统中交换信息的表示方式,数据压缩、加密和解密也是表示层可提供的数据表示变换功能。
应用层: 是用户与网络的界面
TCP/IP模型
二者的不同:
OSI模型定义了三个主要概念:服务、协议和接口
TCP/IP在这个三个概念上没有明确区分
OSI模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信
TCP/IP在网际层仅有一种无连接的通信模式,但在传输层支持无连接和面向连接两种模式
课时2 物理层
考点 | 重要程度 | 占分 | 题型 |
通信基础 | ★ | 选择题 | |
奈奎斯特定理和香农定理 | ★★★★ | 选择题、计算题 | |
编码与调制 | ★ | 选择题 | |
电路交换、报文与分组交换 | ★★★ | 选择题、问答题 | |
数据报与虚电路 | ★★★★ | 选择题、问答题 | |
传输介质、物理层设备 | ★ | 选择题 | |
接口特性 | ★ | 选择题a |
2.1 基础
通信基础
概念
- 数据: 传送信息的实体
- 信号: 数据的电气或电磁表现
- 模拟信号:连续变化的数据或信号
- 数字信号:离散的
- 码元: 指用一个固定时长的信号波形(数字脉冲)表示一位k进制数字,代表不同离散数值的基本【波形】
通信主题
- 信源: 产生和发送数据的源头
- 信道: 信号传输媒介
- 信宿: 接收数据的终点
交互方式
- 单工通道: 只有一个方向的通信而没有反方向的交互,仅需要一条信道。例如,无线电广播、电视广播就属于这种类型
类似电视
- 半双工通道: 通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收信息,此时需要两条信道。
类似打电话
- 全双工通道: 通信双方可以同时发送和接收信息,也需要两条信道。信道的极限容量是指信道的最高码元传输速率或信道的极限信息传输速率
奈奎斯特定理
规定∶ 在理想低通(没有噪声、带宽有限)的信道中,
为了避免码间串扰【传输速率过快时,传输时前一个信号对后一个信号干扰或信号失真】,极限码元传输速率为2W波特,
其中W是理想低通信道的带宽【最高数据率】,V表示每个码元离散电平的数目
公式:理想低通信道下的极限数据传输速率=(单位为b/s)
V:几种不同的物理状态
V=2 log2V=1
V=4 log2V=2
可以得出以下结论:
在任何信道中,码元传输速率是有上限的。
若传输速率超过此上限,就会出现严重的码间串扰问题,使得接收端不可能完全正确识别码元。
道的频带越宽【W越大】(即通过的信号高频分量越多),就可用更高的速率进行码元的有效传输
奈氏准则给出了码元传输速率的限制,但并未对信息传输速率给出限制,
即未对一个码元可以对应多少个二进制位给出限制
香农定理
香农(Shannon)定理给出了带宽受限且有高斯白噪声干扰的信道的极限数据传输速率,
当用此速率进行传输时,可以做到不产生误差
公式:信道的极限数据传输速率=(单位为b/s)
可以得出 信道的带宽或信道中的信噪比越大,信息的极限传输速率越高
以下结论:对一定的传输带宽和一定的信噪比,信息传输速率的上限是确定的
只要信息传输速率低于信道的极限传输速率,就能找到某种方法来实现无差错的传输
香农定理得出的是极限信息传输速率,实际信道能达到的传输速率要比它低不少
编码与调制
编码:数据变换为数字信号的过程
常见的几种编码:
归零编码:每个数字的末端都要归零【低电平】
非归零编码:遇到1高电平,遇到0低电平
反向非归零编码:遇到1不变,遇到0反向
曼彻斯特编码:高电平转低电平为1,低电平转高电平为0
差分曼彻斯特煽码:遇到1不变,遇到0反向,中间转换方向
调制:数据变换为模拟信号的过程
基带信号:数字信号
2ASK:幅度调制
2FSK:调频
2PSK:相位
几种常见的调制:
幅移键控(ASK)
通过改变载波信号的振幅来表示数字信号1和0
频移键控(FSK)
通过改变载波信号的频率来表示数字信号1和 0
相移键控(PSK)
通过改变载波信号的相位来表示数字信号1和0
模拟数据编码为数字信号: 主要包括 三个步骤,即采样、量化和编码
采样定理
将模拟信号转换成数字信号时,假设原始信号中的最大频率为f,那么采样频率f采样必须大于等于最大频率f的两倍,才能保证采样后的数字信号完整保留原始模拟信号的信息(只需记住结论)
量化
是把采样取得的电平幅值按照一定的分级标度转化为对应的数字值并取整数,这样就把连续的电平幅值转换为了离散的数字量
编码
是把量化的结果转换为与之对应的二进制编码
交换
电路交换:
两个结点之间必须先建立一条专用的物理通信路径,直到通信结束后才被释放
分为三个阶段:连接建立、数据传输和连接释放。
优点: 通信时延小,由于通信线路为通信双方用户专用,因此传输数据的时延非常小,当传输的数据量较大时,这一优点非常明显
有序传输,双方通信时按发送顺序传送数据,不存在失序问题
优点:没有冲突,不同的通信双方拥有不同的信道,不会出现争用物理信道的问题
适用范围广,电路交换既适用于传输模拟信号,又适用于传输数字信号
实时性强,通信双方之间的物理通路一旦建立,双方就可以随时通信
控制简单,电路交换的交换设备(交换机等)及控制均较简单
缺点:建立连接时间长;线路独占,使用效率低;
灵活性差;难以规格化
报文交换:
数据交换的单位是报文,报文携带有目标地址、源地址等信息。报文交换在交换结点采用的 是存储转发的传输方式
优点:无须建立连接,报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接时延,用户可以随时发送报文
动态分配线路,当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择条合适的空闲线路,将报文发送出去
优点: 提高线路可靠性,如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,因此提高了传输的可靠性。
提高线路利用率,通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通道,因而大大提高了通信线路的利用率
缺点: 数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延;
报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间
分组交换
同报文交换一样,分组交换也采用存储转发方式,
但限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块
优点: 简化了存储管理(相对于报文交换)
减少了出错概率和重发数据量。因为分组较短,其出错概率必然减小,即使出错重发的数据量也大大减少,
缺点: 需要传输额外的信息量,每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,一定程度上降低了通信效率
当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作
分组交换
分组交换根据其通信子网向端点系统提供的服务,还可进一步分为面向连接的虚电路方式和无连接的数据报方式
数据报
在网络层加上地址等控制信息后形成的数据报分组,在中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。
不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点
- 不需要建立连接
- 不保证可靠性
- 需要排队等候处理
- 对故障的适应能力强
- 不独占某条链路
虚电路
虚电路方式试图将数据报方式与电路交换方式结合起来,充分发挥两种方法的优点,以达到最佳的数据交换效果
在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,
并且连接一旦建立,就固定了虚电路所对应的物理路径。
与电路交换类似,整个通信过程分为三个阶段∶ 虚电路建立、数据传输与虚电路释放
- 建立和拆除需要时间开销
- 提供了可靠的通信功能
- 虚电路易遭到破坏
- 分组首部只包含虚电路标识符
2.2传输介质
双绞线
- 屏蔽双绞线
- 无屏蔽双绞线
同轴电缆
- 基带同轴电缆
- 宽带同轴电缆
光纤
- 单模光纤
- 多模光纤
无线传输介质
- 无线电波
- 微波、红外线和激光
接口特性
机械特性。指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等
电气特性。指明在接口电缆的各条线上出现的电压的范围
功能特性。指明某条线上出现的某一电平的电压表示何种意义
过程特性。或称规程特性。指明对于不同功能的各种可能事件的出现顺序
物理层设备
中继器
将信号整形并放大再转发出去,以消除信号经过一长段电缆后而产生的失真和衰减,使信号的波形和强度达到所需要的要求,进而扩大网络传输的距离
其原理是信号再生(而非简单地将衰减的信号放大)
集线器
集线器(Hub)实质上是一个多端口的中继器;如果同时有两个或多个端口输入,那么输出时会发生冲突,致使这些数据都无效
2.3练习题
【题1】对于某带宽为4000Hz的低通信道,采用16种不同的物理状态来表示数据。按照奈奎斯特定理,信道的最大传输速率是( )
A. 4kb/s
B. 8kb/s
C.16kb/s
D.32kb/s
根据奈奎斯特定理,本题中W=4000Hz,最大码元传输速率 =2W=8000Baud,
16种不同的物理状态可表示 log16=4 比特数据,所以信道的最大传输速率 =8000×4=32kb/s
课时3 数据链路层
考点 | 重要程度 | 占分 | 题型 |
功能 | ★ | 选择题 | |
组帧 | ★ | 选择题 | |
差错控制 | ★ | 选择题 | |
流量控制与可靠传输机制 | ★★★★ | 选择题、问答题 | |
介质访问控制 | ★★★★ | 选择题、问答题 | |
局域网、广域网 | ★★★ | 选择题 | |
设备 | ★ | 选择题 |
3.1 功能
数据链路层的功能:为网络层提供服务
无确认的无连接服务
源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认。
对丢失的帧,数据链路层不负责重发,而交给上层处理
有确认的无连接服务
源机器发送数据帧时不需先建立链路连接,但目的机器收到数据帧时必须发回确认。
源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性
有确认的面向连接服务
帧传输过程分为三个阶段∶ 建立数据链路、传输帧、释放数据链路。
目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧,
因而该服务的可靠性最高
连接就一定要有确认,即不存在无确认的面向连接的服务
帧定界、帧同步与透明传输
流量控制
差错控制
3.2 组帧
字符计数法
字符计数法是指在帧头部使用一个计数字段来标明帧内字符数,
目的结点的数据链路层收到字节计数值时,就知道后面跟随的字节数,从而可以确定帧结束的位置
字符填充的首尾定界符法
符填充法使用特定字符来定界一帧的开始与结束,在特殊字符前面填充一个转义字符(ESC)来加以区分
零比特填充的首尾标志法
即使用01111110来标志一帧的开始和结束。
发送方的数据链路层在信息位中遇到5个连续的"1"时,将自动在其后插入一个"0";
而接收方做该过程的逆操作,即每收到 5 个连续的"1"时,自动删除后面紧跟的"0"
违规编码法
如,曼彻斯特编码方法将数据比特"1"编码成"高-低"电平对,将数据比特"0"编码成"低-高"电平对,而"高-高"电平对和"低低"电平对在数据比特中是违规的
3.3 差错控制
检错编码
奇偶校验码
如果是奇校验码,那么在附加一个校验元后,码长为n的码字中"1"的个数为奇数
如果是偶校验码,那么在附加一个校验元以后,码长为n的码字中"1"的个数为偶数
循环冗余码
任何一个由二进制数位串组成的代码都可以与一个只含有0和1两个系数的多项式建立一一对应关系
例如,1110011有7位,表示成多项式是X^6+X^5+X^4+X^1+1,而多项式X^5+X^4+X^2+X^1对应的位串是110110,其运算过程如图
设G(x)=1101,待传送数据M=101001(即m=6),经模2除法运算后的结果是:
商Q=110101(这个商没什么用),余数R=001,所以发送出去的数据为101001001
纠错编码(海明码)
设n为有效信息的位数,k为校验位的位数,则信息位n和校验位k应满足n+k≤2^k-1
规定校验位P,在海明位号为2^?的位置上,其余各位为信息位
设信息位为D4D3D2D1(1010),共4位,校验位为 P3P2P1共3位,对应的海明码为H7H6H5H4H3H2H1
校验原理
1010对应的海明码为1010010
S3S2S1
流量控制与可靠传输机制
滑动窗口机制
停止-等待流量控制基本原理
发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;
接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待
多帧滑动窗口与后退N帧协议(GBN)
当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧
多帧滑动窗口与选择重传协议(SR)
接收窗口WR+发送窗口WT≤2^n
帧序列号为16 4个二进制就能表示 n=4
3.4 介质访问控制
信道划分介质访问控制
频分多路复用(FDM)
将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术
一个高速公路分成多个道路
时分多路复用(TDM)
时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用,而不像 FDM那样,同一时间同时发送多路信号
时间片
波分多路复用(WDM)
分多路复用即光的频分多路复用,它在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来
码分多路复用(CDM)
码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式
如站点A的码片序列被指派为 00011011,则A站发送00011011 就表示发送比特1,发送11100100就表示发送比特0。为了方便,按惯例将码片中的0写为-1,将1写为+1,因此A站的码片序列是向量S=(-1-1-1+1+1-1+1+1)
T表示B站的码片向量,令向量 T=(-1 -1+1 -1+1+1+1-1),其中T与S正交
S=(-1-1-1+1+1-1+1+1)
T=(-1-1+1-1+1+1+1-1)
当A站向C站发送数据1时,就发送了向量(-1-1-1+1+1-1+1+1)
当B站向C 站发送数据0时,就发送了向量(+1+1-1+1-1-1-1+1)
两个向量到了公共信道上就进行叠加,实际上就是线性相加
S-T=(0 0 -2 2 0 -2 0 2)
A站发送的信号:S*(S-T)=1,所以A发送的是1
B站发送的信号:T*(S-T)=-1,所以B发送的是0
S-T=(0 0 -2 2 0 -2 0 2)
S=(-1-1-1+1+1-1+1+1)
S-T=(0 0 -2 2 0 -2 0 2)
T=(-1-1+1-1+1+1+1-1)
随机访问介质访问控制
ALOHA 协议
1.纯ALOHA 协议:网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据,
在一段时间内未确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据,直至发送成功
2.时隙ALOHA 协议:规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率
CSMA 协议
一个结点要发送数据时,首先帧听信道
信道状态 | 1-坚持 | 非坚持 | p-坚持 |
空闲 | 立即发送数据 | 立即发送数据 | 以概率p发送数据,以概率 1-p推迟到下一个时隙 |
忙 | 继续坚持侦听 | 放弃侦听,等待一个随 机的时间后再侦听 | 持续侦听,直至信道空闲 |
CSMA/CD协议
载波侦听多路访问/碰撞检测
“先听后发,边听边发,冲突停发,随机重发”
1.配器从网络层获得一个分组,封装成以太网帧,放入适配器的缓存,准备发送
2.如果适配器侦听到信道空闲,那么它开始发送该帧。如果适配器侦听到信道忙,那么它持续侦听直至信道上没有信号能量,然后开始发送该帧
3.在发送过程中,适配器持续检测信道。若一直未检测到碰撞,则顺利地把这个帧发送完毕。若检测到碰撞,则中止数据的发送,并发送一个拥塞信号,以让所有用户都知
4.在中止发送后,适配器就执行指数退避算法,等待一段随机时间后返回到步骤2.
站A在发送帧后至多经过时间 2τ(端到端传播时延的2倍)就能知道所发送的帧有没有发生碰撞(当δ→0时)。
因此把以太网端到端往返时间2τ称为争用期(又称冲突窗口或碰撞窗口)
为了确保发送站在发送数据的同时能检测到可能存在的碰撞,
需要在发送完帧之前就能收到自己发送出去的数据,
即帧的传输时延至少要两倍于信号在总线中的传播时延,
所以 CSMA/CD 总线网中的所有数据帧都必须要大于一个最小帧长
最小帧长 = 总线传播时延×数据传输速率×2
以太网规定取 51.2μs为争用期的长度
一旦发生了冲突,参与冲突的两个站点紧接着再次发送是没有意义的,
如果它们这样做,那么将会导致无休止的冲突。
CSMA/CD采用二进制指数退避算法来解决碰撞问题
1.确定基本退避时间,一般取两倍的总线端到端传播时延 2τ(即争用期)
2.定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数 ,10]。
当重传次数不 超过10时,k等于重传次数;
当重传次数大于10时,k就不再增大而一直等于10
3.从离散的整数集合[0,1,... ,2k-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2rτ。
4.当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错
CSMA/CD 协议已成功应用于使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用 CSMA/CD 协议,特别是碰撞检测部分。主要有两个原因:
1、接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大,因此若要实现碰撞检测,则硬件上的花费就会过大(不好检测)
2、在无线通信中,并非所有的站点都能够听见对方,即存在“隐蔽站”问题(检测不到)
算法归纳如下
1、若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待一小段时间后,就发送整个数据帧
2、否则,站点执行 CSMA/CA 退避算法,选取一个随机回退值。一旦检测到信道忙,退避计时器就保持不变。只要信道空闲,退避计时器就进行倒计时
3、当退避计时器减到0时(这时信道只可能是空闲的),站点就发送整个帧并等待确认
4、发送站若收到确认,就知道已发送的帧被目的站正确接收。这时如果要发送第二帧,就要从步骤 2、开始
若发送站在规定时间内没有收到确认帧ACK(由重传计时器控制),就必须重传该帧,再次使用 CSMA/CA 协议争用该信道,直到收到确认,或经过若干次重传失败后放弃发送
轮询访问介质访问控制:令牌传递协议
在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要用在令牌环局域网中在令牌传递协议中,一个令牌在各结点间以某个固定次序交换令牌是由一组特殊的比特组合而成的帧
计算机都不需要发送数据时,令牌就在环形网上游荡,而需要发送数据的计算机只有在拿到该令牌后才能发送数据帧,因此不会发送冲突
轮询介质访问控制非常适合负载很高的广播信道
3.5 局域网
局域网的基本概念和体系结构
常见的局域网拓扑结构主要有以下4大类∶
①星形结构;②环形结构;③总线形结构;
④星形和总线形结合的复合型结构
局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流传输介质
局域网的介质访问控制方法主要有 CSMA/CD、令牌总线和令牌环,
其中前两种方法主要用于总线形局域网,令牌环主要用于环形局域网
以太网与IEEE 802.3
以太网逻辑上采用总线形拓扑结构,以太网中的所有计算机共享同一条总线,
信息以广播方式发送。为了保证数据通信的方便性和可靠性,
以太网简化了通信流程并使用了CSMA/CD方式对总线进行访问控制
严格来说,以太网应当是指符合DIXEthermetV2标准的局域网,
但DIXEthermetV2标准与IEE 802.3 标准只有很小的差别,
因此通常将802.3 局域网简称为以太网
以太网采用两项措施以简化通信:
① 采用无连接的工作方式,不对发送的数据帧编号,也不要求接收方发送确认,
即以太网尽最大努力交付数据,提供的是不可靠服务,对于差错的纠正则由高层完成
② 发送的数据都使用曼彻斯特编码的信号,每个码元的中间出现一次电压转换,
接收端利用这种电压转换方便地把位同步信号提取出来
以太网的传输介质与网卡
参数 | 10BASE5 | 10BASE2 | 10BASE-T | 10BASE-FL |
传输媒体 | 基带同轴电缆 (粗缆) | 基带同轴电缆 (细缆) | 非屏蔽双绞线 | 光纤对(850nm |
编码 | 曼彻斯特编码 | 曼彻斯特编码 | 曼彻斯特编码 | 曼彻斯特编码 |
拓扑结构 | 总线形 | 总线形 | 星形 | 点对点 |
最大段长 | 500m | 185mm | 100mm | 2000m |
最多结点数目 | 100 | 30 | 2 | 2 |
计算机与外界局域网的连接是通过主机箱内插入的一块网络接口板
【又称网络适配器(Adapter)或网络接口卡(Network Interface Card,NIC)】实现的
世界的每块网卡在出厂时都有一个唯一的代码,
称为介质访问控制(MAC)地址,这个地址用于控制主机在网络上的数据通信
以太网的 MAC 帧
地址∶ 通常使用 6 字节(48bit)地址(MAC地址)
数据∶ 46~1500字节,包含高层的协议消息。
由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求 64 字节,
数据较少时必须加以填充(0~46 字节)
高速以太网
1、100BASE-T 以太网
支持全双工方式,又支持半双工方式,可在全双工方式下工作而 无冲突发生。
因此,在全双工方式下不使用 CSMA/CD 协议。
2、吉比特以太网
在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)
3、10吉比特以太网
只工作在全双工方式,因此没有争用问题,也不使用CSMA/CD 协议
3.6 广域网
广域网的基本概念
广域网通常是指覆盖范围很广(远超一个城市的范围)的长距离网络,
局域网可以通过广域网与另一个相隔很远的局域网通信
广域网由一些结点交换机及连接这些交换机的链路组成
局域网使用的协议主要在数据链路层(还有少量在物理层),而广域网使用的协议主要在网络层
广域网和局域网的区别与联系
广域网 | 局域网 | |
覆盖范围 | 很广,通常跨区域 | 较小,通常在一个区域内 |
连接方式 | 结点之间都是点到点连接,但为了 提高网络的可靠性,一个结点交换 机往往与多个结点交换机相连 | 普遍采用多点接入技术 |
OSI参考模型 层次 | 三层:物理层,数据链路层,网络 层 | 两层:物理层,数据链路层 |
联系与相似点 | 1、广域网和局域网都是互联网的重要组成构建,从互联网的角 度上看,二者平等(不是包含关系) 2、连接到一个广域网或一个局域网上的主机在该网内进行通信 时,只需要使用其网络的物理地址 | |
着重点 | 强调资源共享 | 强调数据传输 |
广域网中的一个重要问题是路由选择和分组转发。
PPP 协议和HDLC 协议是目前最常用的两种广域网数据链路层控制协议
PPP 协议
组成部分:
1、链路控制协议(LCP)。一种扩展链路控制协议,用于建立、配置、测试和管理数据链路
2、网络控制协议(NCP)。PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的 NCP 来配置,为网络层协议建立和配置逻辑连接
3、一个将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元(MTU)的限制。
PPP是面向字节的,当信息字段出现和标志字段一致的比特组合时,采用字节填充法
状态:
当线路处于静止状态时,不存在物理层连接
当线路检测到载波信号时,建立物理连接,线路变为建立状态
LCP开始选项商定,商定成功后就进入身份验证状态
双方身份验证通过后,进入网络状态
采用NCP配置网络层,配置成功后,进入打开状态,然后就可进行数据传输
当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。
HDLC协议
HDLC 有 3 种站类型∶主站、从站和复合站
主站负责控制链路的操作,主站发出的帧称为命令帧
从站受控于主站,按主站的命令进行操作;发出的帧称为响应帧
既具有主站的功能,又具有从站的功能,这类站称为复合站,它可以发出命令帧和响应帧
数据操作方式
正常响应方式。这是一种非平衡结构操作方式,即主站向从站传输数据,从站响应传输,但从站只有在收到主站的许可后,才可进行响应
异步平衡方式。这是一种平衡结构操作方式。在这种方式中,每个复合站都可以进行对另一站的数据传输
异步响应方式。这是一种非平衡结构操作方式。在这种方式中,从站即使未受到主站的允许,也可进行传输
PPP与HDLC的区别
PPP 协议是面向字节的,HDLC 协议是面向比特的
PPP 协议不使用序号和确认机制,只保证无差错接收(通过硬件进行CRC 检验),而端到端差错检测由高层协议负责
HDLC 协议的信息帧使用了编号和确认机制,能够提供可靠传输
3.7 设备
数据链路层设备
网桥
两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,
而原来的每个以太网就称为一个网段(LAN)。网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域
网络1和网络2通过网桥连接后,网桥接收网络1发送的数据帧,检查数据帧中的地址:
如果是网络2的地址,那么就转发给网络2
如果是网络1的地址,那么就将其丢弃,因为源站和目的站处在同一个网段,目的站能够直接收到这个帧而不需要借助网桥转发
网桥的基本特点
①网桥必须具备寻址和路径选择能力,以确定帧的传输方向
②从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧
③可使用不同的物理层, 可互联不同类型的局域网
透明网桥(选择的不是最佳路由)
①如果源LAN和目的LAN相同,那么丢弃该帧
②如果源LAN和目的LAN不同,那么转发该帧
③如果目的LAN未知,那么扩散该帧
当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。
该算法的基本思想是∶若从站A发出的帧从某端口进入网桥,那么从这个端口出发沿相反方向一定可把一个帧传送到站A
源路由网桥(选择的是最佳路由)
路由选择由发送帧的源站负责
源路由的生成过程是∶
在未知路径前,源站要先发送一个发现帧
途中的每个网桥都转发此帧,最终该发现帧可能从多个途径到达
目的站
目的站也将一一发送应答帧;每个应答帧将通过原路径返回,途经的网桥把自己的标志记录在应答帧中
源站选择出一个最佳路由
局域网交换机及其工作原理
以太网交换机是一个多端口的网桥
特点:
以太网交换机的每个端口都直接与单台主机相连
以太网交换机也是一种即插即用设备(和透明网桥一样),其内部的帧的转发表也是通过自学习算法自动地逐渐建立起来的
以太网交换机主要采用两种交换模式:
直通式交换机只检查帧的目的地址,这使得帧在接收后几乎能马上被传出去。
这种方式速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的存储转发式交换机先将接收到的帧缓存到高速缓存器中,并检查数据是否正确,确认无误后通过查找表转换成输出端口将该帧发送出去。如果发现帧有错,那么就将其丢弃。存储转发式的优点是可靠性高,并能支持不同速率端口间的转换,缺点是延迟较大
课时4 网络层
考点 | 重要程度 | 占分 | 题型 |
功能 | ★ | 选择题 | |
路由算法 | ★★ | 选择题 | |
IPv4 | ★★★★ | 选择题、问答题 | |
IPv6 | ★★ | 选择题 | |
移动IP | ★ | 选择题 | |
IP组播 | ★ | 选择题 | |
路由协议 | ★★★★ | 选择题、问答题 |
4.1 概述
网络层的功能
异构网络互联:异构网络之间使用相同网络协议,可看为虚拟ip网络
TCP/IP 体系在网络互联上采用的做法是在网络层(即 IP 层)采用标准化协议,但相互连接的网络可以是异构的
图 a 表示用许多计算机网络通过一些路由器进行互联。
由于参加互联的计算机网络都使用相同的网际协议,因此可以把互联后的计算机网络视为如图 b 所示的一个虚拟IP网络
路由与转发:路由器的两个功能:路径选择和分组转发
路由器主要完成两个功能∶一是路由选择(确定哪一条路径),二是分组转发(当一个分组到达时所采取的动作)
前者是根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表
后者处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等
拥塞控制:确保子网可以承受所达到的流量
拥塞控制的作用是确保子网能够承载所达到的流量,这是一个全局性的过程,涉及各方面的行为
4.2 路由算法
静态路由与动态路由
静态路由算法(又称非自适应路由算法):人工
指由网络管理员手工配置的路由信息,当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息
它不能及时适应网络状态的变化,对于简单的小型网络,可以采用静态路由
动态路由算法(又称自适应路由算法):算法自动
指路由器上的路由表项是通过相互连接的路由器之间彼此交换信息,
然后按照一定的算法优化出来的这些路由信息会在一定时间间隙里不断更新,以适应不断变化的网络,随时获得最优的寻路效果
距离-向量路由算法:所有结点上传每条路径的目的地和代价,所有结点监听并在有新或更短路径更新
所有结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点
这种路由选择表包含∶每条路径的目的地(另一结点);路径的代价(也称距离)
在这种算法中,所有结点都必须参与距离向量交换,以保证路由的有效性和一致性,
也就是说,所有的结点都监听从其他结点传来的路由选择更新信息,
并在下列情况下更新它们的路由选择表∶
1、被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由
2、发来的路由信息中有一条到达某个目的地的路由,该路由与当前使用的路由相比,有较短的距离
链路状态路由算法:主动测试,定期发
链路状态路由算法要求每个参与该算法的结点都具有完全的网络拓扑信息,它们执行下述两项任务
第一,主动测试所有邻接结点的状态。两个共享一条链接的结点是相邻结点,它们连接到同一条链路,或者连接到同一广播型物理网络
第二,定期地将链路状态传播给所有其他结点(或称路由结点)
链路状态路由算法主要有三个特征:网状遍历发送,发相邻结点的状态和度量,变化才发
1、向本自治系统中所有路由器发送信息,路由器通过所有端口向所有相邻的路由器发送信息。
而每个相邻路由器又将此信息发往其所有相邻路由器(但不再发送给刚刚发来信息的那个路由器)
2、发送的信息是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息所谓"链路状态",是指说明本路由器与哪些路由器相邻及该链路的"度量"
3、只有当链路状态发生变化时,路由器才向所有路由器发送此信息
层次路由:路由内,路由间的路由选择协议
特网将整个互联网划分为许多较小的自治系统(注意一个自治系统中包含很多局域网),每个自治系统有权自主地决定本系统内应采用何种路由选择协议。
如果两个自治系统需要通信, 那么就需要一种在两个自治系统之间的协议来屏蔽这些差异
因特网把路由选择协议划分为两大类∶
一个自治系统内部所使用的路由选择协议称为内部网关协议(IGP),也称域内路由选择
具体的协议有 RIP 和 OSPF 等
自治系统之间所使用的路由选择协议称为外部网关协议(EGP),也称城间路由选择,
用在不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优的路径
具体的协议有 BGP
4.3 IPv4
IPv4分组的格式
首部长度
占4位,可以表示的最大十进制数是 15。
以32位为单位,最大值为 60B(15×4B)。
最常用的首部长度是20B,此时不使用任何选项(即可选字段)
总长度
占16 位。指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535B。
以太网帧的最大传送单元(MTU)为1500B,因此当一个IP数据报封装成帧时,数据报的总长度(首部加数据)一定不能超过下面的数据链路层的MTU 值
标识
每产生一个数据报就加1,当一个数据报的长度超过网络的MTU时,
必须分片,此时每个数据报片都复制一次标识号,以便能正确重装成原来的数据报
标志
占3位。标志字段的最低位为MF,MF=1表示后面还有分片;
标志字段中间的一位是DF,只有当DF=0时才允许分片偏移。
分片偏移
它指出较长的分组在分片后,某片在原分组中的相对位置。
片偏移以8 个字节为偏移单位,即每个分片的长度一定是 8B的整数倍
IP 数据报分片
一个数据链路层数据报能承载的最大数据量称为最大传送单元(MTU)。
因为IP数据报被封装在数据链路层数据报中,
因此数据链路层的 MTU 严格地限制着 IP 数据报的长度,
而且在 IP数据报的源与目的地路径上的各段链路可能使用不同的数据链路层协议,有不同的 MTU
IP分片涉及一定的计算。
例如,一个长 4000B 的IP数据报(首部 20B,数据部分3980B)到达一个路由器,需要转发到一条 MTU为1500B的链路上
这意味着原始数据报中的3980B数据必须被分配到3个独立的片中(每片也是一个IP 数据报)。
假定原始数据报的标识号为77,如图所示。
可以看出,由于偏移值的单位是8B,
所以除最后一个片外,其他所有片中的有效数据载荷都是8的倍数
网络层转发分组的流程:相邻直接传,否则查表传,特定>到达>默认,否则出错
1、从数据报的首部提取目的主机的IP地址D,得出目的网络地址N
2、若网络N与此路由器直接相连,则把数据报直接交付给目的主机 D,这称为路由器的直接交付;否则是间接交付,执行步骤 3
3、若路由表中有目的地址为D的特定主机路由(对特定的目的主机指明一个特定的路由,通常是为了控制或测试网络,或出于安全考虑才采用的),
则把数据报传送给路由表中所指明的下一跳路由器;否则,执行步骤 4。
4、若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器∶ 否则,执行步骤 5
5、路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则, 执行步骤6
6、报告转发分组出错
IPv4地址与 NAT
分类的IP 地址如图
主机号全为0表示本网络本身;
主机号全为1表示本网络的广播地址,又称直接广播地址;
127.0.0.0保留为环回自检(LoopbackTest)地址,此地址表示任意主机本身,目的地址为环回地址的 IP 数据报永远不会出现在任何网络上;
32 位全为0,即 0.0.0.0 表示本网络上的本主机;
32 位全为1,即255.255.255.255 表示整个TCP/IP网络的广播地址,又称受限广播地址。
实际使用时,由于路由器对广播域的隔离,255.255.255.255 等效为本网络的广播地址
网络地址转换
网络地址转换(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。
用NAT时需要在专用网连接到因特网的路由器上安装 NAT软件,NAT路由器至少有一个有效的外部全球地址
使用本地地址的主机和外界通信时,NAT 路由器使用 NAT 转换表将本地地址转换成全球地址,或将全球地址转换成本地地址
NAT转换表中存放着{本地IP地址∶ 端口)到{全球IP地址∶ 端口}的映射,通过{ip地址∶ 端口}这样的映射方式,可让多个私有IP地址映射到同一个全球 IP地址
子网划分与子网掩码、CIDR
子网划分:内部网络
子网划分的基本思路如下:
子网划分纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络
从主机号借用若干比特作为子网号,当然主机号也就相应减少了相同的比特。
三级IP地址的结构如下∶ IP地址 ={<网络号>,<子网号>,<主机号>}
凡是从其他网络发送给本单位某台主机的IP数据报,仍然是根据IP数据报的目的网络号,先找到连接到本单位网络上的路由器。
然后该路由器在收到 IP数据报后,按目的网络号和子网号找到目的子网。最后把IP 数据报直接交付给目的主机
子网掩码:和IP地址逻辑AND得到子网地址
子网掩码是一个与IP地址相对应的、长32bit的二进制串,它由一串1和跟随的一串0组成
其中,1对应于IP地址中的网络号及子网号,而0对应于主机号
计算机只需将IP地址和其对应的子网掩码逐位"与"(逻辑 AND运算),就可得出相应子网的网络地址
主机的IP地址为 180.80.77.55,子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址:
主机:1011 0100 . 0101 0000 . 0100 1101 . 0011 0111
掩码:1111 1111 . 1111 1111. 1111 1100 . 0000 0000
目的:1011 0100 . 0101 0000 . 0100 1100 . 0000 0000
无分类域间路由选择(CIDR)
消除了传统A、B、C 类地址及划分子网的概念,因而可以更有效地分配IPv4 的地址空间
CIDR使用"网络前缀"的概念代替子网络的概念。因此,IP地址的无分类两级编址为
IP= {<网络前缀>,<主机号>}。
例如,对于 128.14.32.5/20这个地址,它的掩码是 20个连续的1和后续12个连续的0,通过逐位相"与"的方法可以得到该地址的网络前缀(或直接截取前20 位)
使用 CIDR 时,路由表中的每个项目由"网络前缀"和"下一跳地址"组成。
在查找路由表时可能会得到不止一个匹配结果。
此时,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体
ARP、DHCP 与 ICMP
IP地址与硬件地址:IP是网络层玩的,硬件是链路层玩的,链路层看不到IP地址
IP 地址是网络层使用的地址,它是分层次等级的
硬件地址是数据链路层使用的地址,在网络层及网络层之上使用IP 地址,IP地址放在IP数据报的首部,而 MAC 地址放在 MAC帧的首部
通过数据封装,把IP数据报分组封装为 MAC帧后,数据链路层看不见数据报分组中的 IP 地址
地址解析协议(ARP):发数据报前查ARP,有将MAC发硬件地址,无广播写缓存发MAC
IP 工作在网络层,其工作原理如下∶ 主机 A欲向本局域网上的某台主机B发送IP数据报时,先在其 ARP高速缓存中查看有无主机B的IP地址
如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址
如果没有,那么就通过使用目的 MAC地址为 FF-FF-FF-FF-FF-FF 的帧来封装并广播ARP请求分组,使同一个局域网里的所有主机收到ARP请求
主机B收到该ARP请求后,向主机A发出响应ARP分组,
分组中包含主机B的 IP与MAC 地址的映射关系,主机A在收到后将此映射写入ARP缓存,然后按查询到的硬件地址发送 MAC帧
动态主机配置协议(DHCP):应用层协议,基于UDP,自动分配IP地址
动态主机配置协议常用于给主机动态地分配IP 地址,
它提供了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取 IP 地址 而不用手工参与
DHCP 是应用层协议,它是基于 UDP 的
DHCP 服务器聚合 DHCP 客户端的交换过程如下∶
- DHCP客户机广播"DHCP发现"消息,试图找到网络中的DHCP服务器,以便从DHCP服务器获得一个 IP地址
- DHCP服务器收到"DHCP发现"消息后,向网络中广播"DHCP提供"消息,其中包括提供 DHCP客户机的IP地址和相关配置信息
- DHCP客户机收到"DHCP提供"消息,如果接收 DHCP 服务器所提供的相关参数,那么通过广播"DHCP 请求"消息向 DHCP 服务器请求提供IP地址。
- DHCP服务器广播"DHCP确认"消息,将IP地址分配给 DHCP客户机
网际控制报文协议(ICMP)
ICMP 报文的种类有两种,即 ICMP 差错报告报文和ICMP 询问报文
ICMP 差错报告报文:向源主机报告差错:包括终点不可达、拥塞丢弃、时间超过
用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况
- 终点不可达。当路由器或主机不能交付数据报时,就向源点发送终点不可达报文
- 源点抑制。当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文
- 时间超过。当路由器收到生存时间为零的数据报时,除丢弃该数据报外还要向源点发送时间超过报文
不应发送 ICMP差错报告报文的几种情况如下
- 对ICMP差错报告报文不再发送 ICMP 差错报告报文
- 第一个分片的数据报片的所有后续数据报片都不发送ICMP 差错报告报文
- 对具有组播地址的数据报都不发送 ICMP 差错报告报文
4.4 IPv6
IPv6 的主要特点
更大的地址空间。IPv6将地址从IPv4的32位增大到了128位
支持即插即用(即自动配置)
IPv6 只有在包的源结点才能分片,是端到端的,传输路径中的路由器不能分片
IPv6 首部长度必须是 8B的整数倍,而IPv4 首部是 4B 的整数倍
从根本上解决了IP 地址的耗尽问题
4.5 路由协议
路由信息协议(RIP)
RIP 规定:记录自身到每个目的网络的距离记录
网络中的每个路由器都要维护从它自身到其他每个目的网络的距离记录
距离也称跳数(Hop Count),规定从一个路由器到直接连接网络的距离(跳数)为1。而每经过一个路由器,距离(跳数)加1
RIP认为好的路由就是它通过的路由器的数目少,即优先选择跳数少的路径
RIP允许一条路径最多只能包含 15个路由器(即最多允许15 跳)
因此距离等于16时,它表示网络不可达
RIP默认在任意两个使用 RIP 的路由器之间每 30秒广播一次RIP 路由更新信息,以便自动建立并维护路由表(动态维护)
RIP 的特点:相邻交换,全部交换,固定时间
仅和相邻路由器交换信息
路由器交换的信息是当前路由器所知道的全部信息,即自己的路由表
按固定的时间间隔交换路由信息,如每隔 30 秒
距离向量算法:没有则加,下跳替换,非则短换,慢收敛
当原来的路由表中没有目的网络N时,把该项目添加到路由表中
当原来的路由表中有目的网络 N,且下一跳路由器的地址是X时,用收到的项目替换 原路由表中的项目
当原来的路由表中有目的网络N,且下一跳路由器的地址不是X时,如果收到的项目中的距离d小于路由表中的距离,那么就用收到的项目替换原路由表中的项目;否则什么也不做
缺点
网络出现故障时,会出现慢收敛现象(即需要较长时间才能将此信息传送到所有路由器),俗称"坏消息传得慢",使更新过程的收敛时间长
开放最短路径优先(OSPF)协议:网络层协议,变化则洪泛发送
基本特点
向本自治系统中的所有路由器发送信息,这里使用的方法是洪泛法发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,并且更新过程收敛得快
OSPF 是网络层协议,它不使用UDP或 TCP,而直接用 IP数据报传送(其IP数据报首部的协议字段为 89);而 RIP 是应用层协议,它在传输层使用 UDP
路由表
由于各路由器之间频繁地交换链路状态信息,
因此所有路由器最终都能建立一个链路状态数据库。
这个数据库实际上就是全网的拓扑结构图,
它在全网范围内是一致的(称为链路状态数据库的同步)。
然后,每个路由器根据这个全网拓扑结构图,
使用Dijkstra最短路径算法计算从自己到各目的网络的最优路径,以此构造自己的路由表
边界网关协议(BGP):外部网关
是不同自治系统的路由器之间交换路由信息的协议,是一种外部网关协议。
边界网关协议常用于互联网的网关之间。
路由表包含已知路由器的列表、路由器能够达到的地址及到达每个路由器的路径的跳数
边界网关协议(BGP)只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非寻找一条最佳路由。
BGP采用的是路径向量路由选择协议,它与距离向量协议和链路状态协议有很大的区别。
BGP 是应用层协议,它是基于 TCP 的
每个自治系统的管理员要选择至少一个路由器(可以有多个)作为该自治系统的"BGP发言人"
三种路由协议的比较
协 议 | RIP | OSPF | BGP | |
类型 | 内部 | 内部 | 外部 | |
路由算法 | 距离-向量 | 链路状态 | 路径-向量 | |
传递协议 | UDP | IP | TCP | |
路径选择 | 跳数最少 | 代价最低 | 较好,非最佳 | |
交换结点 | 和本结点相邻的路由器 | 网络中的所有路由器 | 和本结点相邻的路由器 | |
交换内容 | 当前本路由器知道的全部 信息,即自己的路由表 | 与本路由器相邻的所 有路由器的链路状态 | 首次 | 整个路由表 |
非首次 | 有变化的部分 |
4.6 IP组播
组播的概念
用组播的缘由是,有的应用程序要把一个分组发送给多个目的地主机。
不是让源主机给每个目的地主机都发送一个单独的分组,
而是让源主机把单个分组发送给一个组播地址,该组播地址标识一组地址
主机使用一个称为 IGMP(因特网组管理协议)的协议加入组播组。
它们使用该协议通知本地网络上的路由器关于要接收发送给某个组播组的分组的愿望。
通过扩展路由器的路由选择和转发功能,可以在许多路由器互联的支持硬件组播的网络上面实现因特网组播
IP 组播地址
P 组播使用D类地址格式。D类地址的前四位是 1110,因此D类地址范围是224.0.0.0~239.255.255.255。每个D类IP地址标志一个组播组
IP 组播可以分为两种∶
一种只在本局域网上进行硬件组播;
另一种则在因特网的范围内进行组播。
在因特网上进行组播的最后阶段,还是要把组播数据报在局域网上用硬件组播交付给组播组的所有成员
下面讨论这种硬件组播
D类 IP 地址与以太网组播地址的映射关系:
以太网组播地址的范围是从01-00-5E-00-00-00到 01-00-5E-7F-FF-FF
IGMP 与组播路由算法
第一阶段∶ 当某台主机加入新的组播组时,该主机应向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他组播路由器
第二阶段∶ 因为组成员关系是动态的,本地组播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员。只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应时,则不再将该组的成员关系转发给其他的组播路由器
4.7移动IP
移动IP概念
基于IPv4的移动 IP 定义三种功能实体∶ 移动结点、归属代理(也称本地代理)和外埠代理(也称外部代理)。归属代理和外埠代理又统称为移动代理。
移动结点。具有永久IP地址的移动结点
本地代理。在一个网络环境中,一个移动结点的永久"居所"被称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体称为归属代理(本地代理),它根据移动用户的转交地址,采用隧道技术转交移动结点的数据包
外部代理。在外部网络中帮助移动结点完成移动管理功能的实体称为外部代理
移动IP 通信过程
基本流程
移动结点漫游到一个外地网络时,仍然使用固定的P地址进行通信。为了能够收到通信对端发给它的IP 分组,移动结点需要向本地代理注册当前的位置地址,这个位置地址就是转交地址
本地代理接收来自转交地址的注册后,会构建一条通向转交地址的隧道,将截获的发给移动结点的 IP 分组通过隧道送到转交地址处
在转交地址处解除隧道封装,恢复原始的IP分组,最后送到移动结点,这样移动结点在外网就能够收到这些发送给它的IP分组
4.8 网络层设备
路由器的组成和功能
路由表和路由转发
课时5 传输层
考点 | 重要程度 | 占分 | 题型 |
提供的服务 | ★★ | 选择题 | |
UDP协议 | ★★★ | 选择题 | |
TCP协议 | ★★★★ | 选择题、问答题 |
5.1传输层提供的服务
传输层的功能
从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层
传输层位于网络层之上,它为运行在不同主机上的进程之间提供了逻辑通信,而网络层提供主机之间的逻辑通信。
显然,即使网络层协议不可靠(网络层协议使分组丢失、混乱或重复),传输层同样能为应用程序提供可靠的服务
传输层提供应用进程之间的逻辑通信(即端到端的通信)。
与网络层的区别是,网络层提供的是主机之间的逻辑通信复用和分用。
复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据;
分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程
传输层还要对收到的报文进行差错检测(首部和数据部分)提供两种不同的传输协议,即面向连接的 TCP和无连接的 UDP
传输层的寻址与端口
端口的作用
端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,
以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程
端口号
服务器端使用的端口号。
它又分为两类,最重要的一类是熟知端口号,数值为0~1023,
把这些端口号指派给了 TCP/IP 最重要的一些应用程序,让所有的用户都知道;
另一类称为登记端口号,数值为 1024~49151。
它是供没有熟知端口号的应用程序使用的,使用这类端口号必须先登记客户端使用的端口号,数值为 49152~65535。
由于这类端口号仅在客户进程运行时才动态地选择,因此又称短暂端口号(也称临时端口)
应用程序 | FTP | TELNET | SMTP | DNS | TFTP | HTTP | SNMP |
熟知端口号 | 21 | 23 | 25 | 53 | 69 | 80 | 161 |
套接字
端口号拼接到IP 地址即构成套接字 Socket
无连接服务与面向连接服务
面向连接服务
就是在通信双方进行通信之前,必须先建立连接,
在通信过程中,整个连接的情况一直被实时地监控和管理。
通信结束后,应该释放这个连接
无连接服务
是指两个实体之间的通信不需要先建立好连接,
需要通信时,直接将信息发送到 "网络"中,
让该信息的传递在网上尽力而为地往目的地传送
TCP/IP 协议族在IP 层之上使用了两个传输协议∶
一个是面向连接的传输控制协议(TCP),
采用TCP时,传输层向上提供的是一条全双工的可靠逻辑信道;
另一个是无连接的用户数据报协协议(UDP),
采用 UDP 时,传输层向上提供的是一条不可靠的逻辑信道。
5.2 UDP协议
UDP 数据报
UDP 概述
UDP仅在 IP 的数据报服务之上增加了两个最基本的服务:
复用和分用以及差错检测。
如果应用开发者选择 UDP而非TCP,那么应用程序几乎直接与IP打交道
UDP具有如下优点:
UDP无须建立连接。因此 UDP不会引入建立连接的时延无连接状态。
TCP 需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、拥塞控制参数和序号与确认号的参数
分组首部开销小。TCP有 20B 的首部开销,而 UDP仅有8B 的开销
应用层能更好地控制要发送的数据和发送时间。UDP 没有拥塞控制,因此网络中的拥塞不会影响主机的发送效率
UDP 支持一对一、一对多、多对一和多对多的交互通信
UDP 首部格式
UDP校验
在计算校验和时,要在UDP数据报之前增加 12B的伪首部,伪首部并不是UDP的真正首部。
只是在计算校验和时,临时添加在 UDP数据报的前面,得到一个临时的UDP数据报。
校验和就是按照这个临时的 UDP数据报来计算的。
伪首部既不向下传送又不向上递交,而只是为了计算校验和
5.3 TCP协议
TCP协议的特点
TCP 是在不可靠的 IP 层之上实现的可靠的数据传输协议,它主要解决传输的可靠、有序、无丢失和不重复问题。
TCP 是TCP/IP 体系中非常复杂的一个协议,主要特点如下∶
1、TCP是面向连接的传输层协议,每条 TCP连接只能有两个端点,每条 TCP 连接只能是点对点的(一对一)
2、TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序
3、TCP提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据,为此 TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据
4、TCP 是面向字节流的,虽然应用程序和 TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅视为一连串的无结构的字节流
TCP 报文段
TCP 传送的数据单元称为报文段。TCP报文段既可以用来运载数据,又可以用来建立连接、释放连接和应答
一个 TCP报文段分为首部和数据两部分,
整个 TCP报文段作为 IP数据报的数据部分封装在 IP数据报中,其首部的前 20B 是固定的。
TCP报文段的首部最短为 20B,后面有 4N字节是根据需要而增加的选项,通常长度为 4B 的整数倍
确认号
占4B,是期望收到对方下一个报文段的第一个数据字节的序号。
若确认号为N, 则表明到序号 N-1为止的所有数据都已正确收到。
数据偏移(即首部长度)
占4位,它指出 TCP报文段的数据起始处距离TCP报文段的起始处有多远。
"数据偏移"的单位是32位(以4B为计算单位)。
因此当此字段的值为 15 时,达到 TCP 首部的最大长度 60B
急位 URG
URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)
确认位ACK
仅当ACK=1时确认号字段才有效。
当ACK=0时,确认号无效。
TCP规定,在连接建立后所有传送的报文段都必须把 ACK 置 1
推送位PSH(Push)
接收方TCP收到PSH=1的报文段,就尽快地交付给接收应用进程,
而不再等到整个缓存都填满后再向上交付
同步位 SYN
同步 SYN=1表示这是一个连接请求或连接接受报
终止位 FIN(Finish)
用来释放一个连接。当 FIN = 1时,表明此报文段的发送方的数据已发送完毕,并要求释放传输连接。
TCP 连接管理
每个 TCP 连接都有三个阶段∶ 连接建立、数据传送和连接释放。
TCP 连接的管理就是使运输连接的建立和释放都能正常进行
TCP 连接的建立采用客户/服务器方式
主动发起连接建立的应用进程称为客户(Client),
而被动等待连接建立的应用进程称为服务器(Server)
TCP 连接的建立
连接的建立经历以下3个步骤,通常称为三次握手
第一步∶ 客户机的TCP首先向服务器的TCP发送连接请求报文段。
这个特殊报文段的首部中的同步位SYN置1,同时选择一个初始序号 seq=x 。
TCP 规 定 ,SYN报文段不能携带数据,但要消耗掉一个序号
第二步∶ 服务器的TCP 收到连接请求报文段后,
如同意建立连接,则向客户机发回确认,并为该TCP连接分配缓存和变量。
在确认报文段中,把SYN位和ACK位都置1 , 确认号是 ack=x +1 ,
同时也为自己选择一个初始序号 scq=y 。 注 意 , 确认报文段不能携带数据,但也要消耗掉一个序号
第三步 ∶ 当客户机收到确认报文段后,还要向服务器给出确 认,并为该TCP连接分配缓存和变量 。
确认报文段的ACK位置1,确认号 ack=y+1 ,序号seq=x+1。
该报文段可以携带数据, 若不携带数据则不消耗序号
TCP 连接的释放 通常称为四次挥手
第一步:客户机打算关闭连接时,向其TCP发送连接释放报文段,并停止发送数据,主动关闭TCP连接,
该报文段的终止位 FIN 置 1 , 序 号 seq=u ,它等于前面已传送过的数据的最后一个字节的序号加1,
FIN报文段即使不携带数据,也消耗掉一个序号
第二步:服务器收到连接释放报文段后即发出确认,
确认号ack=u+1 , 序 号 seq=w , 等于它前面已传送过的数据的最后一个字节的序号加1
此时,从客户机到服务器这个方向的连接就释放了
第三步
第四步
对上述 TCP连接建立和释放的总结如下∶
1)连接建立。分为3步∶
① SYN=1,seq=x。
②SYN=1,ACK=1,seq=y,ack=x+1。
③ACK=1,seq=x+1,ack=y+1。
2)释放连接。分为 4步∶
①FIN=1,seq =u。
②ACK=1,seq=v, ack=u+1。
③FIN=1,ACK=1,seq=w,ack=u+1。
④ACK=1,seq=u+1,ack=w+1。
TCP可靠传输
序号
TCP首部的序号字段用来保证数据能有序提交给应用层,
TCP 把数据视为一个无结构但有序的字节流,序号建立在传送的字节流之上,而不建立在报文段之上
确认
TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号
TCP默认使用累计确认,即 TCP 只确认数据流中至第一个丢失字节为止的字节
重传
两种事件会导致 TCP 对报文段进行重传∶ 超时和冗余 ACK
超时:TCP每发送一个报文段,就对这个报文段设置一次计时器。计时器设置的重传时间到期但还未收到确认时,就要重传这一报文段
冗余ACK(冗余确认):冗余 ACK 就是再次确认某个报文段的 ACK,而发送方先前已经收到过该报文段的确认
TCP流量控制
输层和数据链路层的流量控制的区别是∶传输层定义端到端用户之间的流量控制,
数据链路层定义两个中间的相邻结点的流量控制。
另外,数据链路层的滑动窗口协议的窗口大小不能动态变化,传输层的则可以动态变化
TCP 拥塞控制
拥塞控制是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载
拥塞控制与流量控制的区别:
拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
相反,流量控制往往是指点对点的通信量的控制,是个端到端的问题(接收端控制发送端),它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收
接收窗口rwnd
接收方根据目前接收缓存大小所许诺的最新窗口值,反映接收方的容量。
由接收方根据其放在 TCP 报文的首部的窗口字段通知发送方
拥塞窗口cwnd
发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络的当前容量。
只要网络未出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。
但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入网络的分组数。
发送窗口的上限值 = min[rwnd,cwnd]
1.慢开始和拥塞避免
慢开始算法
在 TCP 刚刚连接好并开始发送TCP报文段时,先令拥塞窗口cwnd=1,即一个最大报文段长度MSS。
每收到一个对新报文段的确认后,将cwnd加1,即增大一个MSS。
用这样的方法逐步增大发送方的 cwnd,可使分组注入网络的速率更加合理
例如,A向B发送数据,发送方先置拥塞窗口cwnd=1,
A发送第一个报文段,A收到B对第一个报文段的确认后,把cwnd从1增大到2;
于是A接着发送两个报文段,A收到B对这两个报文段的确认后,把 cwnd从2 增大到4,
下次就可一次发送4个报文段。
慢开始一直把 cwnd增大到一个规定的慢开始门限 sstresh(阈值),然后改用拥塞避免算法
拥塞避免算法
每经过一个往返时延 RTT 就把发送方的拥塞窗口cwnd加1,而不是加倍,
使拥塞窗口cwnd按线性规律缓慢增长(即加法增大),这比慢开始算法的拥塞窗口增长速率要缓慢得多
网络拥塞的处理
无论在慢开始阶段还是在拥塞避免阶段,
只要发送方判断网络出现拥塞(未按时收到确认),
就要把慢开始门限ssthresh 设置为出现拥塞时的发送方的 cwnd值的一半(但不能小于2)。
然后把拥塞窗口cwnd 重新设置为1,执行慢开始算法
2.快重传和快恢复
快重传
当发送方连续收到三个重复的 ACK 报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时
快恢复
当发送方连续收到三个冗余 ACK(即重复确认)时,
把慢开始门限ssthresh 设置为此时发送方cwnd 的一半。
与慢开始不同之处是它把cwnd 值设置为慢开始门限 ssthresh 改变后的数值,
然后开始执行拥塞避免算法("加法增大"),使拥塞窗口缓慢地线性增大
课时6 应用层
考点 | 重要程度 | 占分 | 题型 |
网络应用模型 | ★ | 选择题 | |
域名系统[DNS] | ★★★★ | 选择题、问答题 | |
文件传输协议[FTP] | ★★ | 选择题 | |
电子邮件 | ★ | 选择题 | |
万维网[WWW] | ★★ | 选择题 |
6.1 网络应用模型
客户/服务器模型
客户/服务器(Client/Server,C/S)模型中,有一个总是打开的主机称为服务器,
它服务于许多来自其他称为客户机的主机请求。其工作流程如下∶
- 服务器处于接收请求的状态
- 客户机发出服务请求,并等待接收结果
- 服务器收到请求后,分析请求,进行必要的处理,得到结果并发送给客户
客户/服务器模型最主要的特征是∶客户是服务请求方,服务器是服务提供
P2P模型
C/S 模型中服务器性能的好坏决定了整个系统的性能,
当大量用户请求服务时,服务器就必然成为系统的瓶颈。
P2P 模型的思想是整个网络中的传输内容不再被保存在中心服务器上,
每个结点都同时具有下载、上传的功能,其权利和义务都是大体对等的
6.2 域名系统(DNS)
层次域名空间
因特网采用层次树状结构的命名方法。
采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名。
域是名字空间中一个可被管理的划分
关于域名中的标号有以下几点需要注意:
标号中的英文不区分大小写
标号中除连字符(-)外不能使用其他的标点符号
每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符
级别最低的域名写在最左边,级别最高的顶级域名写在最右边
域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型。
域名到IP 地址的解析是由运行在域名服务器上的程序完成的
主要有 4 种类型的域名服务器:
- 根域名服务器
- 顶级域名服务器
- 权域名服务器(权限域名服务器)
- 本地域名服务器
域名解析过程
域名解析是指把域名映射成为IP地址或把 IP地址映射成域名的过程。
前者称为正向解析,后者称为反向解析。
当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS 请求报文, 以 UDP 数据报方式发往本地域名服务器
域名解析有两种方式∶ 递归查询和递归与迭代相结合的查询
6.3 文件传输协议(FTP)
FTP 的工作原理
文件传输协议是因特网上使用得最广泛的文件传输协议。
FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
FTP采用客户/服务器的工作方式,它使用 TCP可靠的传输服务。
一个FTP服务器进程可同时为多个客户进程提供服务。
FTP 的服务器进程由两大部分组成∶ 一个主进程,负责接收新的请求;另外有若干从属进程,负责处理单个请求
其工作步骤如下
开熟知端口 21(控制端口),使客户进程能够连接
等待客户进程发连接请求
启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,
从属进程对客户进程的请求处理完毕后即终止
回到等待状态,继续接收其他客户进程的请求
控制连接与数据连接
FTP在工作时使用两个并行的TCP连接:一个是控制连接(端口号21),一个是数据连接(端口号 20)
控制连接:控制连接用来传输控制信息(如连接请求、传送请求等),在整个会话期间一直保持打开状态(21端口)
数据连接:有两种传输模式,主动模式传送数据是“服务器”连接到“客户端”的端口;
被动模式传送数据是“客户端”连接到“服务器”的端口(20端口)
6.3 电子邮件
电子邮件系统的组成结构
一个电子邮件系统应具有三个最主要的组成构件,即用户代理、邮件服务器和电子邮件使用的协议
用户代理(UA)∶
用户与电子邮件系统的接口。
用户代理向用户提供一个很友好的接口来发送和接收邮件,用户代理至少应当具有撰写、显示和邮件处理的功能
邮件服务器∶
它的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等)。
邮件服务器采用客户/服务器方式工作,
但它必须能够同时充当客户和服务器邮件发送协议和读取协议∶
邮件发送协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP;
邮件读取协议用于用户代理从邮件服务器读取邮件,如POP3
SMTP用的是“推”(Push)的通信方式,POP3用的是“拉”(Pull)的通信方式
电子邮件格式与 MIME
电子邮件格式
多用途网际邮件扩充(MIME)
由于SMTP只能传送一定长度的ASCII码,
许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送,
且无法传送可执行文件及其他二进制对象,因此提出了用途网络邮件扩充
SMTP
SMTP用的是 TCP 连接,端口号为 25。
SMTP 通信有以下三个阶段
连接建立:
发件人的邮件发送到发送方邮件服务器的邮件缓存中后,
SMTP客户就每隔一定时间对邮件缓存扫描一次。如发现有邮件,建立TCP连接
邮件传送:
连接建立后,就可开始传送邮件。邮件的传送从 MAIL 命令开始,MAIL 命令后面有发件人的地址
连接释放:
邮件发送完毕后,SMTP 客户应发送 QUIT 命令。
SMTP 服务器返回的信息是 221(服务关闭),表示 SMTP 同意释放TCP 连接
POP3和IMAP
POP也使用客户/服务器的工作方式,在传输层使用TCP,端口号为110。
POP有两种工作方式:
"下载并保留"和"下载并删除"
6.4 万维网(WWW)
WWW 的概念与组成结构
万维网(World Wide Web,WWW)是一个分布式、联机式的信息存储空间,
在这个空间中:一样有用的事物称为一样“资源”,并由一个全域“统一资源定位符”(URL)标识。
这些资源通过超文本传输协议(HTTP)传送给使用者,而后者通过单击链接来获取资源
万维网的内核部分是由三个标准构成的:
统一资源定位符(URL)
负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符 URL
超文本传输协议(HTTP)
一个应用层协议,它使用 TCP 连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议
超文本标记语言(HTML)
一种文档结构的标记语言,它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)格式进行描述
工作流程:
Web 用户使用浏览器(指定 URL)与Web 服务器建立连接,并发送浏览请求;
Web 服务器把URL 转换为文件路径,并返回信息给 Web浏览器;通信完成,关闭连接
超文本传输协议(HTTP)
HTTP的操作过程
用户单击鼠标后所发生的事件按顺序如下
- 浏览器分析链接指向页面的 URL
- 浏览器向 DNS 请求解析 IP 地址
- 域名系统 DNS 解析出该网站服务器的IP地址
- 浏览器与该服务器建立 TCP 连接
- 浏览器发出HTTP 请求
- 服务器通过 HTTP 响应把文件发送给浏览器
- 释放 TCP 连接
- 浏览器解释文件,并将 Web 页显示给用户
HTTP 的特点
HTTP使用 TCP作为运输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传输过程中被丢弃后又怎样被重传
HTTP是无状态的。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同
HTTP 既可以使用非持久连接,也可以使用持久连接
对于非持久连接,每个网页元素对象(如JPEG图形、Flash等)的传输都需要单独建立一个TCP 连接
持久连接,是指万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文
6.5常见应用层协议小结
应用程序 | FTP数据链接 | FTP控制链接 | TELNET | SMTP | DNS | TFTP | HTTP | POP3 | SNMP |
使用协议 | TCP | TCP | TCP | TCP | UDP | UDP | TCP | TCP | UDP |
熟知端口号 | 20 | 21 | 23 | 25 | 53 | 69 | 80 | 110 | 161 |
更多推荐
所有评论(0)