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

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

106. 腾讯会议设计原理是什么,讲解一下大概流程比如是用的 UDP 还是 TCP,文件描述符这类讲解怎么实现的会议?

腾讯会议是一款基于 TCP 协议和 WebRTC 技术的视频会议产品,主要流程如下:

  1. 用户通过客户端发起加入会议请求。
  2. 客户端向服务器发送加入会议请求,服务器接收到后返回一个会议 ID 和一组用户信息。
  3. 客户端根据会议 ID 和用户信息通过 WebRTC 技术建立与服务器的连接。
  4. 服务器将该用户加入到指定的视频房间中,同时将该房间内其他成员的信息发送给新进入的成员。
  5. 成员之间通过 WebRTC 技术建立点对点通信,进行音视频数据传输。在传输过程中,使用 UDP 协议传输音视频数据包,并且采用 SRTP(安全实时传输协议)对数据进行加密和认证。
  6. 在整个过程中,客户端需要不断监听各种事件(例如:网络状态变化、硬件设备变更等),并根据事件类型做出相应处理。
  7. 为了保证音视频质量,在每个参会者电脑上运行一个音频引擎来提供噪声抑制、回声消除、自动增益控制等功能。
  8. 文件描述符方面,可以使用 epoll 或者 select 来监听多个 socket 文件描述符,并且能够高效地处理 I/O 事件。另外,在 WebRTC 中也有使用 IOCP 模型来处理网络 I/O 事件。

总的来说,腾讯会议通过 WebRTC 技术实现音视频传输,使用 TCP 协议建立与服务器的连接,并采用 UDP 协议传输音视频数据包。同时,客户端需要不断监听各种事件,并且可以使用 epoll 或者 select 等方法处理多个文件描述符的 I/O 事件。

107. IP 分类以及其优缺点

IP 分类的优点

不管是路由器还是主机解析到一个 IP 地址时候,我们判断其 IP 地址的首位是否为 0,为 0 则为 A 类地址,那么就能很快的找出网络地址和主机地址。
IP 分类的缺点

  1. 缺点一
    同一网络下没有地址层次,比如一个公司里用了 B 类地址,但是可能需要根据生产环境、测试环境、开发环境来划分地址层次,而这种 IP 分类是没有地址层次划分的功能,所以这就缺少地址的灵活性。
  2. 缺点二
    A、B、C 类有个尴尬处境,就是不能很好的与现实网络匹配。
  • C 类地址能包含的最大主机数量实在太少了,只有 254 个,估计一个网吧都不够用。
  • 而 B 类地址能包含的最大主机数量又太多了,6 万多台机器放在一个网络下面,一般的企业基本达不到这个规模,闲着的地址就是浪费。

这两个缺点,都可以在 CIDR 无分类地址解决。
在这里插入图片描述

108. 列举 IP 报文头部

  1. 源地址(Source Address):指定了 IP 报文的发送者的 IP 地址。它用来标识发送方的身份和位置。
  2. 目标地址(Destination Address):指定了 IP 报文的接收者的 IP 地址。它用来指定报文的目的地。
  3. 生存时间(Time to Live,TTL):TTL 字段用于控制 IP 报文在网络中的生存时间。它指示了一个报文在网络中可以经过的最大路由器跳数。每经过一个路由器,TTL 值会减少 1。如果 TTL 值减少到 0,路由器会丢弃该报文,同时发送一个 ICMP(Internet Control Message Protocol)超时消息给报文的源地址。

此外,IP 报文头部还包含其他字段,如版本号、报文长度、协议类型、源端口、目标端口等。这些字段用于在网络中正确地路由和传输数据。

需要注意的是,上述列举的字段是 IPv4 协议的报文头部。在 IPv6 协议中,报文头部的字段可能会有所不同。

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

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

相关文章

Java项目:160 基于springboot物流管理系统(PPT+论文+说明文档)

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 物流管理系统有管理员和用户两个角色。 ​ 管理员功能有个人中心,用户管理,车辆信息管理,公告信息管理&#xff…

实现MySQL异地多活场景

作为现代化的互联网企业 ,最怕的是什么 ?是意外!由各种意外导致的数据库问题,磁盘问题、网络问题、人员误操作问题等等,这些问题都可能导致数据不可用或者丢失,造成重大损失。 因此,很少会有企…

运维:winserver服务器添加nginx开机自启动

前言 发现之前做的一版windows开机自启动任务对nginx的启用无效,因此这里给出针对性的配置,以实现winserver服务器添加nginx开机自启动目的。 先前的配置方案:windows部署开机自启动服务_windows 服务中添加自行启动任务-CSDN博客 方案 1、进…

[Web安全 网络安全]-中间件解析漏洞(iis nginx apache tomcat)

文章目录: 一:iis 前言 a 不同版本和安装 b iis5.x-iis6.x c iis7.5 1.目录解析漏洞 2.短文本漏洞 3.PUT上传漏洞 4.RCE-CVE-2017-7269 5.HTTP.SYS远程代码执行(MS15-034) 6.CGI-PHP解析漏洞 7.基于文件名的解析漏洞 8.基于文件夹的解析漏…

