网络原理(6)——IP协议

目录

一、网段划分

现在的网络划分:

1、一般情况下的家庭网络环境

2、IP地址

3、子网掩码

4、网关

以前的网络划分:

二、特殊IP

1、环回 IP

2、主机号为全 0 的IP

3、广播地址IP

三、路由选择(路线规划)


一、网段划分

现在的网络划分:

——通过子网掩码区分网络号和主机号

如图是Windows系统控制平台下网络IP的设置界面,下面也会介绍这些内容

a6a349e328c044f487605f1c61518422.png

1、一般情况下的家庭网络环境

下面介绍一下家庭网络的一般的部署情况:

        1、如果在一个局域网中,网络号和主机号都相同,就不能上网因为每个主机都是单独的个体,如果两个主机的主机号都一样,则不能辨别这两个主机谁是谁,网络数据也自然不知道传给谁

        2、如果是相邻的局域网,则他们的网络号不能相同,否则上不了网这里的相邻是指上下相邻,如运营商的光猫下接我们的路由器,路由器下接我们的电脑设备,这里的路由器和电脑设备就是相邻的。如图:

c9231d064e664cf4b386f85bc6f03d44.png

        如图:在一个局域网内,网络号要一样,但主机号不能一样;而且相邻的局域网的网络号不能一样,如上图,你买的路由器的LAN口IP不能和光猫上的LAN口IP一样,也就是说,你的电脑上的IP不能和光猫上的LAN口IP一样,这就是相邻的意思。

        还有,在同一个局域网中,我们可以通过这局域网内的一个设备访问另一个设备,比如上图的设备A就能访问设备C。

        如果想要我们家电脑设备断网,防止熊孩子沉迷游戏,就可以把路由器上的LAN口IP和WAN口IP设置成一样,这样相邻的局域网的IP网络号一样,就不能上网了。

2、IP地址

        在局域网中,我们的设备的IP地址(IPv4)分成两部分:网络号 + 主机号,如图:

dbb8998a929649298b301b08aeae8a0d.png

        网络号(同一个局域网内前半部分都是相同的):192.168.83        主机号(同一个局域网内后半部分都是不同的):63

        这里的网络号是路由器LAN口的IP同一个局域网上的设备,网络号都是一样的主机号就是区分同一局域网的不同设备所有主机号要不一样

        网络号要和路由器的LAN口IP一样,才能上网

3、子网掩码

        我们怎么知道哪几位是网络号呢?就是看子网掩码,如图是子网掩码:

d0d712a45a85402fbd5b0c73f050dd2a.png

        前三部分都是255,二进制表示是8个1,如果写出二进制的话前24位都是1后8位都是0,这就说明:前三部分是网络号最后一部分是主机号

4、网关

        可以把网关理解成上网的关卡,这个关卡就是路由器是局域网网络数据的进出口。所以网关写的就是路由器的LAN口IP

        但是要设置这么多东西,我们连网就能上网,也没有配置这些东西啊,原因就是路由器帮我们自动配置了,如图:

a6a349e328c044f487605f1c61518422.png

        只要你一连上路由器,路由器的DHCP功能,就可以自动的帮你分配一个IP,这也意味着,每次重启路由器,可能会有不同的IP地址。

        如果要手动配置的话,要对网络环境很清楚,不然容易出问题,上不了网。

以前的网络划分:

        把时间往前推移个20~30年,当时的网络划分不是像现在这种,不过也是按网络号和主机号进行划分,如下图这种:

ead8f8521b9440b1b2fb3577f31cb3fa.png

93fab5c503ce4853985b0a6a652ac8f1.png

        这时上古时期的网段划分了,并没有子网掩码区分网络号和主机号;上面的这种网段划分也是因为浪费了太多IP地址给放弃使用了,如A类,有24位的主机号,要知道,24是一个很大的数字:2^16 * 2^8 = 65535 * 2^8 = 65535 * 255 大于120万,而一个局域网内真的可能会有120万个设备吗,答案肯定是NO!这就导致,浪费了很多IP地址,而且在这个网络划分出来后,网络迅速发展,就连B类也很快就满了,后来就想出来现如今的网络划分,使用子网掩码的方式辨别网络号

        其中我们如今的IP:192.168.0.1不是上面的C类我们是用子网掩码可以设置网络号和主机号,完全可以把前两段设为网络号,后两位设为主机号,所以,上面这种IP不是以前的C类。


