计算机网络课后作业2023秋

计算机网络第三版吴功宜版 课后作业

  • 第一章作业
    • 三、计算与问答
      • 3.7
      • 3.8
  • 第二章作业
    • 三、计算与问答
      • 3.2
      • 3.5
      • 3.6
  • 第三章作业
    • 三、计算与问答
      • 3.1
      • 3.5
      • 3.7
      • 3.8
  • 第四章作业
    • 三、计算与问答
      • 3.1
      • 3.2
  • 第五章作业
    • 三、计算与问答
      • 3.1
      • 3.3
      • 3.4
      • VLAN
        • 交换机模式
        • 模式切换
        • 重置交换机
        • VLAN配置命令
        • 其它命令

第一章作业

三、计算与问答

3.7

  1. 长度为 8B与536B 的应用层数据通过传输层时加上了 20B的 TCP 报头,通过网络层时加上60B的IP分组头通过数据链路层时加上了18B的 Ethernet 头和尾。分别计算两种情况下的数据传输效率。

8B: 8 8 + 20 + 60 + 18 = 4 53 ≈ 0.0755 \frac{8}{8+20+60+18}=\frac{4}{53} \approx 0.0755 8+20+60+188=5340.0755
536B: 536 536 + 20 + 60 + 18 = 536 634 ≈ 0.845 \frac{536}{536+20+60+18}=\frac{536}{634} \approx 0.845 536+20+60+18536=6345360.845

3.8

  1. 计算发送延时与传播延时条件:
    主机之间传输介质长度 D=1000km。电磁波传播速度为 2 × 1 0 8 2\times10^8 2×108m/s。
    (1) 数据长度为 1 × 1 0 3 1\times10^3 1×103bit,数据发送速率为100Kbps。
    (2) 数据长度为 1 × 1 0 8 1\times10^8 1×108bit,数据发送速率为10Gbps。

(1)
数据长度:N= 1 × 1 0 3 1\times10^3 1×103bit
数据发送速率:S=100Kbps
发送延时 T = N S = 1 0 3 100 × 1 0 3 = 1 100 s \mathrm{T}=\frac{N}{S}=\frac{10^3}{100\times 10^3}=\frac{1}{100}\mathrm{s} T=SN=100×103103=1001s
传播距离:D=1000km
传播速度:V= 2 × 1 0 8 2\times10^8 2×108m/s
传播时间: T = D V = 1000 × 1 0 3 2 × 1 0 8 = 1 200 T = \frac{D}{V}=\frac{1000\times 10^3}{2\times10^8}=\frac{1}{200} T=VD=2×1081000×103=2001s
(2)
发送延时 T = N S = 1 0 8 10 × 1 0 9 = 1 100 s \mathrm{T}=\frac{N}{S}=\frac{10^8}{10\times 10^9}=\frac{1}{100}\mathrm{s} T=SN=10×109108=1001s
传播时间: T = D V = 1000 × 1 0 3 2 × 1 0 8 = 1 200 T = \frac{D}{V}=\frac{1000\times 10^3}{2\times10^8}=\frac{1}{200} T=VD=2×1081000×103=2001s

第二章作业

三、计算与问答

3.2

  1. 计算机网络采用层次结构的模型有什么好处?

3.5

  1. 请描述在 OSI 参考模型中数据传输的基本过程。

3.6

  1. TCP/IP的主要特点是什么?

第三章作业

三、计算与问答

3.1

  1. 已知:电话线路带宽B=3000Hz,根据奎斯特准则求无噪声信道的最大数据传输速率为多少?

参考教材 P85
根据奈奎斯特定理,二进制数据信号的最大传输速率 R m a x R_{max} Rmax与理想信道带宽 B B B(单位 H z \mathrm{Hz} Hz)的关系可以写为 R m a x = 2 B ( b p s ) R_{max}=2B(bps) Rmax=2B(bps).
B = 3000 H z \mathrm{B}=3000Hz B=3000Hz
R m a x = 2 B = 2 × 3000 = 6000 b p s R_{max}=2B=2\times 3000=6000\;bps Rmax=2B=2×3000=6000bps

3.5

在这里插入图片描述

