架构师之路(十四)计算机网络(网络层)

前置知识(了解):计算机基础。

作为架构师,我们所设计的系统很少为单机系统,因此有必要了解计算机和计算机之间是怎么联系的。局域网的集群和混合云的网络有啥区别。系统交互的时候网络会存在什么瓶颈。

网络层提供主机到主机的通信服务,是一种尽力而为的通信服务。网络层两个重要的两个功能:

转发:当一个分组达到路由器的一个输入端口时,路由器将该分组移动到适当的输出端口,概念偏重于落在路由器本地。

路由选择:当分组从发送方流向接受方时,网络层决定决定分组实际的路径(即需要经过哪些路由器达到接受方)

IP地址

A类:0.0.0.0~127.255.255.255

     私有:10.0.0.0~10.255.255.255 环回地址:127.0.0.1/8

     网络号占一个字节,只有7位可供使用,第一位固定为0,实际上共有2^7-2=126个网络号可被指派

     主机号占3个字节,即24位,主机数共有2^24-2个,全0或全1分别被用于网络地址和广播地址

  B类:128.0.0.0~191.255.255.255

     私有:172.16.0.0~172.31.255.255

     网络号占2个字节,共14位可用,前两位固定为10,实际上共有2^14-1位可用(128.0.0.0不指派)

     主机号占2个字节,共16位,共有2^16-2位可使用

  C类:192.0.0.0~223.255.255.255

     私有:192.168.0.0~192.168.255.255

     网络号占3个字节,只有21位可供使用,前三位固定为110,实际上共有2^21-1位可用

     主机号占1个字节,有2^8-1位可使用

  D类:224.0.0.0~239.255.255.255 不标识网络,用于组播,即一对多通信

  E类:224.0.0.0~255.255.255.255 暂时保留,用于实验和将来使用

子网

随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。

这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。

什么是子网掩码?子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。

在计算子网掩码时,我们要注意IP地址中的保留地址,即" 0"地址和广播地址,它们是指主机地址或网络地址全为" 0"或" 1"时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。

子网掩码的计算:对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。

子网掩码有两种表示方式,例如以 172. 20. 100. 52为例

1.  将IP地址和子网掩码的地址分别用两行来表示

2.  在IP地址的后面追加网络地址的位数, 用 ”/“ 隔开

CIDR超网

CIDR是伴随着子网掩码出现的地址分配策略(Classless Interdomain Routing, CIDR)。

正如前面所提及的问题,直到20世纪90年代中期, 向各种组织分配IP地址都以A类,B类,C类等分类单位进行。对架构大规模网络的组织,一般会分配一个A类地址。反之,在架构小规模网络时候,则分配C类地址。然而A类地址的派发在全世界最多也无法超过128个,加上C类地址的主机标识最多只允许254台计算机相连, 这导致众多组织开始申请B类地址,结果是B类地址也开始严重缺乏。 于是乎, 人们开始放弃IP地址的分类, 而是采用任意长度分割IP地址的网络标识和主机标识。这种方式就是CIDR,即“无类型域间选路” 

根据CIDR,连续多个C类地址就可以划分到一个较大的网络内,从而更有效地利用了当前的的IPv4地址,同时又通过路由集中降低了路由器的负担。

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

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

相关文章

uniapp设置隐藏原生导航栏(3)

