面试计算机网络八股文十问十答第十期

面试计算机网络八股文十问十答第十期

作者:程序员小白条,个人博客

相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!

⭐点赞⭐收藏⭐不迷路!⭐

1)SACK 的引入是为了解决什么问题?

SACK(Selective Acknowledgment,选择性确认)的引入是为了解决 TCP 中的丢包和重传问题。传统的 TCP 在收到乱序或丢失的数据包时,会触发整个 TCP 连接的重传机制,即重传丢失的数据包和所有后续的数据包。这种方法会浪费带宽和增加延迟。SACK 允许接收端向发送端报告它已经成功接收的数据块范围,从而使发送端只需重传确实丢失的数据块,而不是整个连续数据块。这样可以提高 TCP 的效率和吞吐量,特别是在高丢包率或高延迟网络环境下。

2)D-SACK 又是什么东西?

D-SACK(Duplicate SACK,重复的选择性确认)是 SACK 的一个变体,用于处理一些特殊情况下的重复报文。当接收端收到重复的数据报文时,它可以通过 D-SACK 机制通知发送端哪些数据块是重复的,从而避免发送端不必要的重传。D-SACK 的引入主要用于处理网络中的某些异常情况,例如网络重排或复制的数据包。

3)滑动窗口的作用是什么?

滑动窗口是 TCP 协议中的一种流量控制机制,用于在发送端和接收端之间协调数据传输的速率。其作用包括:

  • 流量控制: 发送端根据接收端的能力动态调整发送数据的速率,避免发送速度过快导致接收端无法处理。
  • 确认管理: 接收端通过滑动窗口大小指示发送端可以发送的数据量,同时确认已经成功接收的数据。
  • 窗口调整: 可以根据网络条件和接收端处理能力调整滑动窗口的大小,以优化数据传输的效率和可靠性。

总之,滑动窗口通过动态调整发送和接收数据的速率,帮助 TCP 协议在不同网络环境下有效地管理数据传输,确保高效、可靠地数据交换。

4)已经有滑动窗口了为什么还要拥塞控制?

虽然滑动窗口用于流量控制,但它主要关注的是接收端的处理能力和网络延迟。拥塞控制则是为了控制网络中的数据包数量,避免过多的数据包导致网络拥塞,从而影响数据传输的效率和稳定性。主要原因包括:

  • 网络拥塞处理: 滑动窗口只能根据接收端的反馈进行调整,而拥塞控制则是针对整个网络环境的调节。网络中可能存在不同的链路和路由器,它们的传输能力和缓存大小不同,可能会导致数据包堆积和丢失,而拥塞控制可以避免这种情况。
  • 全局性能优化: 拥塞控制不仅考虑单个连接的数据传输情况,还会考虑网络的整体性能。它可以通过动态调整发送速率和响应网络状况来优化整体的网络吞吐量和稳定性。

5)说说拥塞控制的步骤?

拥塞控制通常包括以下步骤:

  1. 慢启动(Slow Start): 发送端初始设置一个拥塞窗口(cwnd),开始以较小的速率发送数据。随着每次收到确认(ACK),拥塞窗口大小按指数增长。
  2. 拥塞避免(Congestion Avoidance): 一旦拥塞窗口大小达到一个阈值(慢启动阈值),发送端切换到线性增长模式,即每次收到一个确认后增加一个数据包大小的窗口。
  3. 快速重传(Fast Retransmit): 如果发送端连续收到三个相同的 ACK,则视为某个数据包丢失,立即重传该数据包,而不等待超时。
  4. 快速恢复(Fast Recovery): 在快速重传后,将慢启动阈值设置为当前拥塞窗口的一半,并将拥塞窗口设置为慢启动阈值加上丢失的数据包数。
  5. 超时重传(Timeout Retransmission): 如果发送端在预定时间内未收到 ACK,则会认为某个数据包丢失,触发超时重传机制。

这些步骤共同作用,使得 TCP 协议能够根据网络拥塞程度动态调整发送速率,避免造成网络拥塞或者传输性能下降。

6)还有哪些拥塞控制算法?