二、特殊IP

——这里使用的是现如今子网掩码的网络划分

1、环回 IP

        环回IP(loopback)是127.0.0.1,表示自己本机

        我们程序员写完代码,肯定是要对代码进行测试的,而测试就是要在本机上测试,所以就设置一个这样的IP供我们程序员使用。

        其实,换回IP不是就仅仅只有一个(127.0.0.1)。127.* ,以127开头的IP地址,都是环回IP

2、主机号为全 0 的IP

        IP地址的主机号为全0,例如:192.168.1.0,最后一部分是主机号,主机号为全0表示 “这个网段”,这个IP比较特殊,不能分配给某个主机

3、广播地址IP

        广播地址IP是主机号为全 1 的的IP,注意,这里不是10进制的全1,而是二进制的全1,例如:192.168.1.255,前三部分是网络号,后一部分是主机号,主机号的二进制是全1,8个1,也就是255。其中有以下几种情况:

单播:一对一

组播:一对多(多是有限制的,是整体的一部分)

广播:一对多(这里的多是整体全部,比组播的多还大)

        上面的广播:往广播的IP地址发送消息,局域网内的所有设备都能收到。(广播只能发UDP协议的消息,TCP的则不行)

广播的经典应用场景:手机投屏 / 电脑投屏,以下简单介绍投屏的流程:

        在家里的场景,家里的通信设备 / 电视.....都会连接你家的网,多个设备连同一个网,这也就是你家的局域网了;这时,我们想把手机的视频投屏到家里的电视中,就要点击手机的投屏功能。

        手机上点击完投屏后,你手机就会广播一个查询数据包查询有多少个设备是连接了你家网的这时候你家连网的设备就会给你返回响应返回响应到你手机后你手机就要判断哪些设备是支持投屏的,这时候选择可以投屏功能的设备(电视),就可以在电视上看你手机上的视频了。

        这个投屏播放视频,传输数据的过程是直接传输的,因为在同一个局域网中,里面的设备都是可以互相访问、通信的。

        学校中的机房,学生机和讲台上的机器,这种一般不是广播,而是:学生机是客户端,讲台上的机器是服务器,客户端从服务器中拉去画面(这里如果有办法关闭学生机中的客户端进程,你就可以自由控制电脑了)。


三、路由选择(路线规划)

        因为网络结构太复杂,每个路由都无法掌握全局的信息,只能掌握一部分局部的信息(周围的),所以数据进行网络传输的路线不能一开始就规划好全局路线

        当一个数据刚进行网络传输时,从此时的起始IP到目的IP,这个数据走的路线,并不能从全局的角度就给它规划好路线(像如今的地图功能),因为网络结构复杂,且网络环境难以预料,是一直在变化的,所以进行网络传输网络数据时,它只能走一步看一步,走到当前节点(路由),就看看周围的节点哪些适合这个数据传输,是从局部的角度,看离自己近的节点,选择下个合适的节点,传输给它。

        这里是探索式 / 启发式 / 渐进式的路线规划,类似以前没有手机地图的时候,去别的陌生地方要不停的向路人问路,因为这个路人如果是住在附近的人,就对这里不会陌生,附近的地方也大概率会知道;而路由就类似路人,它虽然不能知道网络全局的信息,但能知道相邻的路由(“附近的网络环境”)有一定了解,网络数据就可以根据这个路由来确认下一个的节点,应该是哪个。

        路由能够知道附近的路由设备的网络环境,是因为路由器内部有一个数据结构:路由表,大概结构如图:

