-
计算机网络自顶向下第四章习题
2018-06-11 18:51:49根据最长前缀匹配原则,将下列分组转发到正确的链路接口:第一个地址的最长前缀匹配属于转发表中的其他类,对应链路接口3;第二个地址的最长前缀匹配为1110000,对应链路接口2;第三个地址的最长前缀匹配为...P10:
a.
前缀匹配
接口
11100000 00
0
11100000 01000000
1
1110000
2
11100001 1
3
其他
3
b. 根据最长前缀匹配原则,将下列分组转发到正确的链路接口:
第一个地址的最长前缀匹配属于转发表中的其他类,对应链路接口3;
第二个地址的最长前缀匹配为1110000,对应链路接口2;
第三个地址的最长前缀匹配为111000011,对应链路接口3。
P11:
链路接口
目的地址范围
地址数量
0
00 000000到00 111111
64
1
010 00000到010 11111
32
2
011 00000到011 11111
32
2
10 000000到10 111111
64
3
11 000000到11 111111
64
由上表可得:接口0对应了64个地址,接口1对应了32个,接口2对应了96个,接口3对应了64个。
P16:
前缀128.119.40.128/26的一个子网对应的IP地址范围是128.119.40.128到128.119.40.191。因为26代表前26位是固定的,并且我们可以由128知道最后八位的最高两位是01,所以IP地址对应的最后八位的范围是01 000000到01 111111,即128到191。
假定它要从该地址块生成4个子网,每块具有相同数量的IP地址。则每个子网对应的地址数目为(191-128)/4,地址后6位范围分别是000000到001111,010000到011111,100000到101111,110000到111111。这四个子网对应的前缀分别是:128.119.40.64/28, 128.119.40.80/28, 128.119.40.96/28, 128.119.40.112/28。
P19:
因为无论是初始报文段还是分片后运输的报文段,每个数据报都包含了20字节的首部,所以将会生成个分片,前三个分片均为700字节,第四个分片大小为360字节。生成相应分片的数据报中都具有和原始数据报相同的标识号422,偏移分别为0、85、170、255,标志分别为1、1、1、0。
片
数据字节
ID
偏移
标志
第1片
680
422
Offset=0(表示插入的数据开始于字节0)
Flag=1
(表示后面还有)
第2片
680
422
Offset=85(85*8=680)(表示插入的数据开始于字节680。注意85*8=680)
Flag=1
(表示后面还有)
第3片
680
422
Offset=170(表示插入的数据开始于字节1360。注意170*8=1360)
Flag=1
(表示后面还有)
第4片
340(=2380-680-680-680)
422
Offset=255(表示插入的数据开始于字节2040。注意255*8=2040)
Flag=0
(表示这是最后一个片)
P26:
利用Dijkstra算法计算出从x到所有网络节点的最短路径的过程如下表所示:
步骤
N’
D(v),P(v)
D(w),P(w)
D(y),P(y)
D(z),P(z)
D(u),P(u)
D(t),P(t)
0
x
3,x
6,x
6,x
8,x
∞
∞
1
xv
6,x
6,x
8,x
6,v
7,v
2
xvu
6,x
6,x
8,x
7,v
3
xvuw
6,x
8,x
7,v
4
xvuwy
8,x
7,v
5
xvuwyt
8,x
6
xvuwytz
P28:
距离向量算法的过程如下:
所以结点z中的距离表表项如上。
P31:
距离向量表如下:
P34:
根据上表可知:
(1) z告诉w,Dz(X)=∞;告诉y,Dz(X)=6
(2) w告诉y,Dw(X)=∞;告诉z,Dw(X)=5
(3) y告诉w,Dy(X)=4;告诉z,Dy(X)=4
a. 假设x与y之间的链路成本增加到60,即使使用了毒性逆转也会存在无穷计数问题。
Ø T0时刻:
z告诉w,Dz(X)=∞;告诉y,Dz(X)=6
w告诉y,Dw(X)=∞;告诉z,Dw(X)=5
y告诉w,Dy(X)=4;告诉z,Dy(X)=4
此时链路成本c(x,y)发生变化。
Ø T1时刻:
y告诉w,Dy(X)=9;告诉z,Dy(X)=∞。
因为此时y和x间的链路成本是60,但是y保存着z告诉他的消息,即z到x有一条路成本是7(他并不知道这条路是根据之前它与x间的距离算出的),所以y认为它到x的最低成本是Dy(z)+Dz(x)=2+7=9,然后y将Dy(X)=9的消息发送给它的邻居w,同时告诉z,Dy(X)=∞,因为它认为z是中介结点。
Ø T2时刻:
w告诉y,Dw(X)=∞;告诉z,Dw(X)=10(因为w之前收到了y的消息,认为Dy(X)=9,所以他认为自己到X的距离是Dy(X)+Dx(Z)=9+1=10,因为经过y到达x,所以w告诉y,自己和X的距离是无穷大。)
Ø T3时刻:
z告诉w,Dz(X)=∞;告诉y,Dz(X)=11(Dz(W)+Dw(X)=1+10=11)
Ø T4时刻:
y告诉w,Dy(X)=14(Dy(Z)+Dz(X)=3+11=14);告诉z,Dy(X)=∞
……
T7时刻:Dy(X)=19
T11时刻:Dy(X)=24
T14时刻:Dy(X)=29
T17时刻:Dy(X)=34
T21时刻:Dy(X)=39
T24时刻:Dy(X)=44
T27时刻:Dy(X)=49
Ø T28时刻:
w告诉y,Dw(X)=∞;告诉z,Dw(X)=50
y告诉w,Dy(X)=53;告诉z,Dy(X)=∞
Ø T29时刻:
w告诉y,Dw(X)=51;告诉z,Dw(X)=∞
Ø T30时刻:
y告诉w,Dy(X)=∞;告诉z,Dy(X)=52
Ø T31时刻:
此时达到稳定状态。Dy(X)=52,之后不再变化(加入链路成本不变)。
b. 让c(y,z)=∞,即断开结点y和结点z之间的链路。
P46:
满足条件的路径如图所示。粗线画的链路表示从接收方到源A的最低费用路径。
一种可能的情况如图所示,此时结点B将接收来自使用RPF的结点A、C和D的A的广播报文的副本。也可以去掉FE之间的边,连接CE,同样符合条件。
P49:
如图为基于中心的多播路由选择树,结点C被选为中心。该图中产生的树是一棵最低费用树。
————————————————————————————————————————————如有错误可以联系博主哦~继续加油吧ヾ(◍°∇°◍)ノ゙
-
计算机网络自顶向下第三章习题
2018-05-13 09:09:57计算机网络第三章作业R9:接收方通过检查序号可以判断接收到的分组是新的数据还是一次重传,这样可以解决冗余分组问题。 R10:当在信道上发生丢包时,发送方不知道是一个数据分组丢失还是一个ACK丢失,或者只是该分组...计算机网络第三章作业
R9:
接收方通过检查序号可以判断接收到的分组是新的数据还是一次重传,这样可以解决冗余分组问题。
R10:
当在信道上发生丢包时,发送方不知道是一个数据分组丢失还是一个ACK丢失,或者只是该分组或ACK过度延时。引入定时器是为了实现基于时间的重传机制。如果在规定的时间内没有收到分组或者该分组的ACK,则可能发生了丢包,则发送方重传该分组。
R14:
a. 错误。TCP要求主机B要发送确认消息,因为主机B不能随数据捎带确认,所以需要单独发送确认消息。
b. 错误。rwnd表示接受缓存中的空闲空间,是动态变化的。
c. 正确。
d. 错误。序号的设定不是以报文段为单位,而是以传送的字节流为单位。一个报文段的序号是该报文段中数据段的第一个字节在字节流中的编号 。
e. 正确。
f. 错误。对于该连接的TimeoutInterval由SampleRTT和EstimatedRTT共同决定。
g. 错误。接收方可能会发送重复的ACK,确认号可能还是38。
R15:
a. 第一个报文段中有20字节的数据。因为TCP把数据看成一个无结构的但是有序的字节流。因此TCP的序号是建立在传送的字节流上的。由第一个报文段序号为90,第二个报文段序号为110可推出第一个报文段中的数据大小为110 - 90 = 20 Bytes。
b. 若第一个报文段丢失,则发送方会在一定时间后没有收到接收方的反馈确认包,接受方此时会发送一个重复的ACK,在主机B发往主机A的确认报文中,确认号应该是90。
P22:
a. 发送方的窗口大小N=4,假设在时刻t接收方期待的下一个有序分组的序号为k,则说明接收方已收到k-1号分组,并对之前收到的所有分组进行过确认。如果分组全部正确到达发送方,则此时发送方窗口内的报文序号是[k , k+N-1]。如果发送方没有收到所有应收到的ACK,此时发送方窗口内报文序号为[k-N , k-1]。因此发送方窗口内的报文序号可能是: [ k-4 , k-1 ],[ k-3 , k ],[ k-2 , k+1 ],[ k-1 , k+2 ],[ k , k+3 ]。
b. 由上题得到,发送方发送报文序号最小为[k-N , k-1],说明发送方已经收到了k-N-1的ACK确认,所以不会对k-N-1之前的分组再进行确认。所以ACK字段的所有可能值为[ k-5 , k-1 ]。
P27:
a. 序号是207,源端口号是302,目的端口号是80。(207 = 127 + 80)
b. 如果第一个报文段在第二个报文段之前到达,在第一个到达报文段的确认中,确认号是207,源端口是80,目的端口号是302。
c. 如果第二个报文段在第一个报文段之前到达,在第一个到达报文段的确认中确认号是127。
d.
P40:
a. TCP慢启动运行时的时间间隔为[1 , 6]和[23 , 26]。
b. TCP拥塞避免运行时的时间间隔为[6 , 16]和[17 , 22]。
c. 在第16个传输轮回之后报文段的丢失是根据3个冗余ACK检测出来的。因为拥塞窗口长度没有降到1个MSS而是减半。
d. 在第22个传输轮回之后报文段的丢失是根据超时检测出来的。因为拥塞窗口长度降到了1个MSS。
e. 在第1个传输轮回里,ssthresh的初始值设置成32个MSS,因为在第6轮传输时到达了阈值32。然后拥塞窗口开始以线性速度爬升,直到在第16轮传输后出现3个冗余ACK。
f. 在第18个传输轮回里,ssthresh的值被设置成21个MSS,因为当第16个周期丢包事件发生时,拥塞窗口值为42个MSS,所以ssthresh的值被设置成0.5 × cwnd = 21 × MSS。
g. 在第24个传输轮回里,ssthresh的值被设置成14.5个MSS,因为当第22个周期丢包事件第二次发生时,拥塞窗口值为29个MSS,所以ssthresh的值被设置成0.5 × cwnd = 14.5 × MSS。
h. 在前6个传输周期中已经发送了1 + 2 + 4 + 8 + 16 + 32 = 63 个报文段,第7个传输轮回要发送32 + 1 = 33个报文段,即第64 - 96个报文段,所以第70个报文段在第7个传输轮回中发送。
i. 在第26个传输轮回时,拥塞窗口值为8个MSS,因此通过收到3个冗余ACK检测出有分组丢失时ssthresh的值被设置成0.5 × cwnd = 4 × MSS。拥塞窗口长度应当为4 + 3 = 7个MSS。
j. 假定使用TCP Tahoe(不管是发生超时指示的丢包事件,还是发生3个冗余ACK指示的丢包事件,都无条件地将拥塞窗口减至1个MSS,并进入慢启动阶段),并假定在第16个传输轮回收到3个冗余ACK。在第19个传输轮回,ssthresh的值被设置成21个MSS,因为当第16个周期丢包事件发生时,拥塞窗口值为42个MSS,所以ssthresh的值被设置成0.5 × cwnd = 21 × MSS。但是此时拥塞窗口值为1个MSS。
k. 第17个传输轮回到第21个轮回分别传送了1 + 2 + 4 + 8 + 16 = 31个分组,第22个轮回传送分组为阈值21个,所以一共传送了52个分组。
-
JQ获取当前标签下第一个子元素的值
2019-03-16 11:40:28<ul id="city"> <li>上海</li> <li>重庆</li> <li>武汉</li> <...).find(&<ul id="city"> <li>上海</li> <li>重庆</li> <li>武汉</li> <li>杭州</li> </ul>
var city=$("#city").find("li::first-of-type").html();
console.log(city);
打印: 上海
-
win10系统下第三方软件字体大小调整
2019-02-14 14:15:33方法二:第三方软件设置 资料来源:http://www.veryhuo.com/a/view/96166.html 软件下载地址:http://www.xpexplorer.com/installers/2.1/Windows10_DPI_FIX.exe 软件首次运行会在C:Program Files (x86)XPE Windows ...方法一:调整字体为124%不适用,字体太小,扎眼!
方法二:第三方软件设置
资料来源:http://www.veryhuo.com/a/view/96166.html
软件下载地址:http://www.xpexplorer.com/installers/2.1/Windows10_DPI_FIX.exe
软件首次运行会在C:Program Files (x86)XPE Windows 10 DPI Fix(此为64位下系统目录,32位系统为Program Files文件夹)目录下面生成必要程序文件,并自动设置为开机启动(自动调整防止系统注册表跳回)。如果你想要恢复到使用软件前的默认状态,只需要再次打开工具后,勾选“Use Windows 10 Default DPI Scaling”,确定后再直接重启后,删除掉系统里C:Program Files (x86)XPE Windows 10 DPI Fix文件目录。
以上是网上解释。
而我的操作是先调到win8的dpi,欸,到这时候会发现可以在125%下显示第三方软件不模糊了,清楚了。手贱的我,觉得还是太小了,然后调回win10的dpi100%。再到系统显示自定义为130%,wc!成功了!可以随意调整菜单栏的字体大小了,不模糊了。有人解释一下以上操作吗?我不懂!
自己来解释:
更改了该字体模糊软件的DPI设置! -
jquery获取tr下第某个td的值
2019-02-26 18:33:38https://www.cnblogs.com/eager/p/6930088.html -
Linux下第一次使用MySQL数据库,关于密码的设置
2018-07-13 10:05:32一、查看数据库是否运行 在终端下输入:service mysqld status 查看MySQL状态,看看是否运行。 没有运行的话就输入:service mysqld start 这时,就会初始化数据库了。二、无密码登陆数据库 输入:mysql -u root... -
Linux下第一次使用MySQL数据库,设置密码
2015-05-22 10:43:10在终端下输入:/etc/rc.d/init.d/mysqld status 查看MySQL状态,看看是否运行。 没有运行的话就输入:/etc/rc.d/init.d/mysqld start 这时,就会初始化数据库了。 然后输入:mysql -u root -p 回车,以空密码登录... -
Mac下的第一个C++程序—HelloWorld
2016-12-12 12:48:30Mac下的第一个C++程序—HelloWorld -
Windows 下 anaconda 安装第三方包
2017-04-28 14:04:10anaconda 集成了很多科学计算中所需要的包,如numpy,scipy等等,具体查看anaconda中已经预先安装配置好的包有哪些,可以通过cmd命令,输入conda list 查看,如下图所示: 但是,因为实际需求,我们会需要导入... -
css选中父元素下的第一个子元素
2020-04-02 22:19:59目录标题前言E:first-child的第一个误区(只会选中我规定的区域中的一个,不会遍历其下有多少个孙或曾孙元素)E:first-child的第二个误区(不管这个E元素前面有几个兄弟,只要我是第一个E元素,那我就会生效)如何只... -
Pycharm环境下使用第三方包
2017-05-20 16:23:091.在工程中导入 File ==> Settings ==> Project Interpreter ==> 点击齿轮标志,选择 More...,打开Project Interpreters ==> 点击按钮 show path for ... ...然后点击右上角绿色加号选择第三方包所在路径, -
Ubuntu下挂载第二块硬盘办法
2017-04-20 15:19:26对于linux下挂在第二块硬盘的较优办法 -
linux下删除文件的第一行
2016-12-09 13:12:451,删除文件file 中第一行内容 命令:sed -i '1d' file -
ubuntu 下python第三库 dlib 安装
2015-11-01 10:21:25dlib 是一个非常强大的...下面是在ubuntu下如何为python安装dlib: 首先在官网dlib官网下载最新版本的dlib 由于dlib最初是一个C++库,要安装为python第三方库,要下载boost将C++ 编译为python,同时还要下载cmakesud -
linux下anaconda安装第三方包
2018-04-14 13:28:24参考https://www.cnblogs.com/willnote/p/6746499.html使用source activate 环境名 命令进入虚拟环境,然后使用pip install whl文件名即可 -
Ubuntu16.04环境下写第一个C语言程序
2017-03-18 00:14:21然后我们在这个环境下运行第一个c语言程序。以下是实现步骤: 提前准备工作:创建一个目录例如名称为test的目录。 通过mkdir test命令。然后进入这个目录cd test。 首先创建一个.c文件 vi helloworld.c 然后在... -
Anaconda在指定环境下安装第三方包方法
2019-04-11 13:47:42一般情况下可以在Anaconda Prompt交互式窗口中通过“conda install 库名称”实现Python库的安装 但是有时候在运用该命令进行安装时会提示“PackagesNotFoundError: The following packages are not available from ... -
Java获取下周一、下周日、下个月第一天和次年第一天
2018-08-06 12:48:29// 获得入参日期相对于下周日的偏移量(在国外,星期一是一周的第二天,所以下周日相对于本周来说,是第15天) // 若入参日期是周日,它的下周日偏移量是7 int nextMondayOffset = dayOfWeek == 1 ? 7 : ... -
《计算机网络 自顶向下方法》(第7版)答案(第四章)
2019-11-24 17:31:01《计算机网络 自顶向下方法》第四章 答案 -
《计算机网络 自顶向下方法》(第7版)答案(第五章)
2019-11-30 21:54:54《计算机网络 自顶向下方法》第七版 第五章答案 -
ubuntu下编写并运行第一个c语言程序
2016-04-23 22:38:10对于初入Ubantu系统的小伙伴来说,进入Ubuntu最想做的事莫过于在终端(Terminal)里运行自己的第一个C/C++程序"hello.c/hello.cpp"了。 Ubuntu默认是不包含编辑器vim和编译器gcc。如果你是刚安装好的Ubuntu电脑,... -
Unity3d 第一人称 加上之后往下掉 解决办法
2018-01-13 12:21:38在unity3d 4.x里,找到挂载在第一人称上的"Character Motor"脚本。把脚本下边的 movement里的Gravity值设为0 即可。如下图所示: -
《计算机网络 自顶向下方法》(第7版)答案(第三章)(一)
2019-11-17 11:52:10计算机网络 自顶向下方法 第三章答案(一) -
计算机网络自顶向下方法 习题参考答案 第四章
2018-10-14 20:21:12路由器处于第三层的,链路交换机是第二层 R2. 数据报网络中两个最重要的功能是:转发和路由,虚电路网络中增加了一项:连接建立 R3. 转发是指在路由器内部将输入端口的分组转移到正确的输出端口;而路由是指... -
jquery选择器,获取id下的class的第一个 tr
2019-04-18 11:26:09$("#itemkindTable .itemkindTr tr:first input").... 需要获取 id="itemkindTable" 且 class="itemkindTr" 的第一个tr 下的所有input。 我按照上面的写法是无效的。 有没有什么其它的方法来获取呢。 -
计算机网络自顶向下方法 习题参考答案 第五章
2018-10-17 21:29:31P1. 1 1 1 0 | 1 0 1 1 0 | 0 1 0 0 1 | 0 1 1 0 1 | 1 ———— 1 1 0 0 | 0 P2. 例如,P1中的分组出现单比特差错: ...可以定位是第一行第二列出错 如果是双比特差错: 1 1 1 0 | 1 0 1 1... -
如何获取div下的除第一个子元素下的span外的其余兄弟元素下的span
2017-08-21 09:30:12 -
js获取元素下的第一级子元素
2016-06-09 10:28:12js childnodes获取的是所有的子元素,而我们实际要获取第一级子元素。function getChildren(obj){ var objChild = [] ; var objs = obj.getElementsByTagName('*'); for(var i=0,j=objs.length; i;++i){ if(objs... -
jquery获取span标签下的第一个span子标签内容
2017-07-12 18:29:03看了几本jquery的书之后,觉得对jQuery的dom操作部分应该是比较熟悉了,但是当正式用到的时候又忽然觉得什么也不知道,还得上网来搜,遇到的问题就是获取span标签下的第一个span标签中的内容。如 西安 (xian) ...
-
python,机器学习笔记,machine learning,nlp
-
链表、队列、栈、二叉树、哈希表等
-
快慢指针的应用及其原理(链表中)
-
3.9关闭事件_关闭事件
-
linux基础入门和项目实战部署系列课程
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
在 Linux 上构建企业级 DNS 域名解析服务
-
Unity RUST 逆向安全开发
-
PowerBI重要外部工具详解
-
MySQL Router 实现高可用、负载均衡、读写分离
-
国家商用加密算法 SMx(SM2,SM3,SM4)
-
3.2.工具栏添加图标_教程之家jczhijia.com.avi
-
移动距离java题解
-
图书管理系统C最新版.cpp
-
Javassist实现动态代理
-
crudapi零代码开发平台应用场景和成功案例
-
使用vue搭建微信H5公众号项目
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
javaWeb发展史
-
5.1.屏幕截图界面设计