参考教材 P80
比特率S(单位为bps)与调制速率B(单位为baud)之间的关系可以表示为: S = B ⋅ l o g 2 k S=B\cdot\mathrm{log}_2k S=Blog2k k k k为多相调制的相数, l o g 2 k \mathrm{log}_2k log2k值表示一次调制转态的变化传输的二进制比特数。

调制速率:B(baud)多相调制的相数: l o g 2 k \mathrm{log}_2k log2k数据传输速率:S(bps)
3600QPSK-8 ( l o g 2 8 = 3 ) (\mathrm{log}_28=3) (log28=3) 3600 × 3 = 10800 3600\times 3=10800 3600×3=10800
3600QPSK-16 ( l o g 2 16 = 4 ) (\mathrm{log}_216=4) (log216=4) 3600 × 4 = 14400 3600\times 4=14400 3600×4=14400
3600QPSK-64 ( l o g 2 64 = 6 ) (\mathrm{log}_264=6) (log264=6) 3600 × 6 = 21600 3600\times 6=21600 3600×6=21600
3600QPSK-256 ( l o g 2 256 = 8 ) (\mathrm{log}_2256=8) (log2256=8) 3600 × 8 = 28800 3600\times 8=28800 3600×8=28800

3.7

  1. 已知:A=01011011。请画出A的差分曼彻斯特编码的波形

参考教材 P81

在这里插入图片描述

Online python: Python compiler: link
如果自己机器上没有Python环境,可以用在线Python解析器来运行下面的代码

# 绘制差分曼彻斯特编码code
# 定义一个函数,接受一个二进制字符串作为参数,返回一个差分曼彻斯特编码的波形图
# 导入matplotlib库,用来绘制波形图
import matplotlib.pyplot as pltdef diff_manchester(binary_string, level=-1):# 初始化一个空列表,用来存储编码后的电平值levels = []# 初始化一个变量,用来记录当前的电频,默认初始电平为-1,表示低电频level = level# 遍历二进制字符串中的每个比特for bit in binary_string:# 如果比特为0,那么在比特周期的开始处电平跳变,中间保持不变if bit == "0":level = -level # 电平跳变levels.append(level) # 添加到列表中levels.append(level) # 添加到列表中# 如果比特为1,那么在比特周期的开始处电平保持不变,中间跳变else:levels.append(level) # 添加到列表中level = -level # 电平跳变levels.append(level) # 添加到列表中# 设置x轴的刻度,每个比特占两个单位xticks = [i for i in range(0, len(binary_string) * 2 + 1, 2)]# 设置x轴的标签,显示原始的二进制字符串xlabels = list(binary_string)# 在xlabels列表的末尾添加一个空字符串,使其长度与xticks相同xlabels.append("")# 创建一个新的图形plt.figure()# 绘制折线图,使用阶梯状的线条,颜色为蓝色,线宽为2plt.plot(levels, drawstyle="steps-pre", color="blue", linewidth=2)# 设置x轴的范围,从-0.5到最后一个比特的中间plt.xlim(-0.5, len(binary_string) * 2 - 0.5)# 设置y轴的范围,从-1.5到1.5plt.ylim(-1.5, 1.5)# 设置x轴的刻度和标签plt.xticks(xticks, xlabels)# 设置y轴的刻度和标签,只显示-1和1plt.yticks([-1, 1], [-1, 1])# 设置标题,显示差分曼彻斯特编码plt.title("Differential Manchester Encoding")# 遍历每个比特周期的开始处for i in range(0, len(binary_string) * 2, 2):# 绘制一条从-1.5到1.5的竖着的虚线,颜色为灰色,线宽为1plt.vlines(i, -1.5, 1.5, linestyles="dashed", color="gray", linewidth=1)# 显示图形plt.show()
# test
diff_manchester('01011011')

3.8

  1. 如果主机的数据发送速率达到 100Mbps,采用曼彻斯特编码,那么相应的时钟频率应该为多少?

答:200MHz
参考教材 P82在这里插入图片描述

第四章作业

三、计算与问答

3.1

  1. 如果数据字段为11100011,生成多项式 G ( X ) = X 5 + X 4 + X + 1 G(X)=X^5+X^4+X+1 G(X)=X5+X4+X+1。请写出发送的比特序列,并画出曼彻斯特编码序号波形图。

