1.应用场景
主要用于学习IP地址与Mac地址的关系与区别,更加了解掌握计算机网络相关知识 |
2.学习/操作
下面是一个跨网段的网络请求根据 IP 地址和 MAC 地址最终到达目标主机的流程图 为了方便理解,我们画了一幅数据传输的示意图: 1.文档阅读
2.整理输出2.1 Mac地址
2.2 IP地址
2.3 程序地址, 即端口
后续补充 ... |
3.问题/补充
1. Mac地址,IP地址,端口的联系与区别数据链路和网络层中的地址,分别指的是 MAC 地址和 IP 地址,前者用来识别同一链路中的不同计算机,后者用来识别计算机网路中互连的主机和路由器。在传输层中也有类似于地址的概念,那就是端口号,端口号用来识别同一台计算机中进行通信的不同应用程序,因此,它也被称为程序地址。 一台计算机可以同时运行多个程序,例如,浏览器、电子邮件客户端、PhpStorm、QQ等,传输层正是利用端口号识别本机中正在运行的程序,并准确进行数据传输。 实际上,通过源 IP 地址、目标 IP 地址、协议号(TCP/UDP)、源端口号、目标端口号这五个信息就可以唯一识别一个通信,五项中任何一个字段值不同,就被认为是不同的通信: 2. 当网络包到达一个城关的时候,可以通过路由表得到下一个城关的 IP 地址,直接通过 IP 地址找就可以了,为什么还要通过本地的 MAC 地址呢?陶家顺 1. mac地址是唯一的,为什么可以修改?想想身份证,身份证号是唯一的,不能改变的,但是可以造价。mac地址全球唯一,它是固化在网卡里的。网卡毕竟是个硬件,需要软件支持,既操作系统识别。重点来了,操作系统识别出来的mac地址是可以更改的,它只不过是一个字符串。我们常说的修改mac指的是修改电脑中记录的既注册表中的记录。 2. 有了mac地址为什么还要有ip地址。举个例子,身份证号是你的唯一标识,不会重复,一落户就有(网卡一出厂就有mac)。现在我要和你通信(写信给你),地址用你的姓名+身份证,信能送到你手上吗?明显不能!身份证号前六位能定位你出生的县。mac地址前几位也可以定位生产厂家。但是你出生后会离开这个县(哪怕在这个县,也不能具体找到你)。所以一般写个人信息就要有出生地和现居地址了。
网友的问题: 网友-令: 有Mac地址为啥还要用ip地址,你这个解释的非常详细,但是已经知道IP地址(现居住地),为啥还要用Mac地址呢? 因为还要确认一遍啊,你一个出租屋可能住两个人嘛,再报一次身份证万无一失 FYI FYI 而且,日常工作中,局域网内通信还是比较少【隔空投送,打印东西,其实传输文件,多数还是走的公网,比如用微信,slack等】,多数情况下,都访问公网服务。 要想弄清楚这个问题, |
4.参考
网络协议概论 | Laravel 学院 - IP 协议(七): IP 地址与 MAC 地址是如何映射的 网络协议概论 | Laravel 学院 - 传输层的定义及端口号设置 -- 其中涉及到Mac地址,IP地址,端口的区别 |
后续补充
...