配套视频:湖科大教书匠
配套教材:计算机网络(第8版) 谢希仁
根据学习通要求“掌握”的部分总结的,有亿点点长 ,时间来不及就掌握画 ☆ 的就好啦
交换方式 | 特点 | 优点 | 缺点 |
---|---|---|---|
电路交换 | 预先建立通信路径 | 传输稳定,延迟低 | 资源浪费,不适用于并发 |
报文交换 | 直接传输完整报文 | 灵活性高,传输不需要建立连接 | 延迟高,发送整个报文可能出现阻塞 |
分组交换 | 将数据分割为小的数据包进行传输 | 高效利用网络资源,适用于并发 | 随机延迟,可能出现拥塞和丢包 |
按交换技术:①电路交换网络 ②报文交换网络 ③分组交换网络
按使用者:①公用网 ②专用网
按传输介质:①有线网络 ②无线网络
按覆盖范围:①广域网WAN(国家级) ②城域网MAN ③局域网LAN(如校园网) ④个域网PAN(如蓝牙连接)
按拓扑结构:①总线型网络 ②星型网络 ③环型网络 ④网状型网络(如广域网)
※按传输方式:①点对点式 ②广播式
※按服务方式:①主从式(C/S) ②对等式(P2P)
常用的数据量单位:
8 bit = 1 Byte K B = 2 10 B M B = K ⋅ K B = 2 10 ⋅ 2 10 B = 2 20 B G B = K ⋅ M B = 2 10 ⋅ 2 20 B = 2 30 B T B = K ⋅ G B = 2 10 ⋅ 2 30 B = 2 40 B \begin{array}{l} 8 \text { bit }=1 \text { Byte } \\ K B=2^{10} B \\ M B=K \cdot K B=2^{10} \cdot 2^{10} B=2^{20} B \\ G B=K \cdot M B=2^{10} \cdot 2^{20} B=2^{30} B \\ T B=K \cdot G B=2^{10} \cdot 2^{30} B=2^{40} B \end{array} 8 bit =1 Byte KB=210BMB=K⋅KB=210⋅210B=220BGB=K⋅MB=210⋅220B=230BTB=K⋅GB=210⋅230B=240B
常用的数据率单位:
b i t / s ( b / s , b p s ) k b / s = 1 0 3 b / s ( b p s ) M b / s = k ⋅ k b / s = 1 0 3 ⋅ 1 0 3 b / s = 1 0 6 b / s ( b p s ) G b / s = k ⋅ M b / s = 1 0 3 ⋅ 1 0 6 b / s = 1 0 9 b / s ( b p s ) T b / s = k ⋅ G b / s = 1 0 3 ⋅ 1 0 9 b / s = 1 0 12 b / s ( b p s ) \begin{array}{l} \mathrm{bit} / \mathrm{s}(\mathrm{b} / \mathrm{s}, \mathrm{bps}) \\ \mathrm{kb} / \mathrm{s}=10^{3} \mathrm{~b} / \mathrm{s}(\mathrm{bps}) \\ \mathrm{Mb} / \mathrm{s}=k \cdot \mathrm{kb} / \mathrm{s}=10^{3} \cdot 10^{3} \mathrm{~b} / \mathrm{s}=10^{6} \mathrm{~b} / \mathrm{s}(\mathrm{bps}) \\ \mathrm{G} b / \mathrm{s}=k \cdot \mathrm{Mb} / \mathrm{s}=10^{3} \cdot 10^{6} \mathrm{~b} / \mathrm{s}=10^{9} \mathrm{~b} / \mathrm{s}(\mathrm{bps}) \\ \mathrm{Tb} / \mathrm{s}=k \cdot \mathrm{Gb} / \mathrm{s}=10^{3} \cdot 10^{9} \mathrm{~b} / \mathrm{s}=10^{12} \mathrm{~b} / \mathrm{s}(\mathrm{bps}) \end{array} bit/s(b/s,bps)kb/s=103 b/s(bps)Mb/s=k⋅kb/s=103⋅103 b/s=106 b/s(bps)Gb/s=k⋅Mb/s=103⋅106 b/s=109 b/s(bps)Tb/s=k⋅Gb/s=103⋅109 b/s=1012 b/s(bps)
在处理过程中所需要的时间:
光速:3.0×108 m/s
光纤、电磁波:2.0×108 m/s
在时延方面谁占主导要具体情况具体分析。
时延带宽积 = 传播时延 × 带宽
Q:因特网采用TCP/IP体系结构的原因?
A:TCP/IP更符合市场,OSI缺乏商业驱动力,过于复杂,层次规划不合理。
网络协议三要素为语法、语义和同步。
主要任务:
同轴电缆 | 双绞线 | 光纤 | |
---|---|---|---|
传输速率 | 传输速率一般在百Mbps到Gbps之间 | 传输速率一般在Mbps到Gbps之间 | 传输速率高,可达数十Tbps |
抗干扰性 | 较强 | 较强 | 极强 |
安装成本 | 高 | 低 | 较高 |
数据安全性 | 由于同轴电缆使用共享传输,数据安全性差 | 双绞线使用独立传输,数据安全性相对较好 | 光纤使用光的传输,不容易被窃听和干扰 |
串行传输:数据是1
个比特1
个比特依次发送的,发送端与接收端之间只用1
条数据传输线即可
并行传输:一次发送n个比特而不是一个比特,在发送端和接收端之间要有n
条传输线路
在计算机网络中,数据在传输线路上的传输时串行传输;而计算机内部(如CPU和内存)多使用并行传输。
同步传输:数据块以稳定的比特流形式传输,字节之间没有间隔。接收端在每个比特信号的中间时刻(有区分0,1的标志)进行检测,以判别接收到的是比特0还是1。
需要采取方法使双方的时钟保持同步,有外同步(额外加时钟线)、内同步(内嵌同步信号编码)
异步传输:以字节为独立的传输单位,字节间的时间间隔不是固定的,接收端仅在每个字节的起始处对字节内的比特实现同步,为此通常传送前要在每个字节前后加上起始位和结束位。
单工/半双工/全双工 ☆
单工需要一条信道;其他的需要两条(一个方向一条)
在假定的理想条件下,为了避免码间串扰,码元传输速率是有上限的。
理想低通信道的最高码元传输速率 = 2W Baud = 2W(单位:码元/秒)
理想低通信道下的极限数据传输率 = 2Wlog2V(单位:码元/秒)
理想带通信道的最高码元传输速率 = W Baud = W(单位:码元/秒)
码元传输速率又称为波特率、调制速率、波形速率或符号速率。它与比特率有一定关系:
C = W × l o g 2 ( 1 + S N ) (单位: b i t / s ) \color{red}C=W \times log_2(1+\frac{S}{N}) (单位:bit/s) C=W×log2(1+NS)(单位:bit/s)
C:信道的极限信息传输速率(单位:b/s)
W:信道带宽(单位:Hz)
S:信道内所传信号的平均功率
N:信道内的高斯噪声功率
S/N:信噪比(dB) = 10 × l o g 10 ( S N ) \color{red}10 \times log_{10}(\frac{S}{N}) 10×log10(NS)
信道带宽或信道中信噪比越大,信息的极限传输速率越高。
Q:奈氏准则和香农公式,这两个公式对数据通信的意义是什么?
A:奈氏准则指出码元传输的速率会被信道限制,香农公式给出了信息传输速率的极限
习题集:
例1:【2009年题34】在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是
A.12 kbps
B.24 kbps
C.48 kbps
D.96 kbps
【解析】(1)根据奈氏准则可知,该通信链路的最高码元传输速率= 2 x 3k = 6k (Baud) = 6k(码元/秒)
(2)采用4个相位,每个相位4种振幅的QAM调制技术,可以调制出4x4=16个不同的基本波形(码元);
采用二进制对这16个不同的码元进行编码,需要使用4个比特( l o g 2 16 log_216 log216 = 4)。换句话说,每个码元可以携带的信息量为4比特;
综合(1)和(2)可知,该通信链路的最大数据传输速率=6k(码元/秒)x4(比特/码元) = 24k(比特/秒)=24kbps
因此答案选B
例2:【2011年题34】若某通信链路的数据传输速率为2400bps,采用4相位调制,则该链路的波特率是
A.600波特
B.1200波特
C.4800波特
D.9600波特
【解析】(1)采用4相位调制,可以调制出4种相位不同的基本波形(码元)。采用二进制对这4个不同的码元进行编码,需要使用2个比特(log24 = 2)。换句话说,每个码元可以携带的信息量为2比特;
(2)数据传输速率 = 波特率(码元传输速率) × 每个码元所携带的信息量
2400(比特/秒) = 波特率 × 2 (比特/码元)
解得:波特率=1200(码元/秒)= 1200 baud/s
例3:【2016年题34】若连接R2和R3链路的频率带宽为8kHz,信噪比为30dB,该链路实际数据传输速率约为理论最大数据传输速率的50%,则该链路的实际数据传输速率约是
A.8 kbps
B.20 kbps
C.40 kbps
D.80 kbps
【解析】理论最大数据传输速率 c = 8 k × l o g 2 ( 1 + S N ) c=8k \times log_2(1+\frac{S}{N}) c=8k×log2(1+NS),信噪比: 30 ( d B ) = 10 × l o g 10 ( S N ) 30(dB)= 10 \times log_{10}(\frac{S}{N}) 30(dB)=10×log10(NS),解得 S N \frac{S}{N} NS= 1000 代入上式 c = 8 k × l o g 2 ( 1 + 1000 ) ≈ 80 c= 8k \times log2(1 + 1000) \approx 80 c=8k×log2(1+1000)≈80 kbps
该链路的实际数据传输速率 c × 50 % = 40 k b p s c \times 50\%= 40 kbps c×50%=40kbps
因此选C
例4:【2017年 题34】若信道在无噪声情况下的极限数据传输速率不小于信噪比为30dB条件下的极限数据传输速率,则信号状态数至少是
A.4
B.8
C.16
D.32
【解析】设信号状态数(可调制出的不同基本波形或码元数量)为X则每个码元可携带的比特数量为 l o g 2 X log_2X log2X
信道在无噪声情况下的极限数据传输速率(用奈氏准则计算)= 2W(码元/秒)= 2W l o g 2 X log_2X log2X(比特/秒)
30dB信噪比条件下的极限数据传输速率(用香农公式计算)= W l o g 2 X log_2X log2X(1 + 1000)(比特/秒)
根据题意列出不等式:2W l o g 2 X log_2X log2X ≥ W l o g 2 X log_2X log2X(1 + 1000)
解得 X ≥ 32 X ≥ 32 X≥32,选D
2017年 题34 视频解析
定义:封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
透明传输:数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样(即保证接收方接到的数据是完整的数据)
面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输
面向比特的物理链路使用比特填充的方法实现透明传输
奇偶校验码、循环冗余校验CRC、海明码、BCH码、RS码
例1:待发送的信息为101001,生成多项式为 G ( x ) = x 3 + x 2 + 1 G(x)= x^3+ x^2+ 1 G(x)=x3+x2+1,计算余数。
计算步骤:
例2:接收到的信息为101101001,生成多项式为 G ( x ) = x 3 + x 2 + 1 G(x)= x^3+ x^2+ 1 G(x)=x3+x2+1,判断传输是否误码?
计算方法同上,最后检查余数,余数不为0,表明传输过程产生误码!
不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做
可靠传输:想办法实现发送端发送什么,接收端就收到什么
字节填充:面向字节的异步链路采用插入转义字符的字节填充法。
发送方:
接收方:进行反变换即可恢复出原来的帧的数据部分。
发送方:对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,则立即填充1个比特0。
接收方:对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,就把其后的1个比特0删除。
频分复用FDM、时分复用TDM、波分复用WDM
CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早期版本中。
现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CD协议。
载波监听多址接入/碰撞检测 CSMA/CD( Carrier Sense Multiple Access/Collision Detection)【不用于无线网络】
多址接入MA:多个站连接在一条总线上,竞争使用总线。
载波监听CS:每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(先听后说)
96比特时间是指发送96比特所需要的时间,也称为帧间最小间隔。其作用是是接收方可以检测出一个帧的结束,同时也使得其他站点都能有机会平等竞争信道并发送帧
碰撞检测CD:每一个正在发送帧的站边发送边检测碰撞(边说边听)
小结:先听后发、边发边听、冲突停发、延迟重发
①为什么 τ − δ 2 \tau - \dfrac{\delta}{2} τ−2δ时刻发送碰撞?
当D
开始发送的时,A
已经走了 τ − δ \tau - \delta τ−δ时间,所以剩下路程所需要的时间是 δ \delta δ。
又因为A
和D
发送速度是相同的,因此对于 δ \delta δ时间的路程,每人只需要走 δ 2 \dfrac{\delta}{2} 2δ时间就会相遇,即碰撞。
碰撞时刻 = τ − δ + δ 2 = τ − δ 2 =\tau - \delta +\dfrac{\delta}{2}=\tau -\dfrac{\delta}{2} =τ−δ+2δ=τ−2δ
②为什么 t = τ t=\tau t=τ时,D检测到碰撞?
根据上边推论,发现D
走了 δ 2 \dfrac{\delta}{2} 2δ的时间路程后就发送了碰撞,此时它开始返回,经过同样的时间可以回到D
检测到碰撞时间 = δ 2 + δ 2 = δ =\dfrac{\delta}{2}+\dfrac{\delta}{2}=\delta =2δ+2δ=δ
③为什么 2 τ − δ 2\tau - \delta 2τ−δ时,A检测到碰撞?
与D
检测到碰撞同理,A
走了 τ − δ 2 \tau -\dfrac{\delta}{2} τ−2δ时间,因此往回走也是这么多时间
A检测到碰撞时间 = τ − δ 2 + τ − δ 2 = 2 τ − δ =\tau -\dfrac{\delta}{2}+\tau -\dfrac{\delta}{2}=2\tau - \delta =τ−2δ+τ−2δ=2τ−δ
得出结论:
Q:为什么需要规定最小帧长?
A:假设A向D发送帧,如果帧很短的话,在 2 τ 2\tau 2τ内就会将帧发送完毕,帧发送完毕后不会进行碰撞检测,而此时依然有发生碰撞的可能。所以必须保证在 2 τ 2\tau 2τ时间内帧不会被发送完,在这段时间里能够保持碰撞检测
64
字节64
字节,因此凡长度小于64
字节的帧都是由于碰撞检测而异常中止的无效帧【单选题】长度为10km,数据传输率为10Mb/s的CSMA/CD以太网,信号传播速率为200m/μs。那么该网络的最小帧长是
A、20bit
B、200bit
C、100bit
D、1000bit
解析:争用期 2 τ = 10 k m 200 m / μ s × 2 = 1 0 − 4 s 2\tau = \frac{10km}{200m/ \mu s} \times 2=10^{-4} s 2τ=200m/μs10km×2=10−4s
最短帧长=数据传输速率×争用期2 τ \tau τ = 10 M b / s × 1 0 − 4 s = 1000 b 10Mb/s \times 10^{-4}s = 1000b 10Mb/s×10−4s=1000b
当帧过长时,其他线路会迟迟得不到资源,同时也可能导致接收方缓冲区溢出,因此帧的最大长度也有规定。
【2009年题37】在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度是200 000km/s。若最小数据帧长度减少800比特,则最远的两个站点之间的距离至少需要()
A.增加160m
B.增加80m
C.减少160m
D.减少80m
【解析】设最远两个站点之间的距离为d(m),最小帧长为l(bit);
最小帧长=争用期×数据传输速率
l = ( d 200000 × 1 0 3 × 2 ) × 1 0 9 l=\left(\frac{d}{200000 \times 10^{3}} \times 2\right) \times 10^{9} l=(200000×103d×2)×109
得出 d = l 10 d=\frac{l}{10} d=10l
很显然,若最小帧长减少800 bit,最远的两个站点之间的距离至少会减少80m
【2010年 题47】某局域网采用CSMA/CD协议实现介质访问控制,数据传输速率为10Mbps,主机甲和主机乙之间的距离为2km,信号传播速度是200 000km/s。请回答下列问题,要求说明理由或写出计算过程。
(1)如主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)?
两主机同时发送数据,才能使得它们从开始发送数据时刻起,到它们都检测到冲突时刻止,所经过的时间最短。
这段时间包括主机发送的数据信号传播到距离中点处所耗费的传播时延,以及发生碰撞后的碰撞信号传播回主机所耗费的时间(与之前的传播时延相等)。即两主机间单程的传播时延2km÷200 000km/s = 0.01ms
甲发送的帧信号传播到无限接近乙的某个时刻,乙也要发送帧,它检测到信道空闲(但信道此时并不空闲),就立刻开始发送帧,这必然会导致碰撞。乙会首先检测到碰撞,一段时间后甲也会检测到碰撞。
从开始发送数据时刻起,到两台主机均检测到碰撞时刻止,最长需要经过的
时间为两台主机间信号传播的往返时延(争用期)(2km÷200 000km/s ) × 2= 0.02ms
单播地址、广播地址(FF-FF-FF-FF-FF-FF
)与多播地址:
MAC地址中第一字节后4比特(即第2位)十六进制数不能整除2(即为1,3,5,7,9,B,D,F)时,MAC地址是多播地址。将此地址填入帧的目的地址栏中,接收到该帧的主机将此多播地址与自己多播组列表中的地址进行逐一配对,如果有匹配的项,则接收,否则丢弃。举例:A发送多播帧给多播地址是07-E0-12-F6-2A-D8,则07中的7(二进制为0111)不能整除2,符合条件。
集线器HUB:
交换机SWITCH:
以太网交换机自学习和转发帧的流程:
这部分觉得太长可以跳过看后面的小结
假设各主机知道网络中其他各主机的MAC地址(无需进行ARP)
初始交换机1
和2
的MAC地址表都为空
此时有以下任务:①A-->B
②B-->A
A
发送给B
的数据通过端口1
进入交换机,因此交换机先将MAC地址A
接口1
(表示如果要去MAC地址A
,可以走接口1
)记录到MAC表中,同时扫描MAC表查看是否有MAC地址B
对应的接口,发现没有。因此将这个帧从除来源外的所有端口发送出去【泛洪】。1
的端口2
发送此帧到主机C,主机C对比MAC地址后发现不是给自己的帧,因此丢弃1
的3
端口发送此帧到主机B
,主机B
对比MAC地址后发现是给自己的帧,因此收下该帧,交付给高层【注意:此时交换机MAC地址表并没有学习新的条目】1
的4
端口发送此帧到交换机2
的端口2
,交换机2
首先将MAC地址A
接口2
记录到MAC地址表中,接着扫描MAC表,发现没有找到MAC地址B
对应的接口,因此将这个帧从除来源外的所有端口发送出去【泛洪】。1
,3
,4
发送出去给主机后经过比对发现不是自己的帧,因此丢弃B
–>A时,交换机1
的MAC地址表已经有了MAC地址A
接口1
这个条目B
发送给A
的帧从接口3
进入交换机,交换机首先将MAC地址B
接口3
记录到MAC地址表中,接着查询MAC地址表是否有MAC地址A
对应的接口,发现接口1
对应的就是MAC地址A
,因此从接口1
转发出去1
到达主机A
,主机A
经过比对后发现这是自己的帧,因此将其接收交付给高层A
连接在同一总线上的主机G向A
发送帧,过程如何?A
发送帧时,由于A
与G处在同一总线上,因此G发送的帧会直接传送到A
处,A
进行比对发现这是发送给自己的数据,因此将数据接收1
的端口1
,所以交换机1
会将MAC地址G 接口1
记录到MAC表中,同时扫描MAC地址表看看是否有MAC地址A
对应的接口,发现接口1
就是。但是刚刚学习到的MAC地址G也是来自接口1
,因此交换机知道接口1
是来源,没有必要将数据再从这个接口转发出去。以太网交换机进行自学习时使用的PDU(Protocol Data Unit,协议数据单元)地址是源物理地址,进行转发决策时使用的PDU地址是目的物理地址
小结:
对比方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须建立网络层连接 | 不需要建立网络层连接 |
终点地址 | 仅在连接建立阶段使用(需要进行路由选择),每个分组使用短的虚电路号(VCID),不需要为每条虚电路预分配带宽。 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组可走不同的路由 |
当结点出故障时 | 所有通过出故障的结点的虚电路均不能工作 | 出故障的结点可能会丟失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
服务质量保证 | 可以将通信资源提前分配给每一个虚电路,容易实现 | 很难实现 |
TCP/IP体系结构的因特网的网际层提供的是简单灵活、无连接的,不可靠的数据报服务。
lPv4地址的编址方法经历了如下三个历史阶段:分类编址(1981年)、划分子网(1985年)、无分类编址(1993年)
32
比特的IPv4地址常用点分十进制的表示方法
网络类型 | 第一个可指派的网络号 | 最后一个可指派的网络号 | 不能指派的网络号 | 占总地址空间 | IP地址范围 | 网络数量及主机数量 |
---|---|---|---|---|---|---|
A类地址 | 1 | 126 | 0和127 | 1/2 | 1.0.0.1~126.255.255.254 | 126(28-1 -2)个,每个网络能容纳16,777,214(224 -2)个主机 |
B类地址 | 128.0 | 191.255 | 无 | 1/4 | 128.0.0.1~191.255.255.254 | 16384(216-2 )个,每个网络能容纳65534(216 -2)个主机 |
C类地址 | 192.0.0 | 223.255.255 | 无 | 1/8 | 192.0.0.1~223.255.255.254 | 2097152(224-3 )个,每个网络能容纳254(28 -2)个主机 |
D类地址 | 多播地址 | 1/16 | 224.0.0.1~239.255.255.254 | |||
E类地址 | 保留为今后使用 | 1/16 | 240.0.0.1~255.255.255.254 |
127.0.0.1
,最大的本地环回测试地址为127.255.255.254
。所以网络号范围是1~126注:
0.0.0.0
是一个特殊的IPv4地址,只能作为源地址使用,表示“在本网络上的本主机”。封装有DHCP Discovery报文的IP分组的源地址使用0.0.0.0;127.0.0.1
;255.255.255.255
是一个特殊的IPv4地址,只能作为目的地址使用,表示“只在本网络上进行广播(各路由器均不转发)”。【练习】请给出下图各网络的IPv4地址分配方案,要求尽量节约IP地址。
解析:1. 找出图中有哪些网络;2. 根据各网络中主机和路由器的接口总数量给各网络分配相应类别的网络号。3.依据所确定的网络号类别,为每个网络挑选一个网络号。
【习题】已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。
解析:根据所给网络地址可知其为C类网络地址,网络号占3字节,主机号占1字节;根据所给子网掩码可知,从1字节主机号中借用1比特作为子网号。
划分出的子网数量:21 = 2
每个子网可分配的地址数量:2(8-1) – 2 = 126 (减2是去掉主机号为全0的网络地址和全1的广播地址)
默认的子网掩码:是指在未划分子网的情况下使用的子网掩码。
例1:请给出CIDR地址块128.14.35.7/20的全部细节(最小地址,最大地址,地址数量,聚合C类网数量,地址掩码)。
解析:
使用无分类编址方法,可以根据客户的需要分配适当大小的CIDR地址块,因此可以更加有效地分配IPv4的地址空间。
使用无分类编址方法的另一个好处是路由聚合(也称为构造超网)。
路由聚合(构造超网)
【举例】
【2011年题38】在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是( )
A.0
B.1
C.2
D.4
解析:
因此选C。
【2018年题38】某路由表中有转发接口相同的4条路由表项,其目的网络地址分别为35.230.32.0/21、35.230.40.0/21、35.230.48.0/21和35.230.56.0/21,将该4条路由聚合后的目的网络地址为()
A.35.230.0.0/19
B.35.230.0.0/20
C.35.230.32.0/19
D.35.230.32.0/20
解析:路由聚合的方法:找共同前缀
定长的子网掩码FLSM:
【举例】假设申请到的C类网络为218.75.230.0,请使用定长的子网掩码给下图所示的小型互联网中的各设备分配IP地址。
应用需求:将C类网络218.75.230.0划分成5个子网,每个子网上可分配的IP地址数量不得少于各自的需求。即网络1需要IP地址数量为9,网络2需要IP地址数量为28,网络3需要IP地址数量为15,网络4需要IP地址数量为13,网络5需要IP地址数量为4。
变长的子网掩码VLSM:
【举例】假设申请到的地址块为218.75.230.0/24,请使用变长的子网掩码给下图所示的小型互联网中的各设备分配IP地址。
应用需求:从地址块218.75.230.0/24中取出5个地址块(1个“/27”地址块,3个“/28”地址块,1个“/30"地址块),按需分配给上图所示的5个网络。
在218.75.230.0/24地址块中给上图所示的网络N1~N5分配子块,分配原则是“每个子块的起点位置不能随意选取,只能选取块大小整数倍的地址作为起点”。建议先给大的子块分配。
如果从小的开始分配:
实验背景:假设你是某高校的网络管理员。该高校申请到了一个公网地址102.3.1.1/30。现在要为该高校进行IP组网规划。假设使用172.16.0.0/16地址块。应如何规划才能尽量不浪费IP地址?请给出IP地址规划方案,并用下图实验拓扑进行模拟实验。
该校区有教学办公楼、图书馆、南区学生宿舍、英东楼北区学生宿舍公有5个区域需要分配IP地址。其中南区学生宿舍有1500台主机,英东楼中有700台主机,北区学生宿舍有500台主机,教学办公楼有100台主机,图书馆有50台主机。
根据学校需求分配IP网段(理论方案)
区域 | 主机数 | 网段 | 子网掩码(前缀) | 网关 |
---|---|---|---|---|
南区学生宿舍 | 1500 | 172.16.0.0/21 | 255.255.248.0 | 172.16.7.254 |
英东楼 | 700 | 172.16.8.0/22 | 255.255.252.0 | 172.16.11.254 |
北区学生宿舍 | 500 | 172.16.12.0/23 | 255.255.254.0 | 172.16.13.254 |
教学办公楼 | 100 | 172.16.14.0/25 | 255.255.255.128 | 172.16.14.126 |
图书馆 | 50 | 172.16.14.128/26 | 255.255.255.192 | 172.16.14.190 |
外网网段 | 2 | 102.3.1.0/30 | 255.255.255.252 | 102.3.1.2 |
注:网关为网段内可用的最大主机地址。
熟知端口号的范围:0~1023
登记端口号的范围:·1024~49151
客户端使用的端口号范围:49152~65535
用户数据报协议UDP (User Datagram Protocol) |
传输控制协议TCP (Transmission Control Protocol) |
---|---|
无连接,随时可向目的主机发送报文 | 面向连接,发送数据前需要"三报文握手"建立连接,数据传输结束后需要"四报文挥手"释放连接 |
支持单播、多播和广播 | 仅支持单播 |
收到应用层报文后直接为报文添加UDP 首部就进行发送,即面向应用报文 |
面向字节流,其将应用进程交付下来的数据块仅仅看作是一连串的字节流,TCP将这些字节流编号并存储在缓冲中;接收方一边接收数据,一边将缓冲中的数据交给应用进程。 |
UDP向上层提供无连接不可靠传输服务(适用于IP电话、视频会议等实时应用),使用复用和分用、差错检测功能 | TCP向上层提供面向连接的可靠传输服务(适用于要求可靠传输的应用,例如文件传输),使用流量控制和拥塞控制,不会出现传输差错(误码、丢失、乱序、重复) |
首部仅8 字节 |
最小20 字节,最大60 字节 |
流量控制定义:让发送方的发送速率不要太快,要让接收方来得及接收。
利用滑动窗口实现流量控制工作流程:
【2010年题39】主机甲和主机乙之间建立了一个TCP连接,TCP最大段长度为1000字节。若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是( )
A.1000
B.2000
C.3000
D.4000
【解析】TCP发送方的发送窗口= min[ 自身拥塞窗口,TCP接收方的接收窗口 ]
题目未给出TCP发送方的发送窗口的初始值,则取拥塞窗口值作为发送窗口值
拥塞控制主要是四个算法:慢启动(慢开始slow-start)、拥塞避免(congestion avoidance)、快速重传(快重传fast retransmit)、快速恢复(快恢复fast recovery)
下面介绍这四种拥塞控制算法的基本原理,假定如下条件:
发送方维护一个叫做拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度,并且动态变化。
发送方将拥塞窗口作为发送窗口swnd,即swnd = cwnd
。
维护一个叫慢启动门限 ssthresh
(slow start threshold)状态变量
cwnd < ssthresh
时,使用慢启动算法。cwnd > ssthresh
时,就会使用拥塞避免算法。cwnd = ssthresh
时,既可使用慢启动算法,也可使用拥塞避免算法。TCP 在刚建立连接完成后,首先是有个慢启动的过程,这个慢启动的意思就是一点一点的提高发送数据包的数量。
慢启动的算法记住一个规则就行:当发送方每收到一个 ACK,拥塞窗口 cwnd 的大小就会加 1
。
这里假定拥塞窗口 cwnd 和发送窗口 swnd 相等,下面举个例子:
可以看出慢启动算法,发包的个数是指数性的增长。
假定 ssthresh = 8
,此时改用拥塞避免算法。
规则:每当收到一个 ACK 时,cwnd 线性+1
。
当重传计时器超时,判断网络很可能出现了拥塞,触发超时重传
当发生了超时重传,则就会使用拥塞发生算法
此时sshresh
和 cwnd
的值会发生变化:
ssthresh
设为发生拥塞时cwnd
值的一半cwnd
重置为 1
,并重新开始慢开始算法接着,就重新开始慢启动,慢启动是会突然减少数据流的,这种方式太激进了,反应也很强烈,会造成网络卡顿。
参考链接: TCP 重传、滑动窗口、流量控制、拥塞控制
后来的“快速恢复”算法是在上述的“快速重传”算法后添加的,当收到3个重复ACK时,TCP最后进入的不是拥塞避免阶段,而是快速恢复阶段。
当收到3
个连续重复的ACK,则进入快速恢复算法,如下:
cwnd = cwnd/2
;ssthresh = cwnd
;cwnd = ssthresh
(有的版本是cwnd = ssthresh + 3
,+ 3
的意思是确认有 3 个数据包被收到了)cwnd + 1
;cwnd = ssthresh
,接着就进入了拥塞避免算法注:
【2009年题39】一个TCP连接总是以1KB的最大段长发送TCP段,发送方有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是()
A.7KB
B.8KB
C.9KB
D.16KB
解析:
TCP超时重传时间RTO应略大于TCP端到端加权平均往返时间RTTs。
TCP基于以字节为单位的滑动窗口来实现可靠传输。
TCP的连接建立要解决以下三个问题:
一开始。TCP服务器进程与客户进程都首先创建传输控制块,用来存储TCP连接中的一些重要信息。例如TCP连接表、指向发送和接收缓存的指针、指向重传队列的指针、当前的发送和接收序号等。
SYN=1
:表明这是一个TCP连接请求报文段。seq=x
:TCP客户进程所选择的初始序号。SYN=1
,ACK=1
:表明这是一个TCP连接请求确认报文段。seq=y
:作为TCP服务器进程选择的初始序号。ack=x+1
:这是对TCP客户进程选择的初始序号的确认。ACK=1
:表明这是一个普通的TCP确认报文段。seq=x+1
,这是因为TCP客户进程发送的第一个TCP报文段的序号为x。(发送的下一份TCP报文序号仍然是x+1)ack=y
,这是对TCP服务器进程选择的初始序号的确认。注意:
SYN=1
的报文段不能携带数据,但要消耗掉一个序号。Q:为什么TCP客户进程最后还要发送普通的TCP确认报文段呢?是否多余?
A:不多余,这是为了防止已失效的连接请求报文段突然又传送到了TCP服务器,因而导致错误。
FIN
、确认位ACK
设置为1:表明这是一个TCP连接释放报文段,同时也是对之前接收数据的确认。seq=u
:等于TCP客户进程之前已传送过的数据的最后一个字节的序号加1。ack=v
:等于TCP客户进程之前已收到的数据的最后一个字节的序号加1。ACK=1
:表明这是一个普通的TCP确认报文段。seq=v
,等于TCP客户进程之前已收到的数据的最后一个字节的序号加1。(发送的下一份TCP报文序号仍然是v)ack=u+1
,这是对TCP连接释放报文段的确认。FIN=1
,ACK=1
:表明这是—个TCP连接释放报文段,同时也对之前收到的报文段进行确认。seq=w
:在半关闭状态下,TCP进程可能发送一些数据,导致序列号增加;如果没有发送数据则w=v
ack=u+1
:这是对之前收到的TCP连接释放报文段的重复确认。ACK=1
:表明这是一个普通的TCP确认报文段。seq=u+1
,等于TCP客户进程之前已收到的数据的最后一个字节的序号加1。ack=w+1
,这是对TCP连接释放报文段的确认。注意:TCP规定终止位FIN=1
的报文段即使不携带数据,也要消耗掉一个序号。
习题:
【2017 题39】若甲向乙发起一个TCP连接,最大段长MSS=1KB,RTT=5ms,乙开辟的接收缓存为64KB,则甲从连接建立成功至发送窗口达到32KB,需经过的时间至少是
A、25ms
B、30ms
C、160ms
D、165ms
【2020年 题38】若主机甲与主机乙已建立一条TCP连接,最大段长MSS为1KB,往返时间RTT为2ms,则在不出现拥塞的前提下,拥塞窗口从8KB增长到20KB所需的最长时间是
A、4ms
B、8ms
C、24ms
D、48ms
【单选题】在一个TCP连接中,MSS为1KB,当拥塞窗口为28KB时发生了超时事件。如果在接下来的3个RTT内报文段传输都是成功的,那么当这些报文段均得到确认后,拥塞窗口的大小是
A、4
B、8
C、9
D、16
【单选题】A和B之间建立了TCP连接,A向B发送了一个报文段,其中序号字段seq=200,确认号字段ack=201,数据部分有2个字节,那么在B对该报文段的确认段中( )
A、seq=202, ack=200
B、seq=201, ack=201
C、seq=201, ack=202
D、seq=202, ack=201
答案:
1.A(解析: 视频讲解) 2.C(解析:视频讲解)
3.B(解析:当发生超时事件时,TCP拥塞算法变成慢开始,并且发送窗口swnd更新为1,慢开始门限ssthresh更新为28KB/2=14KB。
第1个RTT结束后,发送窗口swnd增长到2;
第2个RTT结束后,发送窗口swnd增长到4;
第3个RTT结束后,发送窗口swnd增长到8。)
4.C(解析:seqB = ackA ackB = ackA + 1)
动态主机配置协议DHCP可以帮助各主机自动获取网络的相关配置,而不需要手工配置。
工作过程:
DHCP客户机首先进行广播寻找DHCP服务器(DHCP DISCOVER
),源地址为本机0.0.0.0
,目的地址为广播地址255.255.255.255
DHCP服务器收到后,返回DHCP OFFER
消息,其中包含提供给DHCP客户机的IP地址(使用ARP确保所选IP地址未被网络中其他主机占用)和相关配置信息。源地址为DHCP服务器地址,目的地址为广播地址(因为此时目的客户机还没有IP地址)
客户机可能会收到多个DHCP提供消息,一般以收到的第一个为准。此时客户机知道DHCP服务器可以给它分配地址,因此发送DHCP REQUEST
报文来请求分配IP地址,报文的源地址为0.0.0.0
,目的地址为255.255.255.255
DHCP收到请求信息后,查看其中事务ID是否相符,若不符则丢弃;符合则从地址池中取得一个IP地址,并通过ARP协议确认此地址未被使用后,将其封装进DHCP ACK
信息中,报文源地址为DHCP服务器地址,目的地址为广播地址
客户机收到DHCP确认信息后,查看其中事务ID是否相符,不符则丢弃;符合则再次使用ARP确认IP地址没有被使用
DHCP DECLINE
报文撤销IP地址租约,并重新发送DHCP DISCOVER
报文;当IP地址租约达到0.5
倍时间时,客户机会再次向DHCP服务器发送请求信息更新租用期。源地址为租用的IP地址,目的地址为DHCP服务器地址。此时DHCP服务器会出现以下三种情况:
DHCP ACK
),其中有新的IP地址租期,重新设置计时器。DHCP NACK
),则客户机收到后立刻停止使用IP地址并重新发送DHCP DISCOVER
报文DHCP REQUEST
报文,继续等待DHCP服务器可能做出的反应。若依然无反应,则租用期到后,客户机必须立刻停止使用当前IP地址,并重新发送DHCP DISCOVER
报文来重新申请IP地址。客户端可随时终止DHCP服务器提供的租用期,这时只需要向DHCP服务器发送DHCP RELEASE
即可。源地址0.0.0.0,目的地址255.255.255.255
域名解析的过程:
递归查询(较少使用):
由于递归查询对于被查询的域名服务器负担太大,通常采用以下模式:
❗ 转载请注明出处
作者:HinsCoder
博客链接: 作者博客主页