计算机网络·考点知识点整理

news2025/1/9 1:09:00

根据华科历年计网题,整理了一些常考的知识点难点

因特网五层协议的功能

层次名称协议功能描述典型协议举例(至少两种)协议分组名称
应用层制定两个应用进程之间的通信规范HTTP、SMTP、FTP、Telnet、POP3、IMAP报文
运输层实现进程与进程之间的通信TCP、UDP报文段
网络层实现主机到主机之间的逻辑通信IP、ICMP、BGP、RIP、OSPF数据报
链路层将数据通过单一通信链路从一个节点移动到相邻节点PPP、HDLC、WIFI、ARQ数据帧
物理层在相邻结点之间传输比特流10Base-5、10Base-T、100Base-T、1000Base-T比特流

运输层

TCP 可靠数据传输的原理

 假定主机 A 通过一条 TCP 连接向主机 B 发送两个紧接着的 TCP 报文段。第一个报文段的序号为 90 90 90,第二个报文段的序号为 110 110 110,试回答下面相关问题。

  1. 第一个报文段中有多少数据?
  2. 假设第一个报文段丢失而第二个报文段到达主机 B。那么在主机 B 发往主机 A 的确认报文中,确认号应该是多少?
  • TCP 可靠数据传输中,“序号”是按字节确定的,因此第一个报文段有 110 − 90 = 20 110-90=20 11090=20 字节的数据。
  • TCP 的“确认号”不同于 GBN 或 SR,它的确认号含义是下一个期望收到的序号。同时,TCP 采取累计确认,这表明它发送的确认号之前的数据均已收到。本题中,一开始接收方希望收到 90 90 90,在 s e q = 110 \mathit{seq}=110 seq=110 的报文到达后,依然希望收到 90 90 90,所以发送的确认号为 a c k = 90 \mathit{ack}=90 ack=90

答案 20 , 90 20,90 20,90


 主机 A 和 B 经一条 TCP 连接通信,并且主机 B 已经收到了来自 A 的最长为 126 126 126 字节的所有字节。假定主机 A 随后向主机 B 发送两个紧接着的报文段。第一个和第二个报文段分别包含了 80 80 80 字节和 40 40 40 字节的数据。在第一个报文段中,序号是 127 127 127,源端口号是 302 302 302,目的端口号是 80 80 80。无论何时主机 B 接收到来自主机 A 的报文段,它都会发送确认。

  1. 在从主机 A 发往 B 的第二个报文段中,序号、源端口号和目的端口号各是什么?
  2. 如果第一个报文段在第二个报文段之前到达,在第一个到达报文段的确认中,确认号、源端口号和目的端口号各是什么?
  3. 如果第二个报文段在第一个报文段之前到达,在第一个到达报文段的确认中,确认号是什么?
  4. 假定由 A 发送的两个报文段按序到达 B。第一个确认丢失了而第二个确认在第一个超时间隔之后到达。画出时序图,显示这些报文段和发送的所有其他报文段和确认。(假设没有其他分组丢失。)

对于图上每个报文段,标出序号和数据的字节数量;对于你增加的每个应答,标出确认号。

  • 207 , 302 , 80 207,302,80 207,302,80
  • 207 , 80 , 32 207,80,32 207,80,32
  • 127 127 127

超时时间计算

  在 RFC 原件中,记载的超时时间的计算可以表示为:
