単亽睡 2星
共回答了63个问题 评论
第一层(物理层)
1,网线互联
过去的大学宿舍,路由器是奢侈品,宿舍电脑间的联网经常要和网线打交道。比如,当初买网线时,老板都会问这网线是电脑连电脑还是电脑连网口?如果是电脑连电脑,水晶头需要做交叉线,即,1-3、2-6交叉接法。因为,水晶头的第1,2和第3,6脚分别起收信号和发信号的作用,将一端的1号和3号、2号和6号线互换位置,才能在物理层实现2台电脑通过一根网线连接的收发信号。除此之外,还需要配置2台电脑的IP地址,子网掩码 和默认网关,就可以实现联网啦,这也是一个最小的局域网(LAN)。
2,集线器(Hub)
过去的大学宿舍,交换机也是奢侈品,宿舍如果有3台电脑需要互联时需要和集线器打交道。集线器完全在物理层工作,与交换器可以实现部分记忆不同,集线器会将自己收到的每一个字节都复制到其他端口,即所有消息均采用广播的方式,实现多台机器间的互联。
二,第二层(数据链路层)
虽然集线器是广播的方式,但如果电脑网卡真的把所有网络包都收进来,就没法玩了。因此,需要在此基础上解决3个问题,它们自然也就是数据链路层(MAC层)需要解决的问题。
1,网络包发给谁,谁应该接收?
MAC地址,对于以太网,从第二层协议的最开始 ,就是目标MAC地址和源MAC地址;有了目标地址,网卡可以解开MAC头检查目标地址是否和自己匹配,如果不匹配则选择丢弃,否则接收。
如果二层组包前不知道目的IP对应的MAC地址,可以使用ARP协议发送广播消息,询问已知IP地址下的MAC地址。当然,为了避免每次都ARP广播,机器本地会ARP缓存,同时存在过期时间防止IP变动。2,所有网络包有没有谁先发,谁后发的规则?
多路访问规则,主要有3种方式:(1),信号划分;(2),轮流协议;(3),随机接入协议,被以太网采用。
3,发送出现错误时,怎么办?
MAC协议最后一个字段,循环冗余检测(CRC),通过异或的算法,计算整个包是否在发送过程中出现错误。错误的包被丢弃,完成第二层的使命,但可以由更高层来实现重传机制。
三,局域网(二层)
通过集线器(Hub)的方式,让一个宿舍的电脑联网打War3是没问题的。但集线器一个网口的信息会被广播到所有网卡,再由其他主机判断是否接收,随着主机数目增多,效率就不行了。因此,如何能避免广播,针对性的从一个网口发到另一个网口呢?
这样的设备,必须要有一定的处理能力,可以将路过网络包的MAC头取下来,检查目标MAC地址,再根据策略进行转发,因此它显然是一个二层设备,我们称之为“交换机”。
虽然在一开始,交换机也不知道网口对应的MAC地址,最初的网络包也会广播,但每广播一次,它就记住了源MAC地址来自一个明确的网口,比如,网口1发出了源地址为MAC1的网络包,以后如果有目的地址是MAC1的网络包,交换机就能直接向网口1转发。直至最后,交换机拥有了整个网络结构可以精准转发,称为转发表,转发表有过期时间。
四,交换机与VLAN(二层)
1,交换机环路与破除
在办公室网络中,一个交换机肯定不够,需要多个交换机连接起来成一个复杂的拓扑结构。此时,不可避免的会遇到环路问题,在环路问题下,交换机根本学不会网络的拓扑结构,因为某个源MAC地址的网络包,一会从网口1发出,一会从网口2发出,所以一个包就会在拥有环路的网络中转圈圈,产生广播风暴。
在数据结构中,有一个最小生成树的概念,即在一个连通加权无向图中,可能有多棵生成树,最小生成树就是其中最小权重的生成树。在计算机网络领域,根据优先级将将环路网络打破的协议也叫“生成树协议(STP:Spanning Tree Protocol)”。
个人感觉STP协议有点像复杂版的并查集构建,在并查集的基础上增加了根节点根据各自优先级PK合并的逻辑。
当然STP协议也存在一个问题,即当拓扑结构发生变化时,整棵树需要被重建,如果网络规模大,耗时会比较长,同时,链路环被断开后不再承载任何流量,造成带宽浪费。
2,虚拟局域网VLAN
当交换机越来越多,难免还会存在广播的问题,如果所有机器都在一个广播域里,效率也会降低。因此,需要对多个交换机划分不同的子网。
(1),物理隔离:每个子网都由单独的交换机统管,不同子网间的通信就需要加入三层路由器了,三层后文再说。
(2),虚拟隔离:一个单独的交换机会连属于不同的子网,一个交换机下的主机处在不同的子网内,那交换机如何区分主机与子网的对应呢?答案就是在二层MAC头上加入一个新的TAG字段,里面包含一个12位的VLAN ID,可以划分4096个虚拟子网,如果不够的话,放到云计算领域的后文再说。
如果交换机支持VLAN,就可以为交换机的每一个网口都设置一个指定的VLAN,那么只有VLAN ID相同的网络包才会相互转发。而对于交换机之间互联的网口,它比较特殊,俗称Trunk口,它可以转发所有VLAN的网络包,交换机之间通过Trunk口通信,这样就把广播问题和安全问题都解决了。
19小时前
猜你喜欢的问题
5个月前1个回答
5个月前1个回答
5个月前1个回答
5个月前2个回答
5个月前1个回答
5个月前2个回答
热门问题推荐
1个月前3个回答
1个月前1个回答
3个月前1个回答
3个月前2个回答
1个月前2个回答
1个月前2个回答
1个月前2个回答
3年前2个回答
2个月前1个回答