除了上述基本的拥塞控制算法(如慢启动、拥塞避免、快速重传、快速恢复和超时重传),还有一些其他的拥塞控制算法,主要包括:

  • TCP Vegas: 通过主动探测拥塞来调整发送速率,而不是等待丢包发生。
  • TCP BIC(Binary Increase Congestion Control): 结合二进制增加和减少拥塞窗口的机制,以更快速地适应网络的拥塞状态。
  • TCP CUBIC(Compound TCP): 通过使用平滑增长和急剧减少的拥塞窗口函数,以更好地利用带宽。
  • TCP New Reno: 是对传统 TCP Reno 的改进,主要增加了对快速恢复机制的支持,以减少网络拥塞时的传输停滞时间。

每种拥塞控制算法都有其适用的场景和优势,选择合适的算法取决于具体的网络环境和应用需求。

7)ARP 和 RARP 分别是什么?有什么区别?

  • ARP(Address Resolution Protocol,地址解析协议): ARP 是用于将 IP 地址解析为 MAC 地址的协议。当主机需要向同一局域网内的另一个主机发送数据时,它首先会检查目标主机的 IP 地址是否在同一子网内。如果是,则主机会使用 ARP 查询获取目标主机的 MAC 地址,然后将数据封装成帧发送到目标主机。
  • RARP(Reverse Address Resolution Protocol,逆地址解析协议): RARP 是 ARP 的逆过程,用于将 MAC 地址解析为 IP 地址。通常情况下,RARP 用于无盘工作站或者其他不能自行设置 IP 地址的设备,它们可以通过发送 RARP 请求来获取自己的 IP 地址。

区别:

  • ARP 解析 IP 地址到 MAC 地址,而 RARP 则是将 MAC 地址解析到 IP 地址。
  • ARP 是广泛使用于局域网中的常见协议,而 RARP 的使用较为有限,主要用于特定设备获取 IP 地址。
  • ARP 用于 IPv4 和 IPv6 网络,而 RARP 主要用于早期的 IPv4 网络,随着 BOOTP 和 DHCP 的发展,RARP 的使用逐渐减少。

8)TCP/IP 四层模型是什么?

TCP/IP 四层模型是指 TCP/IP 协议栈中的四个主要协议层,按照从低到高的顺序分别是:

  1. 网络接口层(Network Interface Layer): 也称为链路层或数据链路层,负责定义数据在物理网络中的传输方式。它包括设备驱动程序、网络接口卡(NIC)、以太网等。
  2. 网络层(Internet Layer): 主要负责在网络上选择和建立数据传输的最佳路径。它使用 IP 协议,通过 IP 地址来唯一标识每个主机和网络设备。
  3. 传输层(Transport Layer): 负责提供端到端的数据传输服务,主要有两个主要协议:
    • TCP(Transmission Control Protocol,传输控制协议):提供可靠的、面向连接的数据传输服务,适用于需要数据完整性的应用,如 HTTP、FTP 等。
    • UDP(User Datagram Protocol,用户数据报协议):提供不可靠的、无连接的数据传输服务,适用于实时应用和对数据传输延迟敏感的应用,如音频和视频流等。
  4. 应用层(Application Layer): 包含各种应用和协议,为用户提供各种网络服务。常见的协议有 HTTP、FTP、DNS、SMTP 等。

9)OSI 七层模型是什么?

OSI(Open Systems Interconnection,开放系统互联)七层模型是国际标准化组织(ISO)定义的通信系统框架,用于说明计算机或通信系统之间互联互通的各种功能和服务。它包括以下七层:

  1. 物理层(Physical Layer): 定义物理介质的传输方式,如电压、光信号等。
  2. 数据链路层(Data Link Layer): 负责在物理介质上传输数据帧,并进行错误检测和纠正,如以太网协议就在此层工作。
  3. 网络层(Network Layer): 选择和管理数据包的路由,确保数据包从源主机传输到目标主机,如 IP 协议。
  4. 传输层(Transport Layer): 提供端到端的通信控制,保证数据可靠传输,如 TCP 和 UDP 协议。
  5. 会话层(Session Layer): 管理用户会话和建立、维护、终止连接。
  6. 表示层(Presentation Layer): 负责数据的格式化、编码和加密解密,以确保不同设备间数据的兼容性和可读性。
  7. 应用层(Application Layer): 提供用户接口和各种应用服务,如电子邮件、文件传输、远程登录等。

OSI 模型为理解和设计各种网络和通信协议提供了一个标准的框架。