D e v R T T i = ( 1 − β ) × D e v R T T i − 1 + β × ∣ S a m p l e R T T i − 1 − E s t i m a t e d R T T i − 1 ∣ (1) \mathrm{DevRTT}_i = (1 − \beta) \times \mathrm{DevRTT}_{i-1} + \beta \times |\mathrm{SampleRTT}_{i-1} − \mathrm{EstimatedRTT}_{i-1}|\tag{1} DevRTTi=(1β)×DevRTTi1+β×SampleRTTi1EstimatedRTTi1(1) E s t i m a t e d R T T i = ( 1 − α ) × E s t i m a t e d R T T i − 1 + α × S a m p l e R T T i − 1 (2) \mathrm{EstimatedRTT}_i = (1 − \alpha) \times\mathrm{EstimatedRTT}_{i-1} + \alpha \times \mathrm{SampleRTT}_{i-1}\tag{2} EstimatedRTTi=(1α)×EstimatedRTTi1+α×SampleRTTi1(2) T i m e o u t I n t e r v a l i = E s t i m a t e d R T T i + 4 × D e v R T T i (3) \mathrm{TimeoutInterval}_i = \mathrm{EstimatedRTT}_i + 4 \times \mathrm{DevRTT}_{i}\tag{3} TimeoutIntervali=EstimatedRTTi+4×DevRTTi(3)

  也就是利用上一时刻 i − 1 i-1 i1 中计算得的 EstimatedRTT, DevRTT 以及测量得到的 SampleRTT,去估计下一时刻 i i i 的 EstimatedRTT, DevRTT,从而得到下一时刻的 TimeoutInterval。然而在 2024/12/6 上午的答疑中,老师指出式 ( 1 ) (1) (1) 是错误的,应该更改为:
D e v R T T i = ( 1 − β ) × D e v R T T i − 1 + β × ∣ S a m p l e R T T i − 1 − E s t i m a t e d R T T i ∣ \mathrm{DevRTT}_i = (1 − \beta) \times \mathrm{DevRTT}_{i-1} + \beta \times |\mathrm{SampleRTT}_{i-1} − \mathrm{EstimatedRTT}_{\red{i}}| DevRTTi=(1β)×DevRTTi1+β×SampleRTTi1EstimatedRTTi 即利用新算得的 EstimatedRTT 参与到 DevRTT 的计算当中。

网络层

IP 数据报分片

  IP 数据报会通过加上首部和尾部,变成链路层的数据帧,并交付给链路层进行数据传输。然而,链路层出于各种原因,限定了数据帧的有效载荷不得超过 MTU。比如以太网的 MTU 就是 1500 1500 1500 字节。
  因此,当 IP 数据报要交付给以太网时,如果 IP 数据报的总长度超过 1500 1500 1500 字节,这个数据报就要进行分片。
 考虑向具有 700 700 700 字节 MTU 的一条链路发送一个 2400 2400 2400 字节的数据报。假定初始数据报标有标识号
422 422 422。将会生成多少个分片?在生成相关分片的数据报中与分片相关的四个字段的值是多少?

  • 2400 2400 2400 字节数据报包含 20 20 20 字节 IP 头部以及 2380 2380 2380 字节的有效载荷。而链路层能够接受的 IP 报文最大长度为 700 700 700,也即一次 680 680 680 字节的 IP 数据报有效载荷。因此, ⌈ 2380 / 680 ⌉ = 4 \lceil2380/680\rceil=4 2380/680=4,需要生成 4 4 4 个分片。
  • 首先我们需要知道,IP 数据报中与分片相关的四个字段都位于其首部,这四个字段分别是:长度(IP 数据报总长度,以字节计),标识号(一个大 IP 数据报分片后,其子数据报具有相同的标识号),标志 3   b i t 3\mathrm{\ bit} 3 bit,第一个比特保留,第二个比特表示能否分片,第三个比特表示后续是否还有分片;一般我们只关心第三个比特),片偏移(这个子数据报中第一个有效载荷字节,在原数据报的哪个位置,一个片就是 8   B 8\ \mathrm{B} 8 B)。基于上面的知识,可以得知:
    • 长度分别是 700 , 700 , 700 , 360 700,700,700,360 700,700,700,360
    • 标识号都是 422 422 422(题给条件)。
    • 标志分别是 1 , 1 , 1 , 0 1,1,1,0 1,1,1,0
    • 片偏移分别是 0 , 85 , 170 , 255 0,85,170,255 0,85,170,255

