| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 计网 | 链路层协议及大题解构 -> 正文阅读 |
|
[系统运维]计网 | 链路层协议及大题解构 |
一、访问网络地址的过程若要在电脑浏览器长访问 www.shangan.com 服务器资源,过程: 1、 域名转换成IP地址:DNS查询。 ????????①首先先在本机高速缓存查询。 ????????②若存在,则直接得到域名与ip得到的映射;若没有,则递归+迭代查询IP地址。 2、IP地址转为MAC物理地址:ARP查询。 ??????? ①首先现在ARP缓存中查询是否存在。 ??????? ②若之前访问过,则可以通过ARP缓存直接获得下一跳的MAC地址;若没有,则在同一网段内进行广播,收到一个单播响应。 ??????? ③广播目的地址为FF-FF-FF-FF的ARP请求分组:通过目的IP地址和子网掩码逐位相与的方式判断目的IP地址是否为本网络内主机。 ????????????????(1)本网络内主机(发送给目的主机):ARP请求分组的目的IP地址就是www.shangan.com的IP地址,返回目的主机的MAC地址 ????????????????(2)非本网络内主机(发送给默认路由):ARP请求分组的目的IP地址是默认路由的IP地址,默认路由返回默认路由的MAC地址,返回默认路由的MAC地址 3、主机与服务器建立TCP连接:HTTP协议基于TCP连接。 ????????在数据发送过程中,目的IP地址和源IP地址不变,但是目的MAC地址和源MAC地址进入下一条(新网段)时会发生改变。 4、主机发送HTTP协议请求,服务器相应请求。 ????????第三次握手选择是否携带有关HTTP协议请求的内容(第三次握手才能开始携带数据) ?二、TCP报文段、IP分组、MAC帧背!背!背! ? ? 三、important 转发表、ARP表和路由表1、转发表(二层设备:交换机)【自学习功能】(1)当收到A→B的数据时: ????????①检查发送方的地址:将会检查数据的源MAC地址,发现表中并没有关于A地址和其接口的转发表项,则将A和其数据进来的接口写入表中。 ????????②检查接收方的地址:将会检查数据的目的MAC地址,发现表中并没有关于B地址的转发表项,则从除了接口1外的所有接口都将转发该数据(但只有B会真正收到数据,CD收到后将该数据丢弃) (2)当收到B→A的数据时: ????????①检查发送方的地址:将会检查数据的源MAC地址,发现表中并没有关于B地址和其接口的转发表项,则将B和其数据进来的接口写入表中。 ????????②检查接收方的地址:将会检查数据的目的MAC地址,此时表中有目的地址A的转发表项,从接口1中发出。 总结:新源地址进来增加新地址表项,新目的地址广播,旧目的地址单播 ?答案:B 2、ARP表(三层设备:主机、路由器)????????1.检查ARP缓存是否有该IP地址和MAC地址的映射 ????????2.若1中没有,则广播目的地址为FF-FF-FF-FF的ARP请求分组 ????????3.目的主机(本网络)或者默认网关(其他网络)将会单播返回一个带有其IP地址和MAC地址的ARP响应分组 ????????4.源主机收到后写入ARP缓存 3、路由表(三层设备:主机、路由表)1、路由表建立方法:1.静态路由 2、动态路由(RIP、OSPF...) 2、有网络前缀不需要子网掩码:都是表示多少位是网络位,多少位是主机位(不同表示形式) 3、接口:收到前往该地址的数据后,应该从自己的哪个接口转发出去,因此写的是自己的物理接口 4、网关:不与自己直接相连的网络,写的是下一跳地址 即:源地址和目的地址不在同一网络,需要网关带其进入下一网段,填该网关的IP地址 源地址和目的地址在同一网络,不需要网关,不填 5、题中路由表缺失:路由聚合或者默认路由(网络ID和子网掩码全0,作用是当接收到数据的目的地址在并不在路由表中,则转发给默认路由,通过其去其他网络) 发送给其他网络:才会用到网关。 即 出门用看门大爷 —— 网关。 接口:信息的出口。 网关:带你去往新世界的老大爷。 ? 四、数据交换方式????????电路交换 : 在通信之前要在通信双方之间建立一条被双方独占的物理通路(由通信双方之间的交换设备和链路逐段连接而成) 。 ????????报文交换 : 以报文为数据交换的单位, 报文携带有目的地址、 源地址等信息, 在交换结点采用存储转发的传输方式。 ????????分组交换 : 仍采用存储转发方式, 它将一个大的数据块分割成若干个小数据块, 再加上一些必要的控制信息(如源地址、 目的地址等) , 构成分组。 网络结点根据控制信息把分组送到下一结点, 下一结点接收到分组后, 暂时保存下来并排队等待传输, 然后根据分组控制信息选择它的下一个结点, 直到到达目的结点。 ?考虑第一个分组或者考虑最后一个分组(二选一) 五、链路层协议? 1、停等协议【发送窗口大小=1,接收窗口大小=1】? ????????每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。? ? ? ? 2、后退N帧协议(GBN)?【发送窗口大小>1,接收窗口大小=1】? ????????上层要发送数据时, 发送方先检查发送窗口是否已满 ,如果未满 , 则产生一个帧并将其发送; 如果窗口已满 , 发送方只需将数据返回给 上层, 暗示上层窗 口已满 。 上层等一会再发送。 ( 实际实现中, 发送方可以缓存这些数据, 窗口不满时再发送帧 ) 。 ????????GBN协议中, 对n号帧 的 确认 采用 累积确认 的方式, 标明接收方已经收到 n号帧 和它之前的 全部帧 。 ???????? 协议的名字 为后退N帧 / 回退N帧 , 来源于出现丢失和时延过长帧时发送方的行为。 ???????? 就像在停等协议中一 样 , 定时器将再次用于恢复数据帧或确认帧的丢失 。如果出现超时, 发送方重传所有已发送但未被确认的帧。 ????????? ? ? 3、选择重传协议(SR)【发送窗口大小>1,接收窗口大小>1】 ??????? 从上层收到数据后,SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。 ????????如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了并且有序号在窗口内的未发送帧,则发送这些帧。 ???????? ?????? ?【解析】重传0号和2号帧,选A。 ? ? ?【2017年统考】应用题 —— 后退N帧协议详解?1) 【分析】 ??????? 因为序号为3bit,所以序号的范围是0~7号,即循环使用0~7号作为序号。 ??????? 同时 因为采用后退n帧协议,所以发送窗口大小最大为 2^3 - 1 = 7? 。 ??????? 即一次最多连续发送7个帧。 【解析】 ????????由于后退n帧协议采用累计确认,则直接寻找最后一个乙对甲发送的确认序号即可,为R3,3。 ??????? 则甲可知乙收到了 0,1,2。3个帧:S0,0、S1,0、S,2,0。 ??????? 同时 滑动窗口向前滑动 3个单元。 ???????? ????????? ? ?2) ??????? 若采用n比特对帧进行编号,则发送窗口大小最大为2^n -1。即最大为7。 ??????? 当前发送窗口中仅含3,4,则还可以发送 7-2=5个数据帧。 ????????由于是循环使用编号,则序号为5,6,7,0,1。 ??????? R 3,3到来时,此时 甲还是收到了乙对 3号帧的确认。 ??????? 但注意,甲发送数据帧的捎带确认时:是对乙之前按序到达的帧的确认。 ??????? 是甲期望收到主机乙的下一个帧的编号,为2。 ??????? 则帧号为 S5,2、S6,2、S7,2、S0,2、S1,2。 ????????? ?3)b图甲的窗口变化过程: ??????? S0,0? S1,0? S2,0??? :甲发送 0,1,2号数据帧。并放入缓存。 ??????? R0,1??? :甲收到乙对于0号帧的确认。0号帧从缓存中删除。 ??????? R1,2??? :甲收到乙对于1号帧的确认。1号帧从缓存中删除。 ??????? S3,2? S4,2??? :甲发送3,4数据帧。并放入缓存。 ????????R2,2??? :甲收到乙对于1号帧的确认。甲收到乙发送的二号帧。滑动窗口无变化。 ??????? S2,0超时? :即甲未收到乙对2号帧的确认,则进行重发。 ??????? 则下一次要发送的帧为 S 2,3 (因为下一次甲想乙发送三号帧)。 ????????? ?4) ????????信道利用率:发送方在一个发送周期内,有效地发送数据所需要的时间占整个发送周期的比率。 ????????分母 = 发送周期 = 从发送第一个帧开始到收到第一个确认帧为止的时间 ????????一个帧的发送时延: 1000x8b / 100Mb/s = 8x10^(-5) s ????????发送周期: 发送时延x2 + RTT = 0.16ms + 0.96ms = 1.12ms ????????x2是由于捎带确认的帧也要发送这么多的时延。 ????????最终,一个发送周期最多可发送 7 个帧。 ????????信道利用率:7 x 一个帧发送时延 / 发送周期 = 7 x 0.08 / 1.12 = 50% 注意: 甲向乙发送的数据捎带确认是 取决于 甲上一次从乙收到的帧号 R(x,y) 里的x。 在 GBN 协议中,接收方发送了 N 帧后, 检测出错,则需要发送出错帧及其之后的帧 ? 【2017年 题47】后退N帧协议的综合考查_哔哩哔哩_bilibili ? ? 部分文字来源于 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 19:40:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |