计算机网络之IP地址与MAC地址
IP地址
IP地址(Internet Protocol Address):
缩写为IP Adress,是一种在Internet上的给主机统一编址的地址格式,也称为网络协议(IP协议)地址。
它为互联网上的每一个网络和每一台主机分配一个逻辑地址。
常见的IP地址,分为IPv4与IPv6两大类,当前广泛应用的是IPv4。
目前IPv4几乎耗尽,下一阶段必然会进行版本升级到IPv6。
IP地址对应于OSI参考模型的第三层网络层,工作在网络层的路由器根据目标IP和源IP来判断是否属于同一网段。
如果是不同网段,则转发数据包。
IP地址的组成:
IP地址=网络地址+主机地址。
计算机的IP地址由两部分组成,一部分为网络标识,一部分为主机标识,同一网段内的计算机网络部分相同,主机部分不能同时重复出现。
路由器连接不同网段(网络标识),负责不同网段之间的数据转发。
交换机连接的是同一网段的计算机(主机标识)。
通过设置网络地址和主机地址,在互相连接的整个网络中保证每台主机的IP地址不会互相重叠,即IP地址具有了唯一性。
IP数据包首部
IP数据包首部:
版本(4位):ipv4或者ipv6
首部长度(4位):最大值60字节(4位表示0-15,一个单位位4个字节)
区分服务(8位):数据包传输着急还是不着急
总长度(16位):首部+数据部分
标识(16位):在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
标志(3位):是否允许分片,后面是否还有分片。
片偏移(13位):某片在原片中的相对位置
生存时间(8位):数据在网络中可通过路由器的最大值
协议(8位)
首部校验和(16位):校验IP数据包首部是否错误

IP地址的分类

MAC地址
MAC(Media Access Control,介质访问控制)地址,或称为物理地址,也叫硬件地址:
用来定义网络设备的位置,MAC地址是网卡出厂时设定的,是固定的。
但可以通过在设备管理器或注册表等方式修改,同一网段内的MAC地址必须唯一。
MAC地址采用十六进制数表示,长度是6个字节(48位),分为前24位和后24位:
前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),
是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
MAC地址对应于OSI参考模型的第二层数据链路层:
工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库,
交换机根据收到的数据帧中的“目的MAC地址”字段来转发数据帧。
MAC帧格式

IP地址与MAC地址区别
长度不同:
IP地址为32位(二进制),MAC地址为48位(十六进制)。
分配依据不同:
IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。
寻址协议层不同:
IP地址应用于OSI第三层(网络层),而MAC地址应用在OSI第二层(数据链路层)。
IP地址与MAC地址的作用和关系:
IP和MAC两者之间分工明确,默契合作,完成通信过程。
在数据通信时,IP地址专注于网络层,网络层设备(如路由器)根据IP地址,将数据包从一个网络传递转发到另外一个网络上。
而MAC地址专注于数据链路层,数据链路层设备(如交换机)根据MAC地址,将一个数据帧从一个节点传送到相同链路的另一个节点上。
网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。
因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。
IP和MAC地址这种映射关系由ARP(Address Resolution Protocol,地址解析协议)协议完成:
ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络。
IP地址与MAC地址位置

IP地址决定最终地址,MAC地址决定下一跳给谁

划分子网
将A,B,C类IP地址分割成多个较小的地址块。
IP地址 = <网络号><子网号><主机号>
子网允许网络管理者对地址空间分级管理。
将一个网段划分为多个网段


合并网段

从层次上看数据的流动

