1、交换机

局域网内容个电脑之间是基于ARP协议来进行通信,例如:A电脑向 IP为192.168.10.3的另一个电脑发送消息。

第一步:A封装数据包,此时只知道目标IP不知道目标mac地址(未知mac地址时默认会设置为FF)。
第二步:将数据包发送到交换机,交换机通过广播的形式将数据发送给所有电脑。
第三步:目标电脑接收到数据包后,监测自己是否是目标IP。
- 是,收到数据并回复。
- 不是,则丢弃包。

为防止每次发送消息都是广播形式,每台电脑的内部都为维护了一个ARP表,接受到数据时(无论是否自己的)都会记录自己了解的IP和MAC的对应关系,例如:
Internet地址 物理地址
192.168.10.1 14-9d-da-2a-dd-0a
192.168.10.3 14-9d-da-2a-dd-0c

以便于下次在发送消息时,就知道了目标的mac地址,直接让交换机转发给指定的电脑(单播)。

同时,当有消息发送经过二层交换机时他的内容也会维护记录了交换机接口和连接的电脑的mac地址的对应关系,例如:
接口(网卡) mac地址
接口1 14-9d-da-2a-dd-0A
接口2 14-9d-da-2a-dd-0B
接口3 14-9d-da-2a-dd-0C

这样一来,交换机在进行数据转发时,效率就更高了。

注意:每台电脑出厂时在网卡中都设置了唯一的mac地址(不重复),网卡集成在主板上,如果更换了主板则mac地址也会变更。

2、路由器

此时需要【二层交换机】和【企业路由器】配合组建稍微大一点的局域网(同时也可缓解广播风暴)。

  1. 划分好网络结构之后,其实会给各宿舍的电脑分配IP和网关,例如:
  2. 宿舍A
  3. - 电脑1192.168.10.1 网关:192.168.10.254
  4. - 电脑2192.168.10.2 网关:192.168.10.254
  5. - 电脑3192.168.10.3 网关:192.168.10.254
  6. - 电脑4192.168.10.4 网关:192.168.10.254
  7. 宿舍B
  8. - 电脑1192.168.20.1 网关:192.168.20.254
  9. - 电脑2192.168.20.2 网关:192.168.20.254
  10. - 电脑3192.168.20.3 网关:192.168.20.254
  11. - 电脑4192.168.20.4 网关:192.168.20.254
  12. 然后再在路由器中配置路由表(包含网段和路由器上的接口的对应关系),例如:
  13. 接口 IP
  14. eth0 192.168.10.254192.168.10网段)
  15. eth1 192.168.20.254192.168.20网段)
  16. 想与外部网络通信,需要配置网关,网关就是路由表中配置的指向此网段的IP。其实就类似于贸易出口都需要经过海关。
  1. 数据通信的过程结合了APR协议和IP协议,例如:宿舍A的电脑1向宿舍B的电脑3发送消息(目标IP192.168.20.3)。
  2. 简化过程:
  3. - 宿舍A的电脑1,通过广播或单播将数据发送到网管(路由器)
  4. - 路由器接收到数据之后,再通过对应的接口把数据通过广播的形式发送到宿舍B
  5. 注意:各自局域网内通过学习并记录相关mac地址后,就可以不再使用广播形式,而是使用单播来发送消息了。

3、三层交换机

三层交换机集成了 交换机 & 路由器的功能(大部分路由器功能),上述的三个设备其实可以用一个三层交换机就可以搞定。

  1. 按照下图,在三层交换机上分别做如下几件事:
  2. 1. 划分两个vlan,模拟出来路由器的两个接口。
  3. 2. 将交换机的接口划分给指定的vlan,例如:
  4. 接口123划分给一个vlan,相当于交换机连接上了路由器。
  5. 接口456划分给一个vlan,相当于交换机连接上了路由器。
  6. 3. 电脑连接上交换机。
  7. 4. 进行相应的配置。
  8. 宿舍A(左边)电脑配置:
  9. - 电脑1192.168.10.1 网关:192.168.10.254 对应交换机接口:1
  10. - 电脑2192.168.10.2 网关:192.168.10.254 对应交换机接口:2
  11. - 电脑3192.168.10.3 网关:192.168.10.254 对应交换机接口:3
  12. 宿舍B(右边)电脑配置:
  13. - 电脑1192.168.20.1 网关:192.168.20.254 对应交换机接口:4
  14. - 电脑2192.168.20.2 网关:192.168.20.254 对应交换机接口:5
  15. - 电脑3192.168.20.3 网关:192.168.20.254 对应交换机接口:6
  16. 交换机中的路由配置:
  17. 接口 IP
  18. vlan 192.168.10.254192.168.10网段)
  19. vlan 192.168.20.254192.168.20网段)
  20. 通过上述的配置之后,就可以实现宿舍A和宿舍B的网络通信了。

4、子网掩码和IP

IP其是一个32位的二进制,为了便于记忆就将它分为4组,每组8位,由小数点分开,例如:

  1. 二进制表示:00000000.10010111.11111111.00001111
  2. 十进制表示:251.151.255.15
  3. 0~255
  4. 192.178.11.211
  5. 192.178.11.311

在网络中的每台电脑都会有一个IP与之绑定,这样通过IP就可以找到相应的电脑。