4bab7fd116c14b43b44828e82946a8fa.png

       这里的数据拿着目的 IP,路由表这里就会告诉你,应该往哪走(对应的网络接口,这里的接口和物理上的接口不同)但是这了数据有时候目的IP去找出口,可能查询不到结果(应该往哪走),这里就要靠这里特殊的表项,里面有default,表示默认的,虽然此时数据不知道怎么走,但是可以往一个大概方向走,特殊表项就是这种原理(像我从北京去广东,虽然不知道咋走吗,但主体方向是往南走,肯定不会错)


都看到这了,点个赞再走吧,谢谢谢谢谢

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧城管综合执法办案系统,现场移动执法APP源码,占道经营AI智能识别分析系统

智慧城管执法平台源码 智慧城管综合执法办案系统,提供了案件在线办理、当事人信用管理、文书电子送达、沿街店铺分析等功能,全面赋能执法队员,提高执法队员办案效率。 智慧城管综合执法办案系统在业务上能够支持所有行政处罚权力项目的网上运…

systrace抓取

1. 抓取systrace日志 adb root adb shell atrace -z -b 8192 video gfx input view wm rs hal sched freq idle irq -t 10 > /sdcard/trace_output atrace: Android Trace命令,用于在Android系统上进行性能跟踪和分析。 -z: 压缩跟踪数据,减小输出文…

Excel中最常用的快捷健,每天都会用到

Hello,大家好,今天跟大家分享我们工作中经常使用的快捷键,快捷键能够在一定程度上提高我们的工作效率,快速达到我们想要的结果,善用快捷键也能让别人觉得你非常的厉害。 1快速求和 :Alt 使用方法非常的简…

Python编程异步爬虫实战案例

aiohttp异步爬取实战 案例介绍 链接为https://spa5.scrape.center,页面如下图所示: 这是一个图书网站,整个网站包含数千本图书信息,网站数据是JavaScript渲染而得的,数据可以通过Ajax接口获取,并且接口没…

深度学习 - PyTorch基本流程 (代码)

直接上代码 import torch import matplotlib.pyplot as plt from torch import nn# 创建data print("**** Create Data ****") weight 0.3 bias 0.9 X torch.arange(0,1,0.01).unsqueeze(dim 1) y weight * X bias print(f"Number of X samples: {len(…

ZYNQ学习之Ubuntu环境下的Shell与APT下载工具

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Ubuntu Shell操作 简单的说Shell 就是敲命令。国内把 Linux 下通过命令行输入命令叫…

代码随想录算法训练营第三十二天 | 122.买卖股票的最佳时机II ,55. 跳跃游戏 , 45.跳跃游戏II

贪心&#xff1a;只要把每一个上升区间都吃到手&#xff0c;就能一直赚 class Solution { public:int maxProfit(vector<int>& prices) {int res 0;for(int i 1;i< prices.size();i){int diff prices[i] - prices[i-1];if(prices[i] > prices[i-1]){res d…

WSL使用

WSL使用 WSL安装和使用 Termianl和Ubuntu的安装 打开Hype-V虚拟化配置Microsoft Store中搜索Window Terminal并安装Microsoft Store中搜索Ubuntu, 选择安装Ubuntu 22.04.3 LTS版本打开Window Terminal选择Ubuntu标签栏, 进入命令行 中文输入法安装 查看是否安装了fcitx框架…

【官方】操作指南,附代码!银河麒麟服务器迁移运维管理平台V2.1中间件及高可用服务部署(4)

1.RocketMQ集群模式 主机配置示例&#xff1a; IP 角色 架构模式 对应配置文件 1.1.1.1 nameserver1 master broker-n0.conf 2.2.2.2 nameserver2 salve1 broker-n1.conf 3.3.3.3 nameserver3 salve2 broker-n2.conf 1.1.安装rocketmq 在服务器上安装rocket…

第14篇:2线-4线译码器

Q&#xff1a;有编码器那对应的就会有译码器&#xff0c;本期我们来设计实现2线-4线二进制译码器 。 A&#xff1a;基本原理&#xff1a;译码器是编码器的逆过程&#xff0c;其功能是将具有特定含义的二进制码转换为对应的输出信号。2线-4线二进制译码器有2个输入共4种不同的组…