参考教材:P108
参考视频链接
模二运算除法在线工具
G ( X ) G(X) G(X)展开式: G ( X ) = 1 × X 5 + 1 × X 4 + 0 × X 3 + 0 × X 2 + 1 × X 1 + 1 × X 0 G(X)=1\times X^5+1\times X^4+0\times X^3+0\times X^2+1\times X^1+1\times X^0 G(X)=1×X5+1×X4+0×X3+0×X2+1×X1+1×X0
G ( X ) G(X) G(X)展开式的系数,既多项式比特序列: 1 1 0 0 1 1 1\;1\;0\;0\;1\;1 110011
f ( x ) f(x) f(x)数据字段: 1 1 1 0 0 0 1 1 1\;1\;1\;0\;0\;0\;1\;1 11100011
多项式的系数序列的长度: N = 6 N=6 N=6
余数的长度 k k k为多项式的系数序列的长度 N − 1 N-1 N1: k = N − 1 ; e . g . , 6 − 1 = 5 k=N-1;\;e.g.,6-1=5 k=N1;e.g.,61=5
余数的长度: k = 5 k=5 k=5
在数据字段后面增加k个0,用来保证够除以多项式比特序列,得到被除数: 1 1 1 0 0 0 1 1 0 0 0 0 0 1\;1\;1\;0\;0\;0\;1\;1\;0\;0\;0\;0\;0 1110001100000
用多项式比特序列: 1 1 0 0 1 1 1\;1\;0\;0\;1\;1 110011作为除数, 1 1 1 0 0 0 1 1 0 0 0 0 0 1\;1\;1\;0\;0\;0\;1\;1\;0\;0\;0\;0\;0 1110001100000作为被除数,求余数,然后把余数加到被除数即可得到增加了CRC冗余码的传输比特流。
答案: 1 1 1 0 0 0 1 1 1 1 0 1 0 1\;1\;1\;0\;0\;0\;1\;1\;1\;1\;0\;1\;0 1110001111010
计算过程:
(1) 求余数
在这里插入图片描述
求得余数为: 1 1 0 1 0 1\;1\;0\;1\;0 11010
(2) 求传输比特流
发送比特序列=被除数+余数
发送比特序列 = 1 1 1 0 0 0 1 1 0 0 0 0 0 + 1 1 0 1 0 = 1 1 1 0 0 0 1 1 1 1 0 1 0 1\;1\;1\;0\;0\;0\;1\;1\;0\;0\;0\;0\;0+1\;1\;0\;1\;0=1\;1\;1\;0\;0\;0\;1\;1\;1\;1\;0\;1\;0 1110001100000+11010=1110001111010
在这里插入图片描述

曼彻斯特编码波形:
参考教材 P81
教材的规则:低到高为1,高到低为0。


在这里插入图片描述
补充知识:被除数 ÷ \div ÷除数=商
e.g.,
在这里插入图片描述

Online python: Python compiler: link
如果自己机器上没有Python环境,可以用在线Python解析器来运行下面的代码

# 绘制曼彻斯特编码波形code
# 导入matplotlib库
import matplotlib.pyplot as plt# 定义一个函数,输入任意二进制比特流,绘制出曼彻斯特编码图
def manchester_encoding(bitstream):# 初始化曼彻斯特编码的列表manchester = []# 遍历输入的比特流for bit in bitstream:# 如果当前比特是0,曼彻斯特编码为01if bit == '0':manchester.extend([0, 1])# 如果当前比特是1,曼彻斯特编码为10elif bit == '1':manchester.extend([1, 0])# 反转曼彻斯特编码的列表,让0用低电平表示,1用高电平表示manchester = [1 - x for x in manchester]# 绘制曼彻斯特编码的图plt.figure(figsize=(5, 3))plt.step(range(len(manchester)), manchester, where='post')plt.title('Manchester encoding of ' + bitstream)plt.xlabel('Time')plt.ylabel('Level')plt.yticks([0, 1])plt.tight_layout()plt.show()# 测试函数
manchester_encoding('1110001111010')

3.2

  1. 某个数据通信系统采用 CRC校验方式,并且生成多项式 G ( x ) G(x) G(x)的二进制比特序列为11001,目的主机接收到的二进制比特序列为 110111001(含 CRC 校验码)。请判断传输过程中是否出现了差错?为什么?

