当前位置: 首页 > news >正文

网络:用2个IP地址描述一个连接

用2个IP地址描述一个连接。这是在阅读了《TCP/IP指南》后的感想,与工业标准不同,需注意区分。

如果一个IP地址有48位,则用96位描述一个连接

对于单播,是每个IP分别描述位置。位置包括:邮局编号+主机编号,采用固定长度。全球有80亿人,按100亿计算,开平方,得10万。每10万人分配一个“邮局”。

对于多播,第一个IP描述发起方,第二个IP仅是一个编号,说明这个连接是该IP发起的第几个多播,一般来说,值为1,第一个。

对于广播,和多播格式相同,只是编号为0。

例:
单播:0.2597.765->0.3254.99873(0表示单播,从2597号邮局的765号主机,向3254号邮局的99873号主机发送的数据包)

多播:1.25987.33765=>1.1(1表示多播,它发起的第1个直播,不同于->,这里用的是=>)

广播:1.25987.33765=>1.0(特殊值0表示广播)

若一个IP宽48位,则1位M,23位网络地址,24位主机地址。1+23+24=48,1+47=48
对多播和广播,也有1比特M,这是冗余设计。M=multi,“多”的意思。M=0单播,M=1多播和广播。

为了防止过度占用网络地址,也为了修改方便,用公式roundup(log2(全局人口/地区人口))算出每个地区(国家)占用多少比特。
例如,中国:
roundup(log2(80/14))=roundup(2.515)=3
美国:
roundup(log2(80/3.33))=roundup(4.586)=5
这些计算结果用于在单播地址的“邮局编号”中使用。再把二进制转化为十进制,这样一来,做两次减法,或进行几次位运算,就能知道邮局编号的归属地。

这里使用的是“邮局编号+主机编号”,书上的说法是“网络地址+主机地址”。

交换机的处理逻辑:
交换机有许多端口,连接着其它交换机或主机。它能记住去哪个IP地址需要从几号端口走,按照标准设计,一个邮局有10万主机,有约10万个邮局。一台交换机不一定要直接和10万台设备相连,但它要记住10万个地址,占用的内存约是:
100K×8B=800KB
不是很大,内存里装得下。
邮局之间也用交换机连接,算法相似。跨邮局的通信,先查看邮局编号是否相同?不同,则先转移到邮局,再在邮局间传递,最后送往目标主机。

多播的原理:
需要把从一个起点,到多个终点,的链路进行压缩。如:
45->36->99
45->36->98->47
这是个一对二的多播,有两条链路,压缩的结果是:节点45把数据传递给36,36要传递给98和99,98还要传递给47,99不用再传递了。
把链路集压缩,再传递给链路上的交换机,交换机只记住和自己相关的那一部分,这是种分布式吗?

相关文章:

网络:用2个IP地址描述一个连接

用2个IP地址描述一个连接。这是在阅读了《TCP/IP指南》后的感想,与工业标准不同,需注意区分。 如果一个IP地址有48位,则用96位描述一个连接 对于单播,是每个IP分别描述位置。位置包括:邮局编号主机编号,采用…...

Nodejs--构建web应用

构建web应用 将从http模块中的服务器端中的request使劲按开始分析,request时间发生于网络连接建立,客户端想服务器发送报文,服务器解析报文,发现http请求的报文的时候,在出发request事件之前,已经准备好Se…...

C++ 二分查找法【面试】

在C中实现二分查找法是一个常见的面试问题。二分查找法是一种在有序数组中查找特定元素的算法&#xff0c;其时间复杂度为O(log n)。以下是使用C实现二分查找的示例代码&#xff1a; #include <iostream> #include <vector>// 二分查找法函数 int binarySearch(co…...

【Docker】docker-compose常用的构建docker容器的yml文件

docker-compose的简单使用方法&#xff0c;在准备好的文件夹中&#xff0c;mkdir好要挂载的如data或者conf文件夹&#xff0c;及vim docker-compose.yml&#xff0c;将下方的要使用的内容粘贴进去&#xff0c;根据自己需要添加/删除/修改一下。最后在当前文件夹直接后台启动即可…...

华为坤灵路由器初始化开局的注意事项,含NAT配置

坤灵路由器比较坑&#xff0c;无web界面&#xff0c;全程命令行配置&#xff0c;但是版本更新导致和华为企业路由器配置很多不一样的地方&#xff0c;今天介绍下 1、aaa密码复杂度修改&#xff1a; #使能设备对密码进行四选三复杂度检查功能。 <HUAWEI>system-view […...

HTTP!!!

HTTP 一 : 请求报文1.2 : 首行1.3 :请求头(header)1.4 : 空行1.5 : 正文 body 二: 响应报文2.2 : 首行 三 : URL 一 : 请求报文 一个HTTP 请求报文, 分成四个部分 首行 GET https://cn.bing.com/?FORMZ9FD1 HTTP/1.1请求头(header)空行正文(body) 1.2 : 首行 首行又分为三个…...