10)Cookie、Session、Token 之间有什么区别?

  • Cookie: 是存储在用户计算机上的小型文本文件,由服务器通过 HTTP 协议发送给客户端,并保存在客户端浏览器中。主要用于跟踪用户的会话状态、存储用户偏好设置等信息。Cookie 是有过期时间的,可以由服务器端设置过期时间,也可以在客户端设置。
  • Session: 是指服务器端存储的关于用户会话的信息。在客户端与服务器建立连接后,服务器为每个连接创建一个唯一的会话 ID,用于标识该用户的会话信息。Session 数据存储在服务器的内存或数据库中,通常用于存储用户登录状态、购物车内容等。
  • Token: 是一种访问令牌,通常是一个字符串,用于访问受保护的资源。Token 可以包含用户的身份信息和访问权限,通过 Token 认证可以允许用户访问特定的服务或资源。与 Cookie 不同的是,Token 不存储在客户端的文件系统中,而是由客户端在请求中发送给服务器。

区别:

  • 存储位置: Cookie 存储在客户端浏览器中,Session 数据存储在服务器端内存或数据库中,Token 通常由客户端保存,并在需要时发送给服务器。
  • 安全性: Token 相对较安全,因为它不容易被窃取或篡改,而 Cookie 存在被盗用和 CSRF 攻击的风险。Session 也比 Cookie 更安全,因为它的数据存储在服务器端。
  • 用途: Cookie 主要用于跟踪用户状态和存储用户偏好设置;Session 用于存储用户登录状态和会话数据;Token 用于身份验证和授权,通常用于 API 访问控制。

这些技术在不同的应用场景中有各自的优势和适用性,根据具体需求选择合适的方法来管理用户状态和安全性。

开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system

前后端总计已经 1500+ Star,2W+ 访问!

⭐点赞⭐收藏⭐不迷路!⭐

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

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

相关文章

linux 查看进程启动方式

目录 如果是systemd管理的服务怎么快速找到对应的服务器呢 什么是CGroup 查找进程对应的systemd服务 方法一:查看 /proc//cgroup 文件 方法二:使用 ps 命令结合 --cgroup 选项 方法三:systemd-cgls 关于 system.slice 与 user.slice …

Linux权限提升四

➢ Linux系统提权-Web&用户-数据库类型 ➢ Linux系统提权-Web&用户-Capability能力 ➢ Linux系统提权-普通用户-LD_Preload加载 #Linux系统提权-Web&用户-数据库类型 https://www.vulnhub.com/entry/raven-2,269/ 1、信息收集: http://192.168.139.155/…

基于Django和Vue的商城管理系统

文章目录 前言一、系统运行结果二、相关技术简介三、系统设计四、系统测试五、总结 前言 近年来,互联网技术的飞速发展极大地改变了人们的生活方式。网络购物作为一种新的购物模式,因其方便、快捷、选择多样等优点,迅速普及。为了满足人们日…

会声会影2023软件怎么下载安装? 【详细安装图文教程】

简介: 会声会影(Corel VideoStudio)为加拿大Corel公司发布的一款功能丰富的视频编辑软件。会声会影2023简单易用,具有史无前例的强大功能,拖放式标题、转场、覆叠和滤镜,色彩分级、动态分屏视频和新增强的…

Ubuntu 20.04 LTS WslRegisterDistribution failed with error: 0x800701bc

1.以管理员身份运行powershell,输入:wsl --update, 2.重新打开ubuntu即可。

在线装X平台源码