计算机网络之IP地址与MAC地址的更多相关文章
- 计算机网络参考模型,IP地址及MAC地址查看方法,数据包封装过程
分层思想 首先,计算机网络参考模型,是基于分层思想而出现的.分层思想,就是将复杂流程分解为几个功能单一的子过程. 优点: 可以让整个流程更加清晰, 让复杂问题简单化, 更容易发现问题,并真对性的解决问 ...
- IP地址和MAC地址绑定的必要性
计算机网络是一个共通的网络,世界上任何计算机都可以互相访问. 实现的原理基于网络通讯的互联网交互五层模型. 计算机网络的历史发展 当计算机网络技术初始利用的时代,几台计算机通过集线器连接,就可以实现网 ...
- java获取服务器IP地址及MAC地址的方法
这篇文章主要介绍了java编程实现获取机器IP地址及MAC地址的方法,实例分析了Java分别针对单网卡及多网卡的情况下获取服务器IP地址与MAC地址的相关技巧,需要的朋友可以参考下 本文实例讲述了 ...
- 转:数据包经由路由转发时源、目的IP地址及MAC地址变化情况
数据包经由路由转发时源.目的IP地址及MAC地址变化情况. IP数据包经由路由转发的时候源ip,目的ip,源MAC,目的mac是否发生改变,如何改变? A—–(B1-B2)—–(C1-C2)—— ...
- Java根据ip地址获取Mac地址,Java获取Mac地址
Java根据ip地址获取Mac地址,Java获取Mac地址 >>>>>>>>>>>>>>>>>&g ...
- 为什么同时需要IP地址和MAC地址
每个以太网设备在出厂时都有一个唯一的MAC地址,为什么还需要为每台主机再分配一个IP地址?或者说每台主机都分配唯一的IP地址,为什么还要在网络设备(如网卡,集线器,路由器等)生产时内嵌一个唯一的MAC ...
- IP,IP地址,mac地址
IP地址与IP是两个不同的概念.单独讲IP,是指IP协议 IP地址分为三类:单播地址(目的为单个主机):多播地址(目的端为同一组的所有主机):广播地址(目的端为网络上所有给定的主机) ip地址由网络和 ...
- 华为S5700设置vlan,并绑定电脑的IP地址与mac地址。
要求是设置两个vlan,10和20.交换机下的10网段和20网段的电脑在两个vlan当中.20网段的ip地址与mac地址绑定,从而实现下面的电脑更改ip地址或者不明来源的电脑不能连接到交换机. 1.s ...
- 计算机网络四:网卡与MAC地址
网卡与MAC地址 ㈠网卡 1.网卡定义 网卡是工作在OSI的数据链路层的网络组件,是局域网中连接计算机和传输介质(网线或WIFI信号)的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉 ...
随机推荐
- C++ 字符串截取转换及字符流控制
文章由来 ------------------工作需要缓冲区里的字符串控制,还是混合编译的那种,根据协议来定义截取各种字符流,控制大小长度,截取返回的内容然后转换成特定的类型, 可能表述不是那么正确, ...
- JavaSE---类、对象、成员变量、局部变量
1.概述 1.1 类 1.1.1 类 是一种 自定义的 引用 数据类型: 1.2 对象 1.2.1 创建对象的根本途径:构造器: 通过new关键字 来调用 某个类的构造器: packa ...
- kvm搭建
今日做公司项目时恰好是这个,然后就做一个博客,希望可以帮助到你们 1.把虚拟机zmedu63内存调成6G以上,因为我们要在VMware虚拟中安装KVM,然后在KVM中再安装虚拟机,需要内存大一些.zm ...
- java html生成图片html2canvas,Canvas2Image
<html> <div id="pic" style="margin-left: 500px;position:fixed;opacity:0;&quo ...
- POJ 2240 Arbitrage (spfa判环)
Arbitrage Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of ...
- if语句里面continue和break的区别
break:结束整个循环体 continue:结束本次循环 代码说明: public static void main(String[] args) { int x=0; while(x++ < ...
- 原来... 用debug如何查看当前标志寄存器的标志位值?
-r 用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC这些符号代表的就是标志寄存器里常用标志位的值. 这个是符号值对应表: 溢出标志OF(Ov ...
- js千位符 | js 千位分隔符 | js 金额格式化
js 千位分隔符 千位分隔符,其实就是数字中的逗号.依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值.所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易 ...
- 人物-IT-程维:百科
ylbtech-人物-IT-程维:百科 程维,滴滴出行创始人兼CEO,全面负责滴滴公司的战略规划和运营管理. 程维曾在阿里巴巴集团任职八年,于区域运营和支付宝B2C业务上取得成功的管理经验.2012年 ...
- The request with exception: The SSL connection could not be established, see inner exception. requestId 解决方案
DOTNET CORE 部署 Centos7 抛出异常 环境变量如下: .NET Core SDK (reflecting any global.json): Version: 2.2.401 Com ...