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

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

计算机网络的历史发展

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

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

于是交换机的产生解决了这个问题。计算机都和交换机连接组成了一个局域网,数据到达交换机后,从数据中获得的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. C# 连接数据操作的时候抛异常,连接超时

    先说说我的业务.我在发送优惠券的时候,同时给6千多个会员发送优惠券,执行了update 和insert语句,这写语句都是通过字符串拼接而来的.update和insert语句加起来一共是一万多条语句.在 ...

  2. 【Java_基础】HashMap的工作原理

    转载至博客:HashMap的工作原理

  3. 内核中dump_stack的实现原理(3) —— 内核函数printk的实现

      参考内核文档: Documentation/printk-formats.txt   在内核中使用dump_stack的时候可以看到如下用法: static inline void print_i ...

  4. 腾讯面试Android高级岗,居然被一个多线程基础面倒了?

    前言 一个在深圳从事开发五年的老友一个月前从原公司辞职后,昨天去腾讯总部面试Android高级岗,一面的时候,自我介绍后,陆陆续续问了很多问题,有着五年的从业经验很多项目开发的技术问题都回答的很通顺, ...

  5. LCD编程_简单测试

    首先,需要编写一个led_test.c的文件,依据代码框架,在led_test.c中我们能够看到的只是led.c.我们是看不到led_controller.c的.比如说,在led_test.c中,需要 ...

  6. Python八大算法的实现,插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。

    Python八大算法的实现,插入排序.希尔排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序. 1.插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得 ...

  7. django admin 编辑页面(change page) 自定义字段, 展示数据

    最近遇到一个需求, 需要在django 的 admin 编辑页内展示由用户上传的进行反馈的图片, 还要支持点击查看原图, 所以需要在编辑页内自定义 img 标签及 a 标签进行图片的展示及点击跳转 i ...

  8. html--前端css样式初识

    一.CSS概述 css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化,CSS的可以使页面更加的美观.基本上所有的html页面都或多或少的使用css. CS ...

  9. Pandas | 05 基本功能

    到目前为止,我们了解了三种Pandas数据结构以及如何创建它们.接下来将主要关注数据帧(DataFrame)对象,因为它在实时数据处理中非常重要,并且还讨论其他数据结构. 一.系列基本功能 编号 属性 ...

  10. ESA2GJK1DH1K基础篇: 关于各大物联网平台的MQTT通信

    前言 这节稍微唠叨点 其实我很长时间都没有出怎么连接现成的物联网平台的教程, 一直写的是教给大家自己搭建服务器,主要原因是因为我感觉连接现有的学不到东西. 现在出这种教程,是因为发现确实很多人喜欢用. ...