一、计算机网络概述
(一)计算机网络基本概念
计算机网络的定义、组成与功能
定义:以能够相互共享资源的方式互连起来的自治计算机系统的集合。
目的:资源共享,
组成单元:自治、互不影响的计算机
网络协议
从不同角度计算机网络的组成可以分为如下几类:
- 组成部分来看,可以分为硬件、软件、协议三大部分。
- 从工作方式来看,可以分为边缘网络、核心网络。
- 从功能组成老看,可以分为资源子网、通信子网。
计算机网络有五个主要功能:
- 数据通信
- 资源共享
- 分布式处理
- 可靠性连接
- 负载均衡:任务可以均衡的分配给各台计算机
计算机网络的分类
- 按分布范围分类:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人局域网(PAN)
- 按照传输技术:
- 广播式网络:公共信道,发送报文其他所有计算机都可以接受。局域网一般采用广播式通信技术,广域网的卫星通信网络也采用广播式通信技术。
- 点对点:每一对计算机点对点通信
是否采用分组存储转发和路由选择机制是二者的重要区别,广域网基本属于点对点网络。
- 按拓扑结构划分
总线型,星形,环形网络,网状网络
- **按照使用者划分:**公用网络、私用网络
- 按照交换技术划分:
- 电路交换:需要先建立连接,可靠性高, 线路利用率低,不利于差错控制
- 报文交换:可以充分利用线路,实现差错控制。增加了资源开销,增加了缓冲时延,不可预知报文的大小。
- 分组交换:基于报文交换的基础,把报文进行分组分段。具备报文交换的优点,同时缓冲利于管理,包的平均时延更小,网络占用的平均缓冲区更少,更易于标准化。
计算机网络主要性能指标
速率:
速率和存储的单位不一样
带宽:表示通信网络传送数据的能力
时延:发送时延、传播时延、处理时延、排队时延。时延为四个时延的总时延。
时延带宽积:其实表示的是在某一个时刻,在整个通信链路包含的数据量的总量。时延带宽积=传播时延*带宽
往返时延:一个请求发送到接收确认的往返时延。
吞吐量:单位时间通过某个网络的数据量
信道利用率:相比总时间有多少时间是有数据通过的。
这一节似乎,往年没有考过真题。
(二)计算机网络体系结构
计算机网络分层结构
将复杂的大系统分成若干较容易实现的层次。每一层实现相对独立的功能,上层只能单向使用下层的服务,下层为上层提供服务。
PDU=PCI(控制单元)+SDU(数据单元)
计算机网络协议、接口、服务等概念
协议:是指对等实体之间的规则,是水平的,由语法、语义、同步组成。应具有差错控制、线路管理(建立连接、释放连接)、数据转换
接口:相邻层次之间交换信息的连接点,是一个系统内部的规定。下层通过接口向上层提供服务
服务:本层协议实现向上层提供服务,只能能够被上层看得见的功能才能叫服务,并不是所提供的所有功能都是服务。
服务分类:
- **面向连接和无连接 **TCP面向连接,IP,UDP面向无连接
- 可靠服务和不可靠服务 TCP 和 UDP
- 有应答和无应答服务
ISO/OSI 参考模型和TCP/IP 模型
答案:A。
从上到下依次是传输的单位:报文、报文段、数据报、帧、比特流
二、物理层
(一)通信基础
1. 信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念
计算机网络一般采用串行传输,计算机内部一般采用并行传输。
2. 奈奎斯特定理与香农定理
奈奎斯特定理:
香农定理:
3. 编码与调制
将数据变换成数字信号的过程称为编码。
常用的数据编码方式:
几种编码需要注意的点:
- 归零编码没有时钟同步信号,难以实现同步传输
- 归零编码归零需要占用一部分带宽,传输速率受影响
- 以太网使用的编码方式是曼彻斯特编码,1bit就要两个脉冲信号。
- 差分曼彻斯特编码常用于局域网传输。
将数据变换成模拟信号的过程称为调制。
4. 电路交换、报文交换与分组交换
适用于实时性要求比较高传输大量数据的情况。
分组交换有数据包和虚电路两种方式。
5. 数据报与虚电路
需要注意的几个点:
- 在出错率很高的系统中,应该采用数据报服务,因为出错率高可能导致结点故障,节点故障,虚电路则无法传输。
- 电路交换不提供差错控制。
- 虚电路不只是临时的,他提供的服务包括永久性虚电路和交换型虚电路。
- 数据报的每个分组在传输过程中都必须携带源地址和目的地址。
这一节常考的应该是 那两个定理。
(二) 传输介质
1.双绞线、同轴电缆 、光纤与无线传输介质
双绞线、同轴电缆、光纤和无线传输介质都是常见的网络传输介质,用于在计算机网络中传输数据。
- 双绞线(Twisted Pair): 双绞线是一种常见的有线传输介质,它由一对绝缘的铜线以螺旋方式绞合而成。根据绞合方式和性能不同,双绞线通常分为不同的类别,如Cat 5e、Cat 6和Cat 7等。双绞线常用于以太网的局域网(LAN)连接,提供相对较低的传输速率和距离。
- 同轴电缆(Coaxial Cable): 同轴电缆是由内部导体、绝缘层、金属屏蔽层和保护外层组成的传输介质。同轴电缆的传输原理是通过内部导体传递信号,而金属屏蔽层则用于防止信号干扰。同轴电缆常用于电视有线广播、宽带接入和长距离数据传输等应用,并提供较高的传输速率和距离。
- 光纤(Optical Fiber): 光纤是一种基于光信号传输的高速传输介质。它由非常细的玻璃或塑料纤维组成,在光学信号传输中具有低衰减和高带宽特性。光纤通常用于长距离的高速数据传输,如互联网骨干网络、光纤到户(FTTH)等。不受电磁干扰和噪声影响。
- 无线传输介质: 无线传输介质不依赖有线连接,利用无线电波或红外线等无线技术进行数据传输。常见的无线传输介质包括Wi-Fi、蓝牙、红外线等。无线传输介质广泛应用于移动通信、无线局域网、蓝牙设备连接等场景。易受天气影响。
2. 物理层接口的特性
(三) 物理层设备
1. 中继器
中继器放大数字信号,放大器放大模拟信号。
物理层中继器(Repeater):物理层中继器用于将信号在传输过程中进行放大和重新发送,以扩展网络的传输距离。它工作在物理层并只关注数据传输的电信号。当信号在传输过程中由于距离过远或受到噪声等因素而衰减时,中继器会接收信号并放大它,然后重新发送到下一个节点,从而延长信号能够传输的距离。中继器没有理解数据的能力,只是简单地将信号放大和传递。
加强宽带信号
2. 集线器
集线器(Hub):集线器也是用于扩展局域网的设备,但与中继器相比,集线器在功能上更为复杂。集线器是一个多端口设备,用于将多个网络设备连接在一起,形成一个共享的物理总线。当一个设备发送数据时,集线器会将该数据广播到所有其他连接在集线器上的设备上,各设备可以通过物理地址来识别是否是自己的数据。集线器不具备智能决策能力,它简单地将接收到的数据复制到其他端口上,使得所有连接在集线器上的设备都能收到数据。因此,集线器会引起冲突和碰撞,在大型网络中效率较低。
加强基带信号
三、数据链路层
(一)数据链路层的功能
在物理层提供服务的基础上向网络层提供服务,其主要作用加强物理层传输比特流的功能。
为网络层提供三种服务:
- 无确认无连接的服务 (以太网使用就是这一种)
- 有确认无连接服务
- 有确认有链接服务
注:有连接就一定有确认,所以没有无确认有链接服务。
(二)组帧
将比特流组成帧进行传输,在出错时,不比重发所有数据,只需要重发出错的帧。
帧定界:就是要要确定数据部分和控制部分从哪开始从哪结束。
透明传输:要保证不论什么样的比特流组合都能够在链路上传输。
(三)差错控制
1. 检错编码
奇偶校验码:奇偶数个1时可以检查出错误。
循环冗余校验(CRC):使用 mod 2除法,首位为1商1,为0商0,作异或运算。算出的余数为校验码,判断出错则除以多项式判断余数是否为 0 。
CRC既能检错也能纠错。
往年真题没考过。
2. 纠错编码
**海明校验码:记住一个公式:
设n
有效信息的位数 , k
位校验位的位数要满足以下关系: n + k < = 2 k − 1 n+k <= 2^k-1 n+k<=2k−1 **
(四)流量控制与可靠传输机制
流量控制、可靠传输与滑动窗口机制
流量控制通过控制发送方的速率来是实现的,避免发送过多导致接收方缓冲区溢出。
可靠传输:通过确认机制和超时重传机制保证。
停止 - 等待协议
发送和接收窗口都是 1 的协议。每一帧都需要收到确认之后才能继续发下一帧。
后退 N 帧协议(GBN)
发送窗口大于接收窗口,接收窗口为 1。发送窗口长度为 n 。 帧序号范围为 1 < = W t < = 2 k − 1 1<=Wt<=2^k-1 1<=Wt<=2k−1
在题目中需要注意是问的需要重传的帧的数目还是第几帧。
**如果已经发送方接收到了第 n 帧的确认帧,则说明前面的帧接收方都已经收到了。即使n前面有的确认帧没收到,也不用重发,而是继续发 n+1 帧。**具体可以看王道习题,很多类似的。
收到了5号确认帧,说明5号和以前的帧接收方都已经接收到了,所以传5以后就行,只需要传6一个。故选A。
最大是 2 n − 1 2^{n-1} 2n−1, 2 5 − 1 = 16 2^{5-1}=16 25−1=16故选 B。
选择重传协议(SR)
**发送窗口一般等于接收窗口,窗口大小最大值一般为序号范围的一半,假设采用 n bit编号,则 最大编号为 ** 2 n − 1 2^{n-1} 2n−1
关于信道利用率(信道的效率)的计算:
这一部分在历年考的还比较频繁。
假设 L 表示要发送的比特数,C是数据传输率 ,信道单向传播一次的时间为 R,则利用率为:
最大利用率 = L C L C + 2 R 最大利用率=\frac {\frac{L}{C}} {\frac{L}{C}+2R} 最大利用率=CL+2RCL 即: 最大利用率 = L L + 2 R C 最大利用率=\frac{L}{L+2RC} 最大利用率=L+2RCL。通常都是根据这两个公式来进行计算。
另外真题出现最多的就是计算信道利用率的问题:
(五)介质访问控制
介质访问控制的内容是,采取一定的措施,使得两对节点之间的通信不会发生相互干扰的情况。
多路复用:把多个信号组合在一条物理信道上进行传输,在接收端在进行分离。
1.信道划分介质访问控制
将同一信道上的其他设备的通信隔离开来。
频分多路复用(FDM)
将多路基带信号调制不同的频率,从而可以避免冲突,共享空间。
时分多路复用(TDM)
类似于操作系统中的时间片轮转,每个信号占用一段时间。
- TDM,是同步时分多路复用
- STDM,可以动态的分配每个信号的时间片,可以大大的提供每个用户的最大传输速率
波分多路复用(WDM)
光的频分多路复用
码分多路复用(CDM)
根据不同的编码来区分各路原始信号的一种复用方式,既共享频率也共享时间。
码分多址(CDMA) ,
自己和自己正交的结果是1,自己和别的正交结果是 10。
所以做题方法就是:
用自己的编码向量和发送来的向量进行正交,得到的结果如果是 1 说明发送的就是 1,如果是 -1 说明发送的是 0 。
解析:将收到的序列分割成三段,分别和 A、B、C正交,得到 101 的序列,所以选 B。
2. 随机访问
ALOHA 协议
很随意的,如果要发送数据,不进行任何检测,直接发送,如果没有收到确认,一直重复。
将时间划分为一段等长的时隙。必须在时隙开始时才能够发送数据。
CSMA 协议
每个节点在发送数据之前都先监听一下共用信道,发现信道空闲后在发送,就可以大大降低冲突的可能,从而提高信道的利用率,载波监听多路访问(CSMA)。有三种方式:
如果信道空闲则立即发送数据,如果信道忙则继续等到,一直监听到信道空闲。如果发生冲突则随机等待一段时间之后再重新开始监听信道。
一个结点要发送数据时,首先监听信道,如果信道空闲,立即发送,忙则放弃监听,随机等待一段时间在重复这个过程。
一个结点要发送数据时,首先监听信道,如果信道空闲,以p的概率发送,1-p的概率推迟到下一个时隙。
CSMA/CD 协议
是CSMA的改进方案,适用于总线形网络和半双工网络。以太网采用就是这种协议。主要用于有线连接的局域网。
同时有载波监听和冲突检测。工作流程概括为:“先听后发,边听边发,冲突停发,随机重发”。
争用期:以太网端到端往返的时间就是争用期。在这个时间段内传输的 bit 数就是最小帧长。
最小帧长的计算公式:
最小帧长 = 总线传播时延 ∗ 数据传输速率 ∗ 2 最小帧长 = 总线传播时延 * 数据传输速率 * 2 最小帧长=总线传播时延∗数据传输速率∗2
二进制退避算法 r 每次从 2 k − 1 2^k-1 2k−1 当中选一个 , k = m i n { 重传次数, 10 } k=min\{重传次数,10\} k=min{重传次数,10}.重传超过16次放弃。
CSMA/CA 协议。
无法像 CSMA/CD协议一样全面的检测碰撞
20年选择题就考了这个。帧间间隔。第一个发的是最长的。
由上面的图可以知道,这个选 A 。
CSMA/CD 和 CSMA/CA 区别和共同点:
3. 轮询访问
令牌传递协议
每个时刻只有一个令牌,所以可以避免冲突,每个信号占用一段时间的令牌可以用来发送数据,但是并不是没有限制的一直占有。
(六)局域网
1.局域网的基本概念与体系结构
概念:在一个较小的地域范围内,通过传输介质将各种计算机、外部设备和数据库连接起来,组成资源和信息共享的计算机互联网络。
广播是指将消息从一个发送方发送给网络中的所有设备。发送广播消息时,消息会在网络中的每个设备上进行广播,因此所有设备都能够收到消息。广播通常用于向网络中的所有设备分发一些公告、通知或重要消息。
组播是一种将消息从一个发送方发送给一组特定设备的通信方式。与广播不同,组播只将消息发送给订阅了该组播组的设备。组播通常用于多播音频、视频流、软件更新等场景,其中只有特定的设备需要接收这些信息。
拓扑结构有:星形,环形,总线形,星形和总线形结合
传输介质:双绞线、铜线、光纤 ,双绞线为主流传输介质
逻辑链路控制子层(LLC):向网络层提供无确认无连接、面向连接、带确认无连接、高速传送四种不同的服务类型。
媒体接入控制子层(MAC):向上层屏蔽对物理层的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧,比特传输差错检测、透明传输。
2. 以太网与 IEEE 802.3
以太网采用无连接无确认的不可靠传输方式,逻辑拓扑结构是总线形,物理拓扑是星形拓扑结构。
各种传输介质适用情况:
MAC地址,介质访问控制地址:网卡出厂时唯一代码,用于控制主机的数据通信,若有两个一样的MAC地址,那么两个都不能正常工作。
以太网的MAC帧:
网卡从网络上每收到一个MAC帧,首先硬件检查MAC地址是否是发给自己的,如果是则收下。
3.1EEE802. 11 无线局域网
高速以太网:
4.VLAN 基本概念与基本原理
(七)广域网
1. 广域网的基本概念
概念:广域网是指覆盖范围很广的长距离网络。
广域网和局域网的区别和联系:
注意:
- 广域网的通信子网通常采用分组交换技术。
- 广域网采用的传输技术是存储转发方式。
2.PPP 协议
概念:使用串行线路通信的面向字节的协议,通过拨号或专线的方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同解决方案。
组成部分:
- 链路控制协议(LCP):扩展链路控制协议,用于建立、配置、测试和管理数据链路。
- 允许采用多种网络层协议,每一个不同的网络层协议用一个NCP来配置。
- IP数据包就是PPP帧的信息部分
帧的格式:
A、C字段都是固定的,FCS是填充检错序列
特点:
- 提供差错检测但不提供纠错功能。只保证无差错接收,不可靠的传输协议。
- 只支持点对点的莲路通信,不支持多点线路。
- 只支持全双工链路。
- PPP的两端可以运行不同的网络层协议,但仍然可使用同一个PPP进行通信。
- PPP是面向字节的。异步采用字节填充法,同步采用按位填充法。
(八)数据链路层设备
以太网交换机及其工作原理
从本质上说,以太网交换机是一个多端口网桥,能经济的划分网络成小的冲突域,为每个工作站提供更高的带宽。
工作原理:
- 检测以太口的数据帧的源和目的MAC地址,然后与系统内部的动态查找表进行对比。
- 若数据帧的MAC地址不在查找表中,则加入查找表,并转发给相应的端口号。
特点:
- 工作在全双工方式。同时通信,能够提高传输速率。
- 碰撞地传输数据
- 转发表是通过自学习算法自动的建立起来的。
- 采用专门的交换芯片,交换速率高
- 独占传输媒体的带宽
两种交换模式:
几种常见的设备的比较:
四、网络层
(一)网络层的功能
1. 异构网络互联
将多个网络通过中继系统连接起来,构成更大的网络系统。
中继系统:
物理层:中继器、基线器。
数据链路层:网桥和交换机
网络层中继系统:路由器
网络层以上的中继系统是网关。
2. 路由与转发
- 路由选择,确定哪一条路径。
- 分组转发,数据到达时所采取的动作。将IP数据报从合适的端口转发出去。
3.SDN基本概念
控制平面负责路由选择和数据平面负责数据转发。
SDN是一种创新的网络结构,它并不把控制平面和数据平面都同时放在路由器,路由器只是单纯的负责收到分组、查找转发表、转发分组。路由的选择放在远程控制器,远程控制器可以为每个分组计算出最佳路由。
北向接口:SDN提供的编程接口
南向接口:SDN控制器和转发设备建立双向会话的接口称为南向接口。向路由设备发送路由信息的接口。
东西向接口:SDN控制器集群内部控制器之间的通信接口为东西向接口,用于增强整个控制平面的可靠性和可拓展性。
4.拥塞控制
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞。
- 轻度拥塞,随着网络负载的增加,吞吐量明显小于正常的吞吐量。
- 拥塞状态,吞吐量随着网络负载的增加而下降
- 死锁状态,负载增大,吞吐量下降到 0
解决拥塞控制的方法:
- 开环控制,事先考虑到可能导致拥塞的所有因素,力求不发生拥塞。一旦开始不可修改
- 闭环控制,事先不考虑因素,使用监测系统去监视,将拥塞信息传到合适的地方,以便调整网络系统的运行,并解决出现的问题。
流量控制是控制发送方的发送速率,而拥塞控制是一个全局性问题。
(二) 路由算法
1.静态路由与动态路由
- 静态路由算法(非自适应路由算法),由网络管理员手动配置路由信息,当网络状态发生变化时,需要网络管理员及时的手工更新路由表,小型网络采用静态路由。
- 动态路由算法(自适应路由算法),路由器上的路由表表项通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来。
2.距离 - 向量路由算法 (RIP)
每个路由器只掌握物理相邻的邻居和链路费用。距离 - 向量路由算法由于“慢收敛现象”,还没等最新路由信息传到,就已经按原来的路由发出去了,可能会导致路由环路等问题。
3.链路状态路由算法 (OSRF)
所有路由器掌握完整的网络拓扑和链路费用信息。当需要更新某个节点的路由信息时,使用Dijkstra最短路径算法更新当前结点到每个节点的最少费用。
4.层次路由
当网络规模增大时,路由器的路由表也成比例的增大,不仅会消耗越来越多的路由器缓冲区间,用更多的带宽来交换信息,因此必须把路由按层次划分。每个路由器知道如何在本区域转发,但是不用知道其他系统的细节。
- 内部网关协议(IGP),域内路由选择,常用的有RIP,OSRF
- 外部网关洗衣(EGP),域外路由选择,不同自治系统之间的路由器之间交换路由信息,常用的有BGP。
(三)IPv4
1.IPV4 分组
版本:IP协议分版本的号,目前常用的为4
首部长度:占4位,基本单位为4B,最大值为 ( 2 4 − 1 ) ∗ 4 B = 60 B (2^4-1)*4B=60B (24−1)∗4B=60B
总长度:占16位,基本单位为1B,最大值为 ( 2 16 − 1 ) ∗ 1 B = 65535 B (2^{16}-1)*1B=65535B (216−1)∗1B=65535B
标识:占16位,是一个计数器,产生一个数据报就加1,通常用于分片表示原来是一个同一个数据报。
标志:占3位,最后一位为MF,MF为1表示后面还有分片,反之则为最后一片,中间位DF=0,表示可以分片。
片偏移:占13位,基本单位为8B,用于分片,表示在原数据报的相对位置。
生存时间TTL:保证数据报不会在发生路由循环,每转发一次值就会减 1 。
协议:占8位,表示传输层使用的是什么协议,6表示TCP协议,17表示UDP协议。
首部校验和:占16位,只校验分组的首部,不校验分组的数据部分。
源地址:占4B,表示发送的IP地址。
目的地址:占4B,表示接收方的IP地址。源地址和目的地址在传输过程中不会改变。
2.1Pv4 地址与NAT
注意:
- 网络号由地址管理机构分配,主机号由拥有该网络号的单位自行分配
- 在一个网络中:主机号全0的地址表示本网络,全1的地址表示广播地址。故一个网络(_n_个主机号)可指派的地址个数为 2 n − 2 2^{n}-2 2n−2
- 同一广播域,同一网络号(除路由器以外的所有设备连接的网络都是同一广播域,拥有同一网络号)
- 一个 IP 地址标识着一个链路接口,当某一设备(主机、路由器)同时连接多个网络时,则拥有多个IP(不能在同一网络{号}中)。特殊的,路由器至少两个 IP 地址**(路路由器器由于互联多个⽹网络,因此它不不仅有多个IP地址,也有多个硬件地址)**
- 一个端口对应一个IP地址,一个MAC地址
- 路由器仅根据目的主机的网络号来进行转发分组(减小了路由表)
关于NAT(看到了端口号,所以工作在传输层):
网络地址转换(network address transform):将专用网络地址(即私有ip,只用于_LAN_,不用于_WAN_,故因特网中所有路由器针对目的地址为私有地址的数据报一律不转发)转换为为公用地址(internet)
作用:
- 对外屏蔽了内部网络结构,降低了内网收到攻击的风险
- IP 地址可重用(指内网 IP 可与外网 IP 重复),大大的节省了 IP 地址的消耗
注意:
- NAT表项需要管理员添加
- NAT表项中没有的,转换不了,将源端口转换成目的端口
- 普通路由器转发 IP 地址时不改变源地址,而 NAT 路由器一定会改变
3. 子网划分、路由聚集、子网掩码与CIDR
理解: 也就是说,从主机号中分出若干位再当做网络(子网)划分,不影响网络号。
注意:
- 在传输过程中,仍然根据网络号来传输到本单位网络上的路由器,然后由此路由器根据 网络号 子网号 来找到子网
- 子网号不能全0 或全1(CIDR Mask 可全0 全1)
- 无论什么划分,主机号都不能全0 全1
- 因为无法从 ip 地址中针对该网络号是否进行了子网划分,故 Mask 是地址的重要属性,路由器在交换信息时一定带上 Mask
- 同一子网的所有设备对应的端口, Mask 都相同(同一子网网络号相同,必然 Mask 也相同)
CIDR:
分组转发流程( Mask 版本)。无 Mask 的版本无需先进行 Mask 与后网络号匹配,直接进行网络号匹配即可
- 提取:从 IP 数据报首部提取出目的地址address
- 是否直接交付?:将address与路由器各直连网络的 Mask 相与后观察是否与该直连网络的网络号相匹配,若匹配则直接交付,否则 3(间接交付)
- 是否特定主机路由:若路由表中存在目的地址为address的特点网络路由,转发其指明的下一跳,否则 4
- 寻找目的网络下一跳:将路由表中各项逐个进行 Mask 和 address相与,观察是否与该项的网络号匹配,若匹配则转发其指明的下一跳,无匹配则 5
- 默认端口:若存在默认的转发端口则从该端口转发除去
- 发送 ICMP 差错报告报文(目的不可达)
备注:
直接交付:若发送站与目的站在同一网段,则直接交付(不需要路由器)
间接交付:……不在同一网段,则间接交付,间接交付的最后一次是直接交付(一定需要路由器)
4.ARP 协议、DHCP 协议与ICMP 协议
不该发送ICMP报文的情况:
1.对ICMP差错报告报文不再发送ICMP差错报告报文
2.对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3.对具有组播地址的数据报都不发送ICMP差错报告报文。
4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
(四)IPv6
解决IP不够用的三个方法:
- CIDR
- NAT
- IPv6(根本上解决了IP耗尽的问题)
1.IPv6 的主要特点
表示法:
① 16进制表示,每 2B 为一组,共8 组16B
② 组头为连续0 时可略,特殊的若全0 则保留一个0
③ 若有连续组为0 时可用::替代
④ 但只能替代一次
2.IPv6 地址
(五) 路由协议
1. 自治系统
2. 域内路由与域间路由
3.RIP 路由协议
规定:
- 每个路由器维护自己到其它每一个目的网络的距离(跳数)记录
- 以距离最短(跳数最小)为评价,不是时间最短
- 跳数范围1~15,16就认为不可达(由于距离向量具有可能出现环路,16的限制防止数据报不断在网络上循环,减少网络拥塞的可能性,因此也限制了网络的规模)慢收敛是导致发⽣路由回路的根本原因
- 默认每30秒广播一次 RIP 路由更新协议,以动态维护路由表,
- 不支持子网掩码的 RIP 广播,即 RIP 中 每个网络的子网掩码必须相同
特点:
- 仅和相邻的路由器交换(广播)信息
- 每次交换(广播)的是全部路由表项(开销大)
- 固定时间动态交换(广播)路由信息
- 第 n 次广播就能知道距离自己 n 跳的目的网络
- 正常时快收敛,故障时慢收敛(坏消息传的慢)。慢收敛是导致网络回路的根本原因。注意:慢收敛是 RIP 产生回路的根本原因,题目常常拿16慢收敛做文章
- 每个路由节点都参与路由计算,相互影响,建立在对方路由计算的基础上计算
- 适合用于较小的网络
算法:
- 对于相邻路由器 X 发过来的 RIP 数据报,修改数据报中所有的下一跳为X ,且所有的跳数++
- 然后将该数据报路由项与自己的路由表项比较:
- 对于自己路由表项不存在的目的网络,直接写进路由表。如果⽬的⽹络相同,且下⼀跳路由器相同,哪怕距离变⼤,也要更新 (很可能更新过后距离为16,⽬标 ⽹络不可达,路由器应该丢弃IP分 组并且向源主机报告⽬的不可达)
- 对于路由表项存在的目的网络:
- 若下一跳相同,则直接用数据报项更新自己的项(保证数据是最新的)
- 若下一跳不同,则比较数据报项和自己的项,将跳数较小的项写入
4.OSPF 路由协议
特点:
- 向本自治系统(AS)中所有路由器发送信息(洪泛法)
- 发送的是自己直连的所有链路状态(度量,代价,)
- 只有链路状态(网络拓扑)变化时才, 直连路由器才洪泛法向所有路由器发 送信息
- 可根据不同链路类型设置不同的链路 代价
- 若到一个目的网络有多条路径,可将 通信量分配给这些路径,负载平衡
- 支持可变长子网划分和 CIDR
- 每个链路状态带上 32 位序号,越大状 态越新
- 可再分区域(自治系统的自治系统)
- 各路由节点独立的计算路由
- 适合用于较大的网络
算法 :
所有路由器最终能建立一个链路状态数据 库(全网拓扑结构图),根据数据库用 Dijkstra 算法计算,(虽然能算出全路径, 但之存储下一跳)
分组类型 :
1 . 问候分组:发现维持临站可达性 (Hello)
2 . 数据库描述分组:向临站给出自己数 据库中所有信息
3 . 链路状态请求分组:向对方请求发送 某些链路信息 (新情况下同步)
4 . 链路状态更新分组:泛洪法对全网更 新链路状态
5 . 链路状态确认分组:对链路状态更新 分组进行确认
5.BGP 路由协议
BGP 发言人:每个自治系统至少一个BGP发言人 与其他自治系统的发言人交换信息。发言人同时 运行内部网关协议和外部网关协议。由于 BGP 基于TCP,故 BGP 发言人交换路由信息时必须先建 立连接
特点:
- 由于是基于TCP协议,所以在交换路由信息时需要先建立连接
- BGP 协议交换路由信息的节点数量级是自治系统的数量级
- BGP 支持 CIDR
- 刚开始交换整个 BGP 路由表,以后更新时只交换发生变化的部分
- 交换的信息包括地址(网络前缀),跳数,路 径(上的 AS),(不仅仅是下一跳)
报文类型:
- 打开报文(open):与相邻 BGP 发言人建立关系
- 更新报文(ipdate):发送路由信息
- 保活报文(keepAlive):同 OSPF 中问候分组
- 通知报文(notification):发送检测到的错误
层次路由:将互联网划分成若干个小的自治系统(AS),自治系统自主路由,使用的协议称为内部网关协议(通常是 RIP 和 OSPF);自治系统间的路由选 择协议称为外部网关协议(通常是 BGP) 每个路由器都只知道自己自治系统的路由结构,而不知道其他自治系统的内部结构(每个自治系统都至少有一个 BGP 发言人,同时运行内部网关协议和 外部网关协议) 特殊的,OSPF 可在自治系统内再划分若干个区域,其实就是自治系统中的“自治系统”,在自治系统中,有四类路由器:区域内部路由器、主干路由器、 区域边界路由器、自治域边界路由器(这些路由器顾名思义) 优点:每个小区域(自治系统)内部交换路由信息的通信量大大减小,路由表也大大减小
(六)IP组播
1.组播的概念
概念:源主机一次发生单个数据报能被一个组地址标识的多台计算机正确接收(基于 UDP,最大努力交付)
主机和组的关系:多对多
特点:
- 主机组播时只发送一份数据,只有在数据报在传输路径中出现分岔时,路由器进行分组复制转发(比起 N 重单播,大大减轻了 网络和源主机的负载)
- 不产生 ICMP 差错报告报文( PING 组播地址永远无响应)
2.IP组播地址
类型:
- 本局域网 MAC 组播
- 因特网 IP 组播+目的局域网 MAC 组播
(七)移动 P
1.移动IP的概念
概念:支持移动性的因特网体系结构与协议
目的:实现移动节点以固定的网络 IP 地址,实现跨越不同网段的漫游功能
三个功能实体:
- 移动节点:即移动的主机
- 归属代理(本地代理):移动主机所归属的网络的“网关”,采用“隧道”技术转交移动节点的数据报
- 外阜代理(外部代理):移动主机目前所在的网络的“网关”
两个地址:
- 本地地址:无论移动节点所在哪个网络,本地地址永远不变
- 转交地址:根据移动节点所在的网络而变化
本地地址与转交地址的映射称为绑定
2.移动IP通信过程
- 移动节点在本地网络 A 时,采用传统的TCP IP / 进行通信,使用的是本地地址
- 当移动节点移动到别的网络 B 时,仍然使用本地地址进行通信,但是将网络 B 的代理(外部代理)的地址(转交地址)通知回本地代理,本地代理对其转交地址和本地地址进行绑定后,会建立一条转向外部代理的隧道(隧道技术同样用于解决 IPv4与 IPv6不兼容的问题)
- 当有数据报发送给移动节点时,数据报先到达本地网络 A ,然后本地网络 A 转发给本地代理,接着本地代理通过隧道技术转发给外部代理,最后外部代理将分组从隧道中解出来后交给移动节点。同理,当移动节点发送数据报时,是逆过程
数据报:l本地 LAN l本地代理(隧道组包)l外部代理(逆隧道拆包)l移动节点
- 当移动节点来到另一个网络C 中,只需向本地代理更新绑定外部代理的地址(转交地址)即可
- 当移动节点回到了本地网络 A 时,向本地代理注销绑定
(八)网络层设备
1.路由器的组成和功能
2. 路由表与分组转发
五、运输层
5.传输层.pdf
(一)传输层提供的服务
1. 传输层的功能
复用:应用层所有的应用进程都可以通过传输层再传输到网络层。
分用:传输层从网络层收到数据后交付指明的应用进程
- 对收到的报文进行差错检测,既检验头部也检验数据部分。
2. 传输层寻址与端口
端口是传输层的SAP,标识主机中的应用进程。
端口号长度为16bit,能表示65536个不同的端口号。
一些常用的端口号:
套接字:
在网络中采用发送方和接收方的套接字组合来识别端点,套 接字唯一标识了网络中的一个主机和它上面的一个进程。
套接字SOCKET=(主机IP地址,端口号)
3. 无连接服务与面向连接服务
运输层采用面向连接的 TCP 协议时, 尽管下面的网络是不可靠的(只提供尽最大努 力服务), 但这种逻辑通信信道就相当于一条全双工的可靠信道。 但当运输层采用 无连接的UDP 协议时, 这种逻辑通信信道仍然是一条不可靠信道
(二)UDP协议
UDP的主要特点:
- UDP是无连接的,减少开销和发送数据之前的时延
- UDP使用最大努力交付,即不保证可靠交付。
- UDP是面向报文的,适合一次性传输少量数据的网络应用
- UDP无拥塞控制,适合很多实时应用
- UDP首部开销小,8B,TCP20B。
相比较于IP,只增加了复用分用,差错检测。
1.UDP 数据报
注意:
不包含首部长度字段。
分用时,找不到对应的目的端口号,就丢弃报文,并给发 送方发送ICMP“端口不可达"差错报告报文。
2.UDP 校验
在发送端校验的过程:
1.填上伪首部
2.全0填充检验和字段
3.全0填充数据部分(UDP数据报要看成许多4B的 字串接起来)
4.伪首部+首部+数据部分采用二进制反码求和
5.把和求反码填入检验和字段
在接受端的检验:
1.填上伪首部
2.伪首部+首部+数据部分采用二进制反码求和
3.结果全为1则无差错,否则丢弃数据报/交给应用层 附上出差错的警告。
(三) TCP协议
1.TCP 段
源端口、目的端口:2B
序号:在一个TCP连接中传送的字节流中的每一个字节都按顺序编 号,本字段表示本报文段所发送数据的第一个字节的序号。
确认号:期望收到对方下一个报文段的第一个数据字节的序号。若 确认号为N,则证明到序号N-1为止的所有数据都已正到。
数据偏移(首部长度):TCP报文段的数 据起始处距离TCP报文段 的起始处有多远,以4B位单位,即1个数值是4B。不同于IP分片的偏移。
紧急位URG:URG=1表明紧急指针有效,告诉系统报文段中有紧急数据,应尽快传输
确认位ACK:ACK=1表明确认号字段有效,ACK=0表明无效。建立连接之后所有的ACK为 1.
推送位:接收TCP收到PSH=1的报文段,就尽快交付给进程,不等整个缓存存满再传
复位位:出现错误,需要复位 RST=1
同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文
终止位:FIN=1表明此报文段的发送方的数据发送完毕,发送释放连接的报文
窗口字段:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。
校验和:2B 与UDP相同,只需要把协议字段的17改为6
选项字段:最大报文段长度MSS 窗口扩大、时间戳、选择确认
2.TCP 连接管理
三次握手建立连接:
- 客户端发送连接请求报文段,无应用层数据 SYN=1,seq=x(随机)
- 服务器端为该TCP连接分配缓存和变晕,并向客户端返回确 认报文段,允许连接,无应用层数据。 SYN=1,ACK=1,seq=y(随机),ack=x+1
- 客户端为该TCP连接分配缓存和变噩,并向服务 器端返回确认的确认,可以携带数据。 SYN=0,ACK=1,seq=x+1, ack=y+1
四次挥手释放连接:
- 客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。 FIN=1,seq=u
- 服务器端回送一个确认报文段,客户到服务器这个方向的连接就释放了——半关闭状态。 ACK=1,seq=v,ack=u+1
- 服务器端发完数据,就发出连接释放报文段,主动关闭TCP连接。 FIN=1,ACK=1,seq=w,ack=u+1
- 客户端回送一个确认报文段,再等到时间等待计时器设置的2MSL(最长报文段寿命)后,连接彻底关闭。 ACK=1,seq=u+1,ack=w+1
3.TCP 可靠传输
4.TCP 流量控制
特点:
- 在通信过程中,接收方根据自已接收缓存的大小,动态地调整发送方的发送窗口大 小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方) ,发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。
- TCP为每一个连接设置一个持续计时器,只要TCP连接的 一方收到对方的零窗口通知,就启动持续计时器
- 若持续计时器设置的时间到期,就发送一个零窗口探测报 文段。接收方收到探测报文段时给出现在的窗口值
- 若窗口仍然是0,那么发送方就重新设置持续计时器。
5. TCP 拥塞控制
拥塞控制和流量控制的区别:
- 拥塞控制防止过多的数据注入到网络中,使路由器或链路不致过载
- 拥塞控制是一个全局性的过程,涉及到所有主机、所有路 由器,以及降低网络传输性能的所有因素
- 流量控制往往指点对点通信量的控制,是个端对端的问题 流量控制就是抑制发送端发送数据的速率,以便使接收端来的及接收
发送窗口=Min{接收窗口rwnd,拥塞窗口cwnd}
错题总结:
- TCP协议规定HTTP服务器进程的端口号为80.
- 为保证数据传输的可靠性,TCP采用了对报文段的确认机制,对报文段的最后一个字节进行确认。
- TCP滑动窗口的值设置太大,对主机的影响是:由于传送的数据过多而使路由器变得拥挤,主机可能丢失分组。
关于拥塞窗口的计算:
超过门限值,通过慢恢复+1,达到最大窗口大小。
六、应用层
(一)网络应用模型
客户/服务器 (C/S) 模型
对等(P2P)模型
(二)DNS 系统
层次域名空间
域名服务器
分类:
- 根域名服务器
a. 管辖顶级域cn /com /hk /uk /us
b. 最高层次的域名服务器,所有根域名服务器都知道所有的顶级域名服务器的 IP 地址。
c. 任何本地域名服务器对任何域名进行解析,只要自己无法解析,就请求根域名服务器(若缓存中存有部分待待解析的域名,则可以跳过根域名服务器。例如本地缓存有.com,在查询 wwwbaidu com . . 时可直接取请求.com顶级域名服务器,而不去请求根域名服务器)。
d. 通常不直接将域名转换 IP ,而是指明“下一跳”(查询的下一个域名服务器 IP )
- 顶级域名服务器
- 负责管理在该顶级域名服务器组成的所有二级域名
- 可能直接将域名转换 IP ,可能像根域名服务器一样指明“下一跳”
- 授权域名服务器
- 每一个主机都必须在授权域名服务器处登记
- 授权域名服务器总是能将其管辖的域名转换成该主机的 IP
- 本地域名服务器
- 当主机发出 DNS 查询请求时,首先向本地域名服务器查询(发请求报文)
DNS⼤多数域名在本地解析(本地域名服务器) 只有少量的解析需要在因特⽹上通信。
- 域名到 IP 的解析由允许在域名服务器上的程序完成(域名与 IP MAC / / 主机都不具有一一映射的关系。主机<--------> IP MAC / / 域 名)
- 每个域名服务器不但能进行一些域名到 IP 地址的转换,同时能连向其他域名服务器
- 没有任何一台域名服务器能够具有因特网上所有主机的映射
- 每个域名服务器动态维护一个名字的高速缓存,存放最近(添加新查询到的映射,删除长时间未用的映射)使用过的域名解析映射。
域名解析过程
迭代查询,⽤户主机,本地域名服务 器的域名请求消息数为:⼀条,多条
递归查询,⽤户主机,本地域名服务 器的域名请求消息数为:⼀条,⼀条
各域名服务器【除了根域名服务器(根域名不解析域名,只给出下一跳)、本地域名服务器(要么无法解析,要么完整解析)】,其余各域名服务器:
- 要么只解析一个标号,返回给本地域名服务器下一跳(目标域名所属的区域的权限域名服务器必能解析出完整的域名)
- 要么解析出整个域名,直接返回给本地域名服务器
(三)FTP
功能:
- 供交互式访问
- 允许客户指明文件类型与格式
- 各式,允许文件具有存取权限
- 供不同类型主机系统(软硬件都可以不同)之间的文件传输能力
- 以用户权限管理方式ᨀ供用户对远程 FTP 服务器上的文件管理能力
- 以匿名 FTP (主机名 annoymous )的方式ᨀ供公用文件的共享能力
FTP协议的工作原理
- 主进程(一个):用于接收新的请求,对应着控制连接 21port
- 从属进程(多个):用于处理单个请求,一个从属进程对应一个请求,对应着数据连接20port
控制连接与数据连接
- 控制连接( port : 21):用于传输控制信息,不传输文件数据,整个会话期间一直保持打开状态
- 数据连接( port : 20):用来连接客户端和服务器端的数据传送进程,完成文件传输
端⼝号均是服务器端⼝号,客户端的端⼝号由 客户端系统⾃动分配
传输步骤:
步骤:
- 服务器 S 打开21号端口开启服务,主进程持续监听等待客户进程发来连接请求
- 客户机C 请求一个TCP连接到服务器 S 的 21号端口,发送登入账号密码(明文密码)
- 服务器 S 返回登入成功信息后,客户机C 打开一个随机端口,将端口号发给服务器 S
- 客户机C 发送读取文件命令,服务器 S 使用20 号端口建立一个TCP连接到客户机C 的随机打开端口
- 服务器 S 通过数据连接(20 号端口)传送数据给C ,传输完毕关闭数据连接
- 关闭控制连接
由于 FTP 使用分离的控制连接,所以也成 FTP 的控制信息是“带外(out of band)”传输的
(四)电子邮件
电子邮件系统的组成结构
- 用户代理UA:用户与电子邮件系统的接口(即我们写信的那个界面)
- 邮件服务器:收发邮件,同时向发言人报告邮件传送情况(同时充当C 和 S )
- 邮件发送协议: SMTP(simple mail transfer protocol)、 HTTP
- 邮件接收协议: POP3(post office protocol)、 IMAP 、 HTTP
电子邮件格式 与 MIME
注意:
- SMTP为“推”服务,即由发送方将邮件“推”给接收方
- POP3为“拉”服务,即由接收方从发送方“拉”出邮件
- 所有连接都是TCP,所有服务都是基于C/S 。
- SMTP地址出错:不能发 ;POP3地址出错:不能收 ; https 地址出错:既不能发也不能收 ; mail 地址错:发错人或不能发(无此人)
- 所有的 SMTP、 POP 、 IMAP 都只能传输 ASCII码,若要传输其它非 ASCII编码类型的文件(文字、图像、语言、视频)需要在此基础上使用 MIME (multipurpose internet mail extension)
SMTP 协议与POP3 协议
过程:
- 发信人通过用户代理(即写信的界面)来撰写邮件
- 用户代理通过 SMTP把邮件发送给发送方的邮件服务器
- 发送方的邮件服务器将邮件放入邮件缓存队列中等待发送
- 发送方的邮件服务器发现缓存中有待发送的邮件,就向接收方的邮件服务器建立TCP连接
- TCP连接建立后发送方的邮件服务器远程向接收方的邮件服务器发送邮件,当所有邮件发送完毕后断开TCP连接
- 接收方的邮件服务器收到邮件后,将邮件存入收件人的用户信箱中等待收信人在方便的时候读取
- 收信人在打算收信时,通过用户代理使用 POP3或 IMAP 将自己的邮件从接收方的邮件服务器的用户邮箱中取回
(五)WWW(万维网)
www 的 概 念 与组 成 结 构
HTTP 协议