1、单个页面隐藏 在pages.json里配置 (第一种方式) {"path": "pages/home/index","style": {"navigationBarTitleText": "首页","navigationStyle": "custom" // 使用自定义导航栏,系统会关…

MongoDB日期存储与查询、@Query、嵌套字段查询实战总结

缘由 MongoDB数据库如下: 如上截图,使用MongoDB客户端工具DataGrip,在filter过滤框输入{ profiles.alias: 逆天子, profiles.channel: },即可实现昵称和渠道多个嵌套字段过滤查询。 现有业务需求:用Java代码来查询…

在Idea中使用git查看历史版本

idea查git历史 背景查看步骤总结 背景 有好几次同事到我电脑用idea查看git管理的历史记录,每次都说我的idea看不了历史版本,叫我到他电脑上去看,很晕,为什么,原来是我自己把显示历史文件的视图覆盖了,下面我们来一起学…

qt学习:http+访问百度智能云api实现车牌识别

登录到百度智能云,找到文字识别 完成操作指引 免费尝鲜---服务类型选择交通---接口选择全部----0元领取创建应用---填写应用名称---个人----应用描述开通 查看车牌识别的api文档 查看自己应用的api key 查看回应的数据格式 编程步骤 ui界面编辑 添加模块,头文件和定义变量…

【复现】Laykefu客服系统后台漏洞合集_29

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 2. 漏洞二: 3. 漏洞三: 4. 漏洞四: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 Laykefu客服系统是thinkphp5Gatewayworker搭建的web客服…

【C++修行之道】STL(初识list、stack)

目录 一、list 1.1list的定义和结构 以下是一个示例,展示如何使用list容器: 1.2list的常用函数 1.3list代码示例 二、stack 2.1stack的定义和结构 stack的常用定义 2.2常用函数 2.3stack代码示例 一、list 1.1list的定义和结构 list的使用频率不高&#…

小黑艰难的前端啃bug之路:内联元素之间的间隙问题

今天开始学习前端项目&#xff0c;遇到了一个Bug调了好久&#xff0c;即使margin为0&#xff0c;但还是有空格。 小黑整理&#xff0c;用四种方法解决了空白问题 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></tit…

HTML 曲线图表特效

下面是代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>基于 ApexCharts 的 HTML5 曲线图表DEMO演示</title><style> body {background: #000524; }#wrapper {padding-top: 20px;background: #000524;b…

仅使用 Python 创建的 Web 应用程序(前端版本)第07章_商品列表

在本章中,我们将实现一个产品列表页面。 完成后的图像如下 创建过程与User相同,流程如下。 No分类内容1Model创建继承BaseDataModel的数据类Item2MockDB创建产品表并生成/添加虚拟数据3Service创建一个 ItemAPIClient4Page定义PageId并创建继承自BasePage的页面类5Applicati…

Android Studio离线开发环境搭建

Android Studio离线开发环境搭建 1.下载离线和解压包2.创建工程3.创建虚拟机tips 1.下载离线和解压包 下载地址 百度网盘&#xff1a;https://pan.baidu.com/s/1XBPESFOB79EMBqOhFTX7eQ?pwdx2ek 天翼网盘&#xff1a;https://cloud.189.cn/web/share?code6BJZf2uUFJ3a&#…

单片机开发板-硬件设计

开发板设计 1> 概述2> 功能2.1> GPIO类2.2> 通信类2.3> 显示类 3> 测试 1> 概述 开发板的定位&#xff1a;学会单片机&#xff1b; 目的越单纯&#xff0c;做的东西越好玩&#xff1b; 51开发板&#xff1a;DAYi STM32F103开发板&#xff1a;DAEr STM32F…

LVS 概念介绍

1、集群简介 集群概述 集群称呼来自于英文单词 cluster&#xff0c;表示一群、一串的意思&#xff0c;用在服务器领域则表示大量服务器的集合体&#xff0c;协同起来向用户提供系统资源&#xff0c;系统服务。通过网络连接组合成一个计算机组&#xff0c;来共同完一个任务。 …

GitHub 开启 2FA 双重身份验证的方法

为什么要开启 2FA 自2023年3月13日起,我们登录 GitHub 都会看到一个要求 Enable 2FA 的重要提示,具体如下: GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requi…

【C++】模板进阶

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.非类型模板参数 …

华为ensp--NAT实验

实验拓扑图及实验要求 实验相关配置 为保证可以登录防火墙web界面&#xff0c;需要对FW1、FW2以及Cloud1进行相关配置 Cloud1配置 需绑定网卡&#xff08;建议新建虚拟网卡&#xff09;&#xff0c;并且与防火墙管理口&#xff08;默认g0/0/0&#xff09;属于同一网段 FW1 F…

自动驾驶的决策层逻辑

作者 / 阿宝 编辑 / 阿宝 出品 / 阿宝1990 自动驾驶意味着决策责任方的转移 我国2020至2025年将会是向高级自动驾驶跨越的关键5年。自动驾驶等级提高意味着对驾驶员参与度的需求降低&#xff0c;以L3级别为界&#xff0c;低级别自动驾驶环境监测主体和决策责任方仍保留于驾驶…

【思路合集】talking head generation+stable diffusion

1 以DiffusionVideoEditing为baseline&#xff1a; 改进方向 针对于自回归训练方式可能导致的漂移问题&#xff1a; 训练时&#xff0c;在前一帧上引入小量的面部扭曲&#xff0c;模拟在生成过程中自然发生的扭曲。促使模型查看身份帧以进行修正。在像VoxCeleb或LRS这样的具…

ubuntu1604安装及问题解决

虚拟机安装vmbox7 虚拟机操作&#xff1a; 安装增强功能 sudo mkdir /mnt/share sudo mount -t vboxsf sharefolder /mnt/share第一次使用sudo提示is not in the sudoers file. This incident will be reported 你的root需要设置好密码 sudo passwd root 输入如下指令&#x…

机器学习整理

绪论 什么是机器学习&#xff1f; 机器学习研究能够从经验中自动提升自身性能的计算机算法。 机器学习经历了哪几个阶段&#xff1f; 推理期&#xff1a;赋予机器逻辑推理能力 知识期&#xff1a;使机器拥有知识 学习期&#xff1a;让机器自己学习 什么是有监督学习和无监…

【Java面试】Mysql

目录 sql的执行顺序索引的优点和缺点怎么避免索引失效(也属于sql优化的一种)一条sql查询非常慢&#xff0c;我们怎么去排查和优化&#xff1f;存储引擎 MylSAM和InnoDB、Memory的区别事务的四大特性(ACID)脏读、不可重复读、幻读事务的隔离级别&#xff1f;怎么优化数据库SQL优…