计算机网络是一个共通的网络,世界上任何计算机都可以互相访问。

实现的原理基于网络通讯的互联网交互五层模型。

计算机网络的历史发展

当计算机网络技术初始利用的时代,几台计算机通过集线器连接,就可以实现网络的互通。这个网络的数据传输方式是——广播。

广播的方式浪费了网络资源,特别是需要互联的计算机数量基数开始增大的时候,一个集线器无法满足大量计算机通信的需求,逻辑上和资源上都要求人类提出新的技术。

于是交换机的产生解决了这个问题。计算机都和交换机连接组成了一个局域网,数据到达交换机后,从数据中获得的Mac地址在交换机的映射表中找到接收方连接的

端口号,数据被交换机扔到这个端口,成功传输到指定的计算机。因此交换机要记录所有连接的计算机的mac地址和端口号的关系。

计算机的数量进一步增大,交换机的数量越来越多。

例如哈佛的计算机x,计算机x所在的交换机连接了美国国家交换机,美国国家交换机连接中国国家交换机,中国中大计算机y连接的交换机连接了中国国家交换机。

当计算机x请求获取计算机y的资源,会发送数据,数据中包含计算机y的Mac地址,计算机x发送数据到交换机。交换机一看,没有和该mac地址绑定的端口,那要发给谁?

交换机发给默认的计算机——美国国家交换机,美国国家交换机也没有找到接口,于是再转发该数据给中国交换机,依次类推,就发送给了计算机y。

y收到数据后如何回复呢?原理是一样的。逆向发送源mac做为回复的查询地址。

可是当日本也加入了网络,这时美国国家交换机就需要广播数据了,默认的就无效了。

所以需要新的技术来指定地址,产生了IP地址。

IP地址+Mac地址=防盗网

IP地址非常灵活可变,如果一台电脑窃取了另一台连入网络的计算机的IP地址,这台电脑也可以上网了,并接收到被盗计算机的网络数据。

如果要避免这一个问题。需要mac地址和IP地址绑定,原因时mac地址是不可变的。

mac地址是IEEE分配的地址,再每台硬件设备上都是唯一的地址。

当发生如上IP被窃取上网的情况,有了Mac地址,发送到IP地址所在的物理机时,黑客计算机的Mac不一致,所以数据不会发送到黑客计算机。

在安全角度看来,Mac+IP地址的识别联网节点的策略提高了网络安全性。

可是,事情往往有另一面,安全性不是绝对的。因为mac地址可以通过 ping IP地址的方法在本地的ARP表中保存对方的IP地址和Mac地址。

ARP协议是解析IP地址为Mac地址的地址解析协议。它的原理是在每台物理机上都有一张ARP表:IP地址-Mac地址,如果发送的IP地址在ARP表中存在,就获取

到Mac地址发送到指定的计算机,如果不存在,就广播数据,回复的数据中取得Mac地址存入ARP表中,等待下一次使用。所以,通过这张表是可以

获取某台计算机的Mac地址。并且通过命令修改本机的mac,也会达到盗用目标计算机网络的作用。

综上所述,网络的世界还是挺大的。

