****数据链路层****
**交换机(switch)的基本原理(theory)与配置(config)**
交换机:工作在数据链路层,用于组织局域网,常见的品牌有H3C、华为、思科、锐捷、tp-link
以太网:Ethernet,即局域网
MAC地址:网卡里会带有的,一个网卡会有一个mac地址;且唯一,不需要配置,16进制表示。
查看MAC地址:Windows用ipconfig/all查看,Linux中用ip add、ifconfig查看。
网卡厂家:
1.Realtek 瑞昱 --》台湾新竹
2.因特尔intel --》美国
3.高通Qualcomm --》美国
4.VMware
mac地址存放在内存中:
内存:ram
rom:只读存储器(read only memory)
ram:随机存取存储器(random access memory),不是永久保存
disk:磁盘的数据会永久保存
帧格式:
由前导码(7)、帧起始定界符(1)、目的地址(destination adress)(6)、源地址(source adress )(6)、类型(2字节)、数据(46-1518)、帧校验码(2)构成,字节最大64-1518字节。
mtu:最大传输单元(1500)(maximum transmission unit)
交换机主要作用于组织局域网。
1.学习:mac地址学习,学习数据帧的源mac地址,写到mac地址表里
2.广播:广播未知数据帧(目的地址)。当目的地址不存在或者收到ff::ff类似的会广播。
广播(broadcast)、单播(unicast)、组播(multicast)
(1)当谜底mac在mac地址表里没有的时候,给其他接口都转发一份数据帧--》广播
(2)当谜底mac在mac地址表里有的时候,只是转发到对应接口。 --》单播
3.接收方回应
4.交换机实现单播
交换机以太网的传输模式:查找方式ethtool eos33
1.单工()
2.半双工(half duplex)
2.全双工(full duplex)
如何知道对方的mac地址?
利用arp协议(Address Resolution Protocol地址解析协议),将ip地址解析成mac地址。(ping)
arp协议(Address Resolution Protocol地址解析协议):
1.请求包:arp request,请求得到某个IP地址的mac地址
2.响应包:arp response,把自己的ip对应的mac地址告诉对方
arp工作原理:
每台电脑都有arp cache(arp缓存表)(查看方法:arp -a命令)。若arp cache里面没有ip对应的mac地址,电脑会发一个arp广播包
如何局域网里哪些ip地址在使用?以及ip地址对应的mac地址是什么?
ping命令:用来测试网络是否畅通。
ping IP地址 -c:ping包的数量
ping IP地址 -c 1 -w 1:在1s内必须完成,-w --》期限,多长时间必须完成
[root@localhost ~]# ping 192.168.122.1 -c 1 -w 1
PING 192.168.122.1 (192.168.122.1) 56(84) bytes of data.
64 bytes from 192.168.122.1: icmp_seq=1 ttl=64 time=0.133 ms
--- 192.168.122.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.133/0.133/0.133/0.000 ms
虚拟机网络的三种模式:
1.桥接模式 bridge
其实就是vmware这个虚拟机软件,它模拟了一个虚拟的交换机,将真实机器和虚拟机连接起来.我们的虚拟机可以使用真实机器所在的网段的路由器上网,虚拟机和真实机的地位是平等的
2.NAT模式(network address transfer):实现内网的ip和外网的ip之间进行转换。
nat模式里的真实机器和虚拟机通信是使用vmnet8这个接口和虚拟通信的,因为他们是同一个网段,连接到同一个交换机
私网ip《--》公网ip
内网的虚拟机可以访问外网,但是外网的机器不能访问内容,为什么?因为外网的机器没有到内网的路由可以隐藏内部网络
3.hostonly:仅主机模式。虚拟机只和自己真实的主机连接,不能和其他机器连线。
vmnet0 -->桥接模式 -->可自己定义有线或无线网卡。
vmnet1 -->hostonly模式
vmnet8 -->NAT模式
****脚本****
for i in {1..20}
do
#使用ping命令测试这个IP地址是否在使用
(ping 192.168.0.$i -c 1 -w 1 &>/dev/null
#如果能ping通,说明$i的地址在使用,并写入used_ip.txt;反之写进unused_ip
if (($? == 0))
then
echo "192.168.0.$i is used."
echo "192.168.0.$i" >>used_ip.txt
else
echo "192.168.0.$i is unused."
echo "192.168.0.$i" >>unused_ip.txt
fi) &
done
wait
#输出使用的ip地址和总数
echo "=========="
cat used_ip.txt
#统计used_ip.txt有多少行
num=$(cat used_ip.txt|wc -l)
echo "一共有$num个在使用"
echo "==========="
echo "*****arp缓存表*****"
arp -a|awk '{print $2,$4}'|grep -v "incomplete"|tr -d '()'
echo “############”
Type :qa! and press 广播风暴:网络环路+交换机的工作原理转发广播 危害:网络越来越来越慢,导致网络瘫痪 防范:1、物理上不形成环路 2、交换机系统里启用STP(生成树)协议 VLAN:工作在交换机。在交换机创建vlan,然后将交换机的接口 不同Vlan:隔离广播域,分割广播域-->控制了广播-->限制通信-->提高安全性 一个VLAN一个网段 VLAN1:默认的 普通:2-1001 扩展:1025-4094 大型机房:20万台 --> 100万台,云服务器 --> 虚拟机 --> xvlan-->k8s,docker 容器技术--> 微服务 ping的过程 1.A先拿自己的ip地址和子网掩码进行运算得到网段号;类似192.168.50.0 2.拿对方的ip地址和自己的子网掩码进行云运算,得到一个网段号。 3.如果两个网段号一样(A,B),则两个网段一致,然后会查询A自己的路由表,发现自己的路由表里有一条直接连接的路由,认为自己可以到达; 随后会发arp广播,得到对方(B)的IP地址的MAC地址,最后封装帧格式,填上对方的mac地址。 4.如果两个网段号不一样(A,C),说明双方不是同一段网段,然后本身(A)会查询自己的路由表, 如果我们没有配置默认路由,则不会发生ping包,即无法到达对方主;如果配置了默认路由(网关),A主机会查询路由表,得到网关的mac地址,然后发送arp广播得到网关ip对应的mac地址。 中继链路 trunk模式:干道,任何的vlan都可以在上面跑。 trunk链路:允许所有的vlan在这条链路上传输。