需要IP地址和MAC地址的几点原因

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

  主要原因有以下几点:

  (1)IP地址的分配是根据网络的拓朴结构,而不是根据谁制造了网络设置。若将高效的路由选择方案建立在设备制造商的基础上而不是网络所处的拓扑位置基础上,这种方案是不可行的。

  (2)当存在一个附加层的地址寻址时,设备更易于移动和维修。例如,如果一个以太网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。

  (3)方便数据传输。无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP协议负责将IP地址映射到MAC地址上来完成的。

  IP地址和MAC地址结合起来传送数据包的例子:

  假设网络上要将一个数据包(名为PAC)由北京的一台主机(名称为A,IP地址为IP_A,MAC地址为MAC_A)发送到华盛顿的一台主机(名称为B,IP地址为IP_B,MAC地址为MAC_B)。这两台主机之间不可能是直接连接起来的,因而数据包在传递时必然要经过许多中间节点(如路由器,服务器等等),我们假定在传输过程中要经过C1、C2、C3(其MAC地址分别为M1,M2,M3)三个节点。

  A在将PAC发出之前,先发送一个ARP请求,找到其要到达IP_B所必须经历的第一个中间节点C1的MAC地址M1,然后在其数据包中封装(Encapsulation)这些地址:IP_A、IP_B,MAC_A和M1。

  当PAC传到C1后,再由ARP根据其目的IP地址IP_B,找到其要经历的第二个中间节点C2的MAC地址M2,然后再将带有M2的数据包传送到C2。

  如此类推,直到最后找到带有IP地址为IP_B的B主机的地址MAC_B,最终传送给主机B。

  在传输过程中,IP_A、IP_B和MAC_A不变,而中间节点的MAC地址通过ARP在不断改变(M1,M2,M3),直至目的地址MAC_B。

时间: 2024-08-18 03:33:48

需要IP地址和MAC地址的几点原因的相关文章

批量绑定IP地址和mac地址的方法

  这里要跟大家分享的是关于批量绑定IP地址和mac地址的方法,在网络管理中,IP地址盗用现象经常发生,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也对用户造成了大量的经济上的损失和潜在的安全隐患.因此为了防止IP地址被盗用,可以在代理服务器端分配IP地址时,把IP地址与网卡地址进行捆绑.那么IP地址和mac地址要如何进行批量绑定?系统城的小编下面就跟大家详解有关的具体措施. 1.首先,我们要登录目前连接的路由器后台,到DHCP客户端面列表中查看目前连接的全部电脑;

js获取客户端网卡的IP地址、MAC地址

 这篇文章主要介绍了js获取客户端网卡的IP地址.MAC地址的方法,需要的朋友可以参考下  代码如下: <html>  <head>  <title></title>  </head>  <body>  <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:

怎么查看自己MAC电脑上的IP地址和MAC地址

  MAC用户们一定都知道了IP地址与MAC地址的区别了吧,不过对于自己电脑上的IP地址与MAC地址具体是什么,许多用户都不一定能够知道吧,那么,该怎么查看自己电脑上的IP地址和MAC地址呢?现在小编就教大家一个解决的方法. 查看方法: 1. 打开终端.我们此处使用输入命令查询IP的方法实现IP地址的查询. 2. 在终端中输入"ifconfig",然后回车,来查看IP地址 3. 其中"eth0"表示以太网网卡,"lo0"表示环回地址. 以上就是M

java 系统自动获取ip地址和mac地址

问题描述 java 系统自动获取ip地址和mac地址 如何使用java代码自动获取计算机的ip地址和mac地址 求java代码 解决方案 public static String getMacAddressIP(String remotePcIP) { String str = ""; String macAddress = ""; try { Process pp = Runtime.getRuntime().exec("nbtstat -A "

IP地址与MAC地址 外网 内网的问题

问题描述 IP地址与MAC地址 外网 内网的问题 老师说IP地址是负责外网通讯 mac地址负责内网通讯 我所理解的外网通讯靠是中国电信办宽带给我的IP地址 内网通讯靠的是由路由器分配给终端 手机电脑ipad分配的192.168.1.X 解决方案 MFC 获取外网IP地址和MAC地址php获取外网和内网的ip地址外网得到客户端IP和MAC地址 解决方案二: IP地址分为内网IP和外网IP, 外网IP是你可以直接访问的,比如百度的IP为61.135.169.121,你访问http://61.135.

axis2服务器端如何取得客户端的ip地址和mac地址

问题描述 axis2服务器端如何取得客户端的ip地址和mac地址?我现在用的都是http协议的,理论上应该可以的呀! 解决方案 /** * 获取客户端IP地址,如调用方的IP,以便检查权限. * 适用于axis发布的webservice * @return */ public String getClientIpAxis() { MessageContext mc = null; HttpServletRequest request = null; try { mc = MessageConte

利用java实现对实验室局域网主机或宿舍网络主机的扫描监控,要 求输出主机名、IP 地址、MAC 地址等信息

问题描述 利用Java实现对实验室局域网主机或宿舍网络主机的扫描监控,要求输出主机名.IP地址.MAC地址等信息,做个简单的界面,跪求源代码 解决方案

js获取客户端网卡的IP地址、MAC地址_javascript技巧

复制代码 代码如下: <html> <head> <title></title> </head> <body> <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>

vps绑定ip地址和mac地址的方法

ECHO :::: 中国信息港导入mac地址到ipconfig.txt :::: ::::获取机器的TCP/IP 配置  代码如下 复制代码 if exist ipconfig.txt del D:pichuliipconfig.txt ipconfig /all >D:pichuliipconfig.txt ::::分离出机器的物理地址,并保存到 ( phyaddr.txt) 文件中  代码如下 复制代码 if exist D:pichuliphyaddr.txt del D:pichulip