IP地址和MAC地址是什么?Dhcp和arp又是什么?

news2024/11/16 23:32:40

本期武汉海翎光电的小编和大家聊聊 计算机是如何通信的?IP地址和MAC地址是什么?Dhcp和arp又是什么?在我们的家庭网络中,有许多的网络设备,比如我们可以有两台计算机A和B, 一台手机一台电视机,他们都连接到了路由器上,并且路由器都过运营商线路,接入了因特网。

    在这个网络模型中,有许多的应用场景。比如计算机A和计算机B之间可以互相发送文件、手机可以通过APP控制电视、电视机访问计算机A上共享的影片、计算机和手机访问互联网上的网站。在家中通过VPN连接到公司内网进行工作等等。以上几种工作场景都脱离不了一件事,就是通过网络进行通信。

    听到IP地址这个概念,想必大家都不会陌生。如果我们想要和对方进行通信,通常我们需要知道对方的IP地址。但是在网络通信中,还有一个非常重要的地址MAC地址,它在网络中提到了至关重要的作用。到底IP地址和MAC地址是多少?他们又是如何起作用的?请随武汉海翎光电的小编一起耐心地看完本期的内容,你一定会有所收获。

    在现实生活中,我们如果要给对方写信,除了信件内容以外,还需要填写信封地址。信封有两个重要信息。一个是收件地址,一个是收件人。收件地址表示这封信要寄到哪里?收件人表示信要寄给谁?同样的道理,在网络世界中,我们要发信息给别人,也需要知道收件地址、收件人。他们就是MAC地址和IP地址。MAC地址就是收件地址,IP地址就是收件人。

    映射到上面的例子,比如说海翎光电的小编我,我是一个可以活动的人,我可以住在自己家,也可以住在公司,也可以住在父母家。如果你要给我写信,首先要知道我现在住在哪里?在网络中也是这样的,如果把网络比喻为我们生活的城市,那网卡就是城市中的建筑,MAC地址就是这些物理建筑的地址。而IP地址就是这些建筑中的人。

    与写信不同,在计算机网络中发送信息,我们只需要填写内容和对方的IP地址,操作系统会根据目标IP自动查询arp表获取对方的MAC地址补齐这封信,从网卡发出。

    虽然计算机,手机,电视机他们是不同类型的电子产品,但是他们的通讯,都是由内部的网卡设备所进行的。所以我们统一用网卡来表示设备。每张网卡在出厂时都写入一个地址,就是MAC地址。这个地址是由6个字节构成的。其中前3个数表示的是网络硬件厂商编号,由(IEEE)国际性电子技术与电子工程师协会分配。后3个字节代表的是该制造厂商所制造的网卡的序列号。所以MAC地址是全球唯一的地址。虽然可以通过一些其他手段修改MAC地址,但不在我们的讨论范围。

    我们上面说了,MAC地址表示了网卡在网络中的确定位置,那这个位置是如何表示与确定的呢?比如我们的计算机A,通过网线接入到了交换机的端口1,那这个端口1就是网络中的具体位置,就像我们的门牌号一样。交换机就知道了某个MAC地址在端口1上,从而就把MAC地址与端口进行了绑定。

    我们的网卡接入网络中,如果要通信需要给他配置另一个地址,就是IP地址。IP地址有两种,IPV4地址和IPV6地址。比如我们常用的192.168.1.N,这就是IPV4地址。由4位0-255的数字,用小数点间隔构成。目前IPV4的技术可以使用的IP地址最多有42亿,看上去像是很难用尽,但由于早期编码和分配上的问题,很多区域的编码实际上被空出或不能使用。随着互联网的快速成长,IPV4的42亿个地址最终于2011年2月3日用尽。相应的科研组织已经研究出128位的IPV6其IP地址的数量最高可达3.4*10-38个,届时每个人家中的每个网络设备,甚至地球上的每一粒沙子都可以拥有自己的IP地址。

    现在我们知道了,网卡上需要配置好IP地址才可以工作。这时候又有朋友要问了,我的电脑接上网线或者手机连上路由器之后,没有让我配置IP地址也可以正常使用啊?这是因为由称之为dhcp的协议自动帮我们配置了。当电脑插上网线或者手机连入到WIFI操作系统,网络协议栈会自动向外发送一包DHCP请求,请求为其分配IP地址。路由器获取到DHCP请求后,会为其分配一个IP地址,并通过DHCP回复报文发送回去。操作系统收到了DHCP回包后,将其分配的IP地址配置到网卡上。注意在一个局域网中IP地址也是唯一的,路由器不会分配重复的IP地址给不同的设备。

    当然你也可以手动把DHCP关掉,这样你需要手动来配置网卡IP地址,但是你要保证你配置的IP地址不能与此网络中的其他地址重复,这样网卡就配置好了IP地址。

    我们上面提到,MAC地址是由操作系统来补齐的,那操作系统是如何知道对方的MAC地址的?实际上这一步是用arp协议来完成的。当计算机A想向计算机B发送消息时,操作系统并不会立即发出,他会先发送一包arp广播报文出去,问一下192.168.1.10的 MAC地址是多少,此时,网络中的所有设备都收到了这一包请求报文。除了192.168.1.0以外的设备都会丢弃这包请求报文,只有192.168.1.10会回复自己的MAC地址是多少,计算机A收到了回复,知道了计算机B的MAC地址,他首先会把计算机B的MAC地址缓存起来,以便下次使用。然后把这封信补全从网卡发送出去,交换机根据数据包中的目标的MAC地址找到了计算机B所在的端口,从此端口发送出去,数据就被B收到了。

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

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

