1
nova 2014-04-08 14:13:10 +08:00
广播域是二层的。同一个网段内的设备处在一个广播域。
VLAN可以分割广播域。 |
2
julyclyde 2014-04-09 15:02:25 +08:00
1 三层子网广播一般同时也是二层广播
2 显然可以,要不然发明路由器干什么 3 显然可以。VLAN根本不认识IP啊 |
4
Eigrp 2014-04-10 00:19:50 +08:00
1.dhcp是三层协议,所以发生的广播是三层的广播,如果是ARP那么就是发送二层广播
2.二层的广播风暴一般是由于环路引起的,一般家用的交换机没有STP,你可以自己用根网线插到同一个交换机的两个口,看看数据灯是不是频闪 3.收的到,因为dhcp是客户端发送广播请求分配ip地址 |
5
Eigrp 2014-04-10 00:21:50 +08:00
再补充下,三层广播的广播范围是整个网络,二层的广播范围仅限于本地
|
6
pyKun OP @Eigrp
还是不太清楚二层和三层上风暴的差别,应该二层的范围比三层大吧?(有没有解释的清楚点的链接) >> 收的到,因为dhcp是客户端发送广播请求分配ip地址 dhcp的包应该会发到二层上所有可通的点,然后求响应吧?所以在一个lan或者vlan里,dhcp包会发到所有地方,所以dhcp引起的广播风暴还是因为二层是到处可通的 >> 再补充下,三层广播的广播范围是整个网络,二层的广播范围仅限于本地 何为网络和本地?比如我有路由a,分别有子网(掩码)a1和a2,分别连一个交换机,每个交换机又有N个机器,所以就是有N个机器在a1子网,另N个机器在a2子网,那你说的本地和网络在这里指的是神马? |
7
ceyes 2014-04-10 09:20:34 +08:00
|
8
Eigrp 2014-04-10 09:49:45 +08:00 via iPhone
@ceyes 三层不存在广播?你能别忽悠?什么都不说,如果三层没有广播,那你告诉我255.255.255.255这个广播地址有什么必要存在?TTL是为了避免环路产生风暴的解决办法,而不是网络本身就不存在风暴,既然学原理那就要区分开,完全是两码事
|
10
pyKun OP |
12
ceyes 2014-04-10 12:34:42 +08:00
@pyKun
255.255.255.255 这是受限的广播地址,它不被路由,但会被送到相同物理网络段上的所有主机。这就是主机dhcp过程中发出的广播。 IP地址中网络号全为1的就是广播地址,所谓本地,就是和你网络号一样的范围,这是一个广播域。 比如你主机的IP地址 192.168.1.1/24 然后本地网络就是192.168.1.0/24 这个网段,其中有192.168.1.1-253 这么多地址可用(假设254是网关地址)。 而192.168.2.0/24 就是别的网络了,想与其通信就需要路由器帮你路由。 ping -b 255.255.255.255 数据包就只能在你本地网络被广播 ping -b 192.168.1.255 和上面一样 ping -b 192.168.255.255 数据包就会在192.168.0/32 这个大的网络中广播。 |
13
pyKun OP @ceyes
>> 255.255.255.255 这是受限的广播地址,它不被路由,但会被送到相同物理网络段上的所有主机。这就是主机dhcp过程中发出的广播。 这里有问题,“相同物理网络段”指的是什么,192.168.1.0/24这个算是逻辑上的吧,[0]这个解释的我不是很明白,看得见摸得着的设备连接起来的网络,这全世界的网络不都是看得见摸得着的设备连接的么... [0] http://baike.baidu.com/view/1913655.htm |
14
ceyes 2014-04-10 13:40:31 +08:00
|
16
nova 2014-04-10 21:44:22 +08:00
DHCP产生风暴?那要多少台电脑同时申请Ip才会出现? 目前来说 这个问题根本不用考虑的吧?
|
18
goophile 2014-04-10 22:35:18 +08:00
@Eigrp 恕我愚钝,不懂EIGRP,我就问一下在你家的协议里255.255.255.255怎么“三层”广播、怎么路由?
|
21
goophile 2014-04-11 22:37:40 +08:00 3
@pyKun 我解释起来也很混乱的。。。
首先,交换机是二层设备,根据报文的MAC地址来转发,转发时不改变报文的MAC地址;路由器是三层设备,根据报文的IP地址转发,转发时会改变报文的MAC地址。 交换机自己维护一张 MAC-端口 表,记录了哪个端口对应着哪些MAC地址。交换机某个端口收到一个报文时,先记录下源MAC和端口的对应关系,然后根据其目的MAC转发,如果是全1,即广播地址,就从其他所有端口转发出去。如果不是,那么在 MAC-端口 表中查询这个报文的目的MAC,如果有,就从对应的端口发送出去;如果没有,就从其他所有端口发送出去。 用若干交换机连接起来的一个网络,即一个二层网络,如果没有划分VLAN,可以称之为一个广播网络,这个广播网中的所有主机共处一个广播域。因为根据交换机的转发机制,任何一个广播报文都会传播到所有交换机的所有端口连接的主机。如果多个交换机连接成了一个环,那么同一个广播报文会不停地在这些交换机之间来回转发,随着主机发出的广播报文比如ARP或者DHCP越来越多,就引发了广播风暴。(STP可解决环路的问题。)即使没有环路,如果网络中有恶意攻击者,大量发送广播报文,也会导致整个二层网络拥塞。 二层网络很大的时候,大量广播是个严重问题。怎么办呢?划分VLAN。 所谓VLAN,简单地说,就是把交换机的端口做个分组,只有同一个组的端口之间才能做二层转发,这个组就是一个VLAN,拥有一个VLAN号码。交换机发送和接收报文时,可以在报文的MAC地址后插入一个VLAN标签,接收的交换机检查这个标签,和当前端口的VLAN号一致才进行转发,否则直接丢弃。相当于交换机原来的 MAC-端口 表项变成了 VLAN-MAC-端口 表项,增加了VLAN检查。这样就把一个大的广播域划分为多个小的广播域,每个VLAN是一个广播域。 VLAN之间通信,或者两个二层网络的主机之间通信,就得进行三层转发,得靠路由器。路由器根据三层的IP地址转发,并且不转发目的IP是广播地址的报文,所以路由器天然就是隔离广播域的设备。这么看的话,广播其实就是个二层的概念,因为只在同一个二层网络中发生。 然后,其实现在交换机和路由器之间的差距已经越来越小了,交换机可以配置IP地址,可以做三层转发,可以跑路由协议;路由器也可以做二层转发。 自顾自打了这么多字,希望有些帮助。 |
22
pyKun OP @goophile
多谢回复,传统意义的路由器和交换机经你这么一说明白多了,交换机为啥交换也明白多了,还有vlan标签,希望别人看到这个帖子也能明白多了 追问些 >> 然后根据其目的MAC转发,如果是全1 dhcp发的包实际上是因为包里的mac地址全是1,所以才会让广播域的所有机器都收到这个包是吧? 另一个关于掩码的问题,掩码发明原因说是为了增加ip空间(书上说的),但其实也起到了隔离的作用。在一个二层能到的位置(同一广播域),主机a收到主机b的包,通过计算里面的ip和掩码来判断把这个包丢掉还是处理。所以dhcp中,发的是全为1的mac地址,然后为了确保不会被三层的机制让这个包被丢掉,所以才有的255.255.255.255吧? 另外一个情况,主机a和主机b在同一个交换机上,比如192.168.1.1/24和192.168.1.2/24。这个时候尽管交换机知道mac和端口对应位置,但是包的传送还是需要网关吧?如果网关是192.168.1.3/24,a和b互传个文件应该很快,他们只经过1.1,1.2,1.3而已。但是如果qq传文件,目标地址就不是内网地址了,网关会一层一层往上问,到包回来后经历了很多机器,所以尽管同在一个交换机上的1.1和1.2,通过qq传个文件还是依赖网速了 |
23
goophile 2014-04-13 10:22:56 +08:00 1
@pyKun 不好意思一直没看见回复。。
>> dhcp发的包实际上是因为包里的mac地址全是1,所以才会让广播域的所有机器都收到这个包是吧? 对。实际上是DHCP Client发的包目的MAC和目的IP是广播地址,DHCP Server回复的包是单播的。你可以抓包看看。 >> 另一个关于掩码的问题…… 可以这么理解。发DHCPv4请求的时候,主机不知道向谁请求,也只能用广播地址啊。 >> 另外一个情况…… 交换机只根据MAC地址来转发,不看上层的东西,它也不区分接口接的是主机还是网关。报文发给谁是由主机决定的。主机发送报文的时候,先判断目的IP和自己是不是在同一网段,如果是,直接封装目的IP主机的MAC地址发送出去,不经过网关;如果不是同一网段,就封装网关的MAC地址,把报文发到网关,由网关根据路由转发。1.1和1.2通信,在同一网段,如果在同一VLAN,是不经过网关转发的。 QQ传文件的机制我不了解,如果QQ传之前会判断是不是在同一局域网,应该可以直接发送不经过外网的;它也可能发到服务器再转发。不过我记得以前在局域网用QQ传文件,100M以太网可以达到10MB/s,和飞鸽传书一样,基本满速了,这么看应该是直接传不经过网关的。 |