路由表更新算法(距离向量)

  两个相邻路由器 A,B 位于同一个 AS 中,都执行 DV 选路算法时(例如 RIP),会相互发送自己的路由表。比如 B 向 A 发送路由表,A 在收到后进行两个操作:

  • 将 B 中每一个表项的“距离”加一,得到新表
  • 对比新表和 A 的路由表:
    • 若目的网络在 A 的路由表中不存在,直接填入 A 的路由表中。
    • 相同下一跳,更新距离。
    • 不同下一跳,距离更短(或者相同),则更新对应记录。
    • 不同下一跳,距离更大,则保留距离更短的记录。
    • 对于新表中没有的但是 A 路由表中有的表项,删除它们(说明对应网络由原先的可达变为现在的不可达)。

链路层

交换机的自学习与选路过程

  交换机的自学习过程可以用下面的流程图表示:

Created with Raphaël 2.3.0 开始 从接口 x 收到帧 帧有差错? 丢弃 结束 在 ARP 表中查找目的 MAC 地址对应的接口 找到了接口为 d? d=x? 丢弃该帧 根据源 MAC 更新 ARP 表项 向接口 d 转发该帧 向除x以外的所有接口转发此帧 yes no yes no yes no

  其中更新 ARP 表项包括两个操作:

  • 如果源 MAC 不存在,那么加入 ARP 表。
  • 更新计时器(由于网络拓扑经常变化,所以交换机给每个表项设置了一个计时器,超时记录要删除,以反映链路最新状态)。

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

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

相关文章

创建 React Native 项目

创建 React Native 项目 npx react-nativelatest init YourProject切换依赖源 切换好源之后,你需要进入 android 目录,然后运行 gradlew build 命令。 Android 依赖安装是使用 gradlew 进行管理的。 $ cd android $ ./gradlew build --refresh-depend…

【Vue3中Router使用】

Vue3中Router使用 1. 安装vue-router组件2. 建两个测试页面2.1 测试页面Home.vue2.2 测试页面Category.vue 3. 创建路由对象4. 在入口main.js中引入router把App.vue改成路由页面5. 测试5.1 关闭检查解决ESlint报错5.2 改文件名解决ESlint检查报错测试WebHashHistory 和WebHisto…

AD20 原理图库更新到原理图

一 点击工具,从库更新。快捷键TL 二 点击完成 三 执行变更,最后点击关闭

学习SqlSugar调用达梦数据库的存储过程的基本用法

将之前学习达梦数据库递归用法的SQL语句封装为存储过程,然后使用SqlSugar在C#程序中调用。   打开达梦管理工具,在SCHOOL数据库的存储过程文件夹新建存储过程,这里需注意,存储过程名称及参数名称都需要大写,且参数名…

如何让Google快速收录你的页面?

要让Google更快地收录你的网站内容,首先需要理解“爬虫”这个概念。Google的爬虫是帮助它发现和评估网站内容质量的工具,如果你的页面质量高且更新频率稳定,那么Google爬虫更可能频繁光顾。通常情况下,通过Google Search Console&…

思特奇政·企数智化产品服务平台正式发布,助力运营商政企数智能力跃迁

数字浪潮下,产业数字化进程加速发展,信息服务迎来更广阔的天地,同时也为运营商政企支撑系统提出了更高要求。12月4日,2024数字科技生态大会期间,思特奇正式发布政企数智化产品服务平台,融合应用大数据、AI等新质生产要素,构建集平台服务、精准营销、全周期运营支撑、智慧大脑于…

模型 AITDA(吸引、兴趣、信任、渴望、行动)

系列文章 分享 模型,了解更多👉 模型_思维模型目录。吸引、兴趣、信任、渴望、行动 五步曲。 1 模型AITDA的应用 1.1 开源AI智能名片小程序的营销策略 一家企业开发了开源AI智能名片小程序,旨在通过S2B2C模式连接供应商和消费者。该企业采用…

