网络原理——IP地址与mac地址

news/2024/11/29 20:53:55/

目录

IP地址

IP地址

IP地址的组成

子网掩码

mac地址

冲突域与广播域

数据传输流程


IP地址

IP地址

互联网协议地址。每一个联网的主机都会分配一个IP地址。为32位二进制数,用4个'.'均分为四部分,在命令提示符中输入:ipconfig命令,可以显示本机IP:

ip协议其实有两个版本,为IPV4和IPV6,IPV4可以分配的ip数量有2^32个( 大约有43亿个ip),而IPV6可以分配的IP数量有2^64个。早期计算机都使用的IPV4,实际上43亿个ip对于当前的世界来说并不太够用,因此IPV4协议做了一些优化:

  • 只有上网才分配ip,不上网就不分配。
  • IP分为内网和外网,内网是局域网的简称,覆盖的范围小,内网设备的ip就是内网ip,在同一个内网中的设备ip是唯一的,当内网设备访问外网时,这个内网ip才会被替换成该局域网分配的外网ip,也就是NAT机制。因此在两个不同内网中的设备ip可以相同。

在家用路由器中,有两个ip,一个WAN口ip,另有多个LAN口ip,WAN口就是连接的外网,LAN口连接的就是内网。当内网设备连接外网时,就会执行NAT机制。NAT的基本功能是用一个或多个ip地址来实现1个私有网中的所有主机和公网中主角及的ip通信,也就是内网与外网的转换。

通过这些措施,就可以暂时解决ip地址不够用的问题,但是这些都是治标不治本的。更好的做法是使用IPV6协议。

但是由于历史原因,IPV6没有普及,并且IPV4不能升级到IPV6,除非更换一批新的设备,这显然是一笔开销,而且当前IPV4协议还可以正常使用,因此很多企业仍在使用IPV4。

如没有特殊说明,IP协议均指IPV4协议。

IP地址的组成

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

网络号的作用是识别设备所在的网络,也就是局域网;主机号的作用是定位到局域网中的主机地址。同一个网段中,网络号相同,但主机号不同。不同网段中,网络号不同,主机号可以相同。

网络号和主机号的划分:IP地址分为ABCDE五类:

分类

范围

适用网络

A类

1.0.0.0~126.255.255.255

大型网络

B类

128.0.0.0~191.255.255.255

中型网络

C类

192.0.0.0~223.255.255.255

小型网络

D类

224.0.0.0~239.255.255.255

E类

240.0.0.0~247.255.255.255

0表示任何地址,127代表环回地址(用于本机测试)。

如果按照以上的方式分类,总会造成很多的ip浪费,往往会出现C类不够用,但是B类却用不完的情况。为了避免这种资源浪费,引入了子网掩码来表示。

子网掩码

子网掩码同样由32位二进制数组成,左边为网络位,由1组成,右边为主机位,由0组成。子网掩码的左边全为1,右边全为0,1的数目表示网络位长度,0的数目表示主机位长度。

mac地址

mac地址位于数据链路层,mac地址有6个字节,因此完全够用。每个网卡都有一个唯一的mac地址,主机有一个或多个网卡,路由器有多个网卡。网络通信就是通过网卡进行传输的。网卡属于硬件设备,因此mac地址用来识别网络物理地址。mac地址在网卡出厂时就写死了,不可修改。虚拟机中配置的虚拟mac地址不是真实的mac地址。

IP地址和mac地址的区别:

  • IP地址指的是起点和终点的地址,用于网络层,是网络逻辑地址;mac地址指的是相邻两节点的地址,用于数据链路层,是真实的网络物理地址。
  • IP地址为4个字节,mac地址为6个字节。
  • IP地址往往可以根据需要更改,mac地址伴随网卡的出厂不可再更改。

冲突域与广播域

冲突域:主机之间通过网络设备进行连接时,如果在同一时间发送数据报,就可能发生冲突,这个冲突所在网络范围就为冲突域。