相关文章

【尚硅谷】Java数据结构与算法笔记09 - 哈希表

文章目录一、哈希表引入二、基本介绍三、Google公司的一个上机题3.1 题目描述3.2 代码实现一、哈希表引入 1)看一个实际需求, google 公司的一个上机题: 2)有一个公司, 当有新的员工来报道时, 要求将该员工的信息加入(id,性别,年龄, 住址…), 当输入该员…

【Linux】理解文件系统——软硬链接

我们之前讨论的都是进程和被打开文件的关系,而如果一个文件是没有被打开呢?没有被打开的文件操作系统如何管理? 没有被打开的文件在磁盘上,所以磁盘上有大量的文件,这些文件要被静态管理起来,方便我们随时…

1588_AURIX_TC275_PMU简介

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) PMU是编程存储单元的缩写,但是落实到了具体的硬件模块上其实是一个Flash模块。在TC275中,只有一个PMU模块。在所有的AURIX芯片中,只有PMU0支持BootROM的…

React--》React组件的三大核心属性

目录 state 事件绑定 props 函数式组件使用props refs state state是组件对象最重要的属性,值是对象(可以包含多个 key-value的组合);组件被称为“状态机”,通过更新组件来对应页面显示(重新渲染组件),也就是有状态组件&…

ASP.NET Core 3.1系列(29)——System.Text.Json实现JSON的序列化和反序列化

1、前言 在Web开发中,JSON数据可以说是无处不在。由于具有轻量、易读等优点,JSON已经成为当前主流的数据传输格式。在ASP.NET Core 3.0之前,大多数项目都会使用Newtonsoft.Json组件来实现JSON的序列化和反序列化操作,而从ASP.NET…

《王道》操作系统整理

操作系统第1章 OS概述第1节 OS基本概念第2节 OS发展与分类第3节 OS运行机制和体系结构1.3.1 操作系统的运行机制1. 时钟管理2. 中断机制3. 原语4. 系统资源管理或系统控制的数据结构及处理1.3.2 中断和异常1.3.3 系统调用第2章 进程管理第3章 内存管理第4章 文件管理第5章 IO管…

【8】SCI易中期刊推荐——计算机 | 人工智能(中科院4区)

