计算机网络之交换机的基本原理(数据链路层)

数据链路层
位于网络层与物理层之间
计算机网络之交换机的基本原理(数据链路层)_第1张图片

数据链路层的功能
数据链路(逻辑电路)的建立、维护与拆除
帧包装、帧传输、帧同步
帧的差错恢复
流量控制
以太网(ether net)
以太网工作在数据链路层
计算机网络之交换机的基本原理(数据链路层)_第2张图片
ATM异步传输
现在的局域网都是以太网。

以太网的发展
计算机网络之交换机的基本原理(数据链路层)_第3张图片
要想要实现千兆,网口,网线,交换机等所有的设备都支持千兆时才能达到千兆,有一个设备不支持千兆都不可以。

以太网MAC地址
计算机网络之交换机的基本原理(数据链路层)_第4张图片
以太网地址用来识别一个以太网上的某个单独的设备或一组设备
MAC地址,又称硬件地址,又称物理地址。
数据链路层通过MAC地址找到目标。
MAC地址,48位,6个字节,用十六进制数标示,每个字节用:或-分段,例如:HWaddr 00:0C:29:DD:B0:BC
MAC 地址前三个字节是供货商标识(表示是哪个公司),后三个字节是供货商对网卡的唯一编号(公司的编号)。
供应商标识需要花钱买,找 去买,去申请,一个公司可以申请多个标识。
MAC地址都是全球唯一的。

怎么查看MAC 地址呢?
Linux:ifconfig -a查看所有网口,ifconfig查看网口如下:
[root@centos—text ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0C:29:DD:B0:BC //MAC地址
inet addr:172.16.3.36 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fedd:b0bc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:322208 errors:0 dropped:0 overruns:0 frame:0
TX packets:2683 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23476058 (22.3 MiB) TX bytes:383807 (374.8 KiB)

eth1 Link encap:Ethernet HWaddr 00:0C:29:DD:B0:C6
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1548 (1.5 KiB) TX bytes:1548 (1.5 KiB)

[root@centos—text ~]#
Windows:打开cmd,ipconfig/all,如图,有物理地址

计算机网络之交换机的基本原理(数据链路层)_第5张图片
以太网帧格式
Ethernet II帧格式,如下:为以太网数据帧的格式
计算机网络之交换机的基本原理(数据链路层)_第6张图片
数据是网络层传来的数据。其他的都是数据链路层加的,加头部加尾部,我们关注头部,关注头部的两个地址,一个目的地址,一个源地址,类型是用来表示上层使用的协议的类型的,在解封装的时候,把MAC头部去掉就是数据包了,数据包交给网络层,通过类型知道需要用网络层的什么协议来处理这个包。

交换机设备简介
计算机网络之交换机的基本原理(数据链路层)_第7张图片
计算机网络之交换机的基本原理(数据链路层)_第8张图片
交换机的工作原理(重点,理解)
为什么要用交换机呢?
交换机可以在多台计算机间传输数据,也可以远距离传输数据。
交换机一般不需要配置,但有些公司还是会配置交换机。

交换机中有:MAC地址表,MAC地址对应本地的某个端口。
交换机的转发原理(先学习后转发)
初始状态–>MAC地址学习–>广播未知数据帧–>接收方回应–>交换机实现单播通信
计算机网络之交换机的基本原理(数据链路层)_第9张图片

计算机网络之交换机的基本原理(数据链路层)_第10张图片
计算机网络之交换机的基本原理(数据链路层)_第11张图片

除了进口,其他口都转发出去。
计算机网络之交换机的基本原理(数据链路层)_第12张图片
计算机网络之交换机的基本原理(数据链路层)_第13张图片
一开始交换机是小白,什么也不知道
一开始学习。懂帧不懂包,
然后找目标地址,找不到,所有口转发即广播,
然后收到的各个主机解封装,看到目的MAC是自己的,进一步处理,看到目的MAC不是自己的就丢弃。
成功收到的主机回复,此时交换机先学习,查MAC表,再转发单播。总之,先学习后转发。

当交换机找不到MAC地址时就会广播,这个广播形成的区域称为广播域。
广播域不能太大,如果广播域太大,如果同时交换机都在广播,交换机的压力就会很大。当发生广播风暴时,广播域越大,风险越大。
所以分割广播域,路由器可以分割(隔离)广播域,也可以通过VLAN分割广播域。默认情况下,一个交换机的所有接口是一个广播域。广播的话,要广播所有端口,如果两个交换机相连,相连的端口也会广播。
每个网口都有MAC地址。
交换机广播时,灯拼命地闪。

交换机以太网接口的工作模式
交换机以太网接口双工模式
单工
两个数据站之间只能沿单一方向传输数据
半双工
两个数据站之间可以双向数据传输,但不能同时进行
全双工
两个数据站之间可双向且同时进行数据传输
交换机以太网接口速率
接口连接时进行协商
协商失败则无法正常通信
计算机网络之交换机的基本原理(数据链路层)_第14张图片
计算机网络之交换机的基本原理(数据链路层)_第15张图片
计算机网络之交换机的基本原理(数据链路层)_第16张图片

怎么查看接口是半双工还是全双工呢?(全双工半双工都是可以改的,full全双工,half半双工,这些都是会自动协商的)
Ethtool 网口名 //可以查看全双工还是半双工,速率等
[root@centos—text ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes //自动
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s //传输速率,在真实传输时,不一定可以达到这个速率
Duplex: Full //全双工
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on //自动
MDI-X: off (auto)
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes //通过这个可以判断该网口的网线有没有接好,yes好,no没有接好
[root@centos—text ~]#

在虚拟机中,右击虚拟机–设置–网络适配器–高级:可以查看MAC地址,根据MAC 地址判断该地址是哪个网口。
计算机网络之交换机的基本原理(数据链路层)_第17张图片

判断一个网口的网线是否已接好之前应该先激活网口
激活网口:
方法一、Ifup 网口名(需要读取配置文件),例如:ifup eth0
方法二、Ifconfig 网口名 up(不需要读取配置文件)例如:ifconfig eth0 up

怎么确定网线有没有接好?
方法一、:要先激活网口,再ethtool查看link detected,no(未接好),yes(接好了)

方法二、Ifconfig命令 如果有up说明激活了,如果running说明网线是接好的。
[root@centos—text ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:DD:B0:BC
inet addr:172.16.3.36 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fedd:b0bc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:480501 errors:0 dropped:0 overruns:0 frame:0
TX packets:2868 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:34962262 (33.3 MiB) TX bytes:399167 (389.8 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:29 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2781 (2.7 KiB) TX bytes:2781 (2.7 KiB)

[root@centos—text ~]#

VLAN
VLAN根据交换机的端口进行分割。
一个VLAN是一个广播域,默认情况交换机的所有端口属于相同VLAN。
一个广播域就是一个网段。
不同网段(广播域)中的主机需要通信,就需要使用路由器。

你可能感兴趣的:(计算机网络)