记录一个Ajax发送JSON数据的坑,后端RequestBody接收参数小细节?JSON对象和JSON字符串的区别?

上半部分主要介绍我实际出现的问题,最终下面会有总结。 起因:我想发送post请求的data,但是在浏览器中竟然被搞成了地址栏编码 如图前端发送的ajax请求数据 如图发送的请求体: 很明显是keyvalue这种形式,根本就不是…

基于Java+SpringBoot+Vue的在线文档管理系统的设计与实现

基于JavaSpringBootVue的在线文档管理系统的设计与实现 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&…

【算法题解】二分查找的经典问题解析

文章目录 什么是二分?关于二分的一些题目1.分巧克力解题思路编写代码 2.数组中数值和下标相等的元素3.0到n-1中缺失的数字4.数列分段 II解题思路编写代码 总结 什么是二分? 二分是一种思想,用于有序数组中快速查找目标元素。 用动图展示一下…

Java设计模式10 - 观察者模式

观察者模式 观察者模式也叫作发布-订阅模式,也就是事件监听机制。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自…

信息系统的生命周期

信息系统是面向现实世界人类生产、生活中的具体应用,是为了提高人类活动的质量、效率而存在的。信息系统的目的、性能、内部结构和秩序、外部接口、部件组成等由人来规划,它的产生、建设、运行和完善构成一个循环的过程,这个过程遵循一定的规…

【vue】指令补充+样式绑定+计算属性+侦听器

代码获取 知识总结 ⼀、指令补充 1.指令修饰符 1.1 什么是指令修饰符? 所谓指令修饰符就是让指令的 功能更强⼤,书写更便捷 1.2 分类 1.2.1 按键修饰符 keydown.enter:当enter键按下时触发 keyup.enter:当enter键抬起时触…

Jmeter脚本录制:抓取IOS手机请求包

现在移动端的项目越来越多,今天给大家介绍一下,在IOS下Jmeter如何抓包。 1、电脑连上wifi 2、Jmeter中配置“HTTP代理服务器” 1)启动Jmeter; 2)“测试计划”中添加“线程组”; 3)“测试计划”中添加“HTTP代理服务器”&…

强化学习和QLearning及GAN到底是什么关系啊

强化学习(Reinforcement Learning)、Q-Learning 和生成对抗网络(GANs)是机器学习中的三个不同概念,它们虽然有一些交叉,但本质上是针对不同问题的技术方法。下面我来详细解释它们之间的关系和区别&#xff…

Springboot 整合 Java DL4J 实现农产品质量检测系统

🧑 博主简介:历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,…

图片美化SDK解决方案,赋能H5与小程序极致体验

无论是社交媒体分享、电商产品展示,还是个人日常生活的记录,一张经过精心美化的图片总能瞬间吸引眼球,传递出更加丰富和动人的信息。如何在不增加应用体积、不牺牲用户体验的前提下,为H5页面和小程序提供媲美原生APP的图片美化功能…

微信小程序-自定义组件

文章目录 微信小程序-自定义组件概述创建和使用数据、方法和属性slot 插槽默认插槽具名插槽 组件样式注意项样式隔离 数据监听组件间通信父传子子传父获取子组件实例 生命周期组件的生命周期组件所在页面的生命周期App、Page与Component生命周期对比冷启动保留当前页面和关闭当…

【玩转 JS 函数式编程_015】4.2 JavaScript 函数式编程核心基础强化之:玩转非纯函数(Impure functions)

文章目录 4.1 纯函数4.1.1. 引用透明 Referential transparency4.1.2. JS 函数中的副作用 Side effects4.1.3. 纯函数的优势 Advantages of pure functions 4.2. 非纯函数 Impure functions ✔️4.2.1. 避开非纯函数 Avoiding impure functions1 避免使用状态 Avoiding the usa…

linux源码安装slurm以及mung和openssl

一、源码安装munge 1、编译安装munge (1)下载munge地址:https://github.com/dun/munge/releases (2)解压编译安装: 1 2 3 4 5 6 7 8 创建/data目录 复制文件munge-0.5.15.tar.xz 到/data目录下 tar -Jx…

vue3日历组件库Vue-Cel使用

官网地址 安装 npm i vue-cal<template><div class"calendar-container"><!-- 这个日历双击可以跳转到下一个周期,但是我项目不允许点击,没找到相关的禁用事件,这里写个蒙层阻止点击 --><div class"mask"></div><!-- 日…

STM32单片机(F03C8T6)-点灯(寄存器点灯和库函数点灯)

作者&#xff1a;Whappy 时间&#xff1a;2024.10.9 日志&#xff1a;本实验是我第一个32位单片机实验程序&#xff0c;如有不足请指点&#xff01; #include "stm32f10x.h" // Device headerint main(void) {//寄存器点灯RCC->APB2ENR 0x000…

界面耻辱纪念堂--可视元素03

更多的迹象表明&#xff0c;关于在程序里使用新的动态界面元素&#xff0c;微软的态度是不确定的&#xff0c;其中一个是仅仅需要对比一下Office97 里的“Coolbars”和“标准工具条”。Coolbar 按钮直到用户指针通过的时候才成为按钮&#xff08;否则是平的&#xff09;。 工具…