网络原理(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,表示默认的,虽然此时数据不知道怎么走,但是可以往一个大概方向走,特殊表项就是这种原理(像我从北京去广东,虽然不知道咋走吗,但主体方向是往南走,肯定不会错)。


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

 

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

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

相关文章

毕业论文降重(gpt+完美降重指令),sci论文降重gpt指令——超级好用,重复率低于4%

1. 降重方法:gpt降重指令 2. gpt网站 https://yiyan.baidu.com/ https://chat.openai.com/ 3. 降重指令——非常好用!!sci论文,本硕大论文都可使用! 请帮我把下面句子重新组织,通过调整句子逻辑&#xff0…

通过命令在Windows入站出站放行上放行端口8090, 8443, 5222, 8021

可以通过循环结构来简化操作,下面分别创建入站和出站规则的示例: 入站规则 $ports 8090, 8443, 5222, 8021foreach ($port in $ports) {New-NetFirewallRule -DisplayName "Allow Inbound Port $($port)" -Direction Inbound -Action Allow…

day6:STM32MP157——串口通信实验

使用的是cortex A7内核 【串口通信的工作原理】 本次实验使用的是uart4的串口,分别使用了uart4_tx和uart4_rx两个引脚。根据板子的原理图我们可以知道,他们分别对应着芯片的PG11和PB2 从引脚名字也可以知道使用了GPIO口,所以本次实验同样需…

array go 语言的数组 /切片

内存地址通过& package mainimport "fmt"func main() {var arr [2][3]int16fmt.Println(arr)fmt.Printf("arr的地址是: %p \n", &arr)fmt.Printf("arr[0]的地址是 %p \n", &arr[0])fmt.Printf("arr[0][0]的地址是 %p \n"…

动态规划Dynamic Programming

上篇文章我们简单入门了动态规划(一般都是简单的上楼梯,分析数据等问题)点我跳转,今天给大家带来的是路径问题,相对于上一篇在一维中摸爬滚打,这次就要上升到二维解决问题,但都用的是动态规划思…

手机termux上用hydra在线暴力穷举破解

HYDRA 是一个在线暴力破解工具,速度快,穷举稳定,支持50线程的暴力穷举破解,兼容的协议也多,telnet, ftp, http, https, smb, 多数网页服务的databases,应用广泛。 在手机termux上也可以轻松实现。 不废话…

开源博客项目Blog .NET Core源码学习(10:App.Framwork项目结构分析)

开源博客项目Blog的解决方案总共包括4个项目,其中App.Hosting项目包括所有的页面及控制器类,其它项目主要提供数据库访问、基础类型定义等。这四个项目的依赖关系如下图所示,本文主要分析App.Framwork项目的主要结构及主要文件的用途。   …

水瓶座性格分析及星座配对!

水瓶座性格分析及星座配对! 标签:水瓶座 水/瓶/座 1.20~2.18 “珍爱生命,远离水瓶” 这是一个被水瓶座折磨的巨蟹文艺男青年的呐喊 “都是外星人,根本没法沟通” 这是号称水瓶最佳基友的逆生长射手妹子…

21.同步模式-保护性暂停

1.Guarded Suspension,用在一个线程等待另一个线程的执行结果。 2.一个结果从一个线程传递到另一个线程,让他们关联同一个GuardedObject 保护对象。 3.如果有结果不断从一个线程到另一个线程,那么可以使用消息队列。 4.join方法和Future的实现&#x…

JavaScript原型、原型对象、原型链系列详解(三)

(三)、JavaScript原型链 原型链 在 JavaScript 中,对象之间的继承是通过原型链来实现的。每个对象都有一个指向原型对象的内部链接,也就是 [[Prototype]] 属性。这个链接的作用是如果对象本身没有某个属性或方法,就会去它的原型对象上找&…

Linux 进程通信:匿名管道、实现进程池

目录 一、进程间通信 1、 为什么需要进程通信 2、发展和分类 二、管道 1、概念 2、特点 2、复制并共享 3、用fork来共享管道原理 4、站在文件描述符角度-深度理解管道 5、站在内核角度-管道本质 三、匿名管道 1、概念 2、创建 3、snprintf 4、父子进程中进行单…

小程序英文口语发音评测

一、英文口语评测需求 在全球化的今天,英语已经成为了世界上最重要的国际语言之一。无论是在国际商务、科技研究、教育还是日常生活中,英语都扮演着举足轻重的角色。因此,掌握英文口语的能力对于个人的职业发展、学术研究以及跨文化交流都具…

【Linux】vim配置及安装方法

注 安装方法在文章最后 配置文件的位置 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为“.vimrc”。例如&…

atoi函数详解

atoi函数使用方法 在c官网中是这样介绍atoi函数的 通俗的讲就是把字符串中的字符数字转换为整形数字,遇到空格就跳过,如果在字符串开始遇到不是有效的整数比如说abc就直接返回0,如果遇到像这种情况123abc345这个就只返回123,这个…

C语言数据结构之计数排序

世中逢尔 雨中逢花 目录 计数排序的介绍 代码展示 时间复杂度和空间父复杂度 计数排序的用途 计数排序的局限性 计数排序的介绍 排序原理 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。 是一个不比较排序算法,通过计数将时间复杂度降到了O…

大型网站集群管理负载均衡

课程介绍 结合企业大规模应用,解决应用高并发问题,解决单节点故障问题,缓存数据库的应用。学完掌握知识点:企业应用实现四七层负载均衡,以及Nginx等应用的高可用性,Redis缓存数据库的部署应用以及高可用方…

【Redis】优惠券秒杀

全局唯一ID 全局唯一ID生成策略: UUIDRedis自增snowflake算法数据库自增 Redis自增ID策略:每天一个key,方便统计订单量ID构造是 时间戳 计数器 Component public class RedisIdWorker {// 2024的第一时刻private static final long BEGIN…

Unity 背包系统中拖拽物体到指定位置或互换位置效果的实现

在Unity中,背包系统是一种常见的游戏系统,可以用于管理和展示玩家所持有的物品、道具或装备。 其中的拖拽功能非常有意思,具体功能就是玩家可以通过拖拽物品图标来移动物品在背包中的位置,或者将物品拖拽到其他位置或界面中&…

29双体系Java学习之编程的基本过程和类的通用格式

编程的基本过程 类的通用格式 ★小贴士 类的设计应遵循单一职责原则(SRP),即只能让一个类有且仅有一个职责,以保证修改的可能性尽量少。

DEll R440 LC下的硬件日志收集步骤(注意:此方法收集的日志里无操作系统的日志);

一, LC下的硬件日志收集步骤(注意:此方法收集的日志里无操作系统的日志); 开机看到屏幕左上角出现F10的提示的时候,敲击F10,进入LC的界面: 找到U盘的类似文件,就是最终生…