计算机网络——数据链路层

****数据链路层****

**交换机(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张图片

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在这条链路上传输。


三层交换机:具有路由功能的交换机,可以让不同vlan之间实现通信计算机网络——数据链路层_第2张图片

 

 

 

 

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