Mybatis用Map接收返回值可能出现的问题

先看一个示例 明明定义了Map<String,String> 实际内部存放的是Integer resultType是Map 也就是说Mybatis是通过反射将类型放进去的 躲过了编辑器检查 但是这样取值时候就会报类型转换错误 解决方式 resultMap 另外一种方式 用Number Integer和Double的父类 Ma…...

Web爬虫--fofa-资产信息搜集

免责声明:本文仅做技术交流与学习... 目录 fofa.py fofa搜索参数分析 fofa_api.py fofa.py import requests from bs4 import BeautifulSoup# 登录fofa之后,把自己的cookie弄过来. header{cookie: } # 参数为搜索的语法. urlhttps://fofa.info/result?qbase64dGl0bGU9IuS4…...

mySql的事务(操作一下)

目录 1. 简介2. 事务操作3. 四大特性4. 并发事务问题5. 脏读6. 不可重复读7. 幻读事务隔离级别参考链接 1. 简介 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作…...

UniApp或微信小程序中scroll-view组件使用show-scrollbar在真机Android或IOS中隐藏不了滚动条的解决办法

show-scrollbar 属性 不论是使用 变量 还是直接使用 布尔值或者直接使用 css 都是在 ios、Android 上是都没有效果。。 真机中还是出现滚动条 解决办法 添加下面CSS ::-webkit-scrollbar {display: none;width: 0 !important;height: 0 !important;-webkit-appearance: no…...

每天五分钟深度学习框架pytorch:多维tensor向量在某一维度的拼接和分割

本文重点 在深度学习中,我们常常需要完成多个向量拼接,同时也要完成向量的分割,在pytorch中已经有封装好的库,我们可以直接调用完成这部分任务。 Cat拼接 c=torch.cat([a,b],dim=0)表示将a和b按0维度进行拼接,需要注意再非dim维度,两个矩阵的维度必须是一致的,不然会拼…...

从C语言到C++(五)

从C语言到C&#xff08;五&#xff09; 自动类型推导尾拖返回类型类型信息推导typeid1. 定义和基本作用2. 使用方法3. 注意事项4. 示例代码5. 关联概念&#xff1a;RTTI decltype基本用法示例注意事项总结 基于范围的增强for循环示例 1&#xff1a;使用数组示例 2&#xff1a;使…...

数据结构——栈(Stack)详解

1. 栈&#xff08;Stack&#xff09; 1.1 概念 栈&#xff1a;一种特殊的线性表&#xff0c;只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中数据元素遵循后进先出LIFO(Last In First Out)的原则 压栈&am…...

1.Element的table表高度自适应vue3+js写法

解决方法 在页面table上添加id&#xff0c;动态计算每页table的最大高度 &#xff0c;将高度保存在store中&#xff0c;每次切换路由时进行计算。 文章目录 解决方法前言一、页面table使用二、store状态库1.引入库 效果 前言 提示&#xff1a;状态管理使用的是pinia,用法参考…...

联想电脑电池只能充到80%,就不在充电了,猛一看以为坏了,只是设置了养护模式。

现在电池管理模式有三种&#xff1a; 1&#xff09;常规 2&#xff09;养护 3&#xff09;快充 好久没有用联想的电脑了&#xff0c;猛一看&#xff0c;咱充到了80%不充了&#xff0c;难道电池是坏的&#xff1f;我们要如何设置才可以让其充电到100%呢&#xff1f; 右下角…...

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析)

Unity接入PS5手柄和Xbox手柄以及Android平台的&#xff08;以及不同平台分析&#xff09; 介绍Unity手柄小知识PC端和编辑器上的摇杆事件和滑动事件PS5手柄Xbox手柄北通手柄 安卓环境下&#xff08;安卓手机或者安卓模拟器&#xff09;PS5手柄Xbox手柄北通手柄 总结 介绍 最近…...

vue+java实现简易AI问答组件(基于百度文心大模型)

一、需求 公司想要在页面中加入AI智能对话功能&#xff0c;故查找免费gpt接口&#xff0c;最终决定百度千帆大模型&#xff08;进入官网、官方文档中心&#xff09;&#xff1b; 二、主要功能列举 AI智能对话&#xff1b;记录上下文回答环境&#xff1b;折叠/展开窗口&#…...

刷代码随想有感(104):动态规划——01背包问题/二维dp数组