集线器的功能是把数据复制到每个接口,因此如果有两个数据报同时转发,就会造成冲突。集线器的所有端口为一个冲突域。

交换机在接收到数据后,会把数据转发到对应端口,如果两个数据报同时转发到同一个端口就会发生冲突。交换机可以分割冲突域,分割后,每个端口都是一个冲突域

广播域:ip地址全为1表示广播地址(TCP不支持广播),往这个地址发送数据报,数据报就会传播到局域网内的所有地方。(投屏原理就是手机通过广播发出数据报,电视上(有相应的软件的话)就能接收到信息,从而可以投屏)

数据传输流程

源IP与目的IP表示整个传输过程的起点和终点,源mac与目的mac表示每一段传输的起点和终点。假如发送端和接收端处于同一局域网中,那么数据就可以直接传输到目的IP,假如二者位于不同的局域网中,下一次传输的mac地址就是网关,(路由器是一个网关设备,路由器中有WAN口(连接外网IP)和LAN口(连接内网IP),当内网访问外网时需要先转换为外网,因为内网无法被识别)传输到网关后,要获取下一个mac地址,需要用到ARP寻址

在数据链路层,寻找下一跳设备mac地址的过程,称为ARP寻址。ARP是一个介于数据链路层和网络层之间的协议;ARP协议建立了IP地址与mac地址的映射关系。

通过IP地址,在本地ARP缓存表中查找目的mac地址,如果找到了,就直接返回mac地址进行传输,假如没有找到,则发送ARP广播数据报寻找目的mac,目的mac回应后返回mac地址。

网络传输路径由路由器进行规划,路由器进行路径规划的过程就称为路由


http://www.ppmy.cn/news/47757.html

相关文章

webpack 5 实战(1)

一、为什么使用webpack 个人将前端开发分为三个阶段: 1.1 Web1.0 Web1.0前端主要工作: 前端主要编写静态页面对于JavaScript的使用,主要是进行表单验证和动画效果制作 1.2 Web2.0之AJAX 伴随着AJAX的诞生,前端的工作模式也发…

北斗导航 | 周跳处理(cycle-slips)方法(matlab工具)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 本文介绍了一种基于MATLAB的GPS周跳(cycle-slip)处理软件软件包。在测…

TensorFlow 2.0 的新增功能:第三、四部分

原文:What’s New in TensorFlow 2.0 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如何实现目…

什么是存算分离架构?

随着硬件技术的快速进步,尤其是网络和存储设备的性能迅速提升,以及云计算厂商推动软硬件协同加速的云存储服务,越来越多的企业开始基于云存储来构建数据存储服务,或数据湖,因此就需要单独再建设一个独立的计算层来提供…

RocketMq集群搭建

各个角色介绍: producer:消息的发送者;举例:发信者consumer:消息的接受者;举例:收信者broker:暂存和传输消息;举例:邮局NameServer:管理Broker&am…

嵌入式Linux(9):字符设备驱动--自动创建设备节点

文章目录 前言1、怎么自动创建一个设备节点?2、什么是mdev3、什么是udev?4、怎么自动创建设备节点?5、创建和删除类函数--自动生成类代码 6、创建设备函数--自动生成节点代码 前言 在上一节中,使用insmod加载模块后,还需要通过m…

202306读书笔记|《与诗书在一起》——质而实绮,癯而实腴

《与诗书在一起》作者叶嘉莹,不错的一本书,大多只看了诗,部分读着比较有感觉的看了注释。 很喜欢的节选如下: 苏轼说陶渊明的诗“质而实绮,癯而实腴”,就是看起来它很简单质朴,内里实在是很美丽很丰富。 …

Spring注解开发

定义bean 我们先直接通过一张图来理解注解在Spring开发中如和定义bean: 那么我们既然加了注解,相当于定义了bean可是Spring的配置文件怎么知道他的存在,于是我们引入component-scan进行包扫描即为了让Spring框架能够扫描到写在类上的注解&…