工业—使用Flink处理Kafka中的数据_ProduceRecord1

1 、 使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入Redis 中, key 值为

OpenSSH和OpenSSL升级

需求 centos7.9升级SSH和SSL OpenSSH升级为openssh9.8 OpenSSL升级为openssl-3.4.0 下载openssh最新版本与openssl对应版本 openssh最新版本下载地址 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gzOpenSSL下载地址 这里下载的是3.4.0 wg…

大语言模型(2)--GPT-1

GPT-1是由OpenAI在2018年推出的第一代生成式预训练模型(《Improving Language Understanding by Generative Pre-Training》),它采用了无监督预训练和有监督微调相结合的方法,以增强模型的通用任务求解能力。在此之前,…

IDEA 鼠标悬浮显示方法注释 javaDoc 及配置遇到的问题

方法详情: 鼠标悬浮时的效果: 设置方法: File -> Settings -> Editor -> Code Editing -> Quick Documentation,勾选红框中的选项 可能会遇到的问题: 如果不能选中,如下图 把下图的位置的选中项取消掉 选…

微信小程序实现图片拖拽调换位置效果 -- 开箱即用

在编写类似发布朋友圈功能的功能时,需要实现图片的拖拽排序,删除图片等功能。 一、效果展示 **博主的小程序首页也采用了该示例代码,可以在威信中搜索:我的百宝工具箱 二、示例代码 1.1、在自己的小程序中创建组件 1.2、组件…

import是如何“占领满屏“

import是如何“占领满屏“的? 《拒绝使用模块重导(Re-export)》 模块重导是一种通用的技术。在腾讯、字节、阿里等各大厂的组件库中都有大量使用。 如:字节的arco-design组件库中的组件:github.com/arco-design… …

鸿蒙分享(二):引入zrouter路由跳转+封装

码仓库:https://gitee.com/linguanzhong/share_harmonyos 鸿蒙api:12 鸿蒙第三方库地址:OpenHarmony三方库中心仓 zrouter地址:OpenHarmony三方库中心仓 1.引入zrouter 1.打开终端界面:输入 ohpm install hzw/zrouter 2.在项目…

第七节(2)、T型加减速优化处理【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍解决标准T型加减速过程中的两个缺陷,其一是使得初速度任意设置;其二是降低Cn递推计算量,提升速度上限 一. 加速减速过程计算 1.1计算不存在匀速过程 根据基本运动定理: w m a x w 0 a 0 ∗ t n 0 … …

MySQL--用户权限

1.使用root用户登录MySQL客户端,创建一个名为userl的用户,初始密码为123456;创建一个名为user2的用户,无初始密码。然后,分别使用uesr1、user2登录MySQL 客户端。 创建两个用户 使用user1登录 使用user2登录 2.使用root用户登录&a…

最新版Chrome谷歌加载ActiveX控件之金格iWebOffice2015控件

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

实现跨平台 SSH 连接:从 macOS 到 Windows WSL 的完整解决方案20241203

🌐 实现跨平台 SSH 连接:从 macOS 到 Windows WSL 的完整解决方案 ✨ 引言 随着跨平台开发的普及,开发者经常需要在多系统环境中切换和协作。尤其是在 macOS 和 Windows 混合使用的开发环境中,通过 SSH 远程访问和管理 Windows …

C语言——习题练习(一)

习题: 现在有两种面值的邮票,一种为8角,一种为6角。你要付n角的邮资(不能多付也不能少付),请给出邮票张数最少的方案。如果没有正好的方案则输出-1。 输入格式: 只有一行,为若干个整数&#xf…

Redis 数据结结构(一)—字符串、哈希表、列表

Redis(版本7.0)的数据结构主要包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)、超日志&#xff08…