网络层哪些事?

简介: 网络层哪些事?

在本文讲解的网络层中,注意了解一下:IP协议!

  1. 地址管理:每个网络上的设备,要能分配一个地址(唯一)
  2. 路由选择:A给B发消息,具体走哪条路线??

IP地址:本质上是一个32位的整数!

通常情况下,会把32位的整数,转换成点分十进制的表示方式

需要三个点,把这个整数分成4个部分,每个部分1个字节,每个部分的取值范围为:0~255

一个字节 0~255 -128~+127
二个字节 0~65535 -32768~+32767
四个字节 0~42亿9千万 -21亿~+21亿

对于32位的整数,最多能表示多少个不同的地址呢??42亿9千万

但是,对于全世界的电脑,服务器,路由器,手机…………不够用!!

那么,该如何解决上述问题呢??

  1. 动态分配IP地址
设备上网才分配,不上网就不分配,此时就可以省下一大批IP地址了,但是,并没有增加IP的数量,此时只能一定程度的缓解,不能彻底的解决问题!!
  1. NAT机制

把所有的IP地址分为两大类(内网,外网)

内网:以10.*,127.16.*到127.31.*,192.168.*开头的,内网IP可以重复出现(尤其在不同的局域网中)

外网:剩下的IP,外网IP必须是唯一的!!

内网设备如果要访问外网,会给他们分配一个外网IP,但是这个外网IP不是这个设备独占的,而是这个内网中所有的设备都共用这一个外网IP

局域网就可以认为是内网,连在家的路由器就是处在内网中!!

正是因为VAT机制,导致咱们字节的个人电脑处在内网中,不能直接被外部访问!

只要求外网IP必须唯一的

内网IP在不同的局域网中,是允许重复的!!(同一个局域网里不能重复)

内网IP在咱们办公楼内部(局域网内部),别人的IP一定都不一样!

但是,相对于全国各地,有的就可能会有和我一样的内网IP!

那么,在NAT背景下,如何进行通信??

  1. 外网设备——》外网设备:不需要任何NAT,直接就能通信!
  2. 内网设备——》其他内网设备:不允许
  3. 外网设备——》内网设备:不允许
  4. 内网设备——》外网设备:对应的内网设备的路由器触发NAT机制,进行IP替换,此时就会给这个网络数据报IP替换成路由器自己的IP(导致:此时一个外网IP就能代表一大批内网中的设备了!)

因此,可以通过动态分配+NAT从而解决IP不够用的问题!!

当然,也有IPv6

IPv4是传统的IP协议,使用4个字节,32位来表示IP地址(2^32)

IPv6是更新的IP协议,使用16个字节,128位来表示IP地址(2^128=2^32*2^32*2^32*2^32)

但是:IPv4和IPv6不兼容!!

一个普通的IPv4路由器要想支持NAT,在软件上升级一下系统就🆗了(成本很低)

一个普通的IPv4路由器要想支持IPv6,光升级软件不行,还得升级硬件(成本很高)

IP地址的组成:

IP地址分为两个部分:网络号和主机号!

  1. 网络号:标识网络(标识一个局域网):保证相互连接的两个网段具有不同的标识
  2. 主机号:标识主机(标识一个局域网内部的主机):同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号

IP地址中,哪个部分是网络号??哪个部分是主机号??

一定前三个字节是网络号吗??不一定哟!!

对应网络号和主机号的划分,主要有两种分类方式:

  1. IP地址分类(ABCDE)该方法早已淹没在历史长河中,但是,在有的教科书中非常活跃,甚至,在部分的笔试/面试中可以见到
  2. 子网掩码:

255.255.255.0

255——》0xff——》1111 1111(8个1)

子网掩码,站在二进制的角度来看,也是一个32位整数!

左侧都是1,右侧都是0(不会有1010这种混合的情况)

左侧有几个1,意思是IP地址的哪些位就是网络号

