谢老师很贴心的在书中给出了PPT下载地址
谢仁希 | 王道 | |
---|---|---|
计算机网络的分类 | ||
互联网的组成, | ||
计算机网络主要性能指标 | p21 | |
计算机网络体系结构, | ||
OSI体系结构、 | ||
TCP/IP体系结构。 |
从不同的角度看 | 内容 |
---|---|
从组成上看 | 硬件、软件、协议 |
从工作方式上看 | 边缘部分、核心部分 |
从功能上看 | 通信子网、资源子网 |
角度 | 内容 |
---|---|
分布范围 | 广域网、城域网、局域网、个人局域网 |
传输技术 | 广播式网络、点对点网络 |
拓扑结构 | 总线形、星形、环形、网状网络 |
使用者 | 公用网、专用网 |
交换技术 | 电路交换、报文交换、分组交换 |
传输介质 | 有线、无线 |
指标 | 内容 |
---|---|
带宽 (Bandwidth) | “最高数据传输率”的同义语 |
时延 (Delay) | 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延 |
时延带宽积 | 时延带宽积 = 传播时延 ✖️ 信道带宽 |
往返时延 (RTT) | 从发送端发送数据开始,到发送端收到来自接受端的确认,总共经历的时延(RTT越大,在收到确认前可以发送的数据越多) |
吞吐量 (Throughput) | 单位时间内通过某个网络的数据量 |
速率 (Speed) | 在数字信道上传送数据的速率 |
信道利用率 | 信道利用率 = 有数据通过的时间 / (有+无) 数据通过的时间 |
网络体系结构是从功能上描述计算机网络结构。
计算机网络体系结构是分层结构。
每层遵循某个/些网络协议以完成本层功能。
协议是一些规则或者是约定,它规定了每一层的对等实体之间需要完成的哪些功能。
计算机网络体系结构是计算机网络的各层及其协议的集合。
计算机网络包括计算机网络中的各个层次,以及各个层次需要完成的功能,还包括每一层对应的协议。
网络体系结构是抽象的概念。
第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
只有相邻两层之间才能提供服务,且服务是单向的,只能由下层提供给上层。
仅仅在相邻层间有接口,且所提供的服务的具体实现对上一层完全屏蔽。
体系结构是抽象的,而实现是指能运行的一些软件和硬件。
OSI参考模型
OSI参考模型 | 目的 | 功能 | 传输的数据单元 | 常用协议 |
---|---|---|---|---|
物理层 | 实现比特流在传输介质上的透明传输 | 在物理媒介上为数据端设备透明地传输原始比特流。 | 比特 | Rj45、802.3 |
数据链路层 | 将有差错的物理线路变成无差错的数据链路 | 成帧、差错控制、流量控制、传输管理 | 帧 | SDLC、HDLC、PPP、STP、帧中继 |
网络层 | 实现路由选择、拥塞控制、网际互联,实现主机到主机的通信 | 路由选择、拥塞控制、流量控制、差错控制、网际互联 | (IP)数据报 | IP、IPX、ICMP、IGMP、ARP、RARP、OSPF |
传输层 | 实现主机的进程之间的端到端的数据传输 | 提供可靠的传输服务,提供流量控制、差错控制、服务质量、数据传输管理等服务 | TCP(报文段)、UDP(用户数据报) | TCP、UDP |
会话层 | 利用传输层的端到端的服务,向表示层提供它的增值服务 | 为表示层实体或用户进程建立连接并在连接上有序地传输数据 | \ | \ |
表示层 | 主要处理两个通信系统中交换信息的表示方式 | 数据压缩、加密和解密等数据表示交换功能 | \ | \ |
应用层 | 提供用户与网络的界面 | 为各种特定类型的网络应用提供访问OSI参考模型环境的手段 | \ | FTP、SMPT、HTTP |
物理层实现比特流在传输介质上的透明传输;
数据链路层将有差错的物理线路变成无差错的数据链路;
网络层主要实现路由选择、拥塞控制、网际互联,实现主机到主机的通信;
传输层实现主机的进程之间的端到端的数据传输。
下一层为上一层提供服务
如:网络层下一层是数据链路层,所以为网络层实体提供数据发送和接收功能及过程的是数据链路层。
对等层之间传送数据的单位都称为协议数据单元(PDU);具体而言,传输层
1题:
网络模型的分层不关心每一层的实现细节。
8题:
数据链路层没有拥塞控制,网络层和传输层才有。
11题:
数据链路层是点到点,不是端到端通信,端到端通信从传输层才有。
传输层实现端到端的应答、分组排序和流量控制。
17题:
A选项:数据链路层在分组上除了增加源和目的地址外,也增加控制信息;
C选项:传输层的PDU不称为帧;
D选项:表示层不负责把高层协议产生的数据分割成数据段,且负责增加相应源和目的端口信息段应该是传输层。数据经过应用层、表示层、会话层后,只是增加了三层PCI。
18题,19题
已由上面 “OSI参考模型各层的功能归类” 概括了。
20题:
集线器是一个多端口的中继器,工作在物理层。
以太网交换机是一个多端口的网桥,工作在数据链路层。
路由器是网络层设备,它实现了网络模型的物理层、数据链路层、网络层。
22题:
TCP/IP模型的传输层提供端到端的通信,并提供差错控制和流量控制,可以提供可靠的面向连接的服务或不可靠的无连接服务。
23题:
TCP/IP模型的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
考察首部:IP首部只有首部校验和,没有面向连接的用于建立连接的字段,同时也没有用于提供可靠服务的序号和校验和两个字段。
28题:
协议由语法、语义和时序(又称同步)组成。
语法规定了通信双方彼此“如何讲”,即规定了传输数据的格式。
语义规定了“讲什么”,即所要完成的功能。
时序规定了信息交流的次序。
物理层特性,数据通信的基础知识,传输媒体,网络交换技术,调制编码技术,信道复用技术,数字传输系统,宽带接入技术。
补充概念:
(讨论的是码元的极限传输速率)
!!!在奈氏准则和香农定理中,带宽的单位都是Hz!!!
奈氏准则:在理想低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为 2W Baud,W是信道带宽,单位是Hz。
公式:极限传输速率为
理想低通信道下的极限数据传输速率 = 2 W log 2 V 2W\log_2V 2Wlog2V (单位为b/s) (1)
其中:
W W W是理想低通信道的带宽(Hz); V V V表示每个码元离散电平的数目(指有多少种码元)
1)在任何信道中,码元的传输速率是有上限的。
2)信道的频带越宽,就可用越高的速率进行码元的有效传输。
3)奈氏准则给出了码元传输速率的限制,但没有给出信息传输速率的限制,也就是不限制一个码元对应有多少个比特位。
另外,由于奈氏准则限制了码元的传输速率,所以为了提高数据传输速率,就必须设法让每个码元携带更多的信息量——(多元制的调制方法)。
!!!在奈氏准则和香农定理中,带宽的单位都是Hz!!!
公式:带宽受限且有高斯白噪声干扰的信道的极限数据传输速率
信道的极限数据传输速率 = W log 2 ( 1 + S / N ) W\log_2(1+\mathrm{S} / \mathrm{N}) Wlog2(1+S/N) (单位为b/s) (2)
其中:
W \mathrm{W} W为信道的带宽; S \mathrm{S} S为信道所传输信号的平均功率; N \mathrm{N} N为信道内部的高斯噪声功率。
S / N \mathrm{~S} / \mathrm{N} S/N为信噪比。
信噪比 (dB)= 10 log 10 ( S / N ) 10 \log _{10}(\mathrm{S} / \mathrm{N}) 10log10(S/N) 数值上等价,只是表示格式不同,做题时需要注意!!!
1)信道的带宽或者信噪比越大,信息的极限传输速率越高
2)对于一定的传输带宽和信噪比,信息的极限传输速率的上限是确定的。
3)只要信息传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输。
4)香农定理得出的是极限信息传输速率,实际信道能达到的传输速率要比它低上不少。
奈氏准则(内忧) | 香农定理(外患) |
---|---|
带宽受限无噪声条件下,为了避免码间串扰, 码元传输速率的上限 2W Baud(波特率) | 带宽受限有噪声条件下的信息传输速率。 |
理想低通信道下的极限数据传输率= 2 W log 2 V 2\mathrm{W} \log_2\mathrm{V} 2Wlog2V | 信道的极限数据传输速率= W log 2 ( 1 + S / N ) \mathrm{W}\log_2{(1+\mathrm{S}/\mathrm{N})} Wlog2(1+S/N) |
要想提高数据率,就要提高带宽/采用更好的编码技术。 | 要想提高数据率,就要提高带宽/信噪比。 |
答:
Nice: 2 × 4000 × log 2 2 = 8000 b / s 2×4000× \log_22=8000b/s 2×4000×log22=8000b/s
香浓: 4000 × log 2 ( 1 + 127 ) = 28000 b / s 4000×\log_2{(1+127)}=28000b/s 4000×log2(1+127)=28000b/s
选择相对较小的最大值:Nice的8kbps。
编码名称 | 信号表示机制 | 时钟同步 | 举例 |
---|---|---|---|
归零编码 | 高电平代表1,低电平代表0(或者相反)(每个时钟周期的中间归零) | ️ | / |
非归零编码 | 高电平代表1,低电平代表0(或者相反)(不归零) | 否 | / |
反向非归零编码 | 信号翻转代表0,信号保持不变代表1(或者相反)(不归零) | ️ | USB2.0 |
曼彻斯特编码 | 前一个间隔是高电平而后一个间隔是低电平代表码元1,码元0正好相反 | ️ | 以太网 |
差分曼切斯特编码 | 前半个码元的电平与上一个码元的后半个相同表示1,码元0正好相反(抗干扰) | ️ | 局域网 |
数字调制方法 | 改变载波信号的什么表示0和1 | 载波的频率和相位是否改变 |
---|---|---|
幅移键控(ASK) | 振幅 | 不改变 |
频移键控(FSK) | 频率 | 不改变 |
相移键控(PSK) | 相位 | 不改变 |
正交振幅调制(QAM) |
当采样频率大于等于模拟频率的最大频率的两倍时,才能保证采样后的数字信号完整保留原始模拟信号的信息。
概念 | 解释 |
---|---|
采样 | 把时间上连续的信号变成时间上离散的信号 |
量化 | 把采样取得的电平幅值按照一定的分级标度转化为对应的数字值并取整数 |
编码 | 把量化的结果转换为与之对应的二进制编码 |
为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用(FDM)
先建立连接,然后独占这条通信线路,再进行数据的传输。
特点:独占资源,用户始终占用端到端的固定传输带宽。适用于远程批处理信息传输或系统间实时性要求高的大量数据传输的情况。(通常使用交换机实现)
三个阶段: 连接建立、数据传输、连接释放。
优点 | 缺点 |
---|---|
传输时延小 | 建立连接时间长 |
数据顺序传送,无失序问题 | 线路独占,即使通信线路空闲,也不能供其他用户使用,信道使用效率低。 |
实时性强,双方一旦建立物理通路,便可以实时通信, 适用于交互式会话类通信。 | 灵活性差,双方连接通路中的任何一点出了故障,必须重新拨号建立新连接,不适应突发性通信。 |
全双工通信,没有冲突,通信双方有不同的信道,不 会争用物理信道 | 无数据存储能力,难以平滑通信量。 |
适用于模拟信号和数字信号 | 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信 |
控制简单,电路的交换设备及控制较简单 | 无法发现与纠正传输差错,难以在通信过程中进行差错控制。 |
“一整块报文进行存储转发,然后到达目的主机。”
**报文交换的原理:无需在两个站点之间建立一条专用通路,其数据传输的单 位是报文,传送过程采用存储转发**方式。
优点 | 缺点 |
---|---|
无需建立连接,无建立连接时延,用户可随时发送报文。 | 实时性差,不适合传送实时或交互式业务的数据。数 据进入交换结点后要经历存储转发过程,从而引起转 发时延。 |
动态分配线路,动态选择报文通过的最佳路径,可以 平滑通信量。 | 只适用于数字信号。 |
提高线路可靠性,某条传输路径发生故障,可重新选 择另一条路径传输。 | 由于报文长度没有限制,而每个中间结点都要完整地 接收传来的整个报文,当输出线路不空闲时,还可能要存储几个完整报文等待转发,要求网络中每个结点 有较大的缓冲区。为了降低成本,减少结点的缓冲存 储器的容量,有时要把等待转发的报文存在磁盘上, 进一步增加了传送时延。 |
提高线路利用率,通信双方在不同的时间一段一段地 部分占有这条物理通道,多个报文可共享信道。 | |
提供多目标服务:一个报文可同时发往多个目的地址。 | |
在存储转发中容易实现代码转换和速率匹配,甚至收 发双方可以不同时处于可用状态。这样就便于类型、 规格和速度不同的计算机之间进行通信。 |
注意:报文交换主要使用在早起的电报通信网中,现在较少使用,通常被较先进的分组交换方式所取代。
“一整块报文分成若干个小块,并对其进行编号,再将这若干个小块进行两种方式的传送——数据报服务和虚电路服务方式。”
限制每次传送的数据块大小的上限,把大的数据块划为合理的小数据块,再加上一些必要的控制信息,构成分组。
优点 | 缺点 |
---|---|
无建立时延,无需为通信双方预先建立一条专用通信 线路,用户可随时发送分组。 | 尽管分组交换比报文交换的传输时延少,但仍存在存 储转发时延,而且其结点交换机必须具有更强的处理 能力。 |
线路利用率高,通信双方在不同的时间一段一段地部 分占有这条物理通道,多个分组可共享信道。 | 每个分组都要加控制信息,一定程度上降低了通信效 率,增加了处理的时间。 |
简化了存储管理。因为分组的长度固定,相应的缓冲 区的大小也固定,在交换结点中存储器的管理通常被 简化为对缓冲区的管理,相对比较容易。 | 当分组交换采用数据报服务时,可能出现失序、丢失 或重复分组,分组到达目的结点时,要对分组按编号 进行排序等工作,增加了麻烦。若采用虚电路服务, 虽无失序问题,但有呼叫建立、数据传输和虚电路释 放三个过程。 |
加速传输,后一个分组的存储可以和前一个分组的转 发并行操作;传输一个分组比一份报文所需缓冲区小, 减少等待发送时间。 | |
减少出错几率和重发数据量,提高可靠性,减少传输 时延。 | |
分组短小,适用于计算机之间突发式数据通信。 |
分组交换将继续细分为数据报和虚电路两种方式。
这两种服务方式都由网络层提供;且数据报方式和虚电路方式是分组交换的两种方式。
补充概念:
报文被拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成的就是数据报分组(即网络层的PDU)。
数据报服务的流程:主机A现将分组逐个发往与它直接相连的交换结点A,交换结点A缓存收到的分组后查找自己的转发表,按照转发表转发出去(由于不同时刻的网络状态不同,所以转发表也不尽相同)。
特点:
试图将数据报方式与电路交换方式结合起来,发挥两者的优点,来达到最优的数据交换效果。
整个通信分为三个阶段:虚电路建立、数据传输、虚电路释放。
特点:
注意:网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
数据报服务 | 虚电路服务 | |
---|---|---|
连接的建立 | 不需要 | 必须有 |
目的地址 | 每个分组都有完整的目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号 |
路由选择 | 每个分组独立地进行路由选择和转发 | 属于同一条虚电路的分组按照同一路由转发 |
分组顺序 | 不保证分组的有序到达 | 保证分组的有序到达 |
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择发生变化时可以正常传输 | 所有经过故障结点的虚电路均不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责 |
双绞线分为屏蔽双绞线和非屏蔽双绞线,双绞线价格便宜。
同轴电缆**抗干扰特性比双绞线好,被广泛用于传输较高速率的数据,其传输距离更远,但价格**较双绞线贵。
光纤的特点:
物理层考虑的是如何在连接到各种计算的传输媒体上传输比特流,(物理层)不是指具体的传输媒体。
物理层的主要任务可以描述为确定与传输媒体的接口有关的一些特性(包括四种特性,如下所示)。
谢仁希 | 王道 | |
---|---|---|
数据链路层的功能及设计问题 | P63 3.1节 | |
数据链路成帧 | p70-72, | p66 |
透明传输 | p73 | |
差错检测 | p74, | p68 |
点对点协议PPP | p76, | p115 |
CSMA/CD协议 | p85, | p91 |
以太网 | p83 &92-97 | p104 |
透明网桥 | P122 | |
扩展的以太网 | p97, | 王道没有 |
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到 相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接 改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XeYnEPla-1629980020338)(/Users/charlieli/Library/Application Support/typora-user-images/数据链路层功能示意图.png)]
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流 后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
组帧的四种方法:1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。
帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U9oIV83V-1629980020339)(file:///Users/charlieli/Library/Application%20Support/typora-user-images/%E5%AD%97%E7%AC%A6%E8%AE%A1%E6%95%B0%E6%B3%95.png?lastModify=1629812717)]
缺点:鸡蛋装在一个篮子里了(一个字段错,后面全错)。
包含有首尾标识位 FLAG (首尾都有!!!)
在所传输的数据中出现控制字符“SOH”和“EOT”之前插入一个转义字符“ESC”。
1.当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCII码)。 不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
2.当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。 就要采用字符填充方法实现透明传输。
一连串比特连续发送~~
包含有首尾标识位 FLAG (首尾都有!!!)
“5” 1 “1” 0
“5” 1 “1” 0 解释:
可以用“高**-高”,“低-**低”(这种曼彻斯特编码中不可能出现的电平)来定界帧的起始和终止。
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现 上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。
术语“透明”:某一个实际存在的食物却看起来好像不存在一样。
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施(看3.2节),使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
ppt(第三章上)第11页
概括来说,传输中的差错都是由于噪声引起的。
全局性 1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。 解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
局部性 2.外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。 解决办法:通常利用编码技术来解决。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ROR9Cvs8-1629980020345)(/Users/charlieli/Library/Application Support/typora-user-images/差错从何而来?.png)]
链路层为网络层提供服务:
附加一个校验元,使得码长为 n 的码字中 “1” 的个数为奇数(奇校验码)或者为偶数(偶校验码)。
奇偶校验码特点: 只能检查出奇数个比特错误,检错能力为50%。
发送端:要传的数据 ➗ 生成多项式 = 一个数 ······ 余数即为FCS冗余码
接收端:接收到的数据 ➗ 生成多项式 = 0(正确)或者非0(误码)
多项式表示除数:P(X) = X3 + X2 + 1 表示 P = 1101
发送流程:
最终发送的数据是:要发送数据 + FCS冗余码
接收端检错过程
注:FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速, 因此不会延误数据的传输。
计算冗余码:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-INcQaugG-1630314350881)(/Users/charlieli/Library/Application Support/typora-user-images/ 点对点协议 PPP.png)]
是用户计算机和ISP进行通信是使用的数据链路层协议。
只支持点对点链路通信,只支持全双工链路。
应该满足的要求 | 备注 | 不需要满足的要求 |
---|---|---|
简单 | 对于链路层的帧,无需纠错,无需序号,无需流量控制。 | 不需要编序号 |
封装成帧 | 帧定界符 | 不支持多点线路 |
透明传输 | 与帧定界符一样比特组合的数据应如何处理: 异步线路用字节填充(转义字符), 同步线路用比特填充(“5” 1 “1” 0)。 |
不需要流量控制 |
支持多种网络层协议 | 封装的IP数据报可以采用多种协议。 | 不需要纠错 |
支持多种链路 | 串行/并行,同步/异步,电/光… | |
要能差错检错 | 使用CRC循环冗余检错,错就丢弃。 | |
要能检测连接状态 | 链路是否正常工作。 | |
规定最大传送单元 | 说的是要传送的数据部分最大大小,数据部分最大长度MTU。 | |
能够为网络层地址协商服务 | 知道通信双方的网络层地址。 | |
能够进行数据压缩协商 |
类型 | 字节填充 | 比特填充 |
---|---|---|
“转义字符” | “5” 1 “1” 0 | |
用在哪里 | 用在异步传输中 | 用在同步传输中 |
标志字段 | 0x7E(0111 1110) | 0x7E(0111 1110) |
转义字符 | 0x7D(0111 1101) | - |
概念 | 内容 |
---|---|
“链路建立” | 为了建立链路层的LCP连接 |
LCP配置选项 | 链路上最大帧长、所使用的鉴别协议的规约以及不使用PPP帧中的地址和控制字段。 |
配置确认帧 | 所有选项都接受 |
配置否认帧 | 所有选项都理解但不能接受 |
配置拒绝帧 | 选项有的无法识别或不能接受,需要协商 |
“鉴别”状态 | 只允许发送LCP协议的分组、鉴别协议的分组以及检测链路质量的分组。 |
“口令鉴别协议” | 身份验证,可重复多次 |
“口令握手鉴别协议” | 身份验证,若失败则转入“链路终止”状态 |
“网络层协议”状态 | NCP控制协议根据网络层的不同协议互相交换网络层特定的网络控制分组。(PPP链路两端的网络层可以运行不同的协议,但仍然能够使用同一个PPP协议进行通信) |
“链路打开” | 当网络层配置完后进入该状态,链路的两个PPP断电可以彼此互相发送分组,也可发送回送请求LCP分组和回送回答LCP分组,用来检查链路的状态。 |
“链路终止” | 由一端发出终止请求LCP分组,收到对方发来的终止确认LCP分组后,转到该状态 注意:若链路出现故障也会进入该状态,当调制解调器的载波停止后,就进入“链路静止”状态 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3FkZN02Y-1630314350885)(/Users/charlieli/Library/Application Support/typora-user-images/ppp帧格式.png)]
说明这是总线型网络,是许多交换机以多点接入的方式连接在一根总线上。
协议的实质是:“载波监听”和“碰撞检测”。
不管在发送前还是发送中,每个站都必须不停地检测信道是否空闲。
状态 | 目的 |
---|---|
发送前检测信道 | 为了获得发送权 |
发送中检测信道 | 为了及时发现有没有其他站的发送和本站的发送的碰撞 |
“边发送边监听”
1.产生碰撞的物理现象是:信号电压变化幅度超过了一定的门限值。
2.产生碰撞的原因:因为电磁波的传播是需要时间的,所以即便信道发送的时候是“空闲”的,仍有可能发生碰撞,是因为或许别的站已经发送了数据,但还没传播过来而已。
3.强化碰撞的概念:发送数据的站检测到发生碰撞后,除了立即停止发送数据外,还要继续发送32bit或者48bit的人为干扰信号,以便所有的用户都知道现在已经发生了碰撞。
(1)准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部(见3.9 扩展的以太网),组成以太网帧,放入适配器的缓存中。但在发送前,必须先检测信道。
(2)检测信道:若检测到信道忙,则应该不停地检测,一直等待信道转为空闲。若检测到空闲,且在96bit时间内信道保持空闲(保证了帧间最小间隔 9.6 μ s 9.6 \mu s 9.6μs),就发送这个帧。
(3)在发送过程中仍然不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
另外,以太网每发送完一帧,一定要把已发送的帧暂时保留一下。如果在争用期内检测出发生了碰撞,那么还要在推迟一段时间后再把这个暂时保留的帧重传一次。
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今 现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。
1.集线器(hub):是一种可靠性非常高的设备;
2.10BASE-T:10代表10Mbps,BASE表示传送的是基带型号,T表示双绞线; 3.10BASE-T双绞线以太网的出现,是局域网发展史上一个非常重要的里程碑;
4.10BASE-T的标准IEEE 802.3i。
5.10BASE-T采用无屏蔽双绞线(UTP)
6.以太网拓扑:逻辑上总线型,物理上星型。(“逻总”)
集线器的一些特点:
中继器(转发器?)的一些特点:
以太网总的信道利用率不能达到100%
一个参数a,是以太网 单程端到端时延 τ \tau τ 与 帧的发送时间 T 0 T_0 T0 之比 a = τ T 0 a=\frac{\tau}{T_0} a=T0τ
当 a → 0 a\rightarrow 0 a→0 时信道利用率才能达到最大,即:
以太网连线的长度不能太长(太长导致 τ \tau τ 太大)
以太网帧不能太短(太短导致 T 0 T_0 T0太小)
极限信道利用率为: S m a x = T 0 T 0 + τ = 1 1 + a S_{max} = \frac{T_0}{T_0 + \tau} = \frac{1}{1+a} Smax=T0+τT0=1+a1
所以,a远小于1,也就是 a → 0 a\rightarrow 0 a→0 时才能得到尽可能高的极限信道利用率。
1.MAC硬件地址
相当于是每一个站的“名字”或标识符,是固化在ROM中的内容。MAC前24位地址是生产厂商的标识符,后24位由厂商自己分配,每一个MAC地址全球唯一。
2.发往本站的帧
1)单播(unicast)帧(一对一)即收到的帧的MAC地址与本站的硬件地址相同
2)广播(broadcast)帧(1对全体)即发送给本局域网中所有站点的帧(全1地址)。
3)多播(multicast)帧(一对多),及发送给本局域网中一部分站点的帧。
3.混杂方式
以太网适配器还可以工作在混杂方式,“窃听”其他站点的通信而不中断其他站点的通信。网络上的黑客常利用这种方法非法获取用户上网的口令,所以以太网上的用户不愿意网络上有工作在混杂方式的适配器。
但有些时候混杂方式又特别有用,网络管理和维护人员需要用这种方式来监控和分析以太网上的流量,以便找出提高网络性能的具体措施。(嗅探器)此外,这种嗅探器还可以帮助学习网络的人员更好地理解各种网络的工作原理。
因此混杂方式就像一把双刃剑,利弊看你如何使用它。
有两种,只介绍 DIX Ethernet V2标准
这里注意,以太网规定以太网帧最小帧长是64Byte,所以数据部分最小长度是 64 − 6 − 6 − 2 − 4 = 46 64-6-6-2-4=46 64−6−6−2−4=46 (Byte)。
数据部分不足46字节的,补足到46字节再发送。(加入一些填充字节)
一个小问题,如何判断一个以太网帧的开始和结束呢?
开始:前导码的前 7B(全是1010 ··· 1010 共28位bit)用来同步时钟周期,最后1B 的最后两位11 (1010 1011)用来判断这两个11后是以太网帧开始的定界符。
结束:因为以太网有一个帧间最小间隔 9.6 μ s 9.6\mu s 9.6μs (对于传统以太网 10Mbps 就是96bit 的时间),并且以太网使用的是曼彻斯特编码,而曼彻斯特每一个码元正中间一定有一次电平转换,所以等到电平转换结束(也就是电压不再变化了),就说明这个以太网帧发送结束了,就可以很容易判断出以太网帧的结束为止,往前找4个字节就是FCS循环冗余的冗余码,除以生成多项式就可以判断本次传输是否有出错了。所以以太网不需要帧结束定界符。
无效的MAC帧:
注:对于检查出无效的MAC帧就简单的丢弃,以太网不负责重传丢弃的帧。
“透明”是指以太网上的站点并不知道所发送的帧将经过哪几个网桥。
透明网桥是一种即插即用设备——具有自学习功能,存储转发,同时将丢弃CRC检验有差错的帧以及过短和过长的无效帧。(自学习在 3.9 扩展的以太网介绍)
与集线器/转发器的一个重要区别是网桥按存储转发方式工作,一定是把整个帧接下来(集线器/转发器是逐比特转发)再处理,而不管其目的地址是什么。
这种扩展的以太网在看网络层来仍然是一个网络。
1.光纤
2.主干集线器
好处:
第一:不同的冲突域之间可以进行通信
第二:扩大了以太网覆盖的地理范围
缺点:
1.冲突域也变大了,同一时间可能有更多的碰撞发生。
2.最大吞吐量仍然是一个冲突域的最大吞吐量。
3.只能工作在都支持的最高速率(可能限制了更高的速率)。
1.透明网桥
“透明”是指以太网上的站点并不知道所发送的帧将经过哪几个网桥。
透明网桥是一种即插即用设备——具有自学习功能,存储转发,同时将丢弃CRC检验有差错的帧以及过短和过长的无效帧。(自学习在 3.9 扩展的以太网介绍)
与集线器/转发器的一个重要区别是网桥按存储转发方式工作,一定是把整个帧接下来(集线器/转发器是逐比特转发)再处理,而不管其目的地址是什么。
2.源路由网桥
在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的站发送一个发现帧。
直通(cut-through)式交换机
1)查完目的地址(6B)就立刻转发。
2)延迟小,可靠性低,无法支持具有不同速率的端口的交换。
存储转发式交换机
1)将帧放入高速缓存,并检查是否正确,正确则转发,错误则丢弃。
2)延迟大,可靠性高,可以支持具有不同速率的端口的交换。
1)以太网交换机实质上是一个多接口的网桥。
2)以太网交换机的每个接口一般都工作在全双工模式。
3)以太网交换机具有并行性,能同时连通多对接口,使多对主机能同时通信.
4)是一种即插即用设备,因为其内部的帧交换表(又称地址表)是通过 自学习算法自动地逐渐建立起来的。
5)最大优点:一个用户在通信时是独占而不是和其他网络用户共享带宽。
6)拥有多种速率的接口。
当网桥收到一转发帧时,先查找自己的转发表中是否有源地址,若没有则
添加此项。
转发帧:查找自己转发表中是否有目的地址,
若没有,则将此帧从***其他端口转发出去***,其他端口的主机将丢弃目的地址
不是本机的帧,这也叫做过滤。
若有, 则将转发表中记录的目的地址端口和此帧进入网桥时通过的端口进行比较,若相等则***丢弃此帧***(因为目的主机已经收到此帧了),若不相等,则将此帧通过***转发表记录的目的地址端口转发出去***。
生成树协议 STP(Spanning Tree Protocol)
由于以太网交换机组网时,会增加一些冗余的链路,自学习的过程就可能导致以太网帧在网络的某个环路中无限制的兜圈子。
所以引入生成树协议:
不改变网络的拓扑结构,但在逻辑上切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
**冲突域:**在同一个冲突域中的每一个节点都能收到所有被发送的帧。 简单的说就是同一时间内只能有一台设备发送 信息的范围。
**广播域:**网络中能接收任一设备发出的广播帧的所有设备的集合。简单的说如果站点发出一 个广播信号,所有能接收到这个信号的设备范围称为一个广播域。
能否隔离冲突域 | 能否隔离广播域 | |
---|---|---|
物理层设备【傻瓜】 (中继器、集线器) |
❌ | ❌ |
链路层设备【路人】 (网桥、交换机) |
✅ | ❌ |
网络层设备【大佬】 (路由器) |
✅ | ✅ |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UPRkMbFT-1630651079373)(/Users/charlieli/Library/Application Support/typora-user-images/冲突域和广播域示例.png)]
总线以太网使用 CSMA/CD 协议,以半双工方式工作。
星型以太网中心的以太网交换机不使用 CSMA/CD 协议,以全双工方式工作。
1.为什么以太网交换机都不采用 CSMA/CD 协议,还叫做以太网呢?
答:它仍采用以太网的帧结构,所以还叫做以太网。
2.为什么从前的局域网不采用这种星型结构呢?
答:因为以前的技术条件下,难以造出可靠性高的以太网交换机,所以那时候采用无源的总线结构。但是随着技术的发展,以太网交换机可以做的既便宜又可靠,故现在采用以太网的星型结构为以太网的首选拓扑。
虚拟局域网只是局域网给用户提供的服务,不是一种新型的局域网。
以太网交换机不向虚拟局域网以外的计算机传送不是本虚拟局域网的广播信息,但本虚拟局域网内均收得到。
虚拟局域网限制了接受广播信息的计算机数,使得网络不会因传播过多的广播信息(即所谓的“广播风暴”)而引起性能恶化。
虚拟局域网协议运行在以太网的帧格式中插入一个 4 字节的标识符,称为VLAN标记 (tag),用来指明发送该镇的计算机属于哪一个虚拟局域网。
插入 VLAN 标记得出的帧称为 802.1Q帧。
VLAN标记字段的长度是 4 字节,插入在以太网 MAC 帧的源地址字段和类型字段之间。
按照 IEEE 802.1Q标记类型,VLAN 前 2 字节总是 0x8100。
后 2 个字节中,前 3 为是用户优先级字段,接着是 1 位规范格式指示符 CFI ,最后的 12 位是该虚拟局域网 VLAN 标识符 VID(VLAN ID),它唯一地标志了
这个以太网帧属于哪一个 VLAN 。
由于用于 VLAN 的以太网帧首部增加了 4 个字节,
因此以太网的最大帧长从原来的 1518 字节(1500字节的数据 + 18 字节的首部) 变为 1522 字节。
谢老师很贴心的在书中给出了PPT下载地址
谢仁希 | 王道 | 节 | |
---|---|---|---|
网络层提供的两种服务 | p113,4.1 | P37, | 2.1.5 |
网际协议IP | p115,4.2 | P143,P194,P135 | 4.3.1 & 4.3.2 & 4.3.4的1,2 & 4.8 4.1.1 |
划分子网和构造超网 | p135,4.3 | P148, | 4.3.3 |
网际控制报文协议ICMP | p147,4.4 | P152, | 4.3.4的4 |
互联网路由选择协议 | p151,4.5 | P177, P139, | 4.5 4.2.1和4.2.2 |
虚拟专用网VPN | p185, | ||
网络地址转换NAT | p187, | p147, |
这两种服务方式都由网络层提供;且数据报方式和虚电路方式是
分组交换(物理层)的两种方式。
补充概念:
报文被拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成的就是数据报分组(即网络层的PDU)。
数据报服务的流程:主机A现将分组逐个发往与它直接相连的交换结点A,交换结点A缓存收到的分组后查找自己的转发表,按照转发表转发出去(由于不同时刻的网络状态不同,所以转发表也不尽相同)。
特点:
试图将数据报方式与电路交换方式结合起来,发挥两者的优点,来达到最优的数据交换效果。
整个通信分为三个阶段:虚电路建立、数据传输、虚电路释放。
特点:
注意:网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
虚电路服务 | 数据报服务 | |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号 | 每个分组都有完整的目的地址 |
路由选择 | 属于同一条虚电路的分组按照同一路由转发 | 每个分组独立地进行路由选择和转发 |
分组顺序 | 保证分组的有序到达 | 不保证分组的有序到达 |
对网络故障的适应性 | 所有经过故障结点的虚电路均不能正常工作 | 出故障的结点丢失分组,其他分组路径选择发生变化时可以正常传输 |
差错处理和流量控制 | 可由分组交换网负责,也可由用户主机负责 | 由用户主机进行流量控制,不保证数据报的可靠性 |
注:TCP/IP 体系的网络层提供的是数据报服务。
1.一些中间设备
层次 | 设备 |
---|---|
网络层以上 | 网关 |
网络层 | 路由器 |
数据链路层 | 网桥(或者叫桥接器) |
物理层 | 转发器 |
2.虚拟互连网络
虚拟互连网络就是指使用相同的网际协议 IP 把互连起来的计算机网络。
使用 IP 协议就可以使性能各异的网络在网络层上看起来好像是一个统一的网络。
互联网可以由多个异构网络互连组成。
1.IP 地址及其表示方法
IP 地址的编址方法经过了三个历史阶段
1)分类的 IP 地址
2)子网的划分
3)构成超网
一个 IP 地址在整个互联网范围内是唯一的。
2.常用的三种类别的 IP 地址
A类地址的网络号字段占一个字节,且只有7位可以使用(第1位固定为0)。
可指派的网络号是 126 个(即 2 7 − 2 2^7-2 27−2 )少的两个网络号是
1:IP 网络号全 0 表示 “这个(this)”。(是网络号!!!只有8位 如:0000 0000)是一个保留地址,意思是 “ 本网络”;
2:网络号为 127 (0111 1111)保留作为本地软件,环回测试本主机进程之间的通信之用。如果一个主机发送的一个目的地址为环回地址(例如:127.0.0.1)的 IP 数据报,则本机中的协议处理软件就处理数据报中的数据,而不会把数据报发送到任何网络。划重点:目的地址是环回地址的 IP 数据报永远不会出现在任何网络上,因为网络号为 127 的地址根本不是一个网络地址。
A 类地址的主机号占 3 个字节,因此每一个A类网络的最大主机数是 2 24 − 2 2^{24} -2 224−2,少的两个主机号是:
1)全 0 表示该 IP 地址是 “本主机” 所连接到的***单个网络地址***。
(是主机号(后24位)如:一个主机的 IP 地址为 5.6.7.8,则该主机所在的网络地址就是 5.0.0.0),
2)全 1 表示 “所有的(all)”,全 1 的表主机号字段示该网络上的所有主机。
网络号占 2个字节 16位,但前两位固定为 (10) 所以剩下14位可以自由分配,但注意:128.0.0.0 是不指派的,可以指派的最小网络地址为 128.1.0.0,故总数为 2 14 − 1 2^{14}-1 214−1 。
主机号占 2 个字节,扣除全0 和 全1 的主机号,剩下 2 16 − 2 2^{16}-2 216−2 个主机数。
总地址空间为 2 30 2^{30} 230 个地址,占总 IP 地址空间的 25%。
网络号有 3个字节,最前三位固定为 (110),剩下 24 -3 = 21位,而且 192.0.0.0 也是不指派的, 所以可以指派的最小网络地址是 192.0.1.0,所以可指派的网络总数为 2 21 − 1 = 2097151 2^{21}-1=2097151 221−1=2097151。
每个网络主机号占 8位,而且 全0(XXXX.XXXX.XXXX.0000) 和 全1(XXXX.XXXX.XXXX.1111)也都是不指派的,所以C类网络每个网络的最大主机数是 2 8 − 2 = 254 2^{8}-2=254 28−2=254 个。
总地址空间为 2 29 2^{29} 229
网络类别 | 最大可指派的网络数 | 第一个可指派的网络号 | 最后一个可指派的网络号 | 最大地址空间 |
---|---|---|---|---|
A | 126 = 2 7 − 2 126=2^7-2 126=27−2 | 1.X.X.X | 126.X.X.X | 2 31 2^{31} 231 |
B | 16383 = 2 14 − 1 16383=2^{14}-1 16383=214−1 | 128.1.X.X | 191.255.X.X | 2 30 2^{30} 230 |
C | 2097151 = 2 21 − 1 2097151=2^{21}-1 2097151=221−1 | 192.0.1.X | 223.255.255.X.X | 2 29 2^{29} 229 |
网络类别 | 最大可指派的主机数 | 第一个可指派的主机号 | 最后一个可指派的主机号 |
---|---|---|---|
A | 16777214 = 2 24 − 2 16777214=2^{24}-2 16777214=224−2 | X.0.0.1 | X.255.255.254 |
B | 65534 = 2 16 − 2 65534=2^{16}-2 65534=216−2 | X.X.0.1 | X.X.255.254 |
C | 254 = 2 8 − 2 254=2^8-2 254=28−2 | X.X.X.1 | X.X.X.254 |
注:主机号 全0 表示本机,全1 表示所有主机。
1.IP地址是一种分等级的地址结构。
2.实际上 IP 地址是标志一台主机(或路由器)和一条链路的接口。
3.一个路由器至少连接两个网络,所以一个路由器至少拥有 2个不同的 IP 地址.
4.用网桥或者转发器连接起来的若干个局域网仍然为一个网络,因为这些局域网具有相同的网络号。具有不同网络号的局域网必须通过路由器相连。
5.互联网同等对待每一个 IP 地址
物理地址 是数据链路层和物理层使用的地址。
IP 地址 是网络层和以上各层使用的地址,是一种逻辑地址。
(因为IP 地址是用软件实现的)
IP数据报一旦交给数据链路层,就被封装成 MAC 帧了。 MAC 帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在 MAC 帧的首部中。
数据链路层看不见数据报的 IP 地址。
不同层次、不同区间的源地址和目的地址
1)网络层写入 IP 数据报首部的地址从未发生改变。
2)数据链路层写入 MAC 帧首部的地址一直在改变。
源地址 | 目的地址 |
---|---|
H A 1 {HA_1} HA1 | H A 3 HA_3 HA3 |
H A 4 HA_4 HA4 | H A 5 HA_5 HA5 |
H A 6 HA_6 HA6 | H A 2 HA_2 HA2 |
1)在 IP 层抽象的互联网上只能看到 IP 数据报。
2)数据报首部的源地址和目的地址在传输的过程中始终不变。
3)数据报中间经过的几个路由器的IP地址并不出现在 IP 数据报的首部中。
4)路由器只根据目的站的 IP 地址的网络号进行路由选择。
5)局域网的链路层,只能看见 MAC 帧,IP 数据报是被封装在 MAC 帧中作为
数据部分的。
6)MAC 帧在不同的网络上传送时,MAC 帧首部中的源地址和目的地址要发生 变化,数据链路层在收到一个帧之后,要丢弃原来的 MAC 帧的首部和尾部, 在转发时,在数据链路层要重新加上 MAC 帧的新的首部和尾部。
(问:直通式交换机只检查 6 字节的目的地址,然后直接转发,那么直通式 交换机在转发的过程中是否去掉了原来MAC 帧的首部和尾部,然后
又重新加上 MAC 帧的新的首部和尾部呢?
答:交换机不更新 MAC 地址)
7)IP 层抽象的互联网屏蔽了下层这些很复杂的细节。只要是在网络层讨论问 题,就可以用统一的、抽象的 IP 地址来研究主机和主机或路由器之间的
通信,而无需考虑下层是如何将数据送到我们要求的地方的。
地址解析协议 ARP 就是将网络层使用的 IP 地址解析出在数据链路层使用的硬件地址,方便数据链路层进行数据传输。
逆地址解析协议 RARP 的功能已经被 DHCP 包含了,所以不再需要。
在实际网络的链路上传送数据帧时,最终必须使用MAC地址。
ARP协议解决下一跳走哪的问题。
1)每一台主机都有一个 ARP 高速缓存,用于存放一个从 IP 地址到硬件地址的映射表,并且这个映射表经常动态更新(新增或超时删除,也就是有自学习功能)
2)ARP 使用的例子
主机 A 向本局域网中的 B 发送 IP 数据报时,先查询映射表,表中有 B 的 IP 地址,就从 ARP 高速缓存中查出其对应的硬件地址,再把这个硬件地址写入 MAC 帧首部,然后通过局域网把该 MAC 帧发往此硬件地址。
若映射表中查不到 主机B 的 IP地址,主机A 就自动运行 ARP,然后按照以下步骤找出主机B的硬件地址:
ARP 进程在 本局域网 广播发送一个 ARP 请求分组,内容是:“我的 IP 地址是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18,我想知道 IP 地址为 209.0.0.6 的主机的硬件地址。”
本局域网上所有主机上运行的 ARP 进程都会收到此ARP请求分组。(请求分组是广播的形式)
主机B 的 IP地址 与 ARP 请求分组 中要查询的 IP地址 一致,就收下这个ARP请求分组,同时在ARP响应分组中写入自己的硬件地址。
其余的主机都不理睬这个 ARP请求分组,因为不符合这个要查询的 IP 地址。
ARP 响应分组主要内容是:“我的 IP 地址是 209.0.0.6,我的硬件地址是 08-00-2B-00-EE-0A。”
请求分组是广播发送的,响应分组是普通的单播。
主机A 收到 主机B 的 ARP 响应分组后,就在其 ARP 高速缓存中写入 主机B 的 IP地址到硬件地址的映射。
主机B 在收到主机A 的请求分组之后,也会将请求分组中 A 的这一地址映射写入主机B 自己的ARP 高速缓存中
3)生存时间
ARP 对保存在高速缓存中的每一个映射地址仙姑都设置了 生存时间。
凡是超过了生存时间的项目就从高速缓存中删掉。
4)ARP协议4种典型情况
5)一些问题
不在同一个局域网的 IP 地址如何解析出硬件地址?
答:不需要,因为无法直接解析,也无法从高速缓存中查到对方主机。
怎么办呢?一般是先用自己的子网掩码和目的 IP地址 相与一下,然后看看是不是在自己的网段内,在自己网段就发送 广播分组(MAC 帧的概念);否则就发送到自己的默认网关的MAC地址那里
广播分组中填写的目的 MAC 地址是 全1: FF FF FF FF FF FF
主机发送IP数据报给主机B,经过了5个路由器,请问此过程总共使用了几次ARP协议?(ARP协议解决下一跳走哪的问题)
答:6次。
既然网络链路上传送的帧最终都是按照硬件地址找到目的主机的,那为什么我们还要使用抽象的 IP 地址,而不直接使用硬件地址进行
通信?这样似乎可以免除使用 ARP协议。
答:由于全世界存在各式各样的网络,它们使用不同的硬件地址。而要使这些异构网络能够互相通信就需要进行非常复杂的硬件地址转换工作,因此由用户活用户之际来完成这项工作几乎是不可能的事情。但 IP编址把这个问题解决了。连接到互联网的主机只需要各自拥有唯一的 IP 地址,它们之间的通信就像连接到同一个网络那样方便简单,因为上述调用 ARP 的复杂过程都是计算机软件自动进行的,对用户来说是看不见这样的调用过程的。
字段名 | 占几位 | 计算单位 | 内容 |
---|---|---|---|
版本 | 4 bit | IPv4、IPv6 | |
首部长度 | 4 bit | 4 Byte | 表示本 IP 数据报首部的长度 |
区分服务 | 8 bit | 一般没用,有时候用来表明优先级 | |
总长度 | 16 bit | 1 Byte | 首部 + 数据的总长度 |
标识 (identification) | 16 bit | 相同的标识字段的分片是同一个数据报 每产生一个数据报,计数器值 + 1,所以也可以用来记录产生了多少数据报。 |
|
标志 (flag) | 3 bit | 只有2位有意义 “无意义 DF MF” MF (More Fragment) = 1表示后面还有分片 MF = 0 表示没有分片了 DF (Don’t Fragment) = 1 表示不能分片 DF = 0 表示可以分片 |
|
片偏移 | 13 bit | 8 Byte | 表明相对于用户数据字段的起点,该片从何处开始 除最后一个数据报片外,所有分片长度一定是 8 字节的整数倍 |
生存时间 | 8 bit | IP分组的保质期。经过一个路由器-1,变成 0 则丢弃 | |
协议 | 8 bit | 表明数据部分带的是哪一种协议。 方便对方主机的IP 层收到之后知道应该将数据部分交给上层的哪个协议处理 |
|
首部检验和 | 16 bit | 只检验首部 | |
源地址 | 32 bit | ||
目的地址 | 32 bit | ||
可选字段 | 0~40B,用来支持排错、测量以及安全等措施。 | ||
填充 | 全0,把首部补成4B的整数倍。 |
注意:总长度计算单位是 1B;首部长度计算单位是 4B;片偏移计算长度是8B
IP 数据报,然后才是数据部分!
片偏移:指出较长分组分片后, 某片在原分组中的相对位置。 以8B为单位。
注意:除了最后一个分片,每个分片长度一定是 8B 的整数倍。
总长度 | 标识 | MF | DF | 片偏移 | |
---|---|---|---|---|---|
原始数据报 | 3820 | 12345 | 0 | 0 | 0 |
数据报片1 | 1420 | 12345 | 1 | 0 | 0 |
数据报片2 | 1420 | 12345 | 1 | 0 | 175 |
数据报片3 | 1020 | 12345 | 0 | 0 | 350 |
问:如果数据报片需要再分呢?最大支持 820 字节,该如何处理?
路由表不是将所有本路由器相连的所有主机都记录在路由表中,而是只保留
以下两个最主要的信息:
当然,实际的路由表还会包括一些其他的信息,并不是我们讨论的主要内容。
详见谢仁希《计算机网络》第七版 P132 注 1。
我们一定是根据目的网络地址来确定下一跳路由器。
特定主机路由:
由于一些网络连接或路由表排错的需要,或者考虑某种安全问题,我们允许这样的特例存在,直接在路由表中指明一个目的主机,这样可以直接交付。
默认路由:
【注】路由表没有给分组指明到某个网络的完整路径,只给出了下一跳
怎么走,剩下的交给下一跳路由器。
1)一个单位自己将所属的物理网络划分为若干个子网,本单位以外的网络 看不见这个网络是有多少个子网组成,对外仍然表现为一个网络。
(子网掩码不变,且比内部的子网掩码数字要小)
2)从网络的主机号借用若干位作为子网号(subnet-id):
3)凡是从其他网络发送给本单位某主机的 IP 数据报,仍然是根据 IP 数据 报的网络号找到本单位网络的路由器。但此路由器收到 IP 数据报后,
再按目的网络号和子网号找到目的主机,然后交付。
极力推荐使用连续的 1,以免发生不必要的错误。
使用子网掩码的好处:不管有没有划分子网,只要把子网掩码和 IP 地址逐位相与(AND),就可以立即得出网络地址来,然后就可以交付啦。
【注】“与” 运算:同时为 1,结果才为 1,否则为 0。
所有的网络必须使用子网掩码,且路由器的路由表也必须有子网掩码这一栏。
如果一个网络不划分子网, 就使用默认的子网掩码。
【注】A类网络默认子网掩码:255.0.0.0;
B类网络默认子网掩码:255.255.0.0;
C类网络默认子网掩码:255.255.255.0;
子网掩码是一个网络或一个子网的重要属性。
对于一个B类网络为例 “子网号的位数” 中 0,1,15,16 没有意义。
现在随着无分类域间路由选择 CIDR 的广泛使用,全 1和全 0的子网号也可以使用了。
【注】这里说的是子网号,不是主机号!
子网号位数越少,每一个子网上可连接的主机就越多;
子网号位数越多,每一个子网上可连接的主机就越少;
划分子网增加了灵活性,却减少了能够连接在网络上的主机总数。
同样的 IP 地址和不同的子网掩码有时可以得出相同的网络地址。
子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码
下一跳地址。
在划分子网的情况下,路由器转发分组的算法如下:
总的来说,因为子网多了子网掩码,所以相比较 4.2.6,在第二步和第四步多了和子网掩码逐位相 “与” (AND)的操作,而不是直接得出网络地址 N。
1)消除了传统的A类,B类和C类地址以及划分子网的概念。
2)**2.**融合子网地址与子网掩码,方便子网划分。 CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
主机号 全0 表示 “本网络”
全1 表示 广播地址
如何计算一个地址块的最小和最大地址?
答:直接将主机号全部置为 0 就是最小地址,全部置为 1 就是最大地址。
1)将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
2)方法:将网络前缀缩短(所有网络地址取交集)。
例题:
使用CIDR时,查找路由表可能得到几个匹配结果(跟网络掩码按位相与),应选择具有最长网络前缀的路由。 前缀越长,地址块越小,路由越具体。
答:选B,下一跳是 R2.
网际报文控制协议 ICMP 是为了更有效地转发IP数据报和提高交付成功的机会…
ICMP协议支持主机或路由器:
产生差错(或异常)报告,或者用于网络探询
ICMP差错报告报文数据字段
PING:测试两个主机之间的连通性,使用了ICMP回送请求和回答报文。
Traceroute:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文。(发送 TTL 值从1开始递增,同一个数据报要发三遍)
最佳路由:“最佳” 只能是相对于某一种特定要求下得出的较为合理的选择。
引子:
(1)因特网规模很大 。
(2)许多单位不想让外界知道自己的路由选择协议,但还想连入因特网。
(如一个 ISP)
自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度 量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
路由选择协议分为:
不同的 自治系统AS 可以自行决定使用哪种内部网关协议,(如RIP 和 OSPF)但是通过外部网关协议就可以将这两个不尽相同的自治系统连通起来;同时每个自治系统除了运行本系统内部的路由选择协议外,还要运行自治系统间的路由选择协议/外部网关协议(BGP-4)。
RIP 和 OSPF 是用于自治系统 AS 内部使用的 路由选择协议。
RIP 是一种分布式的基于距离向量的路由选择协议,是互联网的协议标准,最大优点是简单。
RIP 协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。
距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路 由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
RIP协议只适用于小互联网。
1.仅和相邻路由器交换信息。
2.路由器交换的信息是自己的路由表。
3.每 30 30 30 秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过 180 s 180s 180s 没收到邻居路由器的通告,则判定邻居无了,并更新自己路由表,将邻居距离设为16(不可达)。
路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻 路由器交换并更新路由信息。
经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址, 即“收敛”。
1.修改相邻路由器发来的RIP报文中所有表项;对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段**+1**。
2.对修改后的RIP报文中的每一个项目,进行以下步骤:
(1)R1路由表中若没有Net3,则把该项目填入R1路由表
(2)R1路由表中若有Net3,则查看下一跳路由器地址:
若下一跳是X,则用收到的项目替换源路由表中的项目;
若下一跳不是X, 原来距离比从X走的距离远则更新,否则不作处理。
3.若180s还没收到相邻路由器X的更新路由表,则把 X 记为不可达的路由器,即把距离设置为16。
4.返回。
RIP是应用层协议, 使用UDP传送数据。
一个RIP报文最多可包括25 个路由,超过25个路由的话,就再用一 个RIP报文传送。
RIP协议好消息传得快,坏消息传得慢。
R1 说:“我到网 1 的距离是 16 (表示无法到达), 是直接交付。”
但 R2 在收到 R1 的更新报文之前,还发送原来的报文, 因为这时 R2 并不知道 R1 出了故障。
R1 收到 R2 的更新报文后,误认为可经过 R2 到 达网 1,于是更新自己的路由表,说:“我到 网 1 的距离是 3,下一跳经过 R2”。然后将此更 新信息发送给 R2。
开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;
“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。 OSPF最主要的特征就是使用分布式的链路状态协议。
和谁交换?
1.使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。也就是广播
最终整个区域内所有路由器都得到了这个信息的一个副本。
交换什么?
2.发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度 量/代价——费用、距离、时延、带宽等)。
多久交换?
3.只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。
最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。
1.每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居节点的网络地址。
2.设置到它的每个邻居的成本度量metric。
3.构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
4.如果DD分组中的摘要自己都有,则邻站不做处理;如果有没有的或者是更新的,则发送【LSR链路状态请求分组】 请求自己没有的和比自己更新的信息。
5.收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新。
6.更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。
只要一个路由器的链路状态发生变化:
5.泛洪发送【LSU链路状态更新分组】进行更新。
7.使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。
OSPF直接用 IP数据报 传送。
1.每隔30min,要刷新一次数据库中的链路状态。
2.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因 此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。
3.OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
与谁交换❓ | 与其他AS的邻站BGP发言人交换信息 |
---|---|
交换什么❓ | 交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS |
多久交换❓ | 发生变化时更新有变化的部分。 |
BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS。当 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各 AS 的较好路由。
BGP 发言人交换路径向量:
自治系统 AS2 的 BGP 发言人通知主干网 AS1的 BGP 发言人:“要到达网络 N1、 N2、N3 和 N4 可经过 AS2。”
主干网还可发出通知:“要到达网络 N5、N6 和 N7 可沿路径(AS1, AS3)。”
一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,即通过TCP传送,然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。
BGP是应用层协议,借助TCP传送。
BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
在 BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
1.OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方.
2.UPDATE(更新)报文:通告新路径或撤销原路径。 (是BGP的核心内容)
3.KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。
4.NOTIFICATION(通知)报文:报告先前报文的差错;也被用于关闭连接。
KEEPALIVE报文只有 BGP 的19字节长的通用首部。
UPDATE(更新)报文,撤销时可以一次撤销好几条,但是增加新路由时,每个更新报文只能增加一条。
RIP 是一种分布式的基于距离向量的内部网关路由选择协议,通过广播 UDP 报文来交换路由信息。
OSPF 是一个内部网关协议,要交换的信息量较大,应使报文的长度尽量短,所以不使用传输层协议(如UDP或TCP),而是直接采用IP。
BGP 是一个外部网关协议,在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠传输,所以采用 TCP。
可以记为: RU、OI、BT。
协议 | RIP | OSPF | BGP |
---|---|---|---|
类型 | 内部 | 内部 | 外部 |
路由算法 | 距离-向量 | 链路状态 | 路径-向量 |
传递协议 | UDP | IP | TCP |
路径选择 | 跳数最少 | 代价最低 | 较好,非最佳 |
交换结点 | 和本结点相邻的路由器 | 网络中所有路由器 | 和本结点相邻的路由器 |
交换内容 | 当前本路由器知道的全部信息,即自己的路由表 | 与本路由器相邻的所有路由器的链路状态 | 首次:整个路由表 非首次:有变化的部分 |
1.仅在机构内部,供机构内部使用的计算机自行分配的 IP 地址,称为本地地址
2.与本地地址对立的就是全球唯一的 IP 地址:全球地址。
只能用于一个机构的内部通信,而不能用于和互联网上的主机通信。
如:
专用地址只能用作本地地址而不能用作全球地址。
在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。
这些专用地址可以被重复使用,因为仅在机构内部使用。也叫做可重用地址。
概念:
利用公用的互联网作为本机构各个专用网之间的通信载体,这样的网络称为:虚拟专用网 VPN (Virtual Private Network)。
仅用作本机构内部主机通信,而不是用于和网络外非本机构的主机通信。
由于有保密的要求,所有通过互联网传送的数据都必须经过加密。
VPN 只是在效果上和真正的专用网一样。
它们都是基于 TCP/IP 协议的。
由部门 A 和 B 的内部网络所构成的虚拟专用网 VPN 又称为**内联网** (intranet),表示部门 A 和 B 都是在同一个机构的内部。
一个机构和某些外部机构共同建立的虚拟专用网 VPN 又称为 外联网 (extranet)。
问题:
在专用网上使用专用地址的主机如何与互联网上的主机通信?
(并不需要加密)
解决:
需要在专用网连接到互联网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球IP地址。
所有使用本地地址的主机在和外界通信时,都要在 NAT 路由器上将其本地地址转换成全球 IP 地址,才能和互联网连接。
可以看出,在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:
方向 | 字段 | 旧的IP地址 | 新的IP地址 |
---|---|---|---|
出 | 源IP地址 | 192.168.0.3 | 172.38.1.5 |
入 | 目的IP地址 | 172.38.1.5 | 192.168.0.3 |
出 | 源IP地址 | 192.168.0.7 | 172.38.1.6 |
入 | 目的IP地址 | 172.38.1.6 | 192.168.0.7 |
方向 | 字段 | 旧的IP地址和端口号 | 新的IP地址和端口号 |
---|---|---|---|
出 | 源IP地址:TCP源端口 | 192.168.0.3:30000 | 172.38.1.5:40001 |
出 | 源IP地址:TCP源端口 | 192.168.0.4:30000 | 172.38.1.5:40002 |
入 | 目的IP地址:TCP目的端口 | 172.38.1.5:40001 | 192.168.0.3:30000 |
入 | 目的IP地址:TCP目的端口 | 172.38.1.5:40002 | 192.168.0.4:30000 |
NAPT把专用网内不同的源 IP 地址,都转换为同样的全球 IP 地址。但对源主机所采用的 TCP 端口号(不管相同或不同),则转换为不同的新的端口号。因此,当 NAPT 路由器收到从互联网发来的应答时,就可以从 IP 数据报的数据部分找出运输层的端口号,然后根据不同的目的端口号,从 NAPT 转换表中找到正确的目的主机。