答案:出错,因为除不尽呀
参考教材 P108
CRC的校验原理为:
发送方
除数=二进制比特序列
被除数=原始数据+二进制比特序列长度-1个0
余数=被除数 ÷ {\div} ÷除数
发送数据=被除数+余数
接收方
用接收到的数据 ÷ \div ÷除数,如果余数为0则认为没有错误,否则有错
需要说明的是:除数是提前约定好的,两方都是在协议里提前说好的
计算过程:
在这里插入图片描述
接收到的数据 ÷ \div ÷除数 ≠ 0 \ne 0 =0,所以数据在传输过程中发生错误。

第五章作业

三、计算与问答

3.1

  1. 采用CSMA/CD介质访问控制方式的局域网,总线长度为 1000m,数据传输速率为10Mbps,电磁波在总线传输介质中的传播速度为 2 × 1 0 8 2\times10^8 2×108m/s。计算:最小帧长度应该为多少?
    参考教材p146
    最短帧长度: L m i n L_{min} Lmin
    主机发送速率: S S S
    主机发送的数据帧最短帧长=争用期时长×数据传输速率: L m i n = 2 τ × V L_{min}=2\tau\times V Lmin=2τ×V
    传输延迟=总线长度/传播速度,既: τ = D / V \tau=D/V τ=D/V
    其中争用期为端到端传输时延的两倍 : T c = 2 τ T_c = 2\tau Tc=2τ
    如果发生主机发送信号后出现冲突则在 2 τ 2\tau 2τ时间内必能检测到并停止发送,如果发送信息的时间短于争用期,则在检测到冲突之前信息就已经发送完毕,所以发送数据帧的时间应长于争用期。
    既要满足关系: L m i n S ≥ T c \frac{L_{min}}{S}\ge T_c SLminTc

D=1000
V = 2 × 1 0 8 2\times10^8 2×108
S = 10Mbps
τ = D V = 1000 2 × 1 0 8 = 0.5 × 1 0 − 5 \tau=\frac{D}{V}=\frac{1000}{2\times10^8}=0.5\times10^{-5} τ=VD=2×1081000=0.5×105
T c = 2 τ = 2 × 0.5 × 1 0 − 5 = 1 0 − 5 T_c=2\tau=2\times0.5\times10^{-5}=10^{-5} Tc=2τ=2×0.5×105=105
L m i n = T c × S = 1 0 5 × 10 M b p s = 1 0 − 5 × 10 × 1 0 6 b p s = 100 L_{min}=T_c\times S =10^{5}\times10\mathrm{Mbps}=10^{-5}\times 10\times 10^{6}\mathrm{bps}=100 Lmin=Tc×S=105×10Mbps=105×10×106bps=100bit

3.3

3.主机A 连接在总线长度为 1000m 的局域网总线的一端,局域网介质访控制方式为CSMA/CD,发送速率为100Mbps。电磁波在总线传输介质中的传播速度为 2 × 1 0 8 2\times10^8 2×108m/s。如果主机 A 最先发送帧,并且在检测出冲突发生的时候还有数据要发送。请回答:
(1)主机A 检测到冲突需要多长时间?
(2)当检测到冲突的时候,主机 A 已经发送多少位的数据?

(1)
D=1000
V= 2 × 1 0 8 2\times10^8 2×108
τ = D V = 1000 2 × 1 0 8 = 0.5 × 1 0 − 5 \tau=\frac{D}{V}=\frac{1000}{2\times10^8}=0.5\times10^{-5} τ=VD=2×1081000=0.5×105s
T c = 2 τ = 2 × 0.5 × 1 0 − 5 = 1 0 − 5 T_c = 2\tau=2\times0.5\times10^{-5}=10^{-5} Tc=2τ=2×0.5×105=105s=10 μ \mu μs


(2)
S=100Mbps= 100 × 1 0 6 100\times 10^6 100×106bps
L m i n = S × T c = 100 × 1 0 6 × 1 0 − 5 = 1000 L_{min}=S\times T_c=100\times 10^6\times10^{-5}=1000 Lmin=S×Tc=100×106×105=1000bit

