IP,MAC,数据链路层,以太网
2013-01-10 15:25
246 查看
这篇博客主要围绕以下几个问题进行展开:
1.IP v.s MAC
2. MAC v.s LAN
3. 以太网技术(IEEE802.3) v.s 点对点技术
学习网络的童鞋们也许会问,为什么有了IP,还需要mac地址,或者是有了mac,还需要ip呢?
首先ip地址是网络层的组成部分,mac地址是数据链路层的组成部分。ip地址是逻辑地址,是可发生变化的。mac地址就是适配器(网卡)的地址,是不变的。做个比喻,mac地址就想我们的身份证号,ip地址像是邮编号,是分层的。在日常生活中,两者是不可缺少的。为什么是不可或缺的呢?这里给出一些理由:
a.网络层不只有ip协议,还有其它的协议。如果适配器只要获取ip地址,那么遇到不同的网络层协议,怎么办?
b.如果适配器是ip地址,那么ip地址需要存储在适配器的ram中,对于一个新的网络环境,适配器都要改变其ip地址。麻烦。
c. 如果适配器没有地址,那么又有一个问题:对于以太网技术而言,一个主机向链路发送了数据,其它局域网的主机都会接收到。都要解析ip,然后和自己ip匹配。浪费时间。如果有mac,只需要比对一下mac就行了。
所以,需要mac地址。
mac地址就是LAN地址,也是物理地址。应该如何理解这句话呢?
首先物理地址,因为mac地址是一成不变的,所以不是逻辑的,易变灵活,是物理的。然后LAN地址。在一个局域网网中通信,那以太网而言,它是采用广播信道。一个主机采用广播的形式传输报文。局域网中的每个主机都可以接收到该报文。需要mac地址进行过滤。所以把mac地址也叫局域网地址。反过来说也可以。利用mac地址来过滤报文,所以把LAN地址叫做mac地址。
以太网技术采用广播方式。因为是广播,所以会遇到多址访问的问题。所谓多址访问,一个信道被多个发送发和接收方共享。不加管理,大家都发送数据,这样一个特定的节点将会接收到许多数据。数据与数据碰撞。通常,在发生碰撞时,接受节点不能获得有意义的任何数据。碰撞帧的信号缠在一起,无法解开。所以需要一种规则来约束大家,不能想发送数据就发送数据,主要存在以下3种方式:
a.信道划分协议
可以将信道按时间片进行划分。如果该信道有n个负载,将单位时间划分为n个时间片。这样每个负载在一个特定的时间片发送数据;
可以将信道按频率进行划分。如果该信道有n个负载,将信道划分为n个带宽,每个带宽是原信道带宽的1/n就可以了;
以上两种方法有它们的确定。现在有一种技术是码分多址技术。成功解决了这个问题。它同样是信道划分的一种。
b.随机访问协议
这里随机访问有3种方法:时隙ALOHA,纯ALOHA和载波监听多址访问(CSMA)。因为以太网技术采用了CSMA/CD(带冲突检测的载波监听多址访问技术),这里对CSMA进行介绍。
什么是载波监听多址访问技术?什么又是带冲突检测的载波监听多址访问技术?
载波监听多址访问技术核心是:在一个节点发送帧之前,先监听链路上是否有数据正在传输。如果有,等待。如果没有,发送数据。这一步是载波监听。在发送数据的过程中,同样监听链路,如果发生冲突,终止帧传输。这一步是冲突检测。在节点试图重传之前,网卡会试图等待一段时间,然后传输数据。
在IEEE802.11(wi-fi)无线局域网中,它使用的技术是带有冲突避免的载波监听多址访问技术(csma/ca)。袁老师在课堂上详细讲述了为什么无线局域网不能使用csma/cd,而是使用csma/ca。
c.轮流发送协议
轮流发送是比较简单的。这里给出令牌的方式。对共享链路的主机进行编号1,2,3,4,...,n。有一令牌可以从1传给2,2传给3,...,n传给1.只有拿到令牌的主机可以拥有该链路。如果令牌传到了4手中,4没有要发送的数据,就将令牌传递给5.4有数据发送,发送数据,然后将令牌传递给5.这样循环下去。当然,这是有问题的。
其实作者有一个问题:以太网为什么不使用信道划分协议下的码分多址技术呢?它的效率是非常高的。
以上讲述的链路层的知识都是广播信道。也许对于一个大楼,大家组成一个局域网,然后通过一个路由器,连接到互联网,我们可以上网了。但是对于一个普通的家庭用户(拨号上网)呢?它是将自己的拨号调制解调器直接连接到isp的路由器的呀。ow,普通家庭用户不能上网了。这是多么悲惨。还好存在点对点链路协议。
在链路信道上,还存在一种点对点信道。大家要明确以太网是有线局域网,而点对点知识单纯的链路层协议。
下面讲述点对点信道(它不再用于局域网)。在讲该协议之前,大家要意识到这个协议是非常重要的。没有它,我们自己的家庭就不能拨号上网了。
点对点链路协议,顾名思义,就是链路两端是接收方和发送方。它们直接传输数据。例如拨号调制解调器到isp路由器链路,路由器与路由器链路等。想一想,既然是点对点,一定是建立连接,然后发送数据,最后拆除连接。当然,任何一个链路协议一定有组帧的功能,PPP也不例外。下面图展示了PPP的一个应用:
![](http://img.my.csdn.net/uploads/201301/10/1357802635_7113.PNG)
在家拨号拨号上网使用了该技术。想想也是,拨号上网似乎不存在局域网的概念。大家都是想电信或移动等网络提供商交钱,通过自己本地的调制解调器,电话线传输到isp的路由器的调制解调器就可以了。
写到这里,发现一个有趣的问题,就是自己家的pc机访问一个远程的服务器,中间需要很多跳。自己家通过拨号上网,而目标服务器在一个局域网中。这样在通信过程中经过了多种不同的链路层协议。并且不同的链路协议提供不同的服务,提供不同的组帧方式等等。很有意思。
在最后,顺便提一下,以上内容主要参考了《计算机网络·自顶向下方法与Internet特色》中文版这本书。这本书很值得学网络的童鞋们一读,中文版翻译的也非常优秀。
1.IP v.s MAC
2. MAC v.s LAN
3. 以太网技术(IEEE802.3) v.s 点对点技术
学习网络的童鞋们也许会问,为什么有了IP,还需要mac地址,或者是有了mac,还需要ip呢?
首先ip地址是网络层的组成部分,mac地址是数据链路层的组成部分。ip地址是逻辑地址,是可发生变化的。mac地址就是适配器(网卡)的地址,是不变的。做个比喻,mac地址就想我们的身份证号,ip地址像是邮编号,是分层的。在日常生活中,两者是不可缺少的。为什么是不可或缺的呢?这里给出一些理由:
a.网络层不只有ip协议,还有其它的协议。如果适配器只要获取ip地址,那么遇到不同的网络层协议,怎么办?
b.如果适配器是ip地址,那么ip地址需要存储在适配器的ram中,对于一个新的网络环境,适配器都要改变其ip地址。麻烦。
c. 如果适配器没有地址,那么又有一个问题:对于以太网技术而言,一个主机向链路发送了数据,其它局域网的主机都会接收到。都要解析ip,然后和自己ip匹配。浪费时间。如果有mac,只需要比对一下mac就行了。
所以,需要mac地址。
mac地址就是LAN地址,也是物理地址。应该如何理解这句话呢?
首先物理地址,因为mac地址是一成不变的,所以不是逻辑的,易变灵活,是物理的。然后LAN地址。在一个局域网网中通信,那以太网而言,它是采用广播信道。一个主机采用广播的形式传输报文。局域网中的每个主机都可以接收到该报文。需要mac地址进行过滤。所以把mac地址也叫局域网地址。反过来说也可以。利用mac地址来过滤报文,所以把LAN地址叫做mac地址。
以太网技术采用广播方式。因为是广播,所以会遇到多址访问的问题。所谓多址访问,一个信道被多个发送发和接收方共享。不加管理,大家都发送数据,这样一个特定的节点将会接收到许多数据。数据与数据碰撞。通常,在发生碰撞时,接受节点不能获得有意义的任何数据。碰撞帧的信号缠在一起,无法解开。所以需要一种规则来约束大家,不能想发送数据就发送数据,主要存在以下3种方式:
a.信道划分协议
可以将信道按时间片进行划分。如果该信道有n个负载,将单位时间划分为n个时间片。这样每个负载在一个特定的时间片发送数据;
可以将信道按频率进行划分。如果该信道有n个负载,将信道划分为n个带宽,每个带宽是原信道带宽的1/n就可以了;
以上两种方法有它们的确定。现在有一种技术是码分多址技术。成功解决了这个问题。它同样是信道划分的一种。
b.随机访问协议
这里随机访问有3种方法:时隙ALOHA,纯ALOHA和载波监听多址访问(CSMA)。因为以太网技术采用了CSMA/CD(带冲突检测的载波监听多址访问技术),这里对CSMA进行介绍。
什么是载波监听多址访问技术?什么又是带冲突检测的载波监听多址访问技术?
载波监听多址访问技术核心是:在一个节点发送帧之前,先监听链路上是否有数据正在传输。如果有,等待。如果没有,发送数据。这一步是载波监听。在发送数据的过程中,同样监听链路,如果发生冲突,终止帧传输。这一步是冲突检测。在节点试图重传之前,网卡会试图等待一段时间,然后传输数据。
在IEEE802.11(wi-fi)无线局域网中,它使用的技术是带有冲突避免的载波监听多址访问技术(csma/ca)。袁老师在课堂上详细讲述了为什么无线局域网不能使用csma/cd,而是使用csma/ca。
c.轮流发送协议
轮流发送是比较简单的。这里给出令牌的方式。对共享链路的主机进行编号1,2,3,4,...,n。有一令牌可以从1传给2,2传给3,...,n传给1.只有拿到令牌的主机可以拥有该链路。如果令牌传到了4手中,4没有要发送的数据,就将令牌传递给5.4有数据发送,发送数据,然后将令牌传递给5.这样循环下去。当然,这是有问题的。
其实作者有一个问题:以太网为什么不使用信道划分协议下的码分多址技术呢?它的效率是非常高的。
以上讲述的链路层的知识都是广播信道。也许对于一个大楼,大家组成一个局域网,然后通过一个路由器,连接到互联网,我们可以上网了。但是对于一个普通的家庭用户(拨号上网)呢?它是将自己的拨号调制解调器直接连接到isp的路由器的呀。ow,普通家庭用户不能上网了。这是多么悲惨。还好存在点对点链路协议。
在链路信道上,还存在一种点对点信道。大家要明确以太网是有线局域网,而点对点知识单纯的链路层协议。
下面讲述点对点信道(它不再用于局域网)。在讲该协议之前,大家要意识到这个协议是非常重要的。没有它,我们自己的家庭就不能拨号上网了。
点对点链路协议,顾名思义,就是链路两端是接收方和发送方。它们直接传输数据。例如拨号调制解调器到isp路由器链路,路由器与路由器链路等。想一想,既然是点对点,一定是建立连接,然后发送数据,最后拆除连接。当然,任何一个链路协议一定有组帧的功能,PPP也不例外。下面图展示了PPP的一个应用:
在家拨号拨号上网使用了该技术。想想也是,拨号上网似乎不存在局域网的概念。大家都是想电信或移动等网络提供商交钱,通过自己本地的调制解调器,电话线传输到isp的路由器的调制解调器就可以了。
写到这里,发现一个有趣的问题,就是自己家的pc机访问一个远程的服务器,中间需要很多跳。自己家通过拨号上网,而目标服务器在一个局域网中。这样在通信过程中经过了多种不同的链路层协议。并且不同的链路协议提供不同的服务,提供不同的组帧方式等等。很有意思。
在最后,顺便提一下,以上内容主要参考了《计算机网络·自顶向下方法与Internet特色》中文版这本书。这本书很值得学网络的童鞋们一读,中文版翻译的也非常优秀。
相关文章推荐
- android获取以太网(插网线)ip/mac
- mac下virtualbox中centos网络ip
- 以太网,IP,TCP,UDP数据包分析
- 如何通过配置来实现IP+MAC+端口绑定功能
- ASP.NET获取IP与MAC地址的方法
- Win7下绑定IP和MAC地址提示“ARP项添加失败:拒绝访问。(转)
- Java获取访问服务端的客户端IP和MAC地址
- C# 获取局域网IP和MAC地址
- 关于ARP、MAC、IP欺骗以及TCP劫持
- 用C#编写获取远程IP,MAC的方法
- ping 查看IP——MAC——计算机名
- 关于ARP、MAC、IP欺骗以及TCP劫持
- 取得网卡的ip和mac地址
- 主机名、域名、IP、MAC地址的获取
- java根据本地Ip获取mac地址
- Linux网络基础番外篇(IP、MAC、TCP)
- 获取局域网中网络用户名、IP以及MAC
- ARPScannerIP/MAC的管理解决方案
- 以太网的MAC层
- C#获取本地计算机名IP,Mac地址