题干&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std; int n,bagweight; void solve(){vector<int>weight(n, 0);vector<int>value(n, 0);for(int i 0; i < n; i){cin>>weight[i];}for(int j 0; j < n; j){cin>…...

Docker-Portainer可视化管理工具

Docker-Portainer可视化管理工具 文章目录 Docker-Portainer可视化管理工具介绍资源列表基础环境一、安装Docker二、配置Docker加速器三、拉取Portainer汉化版本镜像四、运行容器五、访问可视化界面 介绍 Portainer是一款开源的容器管理平台&#xff0c;它提供了一个直观易用的…...

SqlSugar 集成

1 关于 SqlSugar SqlSugar 是 .NET/C# 平台非常优秀的 ORM 框架&#xff0c;目前 Nuget 总下载突破 700K&#xff0c;Github 关注量也高达 3.2K&#xff0c;是目前当之无愧的国产优秀 ORM 框架之一。 SqlSugar 官方地址&#xff1a;果糖网 &#xff08; SqlSugar 官网 &#…...

ROS MoveIt笛卡尔路径规划速度上不去?手把手教你三种提速方案(附Python/C++代码对比)

ROS MoveIt笛卡尔路径规划速度优化实战&#xff1a;3种高效提速方案详解 在工业机器人执行高精度任务时&#xff0c;笛卡尔空间路径规划的速度瓶颈常常让开发者头疼。想象一下&#xff0c;当你的机械臂正在进行3D打印或精密焊接时&#xff0c;末端执行器突然以龟速移动——这不…...

魔兽世界插件开发完全指南:专业API文档与宏工具平台

魔兽世界插件开发完全指南&#xff1a;专业API文档与宏工具平台 【免费下载链接】wow_api Documents of wow API -- 魔兽世界API资料以及宏工具 项目地址: https://gitcode.com/gh_mirrors/wo/wow_api 魔兽世界插件开发是每位进阶玩家提升游戏体验的必经之路&#xff0c…...

MIT6.S081 Lab11实战:手把手教你实现E1000网卡驱动的关键函数(附避坑指南)

MIT6.S081 Lab11实战&#xff1a;从零实现E1000网卡驱动的核心逻辑 在操作系统开发领域&#xff0c;网络驱动是连接内核与物理世界的关键桥梁。MIT6.S081课程的Lab11将带领我们深入xv6内核&#xff0c;亲手实现Intel E1000网卡驱动的核心功能。这个实验不仅考验我们对DMA、环形…...

打卡信奥刷题(3016)用C++实现信奥题 P6334 [COCI 2007/2008 #1] SREDNJI

P6334 [COCI 2007/2008 #1] SREDNJI 题目描述 给定一个长度为 nnn 的 1∼n1\sim n1∼n 的排列 a1,…,ana_1,\dots ,a_na1​,…,an​&#xff0c;请你找出这个排列有多少个长度为奇数的子串的中位数为 BBB。 子串定义&#xff1a;把这个排列从开头&#xff08;可能无&#xff…...

阿里云轻量应用服务器上5分钟搞定EMQ X MQTT集群搭建(附性能调优技巧)

阿里云轻量应用服务器上5分钟构建高可用EMQ X MQTT集群 物联网应用的爆发式增长让MQTT协议成为设备连接的首选方案。对于需要处理海量设备连接的企业开发者而言&#xff0c;单节点MQTT服务器早已无法满足高并发和容灾需求。本文将带你在阿里云轻量应用服务器上快速部署EMQ X集群…...

CVXPY多目标优化终极指南:如何在复杂决策中找到最佳平衡点

CVXPY多目标优化终极指南&#xff1a;如何在复杂决策中找到最佳平衡点 【免费下载链接】cvxpy A Python-embedded modeling language for convex optimization problems. 项目地址: https://gitcode.com/gh_mirrors/cv/cvxpy CVXPY是一个嵌入Python的凸优化建模语言&…...

三步掌握MidScene:AI浏览器自动化的零代码实战指南

三步掌握MidScene&#xff1a;AI浏览器自动化的零代码实战指南 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene MidScene是一款革命性的AI驱动浏览器自动化工具&#xff0c;让您能够通过自然语…...

DeerFlow资源优化实践:控制Python执行环境内存占用方法

DeerFlow资源优化实践&#xff1a;控制Python执行环境内存占用方法 1. 认识DeerFlow&#xff1a;您的智能研究助手 DeerFlow是一个基于LangStack技术框架开发的深度研究开源项目&#xff0c;它就像是您的个人研究团队&#xff0c;能够帮您完成各种复杂的调研任务。这个工具整…...

Alpamayo-R1-10B入门必看:VLA模型与传统端到端/模块化架构的本质差异

Alpamayo-R1-10B入门必看&#xff1a;VLA模型与传统端到端/模块化架构的本质差异 1. 引言&#xff1a;自动驾驶决策的十字路口 想象一下&#xff0c;你正在教一个新手司机开车。传统的方法有两种&#xff1a;一种是让他死记硬背所有交通规则和操作步骤&#xff08;模块化&…...

WarcraftHelper全方位优化指南:解决魔兽争霸III现代适配难题

WarcraftHelper全方位优化指南&#xff1a;解决魔兽争霸III现代适配难题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 当你在4K显示器上启动魔兽争霸…...