3.4

  1. 采用 CSMA/CD介质访问控制方式的局域网,总线长度为 2000m,数据传输速率为10Mbps,电磁波在总线传输介质中的传播速度为 2 × 1 0 8 2\times10^8 2×108m/s。
    假设:局域网中主机A 与主机 B连接在总线的两端并且只有主机 A、B发送数据。请回答:
    (1)如果发送数据后发生冲突,那么从开始发送数据到检测到冲突,最短需要多少时间?最长需要多少时间?
    (2)如果局域网中不存在冲突,主机A发送一个最长 Ethernet 帧(1518B)之后,主机B就用一个最短 Ethernet帧 (64B)确认。主机 A在得到确认之后就立即发送下一帧。忽略帧间间隔,那么主机 A的有效传输速率是多少?

(1)
最短时间( T 1 T_1 T1):既主机A和主机B同时开始发送数据的情况下,那么他们会在传输过程中检测到冲突的时间。
最长时间( T 2 T_2 T2):就是一个先发,数据刚要到另一个机器的时候,另一个机器开始发,比如主机A在检测到总线空闲后开始发送数据,而主机B在主机A的数据到达之前的一瞬间也开始发送数据,那么他们会在主机B的数据到达主机A处时检测到冲突。
显然最长时间是最短时间的两倍既: T 2 = 2 T 1 T_2=2T_1 T2=2T1
D=2000
V= 2 × 1 0 8 2\times10^8 2×108
S=10Mbps= 10 × 1 0 6 10\times 10^6 10×106bps
T 1 = D V = 2000 2 × 1 0 8 = 1 × 1 0 − 5 s = 10 μ T_1=\frac{D}{V}=\frac{2000}{2\times10^8}=1\times10^{-5}\mathrm{s}=10\mu T1=VD=2×1082000=1×105s=10μs
T 2 = 2 T 1 = 20 μ T_2 = 2T_1=20\mu T2=2T1=20μs

(2)
有效传输速率:如果局域网中不存在冲突,那么主机A发送一个最长 Ethernet 帧(1518B)的时间为 T 3 T_3 T3
T 3 = 1518 B × 8 b i t 10 M b p s = 1.2144 × 1 0 − 3 s = 1.2144 m s T_3=\frac{1518 \mathrm{~B} \times 8 \mathrm{bit}}{10 \mathrm{Mbps}}=1.2144\times10^{-3}\mathrm{s}=1.2144 \mathrm{~ms} T3=10Mbps1518 B×8bit=1.2144×103s=1.2144 ms
主机B收到主机A的帧后,立即发送一个最短 Ethernet 帧 (64B)作为确认,其发送时间为 T 4 T_4 T4
T 4 = 64 B × 8 b i t 10 M b p s = 0.0512 × 1 0 − 3 s = 0.0512 m s T_{4}=\frac{64 \mathrm{~B} \times 8 \mathrm{bit}}{10 \mathrm{Mbps}}=0.0512\times 10^{-3}\mathrm{s}=0.0512 \mathrm{~ms} T4=10Mbps64 B×8bit=0.0512×103s=0.0512 ms
主机A收到主机B的确认后,立即发送下一帧,那么主机A发送两个最长 Ethernet 帧的时间间隔,既发送一个帧到在发送下一个帧的时间为 T 5 T_5 T5
T 5 ​ = T 3 ​ + 2 × T 1 ​ + T 4 ​ = 1.2865 × 1 0 − 3 s = 1.2865 m s T_5​=T_3​+2\times T_1​+T_4​=1.2865\times10^{-3}\mathrm{s}=1.2865ms T5=T3+2×T1+T4=1.2865×103s=1.2865ms
其中, T 1 T_1 T1​为主机A、B之间帧的传输时间,2倍 T 1 T_1 T1表示A传给B,B的确认信息又传给A。
在计算主机A发送一个完整的最长 Ethernet 帧的有效传输速率时,只考虑帧中的有效数据,既去除帧头的18B
r = ( 1518 − 18 ) B × 8 b i t T 5 ≈ 9.33 M b p s r=\frac{(1518-18) B \times 8 b i t}{T_{5}}\approx 9.33 \mathrm{Mbps} r=T5(151818)B×8bit9.33Mbps

VLAN

交换机模式

Switch>  用户模式,可以查看信息,不能修改配置,默认入口
Switch#  (enable)特权模式,可以查看信息,可以执行管理命令,如重启,备份,重置等
Switch(config)#  (conf t)全局配置模式,可以修改交换机的全局配置,比如主机名,密码,IP
Switch(config-if)#  (interface FastEthernet0/1)接口配置模式,可以修改各个接口的配置,VLAN编号,名称等

