最近在看书<图解TCP/IP>书中分别谈到了IP和MAC地址.于是我就有两个疑惑, 为什么有了IP地址,我们还要获取MAC地址? 为什么我们初始不直接使用MAC地址作为终点地址?还要那么复杂的先引入IP,再通过ARP获取MAC地址... ... 于是我搜索了一下得到了满意的答案: 然后我们就发现这个问题变得简单了:当年设计 IP 地址的目的是什么呢?当年设计出 IP 地址这个东西,就是因为随着网络中的设备逐渐增多,人们发现路由(也就是寻找数据包从发送方到接收方的路径)变得越来越困难了.于是人们…
介绍一下MAC地址的知识,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题. 一.基础知识 如今的网络是分层来实现的,就像是搭积木一样,先设计某个特定功能的模块,然后把模块拼起来组成整个网络.局域网也不例外,一般来说,在组网上我们使用的是IEEE802参考模型,从下至上分为:物理层.媒体接入控制层(MAC),逻辑链路控制层(LLC). 标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址.IP地址和MAC地址,分别对应应用层.网络层.物理层.网络管理一般就是在网络…
关于MAC地址和IP地址在传输过程中变与不变的问题: 结论:MAC地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的:而IP地址在传输过程中是不会改变的(除NAT的时候),总结为 路由转发MAC不变,IP变. 我们知道的几个概念: 首先我们要知道,MAC地址是用于同意物理或逻辑第2层网络上的设备间进行通信的: 而第三层地址(IP地址)是可以在多个网络设备之间通信的. 下面我们来分析一下: MAC地址是在同一个广播域有效的,那么去了另外一个广播域(网段)MAC地址肯定要改变的:…
看了很多遍,才整理出来我对整个通信过程的理解,大致如下,后期会不断学习补充更正: 在利用TCP/IP协议族进行通信的时候,有三个比较关键的确认身份的信息:mac地址.IP地址和端口号. mac地址是在数据链路层包裹在以太网头部中的,它主要用来识别同一个链路中的不同计算机.Mac地址即网卡号,每块网卡出厂的时候,都有一个全世界独一无二的 MAC 地址,长度是 48 个二进制位,通常用 12 个十六进制数表示. IP地址是在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通…
刚再整理笔记的时候,突然想到了一个问题,网络中为什么要同时存在mac地址和ip地址呢?那现在就来随便扯扯吧. 这个问题其实是可以分成两个问题的:Q1:如果只有mac地址,没有ip地址可以么? 众所周知,根据mac可以唯一确定一个主机,那么按照这个的逻辑,mac就相当于人们的身份证号,是可以唯一标识的.那为什么还有有ip呢?我觉得可能是这样的. 1.mac地址是不分层次的,如果网络过于庞大的话,不分层次的管理是不切实际且十分繁琐的.(这个是管理层面的,类似于手机号于人的关系) 2.只有mac地址的…
因业务需要在DHCP服务器上绑定设备MAC,提示"指定的IP地址或硬件地址正被其他客户端使用",与业务同事沟通之前该设备做过地址保留,具体对应地址遗忘了. 问题描述: a.按照用户需求添加地址保留: b.提示:指定的IP地址或硬件地址正被其他客户端使用:添加失败. 环境描述:Windows DHCP Server 2016 操作步骤: 1.在Powershell命令行查看DHCP相关命令: help Get-DhcpServerv help Get-DhcpServerv4Lease …
我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: using System.Management; /// 获取本机用户名.MAC地址.内网IP地址.公网IP地址.硬盘ID.CPU序列号.系统名称.物理内存. /// </summary> public class GetSystemInfo { /// <summary> /// 操作系…
获取客户端网卡MAC地址和IP地址实现JS代码 作者: 字体:[增加 减小] 类型:转载   获取客户端的一些信息,如IP和MAC,以结合身份验证,相信很多人都会这样做吧,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,感兴趣的你可以参考下哈     在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证.要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调…
<!DOCTYPE HTML> <html> <head> <title>js获取本机mac地址,IP地址,计算机名</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta content="MSHTML 6.00.2800.1106" name="…
我们在利用C#开发桌面程序(Winform)程序的时候, 经常需要获取一些跟系统相关的信息, 以下这些代码获取能有些用处. c#中如何获取本机用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存. 首先需要引入命名空间: using System.Management; /// 操作系统的登录用户名: string GetUserName() { try { string st = ""; ManagementClass mc = new ManagementCla…