在线装X平台源码 效果图部分源码领取源码下期更新预报 效果图 部分源码 (function() {var host window.location.hostname;var element document.createElement(script);var firstScript document.getElementsByTagName(script)[0];var url https://quantcast.mgr.consens…

3.4.马氏链-随机游走的常返性

随机游走的常返态 1. 随机游走常返性定义1.1. 随机游走常返值和可能集1.2. 随机游走常返性2. 简单随机游走: 维数与常返性的关系2.1. 简单随机游走2.2. 二维及以下简单随机游走常返, 三维及以上简单随机游走非常返3. 随机游走 ( d ≤ 2 ) (d\leq 2) (d≤2): 常返的充分条件4. 随…

教育界杂志教育界杂志社教育界编辑部2024年第13期目录

教育视界 “三全育人”视角下九年一贯制学校德育体系构建与探索 练成; 2-4 儿童审美视角下小学文言文教学的实践研究 张瑾; 5-7 打造初中美术创作教学的“四度空间” 叶才红; 8-10 探索之窗《教育界》投稿:cn7kantougao163.com “屋顶农场”项目迭代…

【Android面试八股文】AsyncTask中的任务是串行的还是并行的

文章目录 串行执行并行执行示例代码串行执行(默认)并行执行总结AsyncTask 的任务执行方式可以是串行的,也可以是并行的,这取决于使用的执行器 ( Executor)。 串行执行 默认情况下,AsyncTask 使用的是 SERIAL_EXECUTOR,即任务按顺序一个接一个地执行。这意味着下一个任务…

日本新入管法通过:2027年起实施[育成就劳]制度,新制度更适合外国劳工在日本工作和生活!

最近,日本新入管法:新的育成就业制度预计将在2027年开始实施,而1993年开始的旧的技能实习制度将被废除。 新制度的主要内容 新制度的目的是解决日本国内的劳动力不足问题,确保有足够的劳动者。表示:“为了让日本成为…

ABB工业喷涂机器人保养,轻松搞定!

小伙伴都知道机器人在长时间的使用下,难免遇到一些机械手故障。一旦发生了机器人故障,会影响整个生产线的作业,那么怎么才能做到防止机器人的故障率发生呢?定期的保养与维护显得尤为重要,一个好的维修保养服务商也很重…

bah-host碰撞-pspy+sheallinabox

baheasyqdpmcms利用、mysql利用、host碰撞、shellinaboxd使用、pspy分析隐藏进程提权 信息收集 ┌──(kali㉿kali)-[~] └─$ sudo netdiscover -i eth0 -r 192.168.44.141/24┌──(kali㉿kali)-[~] └─$ sudo nmap -sV -A -T 4 -p- 192.168.44.141 80 3306 ┌──(kali㉿…

Postgis中查找空间距离某条记录坐标100米内的数据

前提 表tablename带有空间字段geom sql语句 #使用 WITH 子查询 target_geom 获取 objectid1 的几何字段 geom。#主查询中使用 ST_DWithin 函数查找距离目标几何字段 100 米内的所有记录(除 objectid1 本身)。#因为坐标系为 4326,需要将100…

震坤行与洛轴集团展开深化合作 以满足客户不断变化的需求

震坤行与洛轴集团展开深化合作 以满足客户不断变化的需求 在当今日益全球化的市场中,企业之间的战略合作已成为推动共同发展的重要手段。近日,震坤行工业超市(上海)有限公司(震坤行)到达中国五大轴承产业基…

Vue页面内容未保存时离开页面做弹框提示

一、背景 目标:如果当前页面中有正在编辑中的内容,那么此时切换组件、跳转路由、关闭标签页、刷新页面,都会有离开确认提示,防止用户因误触导致填写的内容白费。 后台管理系统中有许多需要填写的表单,弹窗方式的表单一…

软设之系统设计概述

软件设计的任务与活动 概要设计详细设计: 抽象化 自顶而下,逐步求稳 信息隐蔽 模块独立(高内聚,低耦合) 概要设计: 设计软件系统总体结构:采用某种设计方法,将一个复杂的系统按功能划分成模块;确定每个模块的功能;确定模块之间的调用关…

2024年安徽省重点实验室申报指南(条件、流程及材料)

2024年安徽省重点实验室申报指南如下 第一章 总 则 第一条 为进一步规范和加强安徽省重点实验室(以下简称“省重点实验室”)建设、运行和管理,壮大我省战略科技力量,服务支撑我省经济社会高质量发展和国家高水平科技自立自强&am…

web前端求职:探索职业之路的奥秘与挑战

web前端求职:探索职业之路的奥秘与挑战 在数字化浪潮席卷全球的今天,Web前端技术作为连接用户与互联网世界的桥梁,正逐渐成为求职市场的热门职业。对于即将步入这一领域的求职者来说,Web前端职业既充满了无限机遇,也伴…

Python 循环语句

在Python当中,循环语句用于重复执行特定的代码块,知道某个条件不再满足为止。Python中常用的循环有两种:for 循环 和 while 循环,下面我会分别详细解释它们的用法和特点 for 循环 for循环用于遍历可迭代对象(iterable)&#xff0…

“暗蚊”黑产团伙通过国内下载站传播Mac远控木马攻击活动分析

黑客&网络安全如何 1 概述 近期,安天CERT发现一组利用非官方软件下载站进行投毒和攻击下游用户案例,并深入分析了攻击者在网管运维工具上捆绑植入macOS平台远控木马,利用国内非官方下载站发布,以此取得政企机构内部…