第一章:网络基础回顾

各位同学,咱们今天聊聊网络基础。说实话,很多老工程师干了十年,回头再看OSI模型,还是能发现新东西。我个人习惯是,每接手一个新项目,都会先画一遍这个模型——不是为了装,是真的能帮你理清思路。

1.1 OSI七层模型与TCP/IP协议栈

OSI七层模型,说白了就是一套「网络通信的标准化流程」。它把数据从一台设备传到另一台设备的过程,拆成了七个步骤。你想想看,如果没有这个标准,华为的设备跟思科的设备怎么聊天?

我刚开始做网络那会儿,总觉得七层模型太理论了。直到有一次,一个客户的视频会议卡得不行,我排查了三天,最后发现是应用层编码格式不匹配。嗯,从那以后,我再也不敢小看第七层了。

核心要点:OSI模型是理论框架,TCP/IP是实际落地的协议栈。工作中我们主要用TCP/IP,但排查问题时,脑子里要有OSI的七层思维。

咱们来看个对比,这样更清楚:

OSI七层 TCP/IP四层 典型协议 我踩过的坑
应用层 应用层 HTTP, FTP, DNS DNS解析超时,导致业务全挂
表示层 SSL/TLS, JPEG 加密证书过期,客户端连不上
会话层 NetBIOS, RPC 会话保持配置错误,用户反复登录
传输层 传输层 TCP, UDP TCP窗口太小,大文件传输慢
网络层 网络层 IP, ICMP, OSPF 路由环路,整个网络瘫痪
数据链路层 网络接口层 Ethernet, PPP MAC地址冲突,交换机狂报错
物理层 RJ45, 光纤 光纤弯曲半径太小,光衰严重

这里我特别想强调一点:数据封装的过程。数据从上层往下走,每经过一层,都会加上一个头部。这叫「封装」。到了接收端,再一层层拆开。我曾经在项目里遇到一个问题:两台路由器ping不通,排查到最后,发现是MTU不匹配,导致数据包在IP层被分片后丢失了。你看,这就是网络层和链路层配合出问题的典型案例。

我的小技巧:排查问题时,从底层往上层查。先看物理层(灯亮不亮),再看链路层(MAC地址对不对),然后看网络层(IP通不通),最后看应用层。这个顺序,能帮你省下至少一半的排查时间。

1.2 IP地址与子网划分

IP地址,说白了就是网络世界的「门牌号」。IPv4地址32位,分成了网络位和主机位。子网掩码就是用来区分这两部分的。

我记得刚考CCIE那会儿,子网划分的题目做得我头大。后来发现一个规律:你只要记住2的幂次方,再结合子网掩码的二进制表示,一切就都通了。

举个例子:192.168.1.0/24,这个网段有256个地址,可用的是254个(去掉网络地址和广播地址)。如果你要划分子网,比如每个子网需要30个可用地址,那主机位就得留5位(2^5-2=30),子网掩码就是/27。

避坑指南:我曾经在规划一个园区网时,想当然地用了/24的掩码,结果设备数量超过254台,导致部分设备获取不到IP。后来改成了/23,才解决问题。所以,规划IP时,一定要预留20%的余量

咱们用一张图来展示IP地址的结构和子网划分的逻辑:

IP地址结构与子网划分 IPv4地址结构 (32位) 网络位 (24位) 主机位 (8位) 例: 192.168.1.0/24 → 网络位: 192.168.1, 主机位: 0-255 子网划分示例 (/27) 网络位 (27位) 主机位 (5位) 可用地址: 2^5 - 2 = 30个 子网掩码: 255.255.255.224 划分后的子网: 子网1: 192.168.1.0/27 (可用: 1.1 - 1.30) 子网2: 192.168.1.32/27 (可用: 1.33 - 1.62) 子网掩码决定

1.3 VLAN与Trunk原理

VLAN,全称是虚拟局域网。它的作用,说白了就是把一个物理交换机,切成多个逻辑上的独立网络。为什么要这么做?因为默认情况下,交换机所有端口都在一个广播域里。如果网络大了,广播风暴能把你整崩溃。

我曾经接手过一个客户网络,整个公司就一台核心交换机,所有部门都在一个VLAN里。结果财务部的ARP广播,直接导致研发部的视频会议卡成PPT。后来我给他们划分了VLAN,问题立刻解决。嗯,这就是VLAN的价值。

VLAN的核心作用:

  • 隔离广播域,减少广播流量
  • 提高安全性,不同VLAN不能直接通信
  • 简化管理,可以按部门、功能划分

那Trunk又是什么?Trunk就是一条链路上传输多个VLAN的流量。你想想看,如果每个VLAN都拉一根线,那交换机得有多少端口?所以Trunk用802.1Q协议,在数据帧里打上VLAN标签,这样一根线就能传所有VLAN的数据了。

这里有个关键点:Trunk两端必须配置相同的封装方式。我曾经在项目里犯过这个错——一边配了802.1Q,另一边忘了配,结果VLAN 10的流量全丢了。排查了俩小时,最后发现是这个问题。所以,配置Trunk时,一定要检查两端。

我的配置习惯:

  • Access端口:连接终端设备(PC、打印机),只属于一个VLAN
  • Trunk端口:连接交换机之间,或交换机与路由器,传输多个VLAN
  • Native VLAN:Trunk链路上不打标签的VLAN,默认是VLAN 1,建议改成其他VLAN(比如VLAN 999)

咱们用一张图来展示VLAN和Trunk的工作逻辑:

VLAN与Trunk工作原理 交换机A VLAN 10 (研发部) 端口: Fa0/1 - Fa0/10 VLAN 20 (财务部) 端口: Fa0/11 - Fa0/20 Trunk (802.1Q) Trunk链路: 传输VLAN 10和VLAN 20 交换机B VLAN 10 (研发部) 端口: Fa0/1 - Fa0/10 VLAN 20 (财务部) 端口: Fa0/11 - Fa0/20 Trunk (802.1Q) 注意: Trunk两端必须配置相同的Native VLAN和允许的VLAN列表

避坑指南:我曾经在配置Trunk时,忘了在两端都允许VLAN 10通过。结果研发部的同事说「网络不通」,我查了半天,发现Trunk端口上只允许了VLAN 1和VLAN 20。所以,配置Trunk后,一定要用 show interfaces trunk 检查

好了,这一章的内容就到这里。网络基础是后面所有章节的基石,尤其是VLAN和Trunk,在多区域互联中会反复用到。下一章咱们开始讲路由协议,到时候你会感谢今天认真学了VLAN的自己。


公众号:蓝海资料掘金营,微信deep3321