自用408计算机网络笔记整理
目录后面的括号内为选择题考察次数
一、408计算机网络基础
像什么计算机网络定义,计算机网络分类就不赘述了,不考,没啥用。
1.计算机网络的性能指标⭐
(1)速率
- 连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率。
- 基本单位:bit/s(b/s,bps),常用单位:kb/s,Mb/s,Gb/s,Tb/s
(2)带宽!
- 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中某一点到另一点所能通过的“最高数据率”;单位与速率单位相同。
(3)吞吐量
- 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量;
- 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络;吞吐量受网络的带宽或额定速率的限制。
(4)时延!
- 发送时延=分组长度(b)/发送速率(b/s)
- 传播时延=信道长度(m)/电磁波传播速率(m/s)
- 排队时延一般不考虑
(5)时延带宽积
- 时延带宽积=传播时延×带宽
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特。
- 链路的时延带宽积又称为以比特为单位的链路长度。
(6)往返时延RTT
- 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
- 我们有时很需要知道双向交互一次所需的时间
(7)利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)。
- 网络利用率:全网络的信道利用率的加权平均。
- 利用率并非越高越好:当某信道利用率增大时,该信道引起的时延也会迅速增加。
- 也不能使信道利用率太低,这会使宝贵的通信资源白白浪费
(8)丢包率
- 丢包率即分组丢失率,是指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
- 分组丢失的两大主要原因:分组误码,结点交换机缓存队列满(网络拥塞)
2.计算机网络的体系结构
(1)常见的计算机网络体系结构(1)
- OSI参考模型:自底向上分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- TCP/IP体系结构:自底向上分为网络接口层、网际层、传输层、应用层。
- 综合五层模型:物理层、数据链路层、网络层、传输层、应用层。
(2)计算机网络体系结构分层的必要性(2)
- 物理层:解决使用何种信号来传输比特的问题。
- 数据链路层:解决分组在一个网络(或一段链路)上传输的问题。
- 网络层:解决分组在多个网络上传输(路由)的问题,提供主机之间的逻辑通信,无连接不可靠的数据报服务。
- 传输层:解决进程之间基于网络的通信问题,提供端到端的逻辑通信,有连接可靠的数据报服务。
- 应用层:解决通过应用进程的交互来实现特定网络应用的问题。
(3)OSI参考模型中各层功能(4)⭐
- 应用层:终端应用:FTP 、WEB等。
- 表示层:数据压缩、加密解密、数据格式转换。
- 会话层:会话(对话)管理。
- 传输层:为端到端提供可靠传输服务、进程通信、流量控制。
- 网络层:路由选择、点到点间流量控制、拥塞控制、差错控制。
- 数据链路层:成帧、差错控制、相邻结点间流量控制、传输管理。
- 物理层:传输比特流,定义物理设备标准。
(4)计算机网络体系结构中的专业术语(1)
- 实体:任何可发送或接收信息的硬件或软件进程
- 对等实体:收发双方相同层次中的实体
- 协议:控制两个对等实体进行逻辑通信的规则的集合。
- 协议的三要素(1)
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双方的时序关系
- 服务:在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下面一层所提供的服务。
- 协议是水平的,服务是垂直的。
- 实体看得见相邻下层提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是透明的。
- 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
- 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
- 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
二、物理层
1.物理层的基本概念
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。
- 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
物理层协议的主要特性(2)
- 机械特性:指明接口所用的接线器的形状和尺寸、引脚数量和排列、固定和锁定装置。
- 电气特性:指明在接口电缆的各条线上出现的电压的范围。
- 功能特性:指明某条线上出现的某一电平的电压表示何种意义。
- 过程特性:指明对于不同功能的各种可能事件的出现顺序。
2.物理层下面的传输媒体
- 导引型传输媒体
- 同轴电缆:价格较贵且布线不够灵活和方便,随着集线器的出现,在局域网领域基本上都是采用双绞线作为传输媒体。
- 双绞线
- 绞合的作用:抵御部分来自外界的电磁波干扰并减少相邻导线的电磁干扰。
- 光纤
- 优点:通信容量大、运输损耗小、抗雷电和电磁干扰性能好、保密性好、体积小质量轻。
- 缺点:割接需要专用设备、光电接口价格较贵。
- 电力线
- 非导引型传输媒体
- 无线电波
- 微波
- 红外线
- 可见光
3.传输方式
- 串行传输与并行传输
- 同步传输与异步传输
- 单向通信(单工)、双向交替传输(半双工)、双向同时通信(全双工)
4.编码与调制(6)⭐
(1)编码
码元:在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。
- 不归零编码:存在同步问题,计算机网络不采用。
- 归零编码:自同步,编码效率低(浪费在归零上了)。
- 曼彻斯特编码:负跳变(高到低)表示比特1,正跳变(低到高)表示比特0。码元中间时刻的跳变既表示时钟又表示数据。
- 差分曼彻斯特编码:跳变仅表示时钟,码元开始处电平是否发生变化表示数据。
如何区分记忆:曼彻斯特编码各画各的,1和0该咋画咋画,在哲学上来说就是间断的,数学上来讲就是离散的。而差分曼彻斯特编码,在遇到0时要变化,遇到1时不变化,哲学上来讲就是连续的。
(2)调制
- 基本调制方法(1个码元只能包含1比特信息):
- 混合调制(1个码元包含更多的比特):
- 正交振幅调制QAM
- QAM-16
- 12种相位(与坐标轴的夹角大小为一个相位 )。
- 每种相位有1或2种振幅可选。
- 可以调制出16种码元(波形),每种码元可以对应表示4个比特。
- 码元与4个比特的对应关系采用格雷码。
- QAM-16
- 正交振幅调制QAM
5.信道的极限容量(7)⭐
(1)奈氏准则
在假定的理想条件下,为了避免码间的串扰,码元传输速率有上限。
-
理想低通信道的最高码元传输速率=2W Baud =2W码元/秒。
-
理想带通信道的最高码元传输速率=W Baud =W码元/秒。
W:信道带宽(单位为HZ)
Baud:波特,即码元/秒 -
码元传输速率又称波特率、调制速率、波形速率或符号速率。它与比特率有一定关系:
- 当1个码元只携带1比特的信息量时,则波特率(码元/秒)与比特率(比特/秒)在数值上是相等的。
- 当1个码元携带n比特的信息量时,则波特率转换成比特率时,数值要乘n。
-
要提高信息传输速率(比特率),就必须设法使得每一个码元携带更多的比特信息。这需要采用多元制(混合调制)。
数据传输速率=波特率×每个码元携带的信息量=2W×log2V(V就是几种码元)
(2)香农公式
带宽受限且有高斯白噪声干扰的信道的极限信息传输速率。
- 公式:c=W×log2(1+S/N)
c:信道的极限信息传输速率(单位:b/s)
W:信道带宽(单位:HZ)
S:信道内所传信号的平均功率
N:信道内的高斯噪声功率
S/N:信噪比,为无量纲单位。但是讨论信噪比时常用分贝作为度量单位。
信噪比(dB)=10×log10(S/N) - 信道带宽或信道中的信噪比越大,信息的极限传输速率越高。
- 信号传播速率不会影响信道数据传输速率。
6.习题
【2009年题34】在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是()
A.12kbps B.24kbps C.48kbps D.96kbps
解答:根据奈氏准则可知,该通信链路的最高码元传输速率=2×3k=6k(Baud)=6k(码元/秒)
QAM-16,4比特,每个码元携带4比特信息。
所以c=6k×4=24kbps
7.复习建议
- 通信基础:
按照这个优先级顺序掌握以下概念:
波特,速率,带宽,码元 > 信号,信道,数据 > 信源,信宿
这些概念最重要的就是速度相关的前四个,一定要搞清楚码元和波特代表什么以及他们的区别,这几个概念在物理层这一章主要是为了奈氏准则和香农定理做计算,其他章节用不到码元和波特,所以在这一章把这块相关的题目多做几遍,掌握出题的那几种类型,就可以轻松拿下知识点。 - 奈奎斯特定理(奈氏准则)与香农定理
这两个公式的使用场景很好区分——是否有噪声,但有的时候如果题目用两种方式都可以计算出结果,那就要都计算取最小值,因为即使在有噪声的情况下也应该满足理想低通(奈氏准则)的极限速率,总而言之就是多做这块的题目,做多了感觉自然就来了! - 编码与调制
这小节难度主要在于编码和调制的方法太多了,所以容易记混,最好的办法就是结合视频中的一些口令或者自己自创一些便于更好记忆,调制容易和计算极限传输速率的公式结合考察,也要通过广泛大量的题目进行练习哦! - 传输介质
这一节唯一的历年真题考察点就在于接口的特性,也是比较好掌握的一个内容,对于传输介质要以无线和有线做区分去学习和记忆,可以学完这节之后,自己用思维导图画一下看是否能全部列举出这些传输介质并讲出他们各自的优劣。 - 物理层设备
目前还没有出现在408真题中,属于非常简单且不是很重要的考点,毕竟在交换机和路由器面前,中继器和集线器也还是个弟弟,不过虽然他是“小傻瓜”,但我们也不能落下,毕竟他们也承担起了全球非常广泛的信号中继和放大作用的天职!
二、数据链路层
1.封装成帧
- 封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
- 帧头和帧尾中包含有重要的控制信息。
- 帧头和帧尾的作用之一就是帧定界。
- 透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
- 面向比特的物理链路使用比特填充(零比特填充法五1后0)
的方法实现透明传输。
- 为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些。
- 考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU。
2.差错检测
- 奇偶校验
- 在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)。
- 如果有奇数个位出现误码,则奇偶性发生了变化,可以检查出误码
- 如果有偶数个位出现误码,则奇偶性不发生变化,不能检查出误码
- CRC循环冗余校验码
- 收发双方约定好一个生成多项式G(x);
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输
- 接收方通过生成多项式来计算收到的数据是否产生了误码;
- 注意后面加0的个数:生成多项式最高次个0
- 模二除。异或:相同为0,相异为1。
- 海明校验码
不太可能会考,可以了解
- 讲解视频:软考中级海明校验码
3.可靠传输的基本概念
- 使用差错检测技术,接收方的数据链路层就可检测出帧在传输过程中是否产生了误码(比特错误)
- 数据链路层向上层提供的服务类型
- 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做。
- 可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。
- 一般情况下,有线链路的误码率比较低,为了减小开销,并不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。
- 无线链路易受干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务。
- 比特差错只是传输差错中的一种。
- 从整个计算机网络体系结构来看,传输差错还包括数据链路层上层的分组丢失、分组失序以及分组重复。
- 可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输。
4.可靠传输的实现机制⭐
(1)停止—等待协议SW(2)
- 确认与否认:发送方发送数据分组DATA,接收方收到则发送确认分组ACK,发送方再发送下一个数据分组DATA,接收方通过差错检测技术发现了误码,则丢弃该数据分组DATA并发送否认分组NAK给发送方,发送方重新发送数据分组DATA。
- 出现数据分组丢失则发送方进行超时重传:接收方收不到数据分组DATA,就不会发送确认分组ACK和否认分组NAK,就一直处于等待阶段。为解决该问题,可以在发送方发送完一个数据分组后启动一个超时计时器。若到了超时计时器所设置的重传时间而发送方仍收不到接收方的任何ACK或NAK,则重传原来的数据分组,这就叫超时重传。一般重传时间选为略大于平均往返时延RTT
- 可能出现确认分组丢失导致数据分组重复,所以要给数据分组编号。当发送方发送数据分组DATA后,接收方正确接收,但确认分组ACK丢失,发送方以为是自己没发送过去,在超时计时器的作用下,又发送了一个与上一个一样的数据分组DATA,但接收方已经收到,为了避免这一问题,需要给每个数据分组进行编号,这样接收方就知道是不是接收了重复的分组。编号使用一个比特即可,标记数据分组DATA0与DATA1。
- 确认迟到导致确认重复,给确认分组ACK添加编号。发送方发送数据分组DATA0,接受方接收到后发送确认分组ACK,但是由于某些原因迟到了。
- 对于数据链路层的点对点信道,往返时延RTT比较固定,不会出现确认迟到情况,因此只在数据链路层实现停止等待协议SW可以不用给确认分组ACK编号。
- 后面的DATA0不等于第一个DATA0,因为用一个比特编号,0和1区分不同数据分组DATA,第一个数据分组DATA0在接收后就不存在了。
- 停止等待协议SW的信道利用率
- TD数据分组发送时延,往返时延RTT, TA是发送确认分组的发送时延,TA一般远小于TD可以忽略。
- 当往返时延RTT远大于数据帧发送时延TD时(例如使用卫星链路),信道利用率非常低。
- 可以采用流水线式发送数据分组DATA提高信道利用率。
- 为了克服信道利用率很低的缺点,就出现了后退N帧协议GBN和选择重传协议SR。
- 习题
【2018年题36】主机甲采用停-等协议向主机乙发送数据,数据传输速率是3kbps,单向传播延时是200ms,忽略确认帧的传输延时。当信道利用率等于40%时,数据帧的长度为()
A.240比特 B.400比特 C.480比特 D.800比特
答:套公式即可,RTT=200×2=400ms=0.4s,TA一般忽略不计,所以0.4=TD/(TD+0.4).解得TD=4/15。所以数据帧长度为3000×(4/15)=800. 选D
(2)后退N帧协议GBN(6)
- 发送方
- 发送窗口尺寸WT的取值范围是1<WT≤2n-1
- 其中,n是构成分组序号的比特数量。
- WT=1为停止等待协议
- WT>2n-1则接收方无法分辨新旧数据分组
- 发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去。
- 发送方只有收到对己发送数据分组的确认时,发送窗口才能向前相应滑动。
- 发送方收到多个重复确认时,可在重传计时器超时前尽早开始重传,由具体实现决定。
- 发送方发送窗口内某个已发送的数据分组产生超时重发时,其后续在发送窗口内且已发送的数据分组也必须全部重传,这就是回退N帧协议名称的由来。
- 发送窗口尺寸WT的取值范围是1<WT≤2n-1
- 接收方
- 接收方的接收窗口尺寸WR的取值为1,因此接收方只能按序接收数据分组。
- 接收方只接收序号落在接收窗口内且无误码的数据分组,并且将接收窗口向前滑动一个位置,与此同时给发送方发回相应的确认分组。为了减少开销,接收方不一定每收到一个按序到达且无误码的数据分组就给发送方发回一个确认分组,
- 而是可以在连续收到好几个按序到达且无误码的数据分组后(由具体实现决定),才针对最后一个数据分组发送确认分组,这称为累积确认;
- 或者可以在自己有数据分组要发送时才对之前按序接收且无误码的数据分组进行捎带确认;
- 接收方收到未按序到达的数据分组,除丢弃外,还要对最近按序接收的数据分组进行确认;
- 具体动画演示看后退N帧协议GBN
(3)选择重传协议SR(2)
- 发送方
- 发送窗口尺寸WT的取值范围是1<WT≤2n-1,其中,n是构成分组序号的比特数量。
- WT=1 与停止-等待协议SW相同
- WT>2n-1 接收方无法分辨新旧数据分组
- 发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去;
- 发送方只有按序收到对已发送数据分组的确认时,发送窗口才能向前相应滑动;若收到未按序到达的确认分组时**,对其进行记录**。以防止其相应数据分组的超时重发,但发送窗口不能向前滑动。
- 发送窗口尺寸WT的取值范围是1<WT≤2n-1,其中,n是构成分组序号的比特数量。
- 接收方
- 接收窗口WR的取值范围是1<WR≤WT
- WR=1 与停止等待协议SW相同
- WR>WT 无意义
- 接收方可接收未按序到达但没有误码并且序号落在接收窗口内的数据分组;
- 为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的数据分组进行逐一确认。
- 接收方只有在按序接收数据分组之后,接收窗口才能向前相应滑动。
- 接收窗口WR的取值范围是1<WR≤WT
- 动画演示选择重传协议SR
5.点对点协议PPP
- PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
- 对各种协议数据报的封装方法(封装成帧)。
- 链路控制协议LCP:用于建立、配置以及测试数据链路的连接。
- 一套网络控制协议NCPs:其中每一个协议支持不同的网络层协议。
- PPP帧的透明传输
- 面向字节的异步链路使用字节填充法(插入转义字符)
- 面向比特的同步链路使用比特填充法(零比特填充法)
6.媒体接入控制
(1)静态划分信道(1)
- 频分复用FDM
- 时分复用TDM
- 波分复用WDM
- ⭐码分复用CDM
- 与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信。
- 由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
- 在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片。通常m的值是64或128为了简单起见,在后续的举例中,我们假设m为8。
- 使用CDMA的每一个站被指派一个唯一的m bit码片序列。
- 一个站如果要发送比特1,则发送它自己的m bit码片序列;
- 一个站如果要发送比特0,则发送它自己的m bit码片序列的二进制反码;
- 举例:指派给CDMA系统中某个站点的码片序列为00011011
- 发送比特1:发送自己的码片序列00011011
发送比特0:发送自己的码片序列的二进制反码11100100
为了方便,我们按惯例将码片序列中的0写为-1,将1写为+1。该站点的码片序列是(-1 -1 -1 +1 +1 -1 +1 +1)
- 发送比特1:发送自己的码片序列00011011
- 码片的挑选规则如下:
- 分配给每个站的码片序列必须各不相同,实际常采用伪随机码序列。
- 分配给每个站的码片序列必须相互正交(规格化内积为0即将向量对应数值相乘相加除以总数)。
令向量S表示站S的码片序列,令向量T表示其他任何站的码片序列。两个不同站S和T的码片序列正交,就是向量S和T的规格化内积为0:
习题1.假设给站S分配的码片序列为01011101,给站T分配的码片序列为10111000,这样的分配正确吗?
答:检查码片序列是否各不相同:满足。检查码片序列是否相互正交:不满足,所以不正确。
——————————————————————————————————————
习题2.共有4个站进行CDMA通信,这4个站的码片序列分别为:
A: (-1 -1 -1+1 +1 -1 +1+1) B : (-1 -1+1 -1+1+1 +1 -1) C:(-1 +1 -1 +1+1+1 -1 -1) D: (-1+1 -1 -1 -1-1 +1 -1)
现收到码片序列(-1+1-3+1-1-3+1+1)。问是哪些站发送了数据?发送的是比特1还是0?
分析:用收到的码片序列分别与各站的码片序列进行求内积运算。若计算结果为数值1,则被判断的站发送了比特1;若计算结果为数值-1,则被判断的站发送了比特0;若计算结果为数值0,则被判断的站未发送数据。
答:A站发送比特1,B站发送比特0,C站未发送,D站发送了比特1
——————————————————————————————————————
【2014年题37】站点A、B、C通过CDMA共享链路,A、B、C的码片序列(chipping sequence)分别是
(1,1,1,1)、(1,-1,1,-1)和(1,1,-1,-1)。若C从链路上收到的序列是(2,0,2,0,0,-2,0,-2,0,2,0,2),则C收到A发送的数据是()
A.000
B.101
C.110
D.111
答:将站点C的码片序列分为三部分,分别为:(2,0,2,0)(0,-2,0,-2)(0,2,0,2),然后分别与A进行规格化内积运算,运算结果为101,选B。
(2)随机接入 —— CSMA/CD协议(3)⭐
载波监听多址接入/碰撞检测 CSMA/CD
- 载波监听CS
- 每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(“先听后说”):
- 若检测到总线空闲96比特时间,则发送这个帧;
- 若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧。
- 每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(“先听后说”):
- 多址接入MA
- 多个站连接在一条总线上,竞争使用总线。
- 碰撞检测CD
- 每一个正在发送帧的站边发送边检测碰撞(“边说边听”) :
- 一旦发现总线上出现碰撞,则立即停止发送,退避一段随机时间后再次发送(“一旦冲突,立即停说,等待时机,重新再说”)。
- 每一个正在发送帧的站边发送边检测碰撞(“边说边听”) :
- CSMA/CD协议——争用期(碰撞窗口):端到端的往返传播时延RTT
- 最小帧长
- 以太网规定最小帧长为64字节,即512比特
- 如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不小于64字节。
- 以太网的最小帧长确保了主机可在帧发送完成之前就检测到该帧的发送过程中是否遭遇了碰撞
- 如果在争用期没有检测到碰撞,那么后续发送的数据就一定不会发生碰撞。
- 如果在争用期内检测到碰撞,就立即中止发送,这时已经发送出去的数据一定小于64字节,因此凡长度小于64字节的帧都是由于碰撞而异常中止的无效帧。
- 最小帧长=争用期×数据传输速率
- 以太网规定最小帧长为64字节,即512比特
- 最大帧长
- CSMA/CD协议——截断二进制指数退避算法
- 若连续多次发生碰撞,就表明可能有较多的主机参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(这也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。
- 当重传次数16次仍不能成功时,表面同时打算发送帧的主机太多,以至于连续发生碰撞,则丢弃该帧,并向高层报告。
- CSMA/CD协议——信道利用率
- CSMA/CD协议——帧发送流程图
- CSMA/CD协议——帧接收流程图
习题
【2009年题37】在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆传输速率为1Gbps,电缆中的信号传播速度是200 000km/s。若最小数据帧长度减800比特,则最远的两个站点之间的距离至少需要()
A.增加160m
B.增加80m
C.减少160m
D.减少80m
分析:考察最小帧长。
答:设最远两个站点之间的距离为d(m),最小帧长为l(bit);最小帧长=争用期×数据传输速率。最终解得:d=l/10。所以l减少800,d就会减小80
(3)CSMA/CA协议(4)⭐
- 802.11无线局域网使用CSMA/CA协议,在CSMA的基础上增加了一个碰撞避免CA功能,而不再实现碰撞检测功能。
- 由于不可能避免所有的碰撞,并且无线信道误码率较高,802.11标准还使用了**数据链路层确认机制(停止等待协议SW)**来保证数据被正确接收。
- 802.11的MAC层标准定义了两种不同的媒体接入控制方式:
- 分布式协调功能DCF:802.11的默认方式。
- 点协调功能PCF :802.11的可选方式,实际中较少使用。
- 帧间间隔IFS
- 所有站点必须在持续检测到信道空闲一段指定时间后才能发送帧。这段时间称为帧间间隔IFS。
- 短帧间间隔SIFS:是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。
- DCF帧间间隔DIFS :用来发送数据帧和管理帧。
- 所有站点必须在持续检测到信道空闲一段指定时间后才能发送帧。这段时间称为帧间间隔IFS。
- 802.11无线局域网的MAC帧中三地址的表示:802.11无线局域网的MAC帧
- CSMA/CA工作原理
- CSMA/CA退避算法
- CSMA/CA协议的信道预约和虚拟载波监听
- 为了尽可能减少碰撞的概率和降低碰撞的影响,802.11标准允许要发送数据的站点对信道进行预约。
- 源站在发送数据帧之前先发送一个短的控制帧,称为请求发送RTS,它包括源地址、目的地址以及这次通信〈包括相应的确认帧)所需的持续时间。
- 若目的站正确收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送CTS,它也包括这次通信所需的持续时间(从RTS帧中将此持续时间复制到CTS帧中)。
- 源站收到CTS帧后,再等待一段时间SIFS后,就可发送其数据帧。
- 若目的站正确收到了源站发来的数据帧,在等待时间SIFS后,就向源站发送确认帧ACK。
- 为了尽可能减少碰撞的概率和降低碰撞的影响,802.11标准允许要发送数据的站点对信道进行预约。
7.MAC地址
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC,因此这类地址被称为MAC地址(硬件地址,物理地址)。MAC地址是对网络上各接口的唯一标识而不是网络上各设备的唯一标识。
-
MAC地址发送顺序:
- 字节发送顺序:第一字节到第六字节
- 字节内比特发送顺序:b0到b7
-
各地址作用
- 单播MAC地址:单独给一个主机发送,其他主机发现目的地址不是自己的地址就丢弃,是自己的就接收。
- 广播MAC地址:给所有主机发送,所有主机都接收。
- 多播MAC地址:给好几个主机发送,主机通过查看自己的多播组列表,如果有对应的就接收。如下判断多播地址:
8.网络层IP地址
- IP地址是因特网上主机和路由器所使用的地址,用于标识两部分信息:
- 网络编号:标识因特网上数以百万计的网络
- 主机编号:标识同一网络上的不同主机。
- 数据包转发过程中IP地址与MAC地址的变化情况
数据包转发过程中源IP地址和目的IP地址保持不变;
数据包转发过程中源MAC地址和目的MAC地址逐个链路改变。
9.网络层ARP协议(1)
B要给C发信息,B知道C的IP地址,但不知道C的MAC地址,B的数据链路层封装MAC帧时无法填写目的MAC地址。而每个主机都有个ARP高速缓存表,在表里一一记录了各主机IP地址与对应的MAC地址,主机B在搜索后未找到C的IP地址对应的MAC地址便发送ARP请求报文(广播)。
AC都收到了ARP请求报文(广播)并交付上层处理,A发现不是找自己就丢弃,C发现是找自己,便将B的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后通过发送ARP响应报文(单播)给B发送ARP响应,以告知自己的MAC地址。
B接收到ARP响应报文后记录到自己的ARP高速缓存表中,B就可以给C发送数据包了。
需要注意ARP的使用是逐段链路进行的,不能跨网络使用。
10.集线器与交换机的区别(3)
- 集线器HUB(淘汰)
- 早期以太网的互连设备
- 工作在OSI体系结构的物理层
- 对接收到的信号进行放大、转发
- 使用集线器作为互连设备的以太网仍然属于共享总线式以太网。集线器互连起来的所有主机共享总线宽带,属于同一碰撞域和广播域。
- 交换机SWITCH
- 目前以太网中最广泛的互连设备
- 工作在OSI体系结构的数据链路层(也包括物理层)
- 根据MAC地址对帧进行转发
- 使用交换机作为互连设备的以太网,称为交换机以太网。交换机可以根据MAC地址过滤帧,即隔离碰撞域,并且转发决策时使用的PDU地址是目的物理地址。
- 交换机的每个接口时一个独立的碰撞域
- 交换机隔离碰撞域但不隔离广播域(VLAN除外)
11.以太网交换机自学习和转发帧的流程⭐
- 以太网交换机工作在数据链路层(也包括物理层)
- 以太网交换机收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
- 以太网交换机是一种即插即用设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表。
- 以太网交换机自学习和转发帧的流程:
- 收到帧后进行登记。登记内容为帧的源MAC地址及进入交换机的接口号。
- 根据帧的目的MAC地址和交换机的帧交换表对帧进行转发,有以下三种情况
- 明确转发:交换机知道应当从哪个(或哪些)接口转发该帧(单播,多播,广播)。
- 盲目转发:交换机不知道从哪个端口转发帧,只能将其通过除进入交换机的接口外的其他所有接口转发(也称为泛洪)
- 明确丢弃:交换机知道不应该转发该帧,将其丢弃。
- 帧交换表中的每条记录都有自己的有效时间,到期删除。原因如下
- 交换机的接口改接了另一台主机。
- 主机更换了网卡。
- 更形象的动画演示:交换机自学习和转发帧的流程
12.虚拟局域网VLAN⭐
(1)基本概念
- 使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于同一个广播域。
- 随着交换式以太网规模的扩大,广播域相应扩大。
- 巨大的广播域会带来很多弊端:广播风暴 、难以维护和管理、潜在的安全问题
- 网络中会频繁出现广播信息。
- 分割广播域的方法:使用路由器可以隔离广播域,但路由器成本较高,虚拟局域网VLAN技术应运而生。
- 虚拟局域网VLAN是一种将局域网中的设备划分成与物理位置无关的逻辑组技术,这些逻辑组具有某些共同的需求。
(2)实现机制
- VLAN标记的最后12比特称为VLAN标识符VID,它唯一标志了以太网帧属于哪个VLAN。
- VID的有效取值为1~4094,0与4095不可取
- 802.1Q帧是由交换机来处理的,而不是用户主机来处理的。
- 当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧,简称“打标签”。
- 当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧,简称“去标签”。
- 交换机的端口类型:Access、Trunk、Hybrid(了解)
- Access
- 连接用户计算机
- 只能属于一个VLAN
- PVID与端口所属VLAN的ID相同,默认值为1
- 接受处理方法:一般只接收未打标签的普通以太网帧,并给其打标签
- 发送处理方法:若帧中的VID等于端口PVID,则去标签并转发,否则丢弃。
- Trunk
- 交换机之间或交换机与路由器之间的连接
- 可以属于多个VLAN
- 用户可以设置PVID,默认为1
- 接收处理方法:接收已打标签的帧,接收未打标签的帧,根据端口的PVID值给帧打标签。
- 发送处理方法:帧中VID等于端口PVID,去掉标签再转发;帧中VID不等于端口PVID,直接转发。
- Access
- 清晰的动画演示:VLAN实现机制
13.复习建议
- 数据链路层的功能
本节内容难度较低,只需要初步建立起对于数据链路层的印象,每一个具体的功能到后面小节都会详细展开,可以后面全部学完再回顾看一遍第一小节加深印象。 - 组帧
这一节也是难度较低,且从未在真题中出现过,你懂得~ 唯一要强调的就是零比特填充的“五1一0”的方法。 - 差错控制
这一小节主要分为检错编码和纠错编码的学习,这节学习方法要侧重在题目上面,通过题目就可以很快速的检验吸收情况了,有的题目比如海明码,循环冗余码等可以多做几遍题目,熟能生巧~ - 流量控制与可靠传输机制
这一节的关键就在于要区分开三个协议:
1.停止等待协议 (非常简单,考了也不怕)
2.后退N帧-GBN协议 (难度适中,常考)
3.选择重传-SR协议 (难度适中,不如GBN常考)
重点在于区分三个协议的窗口大小,以及在发送过程中窗口的动态变化和可发送/可接收帧的长度,可以自己做一个表格归纳也可以复用课程中的总结加深记忆。 - 介质访问控制
这是链路层这章难度最大的小节,协议比较多且很多真题考点,学习的时候千万不要混淆,可以自己学完这小节用导图或者表格的形式归纳总结一下不同协议的特点、异同点、适用场景等,才能更好地记忆和区分。
对于信道划分介质访问控制,四种复用的方法以码分多路复用为重点进行复习;
对于随机访问介质访问控制,把重点放在CSMA/CD和CSMA/CA进行复习。 - 局域网
局域网这一节难度较大,包括有线局域网和无线局域网,对于第一次学习的同学要重点掌握两种网络下所对应的协议。同时这一节也包含了一个去年新增的新考点,VLAN基本概念及基本原理,这一节内容相对更加抽象,建议多看几遍视频及辅导书加深理解。 - 广域网
这一节相对来说比较简单,而且也不是重要的考点,对于HDLC协议是去年删除的考点,大家可以跳过不去学习,如果想了解也可以一起看一下两个协议的区别。 - 数据链路层设备
这一节已经删去网桥这个考点,重点学习交换机的原理和自学习功能,难度不大,要多结合题目熟练掌握哦。
三、网络层
1.网络层概述
- 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
- 要实现网络层任务,需要解决以下主要问题:
- 网络层向传输层提供怎样的服务(可靠传输还是不可靠传输)
- 网络层寻址问题
- 路由选择问题
2.IPV4协议⭐
(1)分类编址的IPV4地址(1)
- A类地址(小于127):网络号占8位且开头数字固定为0,主机号占24位。
- 最小网络号0,保留不指派。
- 第一个可指派的网络号为1,网络地址为1.0.0.0
- 最大网络号127,作为本地环回测试地址,不指派
- 最小本地环回测试地址为127.0.0.1
- 最大本地环回测试地址为127.255.255.254
- 最后一个可指派的网络号为126,网络地址为126.0.0.0
- 可指派的网络数量为2(8-1)-2=126(减2的原因是除去最小网络号0和最大网络号127)
- 每个网络中可分配的IP地址数量224-2(减2的原因是除去主机号全0的网络地址和全1的广播地址)
- B类地址(128~191):网络号占16位且开头数字固定为10,主机号占16位。
- 最小网络号也是第一个可指派的网络号128.0,网络地址为128.0.0.0
- 最大网络号也是最后一个可指派的网络号191.255,网络地址为191.255.0.0
- 可指派的网络数量为2(16-2)=16384
- 每个网络中可分配的IP地址数量216-2=65534(减2的原因是除去主机号全0的网络地址和全1的广播地址)
- 有些教材说128.0为保留网络号,第一个可指派的为128.1,但根据2002年9月发表的RFC3330文档,128.0网络号已经可以分配了。
- C类地址(192~223):网络号占24位且开头数字固定为110,主机号占8位。
- 最小网络号也是第一个可指派的网络号192.0.0,网络地址为192.0.0.0
- 最大网络号也是最后一个可指派的网络号223.255.255,网络地址为223.255.255.0
- 可指派的网络数量为2(24-3)=2097152
- 每个网络中可分配的IP地址数量28-2=254(减2的原因是除去主机号全0的网络地址和全1的广播地址)
- 有些教材说192.0.0为保留网络号,第一个可指派的为128.0.1,但根据2002年9月发表的RFC3330文档,192.0.0网络号已经可以分配了。
- D类地址:多播地址,开头为1110.
- E类地址:保留地址,开头为1111.
- 只有A类、B类和C类地址可分配给网络中的主机或路由器的各接口。主机号为全“0”或全“1”的地址分别为网络地址和广播地址,不能分配给主机或路由器的各接口。
【2017年题36】下列IP地址中,只能作为IP分组的源IP地址但不能作为目的IP地址的是()
A.0.0.0.0 B.127.0.0.1 C.20.10.10.3 D.255.255.255.255
答案为A
(2)划分子网的IPV4编址(8)
为什么进行子网划分:某单位有一个大型的局域网连接到因特网,申请一个B类地址,可分配的IP数量只有65534个,给每台计算机分配一个IP地址后还有大量剩余。这些IP地址是该单位申请的,只能自己使用,别人不能用。随着公司发展,公司又进了许多别的计算机,还分了财务部、工程部等。分开的部门不适合重新申请IP地址,会造成原先地址的浪费还要额外花钱。所以为了区分各个部门,将原先的地址进行划分,这块子网是财务部的,别的子网是工程部的,这既不会造成浪费也区分出了网络。
- 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号。
- 子网掩码使用连续的比特1来对应网络号和子网号
- 子网掩码使用连续的比特0来对应主机号
- 将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址。
- 直接做题目会更好运用。
题目:已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。
分析:将子网掩码非255部分展开成为比特流,然后看几个1,就是从主机号借用几个比特作为子网号,划分出的子网数量就为2几个1。本题中为一个1,则划分了2个子网。每个子网中可分配的地址数量就为2(8-1)-2。
(3)无分类编址的IPv4地址(5)
- 无分类域间路由选择CIDR
- CIDR消除了传统A类、B类、C类地址和划分子网的概念
- CIDR可以更加有效地分配IPv4的地址空间。
- CIDR使用“斜线计法”,或称CIDR记法。即在IPv4地址后面加上斜线,表示网络前缀所占的比特数量。
- CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”
- 路由聚合的方法是找共同前缀
- 网络前缀越长,地址块越小,路由越具体。
- 若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样的路由更具体。
(4)IPv4数据报的首部格式(1)
- 标志占3比特,各比特含义如下:
- DF位:1表示不允许分片;0表示允许分片
- MF位:1表示“后面还有分片”;0表示“这是最后一个分片”
- 片偏移占13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位。片偏移以8个字节为单位。片偏移必须为整数,在进行分片时要格外注意。
- 生存时间字段的作用:防止IP数据报在网络中永久兜圈形成路由环路。
- 看最后两个例题(很重要)IPv4数据报的首部格式
(5)网际控制报文协议ICMP(2)
- 为了更有效地转发IP数据报和提高交付成功地机会,在网络层使用了网际控制报文协议ICMP。
- 主机或路由器使用ICMP来发送差错报告报文和询问报文。
- ICMP报文被封装在IP数据报中发送
- ICMP差错报告报文共有五种
- 终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。
- 源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。
- 时间超过:当路由器收到一个目的IP地址不是自己的IP数据报,会将其生存时间TTL字段的值减1。若结果不为0,则将该IP数据报转发出去;若结果为0,除丢弃该IP数据报外,还要向源点发送时间超过报文。
- 参数问题:当路由器或目的主机收到IP数据报后,根据其首部中的检验和字段发现首部在传输过程中出现了误码,就丢弃该数据报,并向源点发送参数问题报文。
- 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。
- 以下情况不应发送ICMP差错报告报文:
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有多播地址的数据报都不发送ICMP差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
- 常用地ICMP询问报文有"回送请求和回答"与“时间戳请求和回答”两种。
- ICMP应用:分组网间探测PING,跟踪路由traceroute
3.路由选择
(1)路由选择协议概述
- 静态路由选择
- 由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
- 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
- 一般只在小规模网络中采用。
- 动态路由选择
- 路由器通过路由选择协议自动获取路由信息。
- 比较复杂、开销比较大。能较好地适应网络状态的变化。
- 适用于大规模网络。
- 因特网所采用的路由选择协议的主要特点
- 自适应:动态路由选择,能较好地适应网络状态的变化
- 分布式:路由器之间交换路由信息
- 分层次:将整个因特网划分为许多较小的自治系统AS
- 因特网采用分层次的路由选择协议
- 常见的路由选择协议
(2)路由信息协议RIP的基本工作原理(4)⭐
- 路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议之一。
- RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,成为“距离向量”
- RIP使用跳数作为度量来衡量到达目的网络的距离。
- 路由器到直连网络的距离定义为1。
- 路由器到非直连网络的距离定义为所经过的路由器数加1
- 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达(考了两次,很重要)。因此RIP只适用于小型互联网。
- RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由。
- 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡。
- RIP包含以下三个要点
- 和谁交换信息 仅和相邻路由器交换信息
- 交换什么信息 自己的路由表
- 何时交换信息 周期性交换(例如每30秒)
- RIP的基本工作过程
- 路由器刚开始工作时,只知道自己到直连网络的距离为1.
- 每个路由器仅和相邻路由器周期性地交换并更新路由信息。
- 若干次交换和更新后,每个路由器都知道到达本AS内各网络地最短距离和下一跳地址,称为收敛
- RIP的路由条目的更新规则
- 发现新网络,添加
- 到达目的网络,不同的下一跳,新路由优势,更新。
- 到达目的网络,不同的下一跳,等价负载均衡
- 到达目的网络,不同的下一跳,新路由劣势,不更新。
- 到达目的网络,相同的下一跳,最新消息,更新。
- RIP存在“坏消息传播的慢”的问题。 “坏消息传播的慢”又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题。可以采取多种措施减少出现该问题的概率或减小该问题带来的危害。
- 限制最大路径距离为15(16表示不可达)
- 当路由表发生变化时就立即发送更新报文(即触发更新),而不仅是周期性发送。
- 动画演示 路由信息协议RIP
(3)开放最短路径优先OSPF的基本工作原理⭐
- OSPF是基于链路状态的,而不像RIP那样是基于距离向量的。
- OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路。
- OSPF不限制网络规模,更新效率高,收敛速度快。
- 链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”
- 使用OSPF的每个路由器都会产生链路状态通告LSA。LSA的内容如下
- 直连网络的链路状态信息。
- 邻居路由器的链路状态信息。
- LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。
- 使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。
- 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。
- OSPF有以下五种分组类型
- 问候分组、数据库描述分组、链路状态请求分组、链路状态更新分组、链路状态确认分组。
- OSPF在多点接入网络中路由器邻居关系的建立
- 选举指定路由器DR和备用的指定路由器BDR。
- 所有非DR/BDR只与DR/BDR建立邻居关系。
- 非DR/BDR之间通过DR/BDR交换信息。
- 为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统划分为若干个更小的范围,叫做区域
- 划分区域的好处就是把利用洪泛法交换链路状体信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信量。
- 动画演示 开放最短路径优先OSPF
(4)边界网关协议BGP的基本工作原理(1)
本节超出教学目标,不深入讨论,408也考察的非常浅显。知道不同自治系统AS之间用BGP协议进行路由选择即可。
- 在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”。
- 不同自治系统的BGP发言人要交换路由信息,首先建立TCP连接(408唯一一次选择题考了这个),端口号为179
- 在此TCP连接上交换BGP报文以建立BGP会话
- 利用BGP会话交换路由信息。
- 利用TCP连接交换路由信息的两个BGP发言人,彼此称为对方的邻站或对等站。
4.网络层设备
(1)冲突域和广播域(4)⭐
- 冲突域是指连接到同一物理介质上的所有结点的集合,这些结点之间存在介质争用现象。第二层(网桥、交换机)、第三层(路由器)设备都可以划分冲突域。
- 广播域是指能接收同样广播消息的结点集合。路由器可以划分广播域,即可以连接不同的广播域。
(2)IP数据报的发送和转发过程
- 主机发送IP数据报
判断目的主机是否与自己在同一个网络- 若在则直接交付
- 若不在则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发。
- 路由器转发IP数据报
- 检查IP数据报首部是否出错:
- 若出错,则直接丢弃该IP数据报并报告源主机;
- 若没出错,则进行转发。
- 根据IP数据报的目的地址在路由表中查找匹配的条目
- 若找到匹配的条目,则转发给条目中指示的下一跳。
- 若找不到,则丢弃该IP数据报并通告源主机
- 检查IP数据报首部是否出错:
5.SDN基本概念
- SDN提供的编程接口称为北向接口、SDN控制器和转发设备建立双向会话的接口称为南向接口、SDN控制器集群内部控制器之间的通信接口称为东西向接口。
- SDN的优点:1.全局集中式控制和分布式高速转发,既利于控制平面的全局优化,又利于高性能的网络转发。2.灵活可编程与性能的平衡。3.降低成本。
- SDN的缺点:1.有安全风险,易受到攻击。2.瓶颈问题。
6.复习建议
- IPv4
这一节是网络层的重中之重,重点是数据报的格式及地址相关的计算,子网掩码的概念可能第一次学完不会那么充分理解,所以需要结合地址相关的题目去反复揣摩,数据报分片的问题第一遍听懂了可能自己再做还会出错(别问我怎么知道的,咱也是过来人),所以这一部分检验自己的标准有两个方法,在没有参考的情况下独立做一次,或者自述一下这道题的整个解题思路。 - 路由协议
根据内部网关协议和外部网关协议对这一小节的协议进行归纳和总结,RIP和OSPF协议的区分是关键,RIP协议一个常见的坑是他的最大距离为15,如果题目中是16则说明网络不可达。OSPF协议由于使用了Dijkstra算法所以容易和数据结构结合考察。RIP协议动态收敛和更新的题目比较重要,但是不难学,2016年统考真题要好好练习并吃透。 - 网络层设备
网络层设备可以出题的方式有非常多,可以跟其他层的设备比较考察他们的区别,也可以结合网络层的综合性题目考察路由器路由选择与转发的方式,路由表是路由器的重中之重,动态更新路由表的过程要熟练掌握。第二遍做大题的时候要重点强化这部分的大题练习哦~ - IP组播、移动IP、IPv6
从未出过真题,感兴趣就看看概念,稍微了解一下。
四、传输层
1.传输层概述
- 物理层、数据链路层和网络层实现了主机到主机的通信,但实际上计算机网络中进行通信的真正实体是位于通信两端主机中的进程。
- 如何为运行在不同主机上的应用进程提供直接的通信服务是传输层的任务,传输层协议又称为端到端协议。
- 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道。
- 根据应用需求的不同,因特网的运输层为应用层提供了两种不同的运输协议,即面向连接的TCP和无连接的UDP,这两种协议就是本章要讨论的主要内容。
2.常用端口号⭐
3.UDP与TCP对比(1)
- UDP
- 无连接
- 支持一对一,一对多,多对一和多对多交互通信。
- 提供复用/分用服务。
- 对应用层交付的报文直接打包
- 尽最大努力交付,也就是不可靠,不使用流量控制和拥塞控制。
- 首部开销小,仅8字节。
- TCP
- 面向连接
- 每一条TCP连接只能有两个端点EP,只能是一对一通信。
- 面向字节流
- 可靠传输,使用流量控制和拥塞控制
- 首部最小20字节,最大60字节。
4.TCP流量控制(2)⭐
- 所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
- 利用滑动窗口机制(类比GBN)可以很方便地在TCP连接上实现对发送方的流量控制。
- TCP接收方利用自己的接收窗口的大小来限制发送方发送窗口的大小。
- TCP发送方收到接收方的零窗口通知后,应启动持续计时器。持续计时器超时后,向接收方发送零窗口探测报文。
- 发送窗口的上限=min[接收窗口rwnd,拥塞窗口cwnd]
- 动画演示TCP流量控制
5.TCP拥塞控制(7)⭐
- 慢发送
- 发送方维护一个叫做拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度,并且动态变化。
- 拥塞窗口cwnd的维护原则:只要网络没有出现拥塞,拥塞窗口就再增大(指数增大,如1,2,4,8,16)一些;但只要网络出现拥塞,拥塞窗口就减少(除以2)一些。
- 判断出现网络拥塞的依据:没有按时收到应当到达的确认报文(即发生超时重传)
- 发送方将拥塞窗口作为发送窗口swnd,即swnd=cwnd。
- cwnd增大到一个规定的慢开始门限ssthresh时改用拥塞避免算法。
- 发送方维护一个叫做拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度,并且动态变化。
- 拥塞避免
思路是让拥塞窗口cwnd缓慢增大,具体做法:每经过一个往返时延RTT就把发送方的拥塞窗口cwnd加1,而不是加倍,使得拥塞窗口cwnd按线性规律缓慢增长。- ssthresh是动态变化的,在网络出现超时时,变为超时时cwnd值的一半。
- 维护一个慢开始门限ssthresh状态变量:
- 当 cwnd<ssthresh时,使用慢开始算法。
- 当 cwnd>ssthresh时,停止使用慢开始算法而改用拥塞避免算法;
- 当 cwnd=ssthresh时,即可使用慢开始算法,也可以使用拥塞避免算法。
- 快重传
所谓快重传,就是使发送方尽快进行重传,而不是等超时重传计时器超时再重传。- 要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认;
- 即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认。
- 发送方一旦收到3个连续的重复确认,就将相应的报文段立即重传,而不是等待该报文段的超时重传计时器超时再重传。
- 快发送
发送方一旦收到3个重复确认,就知道现在只是丢失了个别的报文段。于是不启动慢开始算法,而执行快恢复算法;- 发送方将慢开始门限ssthresh值和拥塞窗口cwnd值调整为当前窗口的一半;开始执行拥塞避免算法。
6.TCP可靠传输的实现(3)⭐
- TCP基于以字节为单位的滑动窗口来实现可靠传输。
- 发送方在未收到接收方的确认时,可将发送窗口还没发送的数据全部发送出去。
- 接收方只接收序号落在发送窗口内的数据。
- 虽然发送方的发送窗口是根据接收方的接收窗口设置的,但在同一时刻,发送方的发送窗口并不总是和接收方的接收窗口一样大。
- 对于不按序到达的数据应如何处理,TCP并无明确规定。
- TCP要求接收方必须有累积确认和捎带确认机制,可以减小传输开销。
- 接收方不应过分推迟发送确认,否则会导致发送方不必要的超时重传,这反而浪费了网络资源。
- TCP通信是全双工通信。 通信中的每一方都在发送和接收报文段。因此,每一方都有自己的发送窗口和接收窗口。
- 可以类比为带累积确认的选择重传协议SR,当然选择重传协议SR是没有累积确认的,只是方便理解该TCP实现机制。
- 动画演示TCP可靠传输的实现
【2011年题40】主机甲与主机乙之间已建立一个TCP连接,主机甲向主机乙发送了3个连续的TCP段,分别包含300字节、400字节和500字节的有效载荷,第3个段的序号为900。若主机乙仅正确接收到第1个和第3个段,则主机乙发送给主机甲的确认序号是()
A.300
B.500
C.1200
D.1400
分析:在理解了TCP可靠传输的实现方式后,很好做出。先确定起始序号:900-300-400=200.则第一个段为200-499,第二个段为500-899,第三个段为900-1399. 第二个段丢失,但第一个段没丢失,进行累积确认,发送500给发送方(主机甲)。选B
7.TCP运输连接管理(6)⭐
(1)TCP连接的建立
- TCP连接建立要解决以下三个问题:
- 使TCP双方能够确知对方的存在;
- 使TCP双方能够协商一些参数(如最大窗口值、是否使用窗口扩大选项等)
- 使TCP双方能够对运输实体资源进行分配
- TCP使用“三报文握手”建立连接
- TCP标准规定,SYN=1的报文段不能携带数据,但要消耗掉一个序号
- TCP的标准规定,普通的确认报文段如果不携带数据,则不消耗序号。
- 不能改为二报文握手,TCP客户发送的TCP连接请求可能因为某些原因滞后,在连接关闭后到达TCP服务器,会让TCP服务器误以为TCP客户请求建立新的连接,处于连接已建立状态。但是已经关闭连接,TCP客户没有请求新的连接,TCP服务器会一直处于连接已建立状态,会导致资源浪费。
(2)TCP的连接释放
8.TCP报文段的首部格式
源端口: 占16比特,写入源端口号,用来标识发送该TCP报文段的应用进程。
目的端口: 占16比特,写入目的端口号,用来标识接收该TCP报文段的应用进程。
序号: 占32比特,指出本TCP报文段数据载荷的第一个字节的序号。
9.补充:各报文段的重要内容⭐
9.复习建议
- 传输层提供的服务
这一小节属于传输层入门章节,内容比较简单,要对传输层有个基本的认识:
(1)传输层有两个重要协议:UDP和TCP,UDP无连接,TCP面向连接
(2)传输层寻址是主要依靠端口号进行,几个重要的端口号要记住哦 - UDP协议
UDP数据报格式可能会放在大题里和其他类型数据报或者报文段结合来考,所以要记住,UDP首部长度为8B,均分为四个部分,即源端口号、目的端口号、UDP长度、UDP校验和,各为2B。 - TCP协议
这一节是计算机网络考纲中最后一个非常重要的内容,其中连接管理和拥塞控制是考试重难点,连接管理主要靠记忆,三次握手和四次握手中字段的变化是有他的逻辑的,梳理清楚其实就很好记忆了。拥塞控制不要轻易觉得自己会了,要通过不断做题才能验证自己的理解是正确的
五、应用层
1.网络应用模型(1)
- 客户/服务器(C/S)方式
- 客户和服务器是指通信中所涉及的两个应用进程。
- 客户/服务器方式所描述的是进程之间服务和被服务的关系。
- 客户是服务请求方,服务器是服务提供方。
- 服务器总是处于运行状态,并等待客户的服务请求。服务器有固定端口号,而运行服务器的主机也具有固定的IP地址。
- 基于C/S方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机上。
- 由于一台服务器计算机要为多个客户机提供服务,在C/S应用中,常会出现服务器计算机跟不上众多客户机请求的情况。
- 为此,在C/S应用中,常用计算机群集构建一个强大的虚拟服务器。
- 对等(P2P)方式
- 在P2P方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。
- 基于P2P的应用是服务分散型的,因为服务不是集中在少数几个服务器计算机中,而是分散在大量对等计算机中,这些计算机并不为服务提供商所有,而是为个人控制的桌面计算机和笔记本电脑,它们通常位于住宅、校园和办公室中。
- P2P方式的最突出特性之一就是它的可扩展性。因为系统每增加一个对等方,不仅增加的是服务的请求者,同时也增加了服务的提供者,系统性能不会因规模的增大而降低。
- P2P方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器带宽。为了降低成本,服务提供商对于将P2P方式用于应用的兴趣越来越大。
2.动态主机配置协议DHCP
- DHCP使得一台计算机加入新网络时可自动获取IP地址等网络配置信息而不用手工参与。
- DHCP主要使用以下报文来实现其功能:
- DHCP发现报文、DHCP提供报文、DHCP请求报文、DHCP确认报文、DHCP否认报文、DHCP释放报文
- DHCP报文在传输层使用UDP协议封装
- DHCP客户使用的UDP端口号为68,DHCP服务器使用的UDP端口号为67
- DHCP客户在未获取到IP地址时使用地址0.0.0.0
- 在每一个网络上都设置一个DHCP服务器会使DHCP服务器的数量太多。因此现在是使每一个网络至少有一个DHCP中继代理(通常是一台路由器),它配置了DHCP服务器的IP地址信息,作为各网络中计算机与DHCP服务器的桥梁。
3.域名系统DNS(4)
-
DNS报文使用传输层协议UDP协议进行封装,端口号为53,作用是将域名转换为IP地址。
-
因特网采用层次树状结构的域名结构,如: ···.三级域名.二级域名.顶级域名
-
顶级域名TLD分为以下三类:国家顶级域名nTLD、通用顶级域名gTLD,反向域arpa。
-
域名服务器可以划分为以下四种不同类型:根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器。
-
域名解析过程使用两种域名查询方式
-
递归查询
-
迭代查询
-
-
为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器和主机中广泛地使用了高速缓存。
-
个人理解的过程:首先本机输入域名进行访问,主机会先查询自己的高速缓存表,看有没有该域名对应的IP地址,如果没有就访问本地域名服务器。在本地域名服务器中,若其他用户近期访问过该域名,会将该域名及其对应的IP地址写入本地域名服务器高速缓存表,此时主机就可以直接获取到。如果近期没人访问,本地域名服务器的高速缓存表没有信息,则开始进行递归查询或者迭代查询。
4.文件传送协议FTP(2)
- FTP客户和服务器之间要建立以下两个并行的TCP连接
- 控制连接,在整个会话期间一直保持打开,用于传送FTP相关控制命令。
- 数据连接,用于文件传输,在每次文件传输时才建立,传输结束时就关闭。
- 默认情况下,FTP使用TCP 21端口进行控制连接,TCP 20端口进行数据连接。但是,是否使用TCP20端口建立数据连接与传输模式有关,主动方式使用TCP 20端口,被动方式由服务器和客户端自行协商决定,也就是说是否使用TCP20端口建立连接与传输模式有关。
- 主动方式
- 被动方式
5.电子邮件(3)
-
电子邮件系统采用客户/服务器方式。三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议。
-
常用的邮件发送协议是简单邮件传送协议SMTP
- 基于TCP连接,端口号为25;
- 只能传送ASCII码文本
- 用于用户代理向邮件服务器发送邮件以及邮件服务器之间的邮件发送
-
为解决SMTP传送非ASCII码文本的问题,提出了多用途因特网邮件拓展MIME。
-
常用的邮件读取协议有以下两个:
- 邮局协议POP3:非常简单、功能有限的邮件读取协议。用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户方计算机。不允许用户在邮件服务器上管理自己的邮件。
- 因特网邮件访问协议IMAP:功能比POP3强大的邮件读取协议。用户在自己的计算机上就可以操控邮件服务器中的邮箱,就像在本地操控一样,因此IMAP是一个联机协议。
- POP3和MAP4都采用基于TCP连接的客户/服务器方式。POP3使用端口110,IMAP4使用端口143。
6.万维网WWW(3)
-
万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置。其一般形式为:<协议>://<主机>∵<端口>/<路径>
-
超文本传输协议HTTP
- HTTP/1.0采用非持续连接方式。每次浏览器要请求一个文件都要与服务器建立TCP连接(80端口),当收到响应后就立即关闭连接.
- HTTP/1.1采用持续连接方式。万维网服务器在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。为了进一步提高效率,还可采用流水线方式,即浏览器在收到HTTP的响应报文之前就能够连续发送多个请求报文。
-
HTTP有两类报文︰请求报文和响应报文。报文中的每一个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。
- 请求报文
例子
- 响应报文
- 请求报文
-
Cookie提供了一种机制使得万维网服务器能够“记住”用户,而无需用户主动提供用户标识信息。也就是说,Cookie是一种对无状态的HTTP进行状态化的技术。
-
在万维网中还可以使用缓存机制以提高万维网的效率。万维网缓存又称为Web缓存,可位于客户机,也可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器。
练习