模式切换

从用户模式进入特权模式:输入enable命令,然后输入密码。
从特权模式进入全局配置模式:输入configure terminal命令。
从全局配置模式进入接口配置模式:输入interface命令,然后输入接口编号。
从全局配置模式进入VLAN配置模式:输入vlan database命令。
从任何模式返回上一级模式:输入exit命令。
从任何模式返回用户模式:输入end命令。
在全局配置模式下执行特权模式的命令:在命令前加do关键字。

重置交换机

enable: 进入特权模式
erase startup-config:重置配置文件
reload:重启交换机

VLAN配置命令

Switch>enable   # 进入特权模式
Switch#show vlan  # 查看vlan
Switch#conf t   # 进入全局配置模式
Switch(config)#vlan 10   # 全局模式下创建VLAN编号
Switch(config-vlan)#name VLAN10   # VLAN 配置模式
Switch(config-vlan)#exit  # 退出VLAN配置模式到全局配置模式
Switch(config)#do show vlan  # 全局配置模式下查看VLAN信息
Switch(config)#no vlan 10 # 全局模式下清除VLAN
Switch(config)#interface FastEthernet0/1 #进入交换机端口1
Switch(config)#interface FastEthernet0/1 #配置端口1的模式为access,access表示该端口只允许一个VLAN数据通过
Switch(config-if)#switchport access vlan 10 #配置端口2属于vlan 10
Switch(config-if)#exit 退出端口1
Switch(config-if)#switchport mode trunk  #配置端口类型为trunk模式,trunk模式运行多个VLAN的数据通过该端口

其它命令

ping ip  #测试网络是否畅通
arp -a #查看可到达的ip-mac 地址表
ipconfig -all  # 查看网络配置信息
netsh interface ip set address name=“本地连接” source=static addr=192.168.0.3 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=auto(gateway和gwmetric默认不设置也可以)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解JVM虚拟机第二十四篇:详解JVM当中的动态链接和常量池的作用

大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻J…

在虚拟环境下安装python包

PyCharm可以自己给项目创建虚拟环境,示例如下: 首先通过File—>Setting—>Project:【项目名称】—>Project Interpreter—>设置—>add—>Virtuallenv Environment配置虚拟环境即可 添加解释器: 当创建虚拟环…

sqli-labs关卡13(基于post提交的单引号加括号的报错盲注)通关思路

文章目录 前言一、回顾第十二关知识点二、靶场第十三关通关思路1、判断注入点2、爆显位3、爆数据库名4、爆数据库表5、爆数据库列6、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,…

c++范围for语句