对于255.255.255.0而言,左侧有24个1,右侧有8个0,那么该IP地址的前24位都是网络号,剩下的8位是主机号!

特殊的IP:

  1. 主机号为0的IP,如:192.168.0.0,将IP地址中的主机地址全部设为0,就成了网络号,代表整个局域网(局域网里不应该存在某个主机,其主机号为0)
  2. 主机号为1的IP:如:192.168.0.255,成了广播地址,往这个地址发送UDP数据报,此时这个数据报就会被转发给整个局域网中的所有主机(TCP不支持广播)
  3. IP为127开头的为环回IP,127.0.0.1(最常用),环回IP对应特殊的虚拟网卡Io,通过环回IP传输的数据,走这个虚拟网卡(这个过程没有IO操作的,纯内存操作),要比一般的这种普通IP的数据传输要快!!

路由选择:

A——》B之间该怎么走??A——》B之间存在很低条路径,路由选择就是要做出决定:具体走哪条路??

网络环境很复杂!!

某个路由,无法把整个网络环境都记录下来,路由器只能记录周围的情况(只能知道邻居是谁!!),在实际的转发过程中,是渐进式的,类似于”问路“,从而逐渐接近目标!

IP数据报,在进行网络转发的过程中,就是类似于一个”逐渐问路“的过程,每个路由只能认识周围的情况,很可能问的目标并不知道(目的IP在路由表中,没有匹配结果),此时就会走路由器给你指出的一条默认的路径!从而把咱们的数据报引向更上一级的路径!!(越上级的路由器,越见多识广,路由器与路由器之间是不一样的!!)

相关文章
|
算法 数据挖掘 Python
使用python实现FP-Growth算法
使用python实现FP-Growth算法
530 0
|
存储 Kubernetes 调度
k8s教程(pod篇)-DaemonSet(每个node上只调度一个pod)
k8s教程(pod篇)-DaemonSet(每个node上只调度一个pod)
531 0
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-983 最大获利
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-983 最大获利
141 0
|
10月前
|
索引
【Flutter 开发必备】AzListView 组件全解析,打造丝滑索引列表!
在 Flutter 开发中,AzListView 是实现字母索引分类列表的理想选择。它支持 A-Z 快速跳转、悬浮分组标题、自定义 UI 和高效性能,适用于通讯录、城市选择等场景。本文将详细解析 AzListView 的核心参数和实战示例,助你轻松实现流畅的索引列表。
489 7
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
939 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
存储 监控 网络安全
Doris Manager 24.0 版本正式发布!
Doris Manager 24.0,SelectDB 的 Apache Doris 集群管理工具,迎来重大更新,包括管控模式升级至安全的 Agent 模式、新增任务审计、主机监控、计算节点部署支持等。此版本已获上千企业用户认可。新特性如 Agent 与 Server 间的 HTTP 通信,提升安全性;任务审计记录操作详情;监控模块扩展主机指标;集群巡检支持定时检查。此外,Doris Manager 提供了集群部署、扩缩容、升级、参数配置、日志查看、告警和审计等一系列高效管理功能。体验新版本,请参考安装和使用手册。
933 0
Doris Manager 24.0 版本正式发布!
|
分布式计算 Hadoop 数据库
Hadoop学习笔记(HDP)-Part.08 部署Ambari集群
本文为HDP集群部署系列教程第八部分,详细介绍如何通过Ambari搭建HDP集群。涵盖Ambari数据库配置、ambari-server与ambari-agent的安装部署、自动化设置及Web界面登录等步骤,助力用户高效完成集群管理平台搭建。
530 0
|
监控 安全 持续交付
构建高效的微服务架构:从设计到部署
构建高效的微服务架构:从设计到部署
163 1
|
Web App开发 消息中间件 Prometheus
Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控等!(一)
Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控等!
【LeetCode 05】螺旋矩阵II总结
【LeetCode 05】螺旋矩阵II总结
176 0

热门文章

最新文章