zoukankan      html  css  js  c++  java
  • 计算机网络 中国大学MOOC 哈尔滨工业大学 习题答案

    转自 https://blog.csdn.net/qq_37514135/article/details/82733651

    计算机网络作业题

    第一章

    第一题

    如图所示网络。A在t=0时刻开始向C发送一个2Mbits的文件;B在t=0.1+e秒(e为无限趋近于0的小正实数)向D发送一个1Mbits的文件。忽略传播延迟和结点处理延迟。
    这里写图片描述
    请回答下列问题:

    1. 如果图中网络采用存储-转发方式的报文交换,则A将2Mbits的文件交付给C需要多长时间?B将1Mbits的文件交付给D需要多长时间?
    2. 如果图中网络采用存储-转发方式的分组交换,分组长度为等长的1kbits,且忽略分组头开销以及报文的拆装开销,则A将2Mbits的文件交付给C需要大约多长时间?B将1Mbits的文件交付给D需要大约多长时间?
    3. 报文交换与分组交换相比,哪种交换方式更公平?(即传输数据量小用时少,传输数据量大用时长)
    4. 由于A先发报文所以,A的报文在路由器的队列中排在B的报文前面,所以A交付2Mbits报文需要时间为:2/10+2/20+2/10=0.5s=500ms;(3分)
      B将1Mbits的文件交付给D需要时间为:1/10+2/20(排队时间)+1/20+1/10=0.35s=350ms。(3分)
    5. 从t=0时刻到t=0.1s,A发送了1000个分组,用时:1000×1000/10000000=0.1s,
      从t=0.1s时刻起与B共享连接路由器的链路,平均各共享到带宽10Mbps,A大约再用时:1/10+2×1000/10000000=0.1002s交付剩余的1000个分组,故A向C交付2Mbits文件大约需要(0.1+0.1002)s≈0.2s;(3分)
      B向D交付1Mbits文件需要时间大约为:1/10+2×1000/10000000=0.1002s≈0.1s。(3分)
    6. 分组交换比报文交换更公平。(2分)

    第二题

    考虑两台主机A和主机B由一条带宽为R bps、长度为M米的链路互连,信号传播速率为V m/s。假设主机A从t=0时刻开始向主机B发送分组,分组长度为L比特。试求:

    1. 传播延迟(时延)dp;
    2. 传输延迟dt;
    3. 若忽略结点处理延迟和排队延迟,则端到端延迟de是多少?
    4. 若dp>dt,则t=dt时刻,分组的第一个比特在哪里?
    5. 若V=250000km/s,L=512比特,R=100 Mbps,则使带宽时延积刚好为一个分组长度(即512比特)的链路长度M是多少?
      (注:1k=103,1M=106)
    6. 传播延迟(时延)dp=M/V;(2分)
    7. 传输延迟dt=L/R;(2分)
    8. 端到端延迟de= L/R+M/V;(2分)
    9. 若dp>dt,则t=dt时刻,分组的第一个比特所在位置是:距离主机A的Vdt米的链路上;(2分)
    10. 带宽时延积=Rdp=RM/V=512,因此, M=512V/R=512×250000000/100000000 =1280米。(2分)

    第三题

    假设主机A向主机B以存储-转发的分组交换方式发送一个大文件。主机A到达主机B的路径上有3段链路,其速率分别是R1=500kbps,R2=2Mbps,R3=1Mbps。试求:

    1. 假设网络没有其他流量,则传送该文件的吞吐量是多少?
    2. 假设文件大小为4MB,则传输该文件到主机B大约需要多少时间?
      (注:1k=103,1M=106)
    3. 传送该文件的吞吐量:TH=500kbps;(3分)
    4. 传送该文件到主机B大约需要时间:T=4×8×106/(500×103)=64s。(3分)

    第二章

    第一题

    假设你在浏览某网页时点击了一个超链接,URL为“https://www.kicker.com.cn/index.html ”,且该URL对应的IP地址在你的计算机上没有缓存;文件index.html引用了8个小图像。域名解析过程中,无等待的一次DNS解析请求与响应时间记为RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。请回答下列问题:
    1)你的浏览器解析到URL对应的IP地址的最短时间是多少?最长时间是多少?
    2)若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容(包括引用的图像,下同)需要多长时间(不包括域名解析时间,下同)?
    3) 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要多长时间?
    4) 若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?基于流水模式的HTTP1.1获取URL链接Web页完整内容需要多长时间?

    1)浏览器解析到URL对应的IP地址的最短时间是:RTTd;(2分)最长时间是:5RTTd。(2分)
    2)若浏览器没有配置并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要的时间:18RTTh。(2分)
    3) 若浏览器配置5个并行TCP连接,则基于HTTP1.0获取URL链接Web页完整内容需要的时间:6RTTh。(2分)
    4) 若浏览器没有配置并行TCP连接,则基于非流水模式的HTTP1.1获取URL链接Web页完整内容需要的时间:10RTTh;(2分)基于流水模式的HTTP1.1获取URL链接Web页完整内容需要的时间:3RTTh。(2分)

    第二题

    考虑向N个对等方(用户)分发F=15Gb的一个文件。该服务器具有us=30Mbps的上传速率,每个对等方的下载速率di=2Mbps,上传速率为u。请分别针对客户-服务器分发模式和P2P分发模式两种情况,对于N=10、100和1000以及u=500kbps、1Mbps和2Mbps的每种组合,绘制最小分发时间图表。
    (注:k=103、M=106、G=10^9)

    第二章第二题答案

    第三章

    第一题

    假设主机A向主机B发送5个连续的报文段,主机B对每个报文段进行确认,其中第二个报文段丢失,其余报文段以及重传的第二个报文段均被主机B正确接收,主机A正确接收所有ACK报文段;报文段从1开始依次连续编号(即1、2、3……),主机A的超时时间足够长。请回答下列问题:
    1).如果分别采用GBN、SR和TCP协议,则对应这三个协议,主机A分别总共发了多少个报文段?主机B分别总共发送了多少个ACK?它们的序号是什么?(针对3个协议分别给出解答)
    2).如果对上述三个协议,超时时间比5RTT长得多,那么哪个协议将在最短的时间间隔内成功交付5个报文段?

    (1)当采用GBN协议时,由GBN协议可得:
    主机A共发送了9个报文段,首先发送报文段1,2,3,4,5,当报文2丢失后,重发报文段2,3,4,5共9个;
    主机B共发送8个ACK,首先发送ACK1,2丢失,因此对于3,4,5都发送ACK1共4个ACK1,后对于重传的2,3,4,5,则发送ACK2,ACK3,ACK4,ACK5,一共8个ACK。
    当采用SR协议时,由SR协议可得:
    主机A共发送了6个报文段,首先发送报文段1,2,3,4,5,当报文2丢失后,重发报文段2共6个报文段;
    主机B共发送5个ACK,首先发送ACK1,ACK3,ACK4,ACK5,对于重发的报文段2,则发送ACK2共5个ACK。
    当采用TCP协议时,由TCP协议可得:
    主机A共发送了6个报文段,首先发送报文段1,2,3,4,5,当报文2丢失后,重发报文段2共6个报文段;
    主机B共发送5个ACK,首先发送4个ACK2,重传后发送一个ACK6一共5个ACK。
    (2)采用TCP协议可在最短的时间间隔内成功交付5个报文段,因为TCP有快速重传机制,即在未超时情况下就开始重传丢失的2号报文段。

    第二题

    假设A、B两个端系统通过唯一的一条8Mbps链路连接(M=10^6),该链路的双向传播时延是150ms;A通过一个TCP连接向B发送一个大文件,B的接收缓存足够大,每个TCP段最大段长度(MSS)为1500字节,TCP采用Reno版本,且总是处于拥塞避免阶段(即忽略慢启动)。请回答下列问题:
    1).该TCP连接能够获得的最大窗口尺寸(以TCP段数计)是多少?
    2).该TCP连接的平均窗口尺寸(以TCP段数计)和平均吞吐量(以bps计)是多少?
    3).该TCP连接的拥塞窗口从发生丢包到恢复到最大窗口尺寸要经历多长时间?

    (1)当发送速率最大只能等于链路带宽时才能不发生丢包,因此由公式可得:
    W * MSS / RTT = 8Mbps
    W = 8 * 10^6 * 150 * 10^(-3) / (1500 * 8) = 100
    因此TCP连接能够获得的最大窗口尺寸是100
    (2)由公式可得:
    平均窗口尺寸为:We = 0.75 * W,即:
    We = 0.75 * 100 = 75,
    平均吞吐率为:
    We * MSS / RTT = 75 * (1500 * 8) / 150 * 10^(-3) = 6 * 10^6bps = 6Mbps
    (3)因恢复过程中每个RTT窗口尺寸增加1个MSS,因此总共需要时间为:
    T = 100 / 2 * RTT = 50 * 150 * 10^(-3) = 7.5s

    第四章

    第一题

    某网络拓扑如图所示,其中路由器内网接口、DHCP服务器、WWW服务器与主机1均采用静态IP地址配置,相关地址信息见图中标注;主机2~主机N通过DHCP服务器动态获取IP地址等配置信息。
    第四题描述
    请回答下列问题。
    (1)DHCP服务器可为主机2~主机N动态分配IP地址的最大范围是什么?主机2使用DHCP协议获取IP地址的过程中,发送的封装DHCP Discover报文的IP分组的源IP地址和目的IP地址分别是什么?
    (2)主机2在通过DHCP服务器获取IP地址的同时还可以获取哪些IP地址配置所必须的信息?
    (3)若主机1的子网掩码和默认网关分别配置为255.255.255.0和111.123.15.2,则该主机是否能访问WWW服务器?是否能访问Internet?请说明理由。

    (1)DHCP服务器可为主机2~主机N动态分配IP地址的最大范围是:111.123.15.5~111.123.15.254;(2分)主机2发送的封装DHCP Discover报文的IP分组的源IP地址和目的IP地址分别是0.0.0.0和255.255.255.255。(2分)
    (2)主机2在通过DHCP服务器获取IP地址的同时还可以获取:子网掩码(255.255.255.0)、默认网关(111.123.15.1)和域名服务器IP地址。(3分)
    (3)主机1能访问WWW服务器,但不能访问Internet。(2分)由于主机1的子网掩码配置正确而默认网关IP地址被错误地配置为111.123.15.2(正确IP地址是111.123.15.1),所以主机1可以访问在同一个子网内的WWW服务器,但当主机1访问Internet时,主机1发出的IP分组会被路由到错误的默认网关(111.123.15.2),从而无法到达目的主机。(1分)

    第五章

    第一题

    如图所示网络拓扑,所有路由器均采用距离向量路由算法计算到达两个子网的路由(注:到达子网的路由度量采用跳步数)。
    在这里插入图片描述
    假设路由表结构如下表所示。
    目的网络 接口
    请回答下列问题:
    (1)若所有路由器均已收敛,请给出R1的路由表,要求包括到达图中所有子网的路由,且路由表中的路由项尽可能少。
    (2)在所有路由器均已收敛的状态下,R3突然检测到子网192.168.1.128/26不可到达,若接下来R2和R3同时向R1交换距离向量,则R1更新后的路由表是什么?更新后的R1距离向量是什么?

    (1)R1的路由表:
    目的网络 接口
    192.168.1.0/24 S1(2分)
    192.168.1.192/26 E0(2分)
    192.168.2.0/23 S0(2分)
    (2)R1更新后的路由表:
    目的网络 接口
    192.168.1.0/25 S1(2分)
    192.168.1.128/26 S0(2分)
    192.168.1.192/26 E0(2分)
    192.168.2.0/23 S0(2分)
    R1的距离向量:
    192.168.1.0/25 2(2分)
    192.168.1.128/26 3(2分)
    192.168.1.192/26 1(2分)
    192.168.2.0/23 2(2分)

    第六章

    第一题

    假设CRC编码的生成比特模式G=10011。请回答下列问题:
    (1)如果数据D=1010101010,则CRC编码后<D,R>=?
    (2)如果数据D=1010100000,则CRC编码后<D,R>=?
    (3)如果接收端收到码字01011010101001,则该码字在传输过程中是否发生差错?
    (4)如果接收端收到码字10010101010000, 则该码字在传输过程中是否发生差错?

    (1)利用G=10011去除1010101010 0000,(1分)得R=0100,(1分)所以,CRC编码后<D,R>=10101010100100。(1分)
    (2)利用G=10011去除1010100000 0000,(1分)得R=1001,(1分)所以,CRC编码后<D,R>=10101000001001。(1分)
    (3)利用G=10011去除01011010101001,(1分)得余式=0110,不为0000,(1分)因此该码字在传输过程中发生差错。 (1分)
    (4)利用G=10011去除10010101010000,(1分) 得余式=0000,(1分)因此该码字在传输过程中未发生差错。 (1分)

    第二题

    假设在采用广播链路的10Mbps以太网中,回答下列问题:
    (1)某结点连续第5次冲突后,按二进制指数退避算法,选择K=4的概率是多少?相应地延迟多久再次重新尝试发送帧?
    (2)如果连续第12次冲突,该结点最多延迟多久再次重新尝试发送帧?

    (1)连续第5次冲突后,结点网卡从{0, 1, 2,…, 31}中选择K,(1分)因此,选择到K=4的概率为1/32,(1分)相应地延迟时间为4512/(1010^6)=0.2048ms=204.8μs。(1分)
    (2)当连续12次冲突后,网卡将从{0, 1, 2,…,1022,1023}中选择K,(1分)因此最多延迟时间是选择到K=1023,(1分)相应地延迟时间为1023512/(1010^6)=52.3776ms。(1分)

    第三题

    某局域网采用CSMA/CD协议实现介质访问控制,数据传输速率为10 Mbps,主机甲和主机乙之间的距离为2km,信号传播速度是200000km/s。请回答下列问题:
    (1)若主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间?(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)
    (2)若网络不存在任何冲突与差错,主机甲总是以标准的最长以太网数据帧向主机乙发送数据,主机乙每成功收到一个数据帧后立即向主机甲发送一个64字节的确认帧,主机甲收到确认帧后方可发送下一个数据帧。此时主机甲的有效数据(上层协议数据)传输速率是多少?(不考虑以太网帧的前导码)

    (1)主机甲和主机乙之间单向传播延迟时间= 2km/(200000km/s)=10μs;(1分)
    两台主机均检测到冲突时,最短所需时间和最长所需时间对应下面两种极端情况:
    ①主机甲和主机乙同时各发送一个数据帧,(1分)信号在信道中发生冲突后,冲突信号继续向两个方向传播。因此,双方均检测到冲突需要1个单向传播延迟,即10μs。
    因此,甲乙两台主机均检测到冲突时,最短需经过10μs。(1分)
    ②主机甲(或主机乙)先发送一个数据帧,当该数据帧即将到达主机乙(或主机甲)时,主机乙(或主机甲)也开始发送一个数据帧。(1分)这时,主机乙(或主机甲)将立即检测到冲突;而主机甲(或主机乙)要检测到冲突,冲突信号还需要从主机乙(或主机甲)传播到主机甲(或主机乙),(1分)因此,主机甲(或主机乙)检测到冲突需要2个单向传播延迟,即20μs。
    因此,甲乙两台主机均检测到冲突时,最长需经过20μs。 (1分)
    (2)以太网最大帧长为1518B;(1分)发送1518B的数据帧所用时间(传输延迟) = 1518×8 bits/10 Mbps=1214.4μs;(1分)
    发送64B的确认帧所用时间(传输延迟) = 64×8bits/10Mbps=51.2μs;(1分)
    主机甲从发送数据帧开始到收完确认帧为止的时间记为T总,则
    T总=1214.4+51.2+2×10=1285.6 μs;(1分)
    在1285.6μs内发送的有效数据长度=1518B-18B=1500B=12000bits;(1分)
    因此,主机甲的有效数据传输速率=12000bits/1285.6μs ≈ 9.33Mbps。(1分)

    作业10

     转自https://blog.csdn.net/weixin_38902950/article/details/85160547

    1、
    若单码替代密码的替代关系(密钥)如下:

    明文:abcdefghijklmnopqrstuvwxyz

    密文:mnbvcxzasdfghjklpoiuytrewq

    1)请加密报文“This is an easy problem”;

    2)解密报文“rmij'u uamu xyj”。

    答:1)uasi si mj cmiw lokngch

            2)wasn't that fun

    源代码如下(java):

    import java.util.Scanner;

    public class Main {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in = new Scanner(System.in);
    String a = "abcdefghijklmnopqrstuvwxyz";
    String b = "mnbvcxzasdfghjklpoiuytrewq";
    char [] m = a.toCharArray();
    char [] n = b.toCharArray();
    String ming = in.nextLine().toLowerCase();
    String mi = in.nextLine().toLowerCase();
    StringBuffer sb1 = new StringBuffer();
    StringBuffer sb2 = new StringBuffer();
    for(int i = 0;i<ming.length();i++) {
    for(int j=0;j<m.length;j++) {
    if (ming.charAt(i)<'a'||ming.charAt(i)>'z') {
    sb1 = sb1.append(ming.charAt(i));
    break;
    }
    else if(m[j]==ming.charAt(i)) {
    sb1 = sb1.append(n[j]);
    break;
    }
    }
    }

    for(int i = 0;i<mi.length();i++) {
    for(int j=0;j<m.length;j++) {
    if (mi.charAt(i)<'a'||mi.charAt(i)>'z') {
    sb2 = sb2.append(mi.charAt(i));
    break;
    }
    else if(n[j]==mi.charAt(i)) {
    sb2 = sb2.append(m[j]);
    break;
    }
    }
    }

    System.out.println(sb1);
    System.out.println(sb2);

    }

    }
    2、
    假设攻击者可以加密明文“The quick brown fox jumps over the lazy dogs”,并的到密文。请问:

    1)攻击者是否可以利用选择明文攻击破解单码替代密码的所有报文?为什么?

    2)攻击者是否可以利用选择明文攻击破解多码替代密码的所有报文?为什么?

    答:

    1)能破解;(1分)因为在单码替代密码系统中,字母之间的替代关系是固定的,而选择明文中已包含了所有字母,所以选择明文攻击可以完全确定字母替代关系,所以可以破解。(2分)

    2)不行,多码替代密码是采用多个单码替代密码的组合,不同位置采用不同的单码替代密码,一句话包含不了这些规律信息。

    3、
    考虑p=5和q=11的RSA算法。请问:

    1)n和z是什么?

    2)若令e=3,为什么e是一个合理的选择?

    3)求d是的de mod z = 1,且de<160;

    4)使用密钥(n,e)加密报文m=8。(提示:[(a mod n)*(b mod n)] mod n = (a*b) mod n)

    答:

    1)n = pq = 55;

         z = (p-1)(q-1) = 40;

    2)  e<n且e与z互质;

    3)ed-1刚好被z整除,

         d = (40i+1)/3, i为大于0的整数,保证d也为整数,

        当i=2时,d=27

    4) c = m^e mod n = 17

    4、
    假设Alice和Bob之间共享两个密钥:一个报文认证密钥S1和一个对称加密秘钥S2。请利用图示设计一个通信方案,要求支持报文完整性和机密性。

    答:

     

    5、 
    假设Alice想给Bob发送一封邮件; Bob拥有公钥-私钥对(KB+,KB–),Alice有Bob的证书,但是Alice没有公钥-私钥对;Alice和Bob共享相同的散列函数H(·)。请回答下列问题:

    1). 在这种情况下,是否能设计一个方案使得Bob可以核实邮件消息是由Alice创建的?如果能,请绘制框图解释该方案;如果不能,请简单解释原因。

    2). 能否设计一个方案,支持Alice向Bob发送机密性邮件?如果能,请绘制方案框图;如果不能,请简单解释原因。

    答:

    1)不能,Alice只持有bob的公钥,没有自己和bob所独有的一段报文认证密钥s1,也没有自己的公钥私钥对,无法证明自己是Alice

    2)可以,只要Alice的报文经过Bob的公钥KB+加密,就可以实现机密传输,Bob收到之后可以用私钥解密。

    如图所示:

    6、 
    假设Alice和Bob基于SSL会话进行通信。假设有一个没有任何共享密钥的攻击者,在数据包流中插入一个具有正确TCP校验和与序列号(以及正确的IP地址和端口号)的伪造TCP段。接收端的SSL会接收该伪造TCP段并向上层应用提交载荷吗?为什么?

    答:

    不会

    SSL协议就是介于TCP和应用层之间的一个安全协议,用于提供传输过程中的机密性、完整性和认证,即便TCP校验通过,序列号正确,由于其没有遵循ssl协议,一样会被识别出来。

    因为伪造的TCP无法通过数据完整性校验(攻击者没有共享的MAC密钥)

    7、
    考虑下列伪WEP协议,共享密钥为4比特,设为1010;IV为2比特,在产生密钥流时,附加在密钥之后。产生的4种密钥流如下:

    101000: 0010101101010101001011010100100 . . .

    101001: 1010011011001010110100100101101 . . .

    101010: 0001101000111100010100101001111 . . .

    101011: 1111101010000000101010100010111 . . .

    假设所有消息长度为8比特;ICV为4比特,是通过数据的前4比特与后4比特异或所得;伪WEP分组包含3个字段:IV字段+消息字段+ICV字段,其中消息字段+ICV字段被加密。

    1).如果期望利用IV = 11的WEP协议发送消息 m = 10100000,那么WEP分组的3个字段的值分别是多少?

    2).说明当接收端解密该WEP分组时,如何恢复消息和ICV。

    3).假设Trudy截获了一个WEP分组(未必是IV = 11),并在向接收端转发前修改该分组,且Trudy并不知道对应任何IV的密钥流。如果Trudy翻转了ICV的第一个比特,则Trudy还必须翻转哪些/个其他比特,才能使得被修改的分组通过ICV检查?

    答:

    1)第一个字段就是IV,不加密,为:   11

        第二个字段是消息字段,加密之后为:01011010

        第三个字段 ICV,加密之后为:0010

    2)IV是不加密的,首先用共享密钥加IV输入到密钥流发生器产生密钥流,用密钥流和第二第三个字段逐位异或,得到解密的消息和ICV,之后根据消息计算ICV,与收到的ICV比对,若相同,则表明收到的报文完整。

    3)可以翻转消息字段的第1位,或者是第5位。

    因为ICV的第1位是消息的第1位和第5位异或得到。密文与相同的密钥流异或,会还原到原消息,翻转1位,异或得到的也是翻转的,所以,只需要消息的第1位或第5位

  • 相关阅读:
    final关键字
    this and super
    java 内存分析之static
    java 内存分析之this
    java 内存分析之方法返回值二
    java 内存分析之方法返回值及匿名对象一
    java 内存分析之构造方法执行过程
    java 内存分析之堆栈空间
    java jvm概述及工作过程中的内存管理
    java 编译器
  • 原文地址:https://www.cnblogs.com/xx123/p/10445959.html
Copyright © 2011-2022 走看看