语法格式 for(declaration:expression)statement 基本使用 遍历输出 vector<int> nums { 1,2,3,4,5}; for (int num : nums) {num;cout << num << " "; } cout << endl; 遍历时修改 vector<int> nums { 1,2,3,4,5}; for (int&…

浏览器Cookie是什么?如何在MaskFog指纹浏览器中导入Cookie?

在使用互联网时我们常常听到cookie这个词&#xff0c;那到底什么是cookie呢&#xff1f; Cookie是某些网站为了辨别用户身份而储存在用户本地终端上的数据&#xff08;通常经过加密&#xff09;&#xff0c;由用户客户端计算机暂时或永久保存的信息客户端向服务器发起请求&…

基于单片机的塑料厂房气体检测系统设计

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计实物 四、结论五、 文章目录 概要 本文首先分析了基于单片机的可燃…

【计算机网络】UDP协议

UDP的结构 我们学习一个协议最主要的就是理解它的报文格式&#xff0c;对于UDP协议来说 我们看下面的这张图。 16位UDP长度&#xff0c;表示整个数据报&#xff08;UDP首部UDP数据&#xff09;的最大长度。UDP报文长度占两个字节&#xff0c;16位表示的数据范围&#xff08;0-…

【保姆级教程】Linux安装JDK8

本文以centos7为例&#xff0c;一步一步进行jdk1.8的安装。 1. 下载安装 官网下载链接&#xff1a; https://www.oracle.com/cn/java/technologies/downloads/#java8 上传jdk的压缩包到服务器的/usr/local目录下 在当前目录解压jdk压缩包&#xff0c;如果是其它版本&#xf…

一篇博客读懂队列——Queue

目录 一、队列的概念和结构 ​二、队列的实现 2.1队列的初始化QueueInit 2.2队列的摧毁QueueDestroy 2.3插入结点QueuePush 2.4删除结点QueuePop 2.5返回队头QueueFront 2.6返回队尾QueueBack 2.7判断队列为空QueueEmpty 2.8统计队列数目QueueSize 一、队列的概念和…

数据结构与算法【递归】Java实现

递归 递归是一种解决计算问题的方法&#xff0c;其中解决方案取决于同一类问题的更小子集。 特点&#xff1a; 自己调用自己&#xff0c;如果说每个函数对应着一种解决方案&#xff0c;自己调用自己意味着解决方案是一样的&#xff08;有规律的&#xff09;每次调用&#xf…

计算机毕业设计选题推荐-体育赛事微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Oracle(2-1) Networking Overview

文章目录 一、基础知识1、Network Environ Challenges 网络环境挑战2、Simple Network :2-Tier 简单的两层网络3、Simple to Complex : N-Tier 简单到复杂&#xff1a;N层网络4、Oracle Network Solutions Oracle网络解决方案5、Key Features of Oracle Net Oracle Net的主要功…

酷柚易汛ERP-购货订单操作指南

1、应用场景 先下购货订单&#xff0c;收货入库后生成购货单。 2、主要操作 2.1 新增购货订单 打开【购货】-【购货订单】新增购货订单。&#xff08;*为必填项&#xff0c;其他为选填&#xff09; ① 录入供应商&#xff1a;点击供应商字段框的 &#xff0c;在弹框中选择供…

客户下单时如何自动匹配到最近的门店

有些商家有多个门店&#xff0c;当客户下单时&#xff0c;希望能够将客户下的订单分配给最近的门店。下面就具体介绍一下在采云小程中是如何实现的。 首先&#xff0c;为了简便起见&#xff0c;请确定门店高级设置保持着默认设定。因为单独的商品管理模式以及独享的商品信息模…

【milkv】0、duo编译环境搭建

一、开发资料整理 Docker https://hub.docker.com/repository/docker/dreamcmi/cv1800-docker/general GitHub https://github.com/milkv-duo/duo-buildroot-sdk CV181x/CV180x MMF SDK 开发文档汇总 https://developer.sophgo.com/thread/471.html cv181x芯片使用的交叉…

【Linux】 ls -l 和 grep

语法:用于显示指定工作目录下之内容 ls [-alrtAFR] [name...]将 /bin 目录以下所有目录及文件详细资料列出: ls -lR /bin将 /usr/local/bin 目录以下所有有关python列出: ls -l /usr/local/bin/ | grep python在使用 ls -l 命令时&#xff0c;第一列的字符表示文件或目录的类…

js 加密解密 cryptojs(对称加密库)

js 加密解密可以使用 crypto-js 这是一个对称加密的库&#xff0c; 可以使用 AES DES 但没有 rsa 等非对称加密的方法 安装方法 npm install crypto-js 它可以进行 MD5 SHA-1 SHA-256 Base64 AES DES 等算法和加密 import crypto from "crypto-js"let md5binary cry…

RT-Thread系列10——ETH网口设备

文章目录 1. ETH测试第一步&#xff1a;cubemx配置。第二步&#xff1a;board.h配置。第三步&#xff1a;rtthread settings配置第四步&#xff1a;以太网复位引脚设置第五步&#xff1a;修改rtthread源码第六步&#xff1a;修改 cubemx 生成的 main 函数第七步&#xff1a;编译…

C++阶段复习‘‘‘‘总结?【4w字。。。】

文章目录 前言类和对象C类定义和对象定义类成员函数C 类访问修饰符公有&#xff08;public&#xff09;成员私有&#xff08;private&#xff09;成员受保护&#xff08;protected&#xff09;成员 继承中的特点类的构造函数和析构函数 友元函数内联函数this指针指向类的指针类…

缩点+图论路径网络流:1114T4

http://cplusoj.com/d/senior/p/SS231114D 重新梳理一下题目 我们先建图 x → y x\to y x→y&#xff0c;然后对点分类&#xff1a;原串出现点&#xff0c;原串未出现点。 假如我们对一个原串出现点进行了操作&#xff0c;那么它剩余所有出边我们立刻去操作必然没有影响。所…