IP地址和MAC地址绑定的必要性的更多相关文章

  1. 华为S5700设置vlan,并绑定电脑的IP地址与mac地址。

    要求是设置两个vlan,10和20.交换机下的10网段和20网段的电脑在两个vlan当中.20网段的ip地址与mac地址绑定,从而实现下面的电脑更改ip地址或者不明来源的电脑不能连接到交换机. 1.s ...

  2. 网络协议 2 - IP 地址和 MAC 地址

    了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP 地址和 MAC 地址. 那么 IP 地址是怎么来的,又是怎么没的?MAC 地址与 IP 地址又有什么区别? 这回答上面问题前 ...

  3. java获取服务器IP地址及MAC地址的方法

    这篇文章主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下   本文实例讲述了 ...

  4. 转:数据包经由路由转发时源、目的IP地址及MAC地址变化情况

    数据包经由路由转发时源.目的IP地址及MAC地址变化情况.  IP数据包经由路由转发的时候源ip,目的ip,源MAC,目的mac是否发生改变,如何改变?   A—–(B1-B2)—–(C1-C2)—— ...

  5. Java根据ip地址获取Mac地址,Java获取Mac地址

    Java根据ip地址获取Mac地址,Java获取Mac地址 >>>>>>>>>>>>>>>>>&g ...

  6. 为什么同时需要IP地址和MAC地址

    每个以太网设备在出厂时都有一个唯一的MAC地址,为什么还需要为每台主机再分配一个IP地址?或者说每台主机都分配唯一的IP地址,为什么还要在网络设备(如网卡,集线器,路由器等)生产时内嵌一个唯一的MAC ...

  7. IP,IP地址,mac地址

    IP地址与IP是两个不同的概念.单独讲IP,是指IP协议 IP地址分为三类:单播地址(目的为单个主机):多播地址(目的端为同一组的所有主机):广播地址(目的端为网络上所有给定的主机) ip地址由网络和 ...

  8. IP地址、MAC地址及端口

    概述: IP 是地址,有定位功能(网与网的通讯)     (在逻辑上唯一标识一台电脑)(网络层) MAC 是身份证,无定位功能(在子网干活)(在物理上唯一标识一台电脑) (链路层) 首先是如何查看ip ...

  9. Linux环境下如何配置IP地址、MAC地址

    Linux环境下如何配置IP地址.MAC地址 1.配置IP地址 进入配置IP地址路径,进行修改即可 cd /etc/network vim interface 加入以下内容: iface eth0 i ...

随机推荐

  1. Maven打包时出现“Show Console View”错误弹出框,错误详情为“An internal error has occurred. java.lang.NullPointerException”的解决方法

    今天为项目打包时出现了下面的错误提示: 打开Details里面写的是“An internal error has occurred. java.lang.NullPointerException”.在 ...

  2. Httpclient文件上传

    public static void upload(String url,File file,String filename) { CloseableHttpClient httpclient = H ...

  3. C语言实现归并排序

    #include<stdio.h> #define MAXN 100 //A[p,q] A[q+1,r]是两个有序数组,想办法把他们结合成一个有序数组 void merge(int A[] ...

  4. C++负数类型转换,-1对256取模

    最近在读C++ primer的时候,发现p32上写道:当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数.因此,把-1赋值给8比特大小的unsigned c ...

  5. python关于type()与生成器generator的用法

    如果按这种形式写  type(a)(b) 那此处的b是个可迭代对象,这个对象迭代完成后,再放到type里    from pymysql._compat import range_type, text ...

  6. 利用easyui的行编辑自动增加一行来进行增删有详细注解

    jQuery EasyUI 框架提供了创建网页所需的一切,帮助您轻松建立站点. easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件. easyui 提供建立现代化的具有交互性的 j ...

  7. Scrapy笔记08- 文件与图片

    Scrapy笔记08- 文件与图片 Scrapy为我们提供了可重用的item pipelines为某个特定的Item去下载文件. 通常来说你会选择使用Files Pipeline或Images Pip ...

  8. sparksql基础知识一

    目标 掌握sparksql底层原理 掌握sparksql中DataFrame和DataSet的数据结构和使用方式 掌握通过sparksql开发应用程序 要点 1.sparksql概述 1.1 spar ...

  9. C# 动态加载(转)

    原文链接地址:http://blog.csdn.net/lanruoshui/article/details/5090710 原理如下: 1.利用反射进行动态加载和调用. Assembly assem ...

  10. springboot2.x自定义拦截把static静态文件给拦截的坑

    新人新帖,喷后请指正,谢谢 1.王中王,坑中坑 和很多人一样,我在springboo自定义配置登录拦截的时候,写一个WebConfig类继承WebMvcConfigureAdapter,重写AddRe ...