一个IP地址可以划分为两个部分,即:网络地址 + 主机地址。

  • 问题1:如何确定网络地址和主机地址呢? ``` 通过子网掩码就可以确定IP的网络地址和主机地址。

示例1: IP:192.168.1.199 11000000.10101000.00000001.11000111 子网掩码:255.255.255.0 11111111.11111111.11111111.00000000 此时,网络地址就是前24位 + 主机地址是后8位。你可能见过有些IP这样写 192.168.1.199/24,意思也是前24位是网络地址。

示例2: IP:192.168.99.254 11000000.10101000.01100011.11111110 子网掩码:255.255.240.0 11111111.11111111.11111100.00000000 此时,网络地址就是前22位 + 主机地址是后10位。你可能见过有些IP这样写 192.168.99.254/22,意思也是前22位是网络地址。

  1. - 问题2:划分 网络地址 + 主机地址 的意义是什么?
  2. ```python
  3. 网络地址相同的IP,也称为属于同一个网段。
  4. 在局域网内只有同一个网段的IP才能相互通信,不同网段IP想要通信需要借助路由的转发才能通信。
  5. 当了解子网掩码之后,其实就可以确定某个网段可以容纳的主机个数,例如:
  6. 【IP: 192.168.10.2 掩码:255.255.255.0】 和 【192.168.10.251 掩码:255.255.255.0】 数据同一个网段。
  7. 示例网段的主机范围:11000000.10101000.00001010. 00000001 ~ 11000000.10101000.00001010. 11111110
  8. -------------------------- --------------------------
  9. 网络地址 网络地址
  10. 192.168.10.1 ~ 192.168.10.254
  11. 【IP: 192.168.8.1 掩码:255.255.240.0】 和 【192.168.11.254 掩码:255.255.240.0】 数据同一个网段。
  12. 子网掩码:255.255.240.0
  13. 示例网段的主机范围:11000000.10101000.000010 00.00000001 ~ 11000000.10101000.000010 11.11111110
  14. 11111111.11111111.111111 00.00000000
  15. ------------------------ ------------------------
  16. 网络地址 网络地址
  17. 192.168.8.1 ~ 192.168.11.254
  18. 【IP: 192.168.96.1 掩码:255.255.240.0】 和 【192.168.99.254 掩码:255.255.240.0】 数据同一个网段。
  19. 示例网段的主机范围:11000000.10101000.011000 00.00000001 ~ 11000000.10101000.011000 11.11111110
  20. ------------------------ ------------------------
  21. 网络地址 网络地址
  22. 192.168.96.1 ~ 192.168.99.254

5、DHCP

在一个局域网内想要给某台电脑分配IP有两种方式:

  • 手动设置,打开指定菜单栏在里面输入相应的IP信息。
  • 自动获取 ```python
  • 在电脑端,IP地址获取方式设置为自动。
  • 在路由器或三层交换机,开启DHCP服务,并设置IP地址池。(家用路由器上也是基于DHCP服务自动分配的IP)

这样,电脑只要连接只该网络,DHCP服务就会为它自动分配IP、子网掩码、网关。 ```

6、内外与公网

一般情况下,内网IP都用这些(潜规则):
- 10.0.0.0 到 10.255.255.255
- 172.16.0.0 到172.31.255.255
- 192.168.0.0 到192.168.255.255
之前我们自己在一个局域网内为电脑分配的IP都称为内网IP,基于内网IP可以在一个局域网内进行相互通信(也需要相关的配置)。

如果想要通过互联网进行通信,就必须借助公网IP。例如,右边家庭电脑想访问左边某公司服务器上的部署的网站:

  • 第一步:左边公司,去运营商申请公网的固定IP(办理专线宽带时运营商会分配至少1个固定的IP地址),其实运营商就是将你拉的这个专线和固定IP创建绑定关系。(假设公网IP:123.206.15.88)
  • 第二步:配置公网IP与指定服务器的转发规则。
  • 第二步:右边家庭,如果想要访问某个公司服务器上的网网站,只需要执行指定IP:123.206.15.88,运营商就会根据IP找到与之关联的公司专线,并通过公司路由器、防火墙等设备找到指定的服务器。

按理说,每个从运营商接入网的用户都可以有一个外网IP,但由于全球用户太多而IP根本就不够分配,所以,运营商网络会进行划分,让多个家庭宽带用户共用一个公网IP(动态,可能每次上网公网IP都不一样)。

让家庭用户想要通过网络访问访问其他IP时,先发给运营商由运营商向外转发到其他IP。

注意:外部用户想要访问家庭宽带的IP时,运营商不会把请求转发到我们的电脑。

7、云服务器

8、端口

其实,在计算机中有一个 端口 的概念,每个程序想要通过网络进行通讯都必须要指定一个端口,例如:

  • 网站A:使用8001端口,那么用户在自己电脑上或手机上访问时指定 IP和端口 即可,如: 123.206.15.88:8001
  • 网站B:使用8002端口,那么用户在自己电脑上或手机上访问时指定 IP和端口 即可,如: 123.206.15.88:8002

注意:端口的取值范围:0 ~ 65535,很多端口在计算机的内部已被使用,我们平时自定义时尽量选择5000之后的端口。

9、域名

域名只是和IP创建了对应关系,与端口无关,
在用户在自己的电脑或手机上输入域名去访问时,其实要执行两个步骤:

  • 根据域名寻找IP。(寻找IP)
  • 获得IP之后,再通过IP再去访问指定服务器。