【计算机网络 - 基础问题】每日 3 题(五)

news/2024/9/22 15:22:34/

✍个人博客:Pandaconda-CSDN博客
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

13. 什么是端口?

计算机网络中,端口是一种逻辑上的概念,用于标识不同的网络应用程序或服务。

端口是一个 16 位的整数,其取值范围是 0 到 65535。端口的作用是在一台计算机上区分不同的网络通信进程或服务。

可以把计算机比作一个大楼,IP 地址就像大楼的地址,而端口就像是大楼里不同房间的门牌号。当网络数据包到达计算机时,除了通过 IP 地址找到这台计算机,还需要通过端口号将数据包准确地交给对应的应用程序或服务进行处理。

端口分为两种类型:

  1. 知名端口(Well-Known Ports):范围是 0 到 1023,这些端口通常被分配给一些常见的、广泛使用的网络服务,例如 HTTP 服务通常使用 80 端口,FTP 服务使用 21 端口,SSH 服务使用 22 端口等。
  2. 注册端口(Registered Ports):范围是 1024 到 49151,这些端口通常被用于一些特定的应用程序或服务,但不是系统级的服务。
  3. 动态/私有端口(Dynamic/Private Ports):范围是 49152 到 65535,这些端口通常由客户端程序在发起连接时随机选择使用。
    总之,端口使得计算机能够同时运行多个网络应用程序,并确保它们能够正确地接收和处理网络数据。

14. 路由转发协议有哪些?

自治系统(AS)内部的路由选择:

  • OSPF 协议:LS 算法(基于迪杰斯特拉算法,是一种集中式路由选择算法),适合数量多的场景
  • RIP 协议:DV 算法(基于贝尔曼弗洛伊德算法,是一种分散式路由选择算法),适合数量少的场景

自治系统间路由选择:

  • BGP 协议

15. BGP 和 OSPF 协议的原理

  1. BGP 协议原理:

BGP 是一种自治系统之间的外部网关协议,用于在不同自治系统之间交换路由信息。BGP 协议使用 TCP 连接来传输路由信息,并使用路径向量算法来选择最佳路径。BGP 协议的工作原理可以简要概括如下:

  • BGP 运行在自治系统之间的边界路由器上,通过与其他边界路由器建立 TCP 连接来交换路由信息。
  • BGP 协议通过广播自己拥有的网络前缀信息,同时学习和接受其他自治系统传递的路由信息。
  • BGP 使用路径向量算法来选择最佳路径,其中考虑了路由路径的 AS 路径长度、BGP 属性等因素。
  • BGP 通过更新消息来传递路由信息,并使用保持、通知和连续的消息来维护与对等方之间的连接。
  1. OSPF 协议原理:

OSPF 是一种内部网关协议,用于在同一个自治系统内部交换路由信息。OSPF 协议使用链路状态算法来构建网络拓扑,并计算出最短路径。OSPF 协议的工作原理可以简要概括如下:

  • OSPF 协议运行在同一个自治系统内的所有路由器上,通过互相交换链路状态信息来构建和维护网络的拓扑结构。
  • OSPF 通过组播协议来传输链路状态信息,并基于这些信息计算出最短路径树。
  • OSPF 使用 OSPF 专用的 Hello 消息来维护邻居关系,并使用 LSA(链路状态通告)消息来传递链路状态信息。
  • OSPF 通过了解相邻路由器的链路状态信息,计算出路由表,并选择最佳路径。

总的来说,BGP 协议用于自治系统之间的路由信息交换,通过路径向量算法选择最佳路径;而 OSPF 协议用于自治系统内部的路由信息交换,通过链路状态算法计算最短路径。两者在不同层级和规模的网络中扮演着重要的角色。


http://www.ppmy.cn/news/1528875.html

相关文章

鸿蒙手势交互(二:单一手势)

二、单一手势 有六种:点击手势(TapGesture)、长按手势(LongPressGesture)、拖动手势(PanGesture) 捏合手势(PinchGesture)、旋转手势(RotationGesture)、滑动手势(SwipeGesture) 点击手势(TapGesture) TapGesture(value?:{count?:number, fingers?:number}) /…

LNMP环境搭建、部署的整体流程和详细步骤

LNMP(Linux Nginx MySQL PHP)环境是在Linux操作系统上构建的一个高性能Web服务器环境。这种组合因其高并发处理能力和灵活性而受到许多开发者的青睐。下面是搭建LNMP环境的整体流程和详细步骤: 1. 准备Linux系统 首先确保你已经在一台服…

GPU使用

0. 写这篇文章的背景 最近还是在使用GPU、连接远程服务器上出现了一点问题,发现在这方面的知识还是学得很模糊。(最让人感到困惑的是之前GPU的使用都没有问题) 总结一下最近的问题: 1.每一次连接远程服务器(选择的Ubuntu22.04),使用服务器的文件夹还好(关键是现在用…

【busybox记录】【shell指令】sleep

目录 内容来源: 【GUN】【sleep】指令介绍 【busybox】【sleep】指令介绍 【linux】【sleep】指令介绍 使用示例: 1秒、234毫秒、567微秒和890纳秒的睡眠: 常用组合指令: 指令不常用/组合用法还需继续挖掘: 内容来源&…

关于github GPG的配置

GitHub 使用 OpenPGP 库来确认本地签名的提交和标记,是否根据你在 GitHub.com 上添加到帐户的公钥进行加密验证。 这里是github关于GPG密钥的文档:https://docs.github.com/zh/authentication/managing-commit-signature-verification/about-commit-sig…

【Opencv知识】图像梯度如何理解?

在图像处理和计算机视觉中,理解和计算图像的梯度是非常重要的步骤。梯度图像表示的是图像在每个像素点上的亮度变化率,通常用于边缘检测和特征提取等任务。 灰度化是将彩色图像转换为灰度图像的过程,这样每个像素只包含一个亮度值&#xff0…

解决引入ethereumjs-wallet报错Uncaught ReferenceError: process is defined

最近在学习web3.0开发DApp的视频教程,遇到用助记词生成秘钥对报错Uncaught ReferenceError: process is defined。具体报错如下截图: 在网上搜了好几个小时都没找到解决方法。突然在学习的视频论坛找到有哥们说是引入的包不兼容问题导致报这个错。我试了…

Video.js展示视频

在Vue 2中使用Video.js来展示视频是一个常见的需求,因为Video.js提供了丰富的API和灵活的自定义选项,使得在网页上嵌入和控制视频变得简单。以下是一个详细的示例,包括如何在Vue 2项目中集成Video.js,并展示一个基本的视频播放器。…