java目标和(力扣Leetcode106)

目标和 力扣原题 问题描述 给定一个正整数数组 nums 和一个整数 target&#xff0c;向数组中的每个整数前添加 ‘’ 或 ‘-’&#xff0c;然后串联起所有整数&#xff0c;可以构造一个表达式。返回可以通过上述方法构造的、运算结果等于 target 的不同表达式的数目。 示例 …

【MySQL】11. 复合查询(重点)

4. 子查询 子查询是指嵌入在其他sql语句中的select语句&#xff0c;也叫嵌套查询 4.1 单行子查询 返回一行记录的子查询 显示SMITH同一部门的员工 mysql> select * from emp where deptno (select deptno from emp where ename SMITH); -----------------------------…

小目标检测篇 | YOLOv8改进之添加BiFormer注意力机制

前言:Hello大家好,我是小哥谈。BiFormer是一种具有双层路由的动态稀疏注意力机制,它通过查询自适应的方式关注一小部分相关标记,从而提供了更灵活的计算分配和内容感知。它在多个计算机视觉任务中表现出了良好的性能和高计算效率。BiFormer注意力机制比较适合处理小尺度目标…

聚类算法之高斯混合模型聚类 (Gaussian Mixture Model, GMM)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 高斯混合模型&#xff08;GMM&#xff09;是统计模型中的一颗璀璨之星&#xff0c;它为数据提供了一种复杂而又强大的表示方法。在机器学习的许多…

大数据基础:Linux基础详解

课程介绍 本课程主要通过对linux基础课程的详细讲解&#xff0c;让大家熟练虚拟机的安装使用&#xff0c;Linux系统的安装配置&#xff0c;学习掌握linux系统常用命令的使用&#xff0c;常用的软件安装方法&#xff0c;制作快照&#xff0c;克隆&#xff0c;完成免密登录&…

linux系统--------------mysql数据库管理

目录 一、SQL语句 1.1SQL语言分类 1.2查看数据库信息 1.3登录到你想登录的库 1.4查看数据库中的表信息 1.5显示数据表的结构&#xff08;字段&#xff09; 1.5.1数据表的结构 1.5.2常用的数据类型: 二、关系型数据库的四种语言 2.1DDL&#xff1a;数据定义语言&am…

跨域与Spring Boot中CORS的应用

摘要&#xff1a;前后端独立开发期间&#xff0c;交互主要通过接口文档&#xff0c;前端Mock数据&#xff0c;后端使用Postman都不会发现跨域问题。当联调时前端尝试调用后端接口&#xff0c;这往往就需要需要处理的跨域问题…… 下面总结下跨域问题产生的前因后果以及如何通过…

day03_mysql_课后练习 - 参考答案

文章目录 day03_mysql_课后练习mysql练习题第1题第2题第3题第4题第5题 day03_mysql_课后练习 mysql练习题 第1题 案例&#xff1a; 1、创建一个数据库&#xff1a;day03_test01_school 2、创建如下表格 表1 Department表的定义 字段名字段描述数据类型主键外键非空唯一D…

Java学习笔记 | JavaSE基础语法 | 04 | 数组

文章目录 0.前言1.数组2.数组声明2.1 数组定义2.2 数组初始化1.静态初始化2.动态初始化3.区别4.数组的默认初始化值&#xff1a; 2.3 数组名 3.访问数组3.1 索引3.2 访问数组3.3 length属性 4.数组常见问题5.数组内存分析5.1 内存分配5.2 数组内存分配 6.数组的练习练习1&#…

用Springboot(java程序)访问Salesforce RestAPI

本文讲一下&#xff0c;如何从0构建一个Springboot的应用程序&#xff0c;并且和Salesforce系统集成&#xff0c;取得Salesforce里面的数据。 一、先在Salesforce上构建一个ConnectApp。 有了这个&#xff0c;SF才允许你和它集成。手顺如下&#xff1a; 保存后&#xff0c;…