🚀🚀🚀NEW!!!SCI易中期刊推荐栏目来啦 ~ 📚🍀 SCI即《科学引文索引》(Science Citation Index, SCI),是1961年由美国科学信息研究所(Institute for Scientific Information, ISI)创办的文献检索工具,创始人是美国著名情报专家尤金加菲尔德(Eugene Garfield…

【SpringCloud11】Hystrix断路器

Hystrix断路器1.概述1.1分布式系统面临的问题1.2Hystrix 是什么1.3Hystrix 的作用1.4官网资料1.5Hystrix官宣停更进维2.Hystrix重要概念2.1服务降级(fallback)2.2服务熔断(break)2.3服务限流(flowlimit)3.H…

手把手教你使用Python实现推箱子小游戏(附完整源码)

文章目录项目介绍项目规则项目接口文档项目实现过程前置方法编写move核心方法编写项目收尾项目完善项目整体源码项目缺陷分析项目收获与反思项目介绍 我们这个项目是一个基于Python实现的推箱子小游戏,名叫Sokoban: 这个游戏的目的是让玩家&#xff0…

jfow-代码分析

jfow-代码分析目录概述需求:设计思路实现思路分析1.代码:2.代码2:3.CashFrmTemplate4.chartType5.DataColumnData:参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xf…

Vue实战第1章:学习和使用vue-router

学习和使用vue-router 前言 本篇在讲什么 简单讲解关于vue-router的使用 仅介绍简单的应用,仅供参考 本篇适合什么 适合初学Vue的小白 适合想要自己搭建网站的新手 适合没有接触过vue-router的前端程序 本篇需要什么 对Html和css语法有简单认知 对Vue有…

2023/1/14 js基础学习

1 js基础学习-基本数据类型基本语法 请参考 https://blog.csdn.net/m0_48964052?typeblog https://gitee.com/hongjilin/hongs-study-notes/blob/master/%E7%BC%96%E7%A8%8B_%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/HTMLCSSJS%E5%9F%BA%E…

Arthas 入门到实战(二)在线热更新

1. 结合 jad/mc 命令在线修改使用 jad 命令: 将 JVM 中实际运行的 class 的 byte code 反编译成 java 代码,便于你理解业务逻辑; mc命令:Memory Compiler/内存编译器,编译.java文件生成.class。 redefine命令:加载…

unix进程控制及进程环境--自APUE

文章目录概述1、孤儿进程和僵尸进程进程终止进程的编译和启动进程终止的步骤进程8种终止方式进程退出函数1:exit进程退出函数2:_exit进程退出函数3:_Exit注册终止处理程序:atexit环境变量通过main函数传参全局的环境变量表&#x…

uni-app跨端自定义指令实现按钮权限

前言 初看这个标题可能很迷,uni-app明明不支持自定义指令,这文章是在搞笑吗,本文对于uni-app自定义指令实现按钮权限的方式也有可能是多余,但为了给业务部门更友好的开发体验,还是做了一些可能没意义的操作&#xff0…

回顾2022,展望 2023

个人相关: PMP 因为疫情多次延期的PMP终于搞定,光环的PMP就是妥妥。基本只要认真做题和思考都会过。但是考试不仅仅是考试,有时候更多的是对项目发展和项目管理的思考:风险,里程碑,相关方,敏捷&…

红日内网渗透靶场2

目录 环境搭建: Web渗透: weblogic漏洞利用 java反序列化漏洞利用、哥斯拉获取shell 上线msf msf派生shell到cs 内网信息收集 mimikatz获取用户密码 cs横向移动 PTT攻击(票据传递) 方法2:通过msf利用永恒之蓝…

测试之分类【测试对象、是否查看代码、开发】

文章目录1. 按测试对象分类2. 按照是否查看代码划分3. 按照开发阶段划分1. 按测试对象分类 可靠性测试容错性测试安装卸载测试内存泄露测试弱网测试 (1)可靠性测试 可靠性 正常运行时间 / (正常运行时间 非正常运行时间) * 100% (最高 10…

Servlet的实战用法(表白墙前后端)

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 目录 服务器版本的表白墙 创建项目 约定前后端交互接口 获取全部留言 发表新的留言 服务端代码 创建Message类 创建DBUtil类 创建MessageServlet…

双指针合集

87合并两个有序的数组 import java.util.*; public class Solution {public void merge(int A[], int m, int B[], int n) { int i m-1;int j n-1;for(int k nm-1;k>0;k--){if(j<0) A[k] A[i--];else if(i<0) A[k] B[j--];else if(A[i]>B[j]) A[k] A[i--]…