ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

网络互联与核心设备:从MAC/IP到交换机和路由器的入门指南

网络互联与核心设备:从MAC/IP到交换机和路由器的入门指南 刚接触计算机网络的人十有八九都会被互联这个概念绕晕。设备明明焊在一起为什么叫网络互联交换机、路由器、网关到底谁管谁更别提MAC地址、IP地址、子网掩码这些名词博主当初学的时候也是背了忘、忘了背直到真正动手组了几次网才想明白。这篇文章就围绕网络互联与核心设备这条主线用最直白的大白话把底层逻辑讲清楚。里面没有深奥的数学推导也没有灌输式的概念堆砌适合零基础想入门的同学也适合学了两遍教材依然概念都知道、串不起来的人。看完之后你会理解网络为什么需要设备分层协作、数据是怎么从一个电脑跑到另一个电脑的以及遇到网络不通时该从哪里下手排查。1. 为什么我们要互联从单机孤岛到网络协作1.1 单机时代的局限为什么当年文件传输靠软盘在谈设备之前先搞清楚一个根本问题网络互联到底解决了什么。早期的计算机是真正的单机孤岛。每台电脑独自处理数据程序装在自己硬盘里文件要给别人只能拷贝到软盘或光盘里人肉送过去。这个过程能跑通是因为人类协作可以跳过网络但代价极大数据不同步、版本混乱、协作效率极低。比如当年一个三人小团队做文档三个人各存一份改完互相发新版。很快就会出现你改的版本覆盖了我改的内容那份最终版到底在谁机器上这类乌龙。放到今天你根本不会想回到那种工作方式。网络互联解决的核心问题本质上是三件事资源共享多个设备访问同一块存储、同一台打印机不必各自备份一份。信息通信数据能在毫秒级时间内在设备之间流转支持聊天、网页、视频等应用。协同计算把任务拆开分给多台计算机处理这是今天云计算和大数据的地基。1.2 互联的重点不在线而在规范很多人觉得网络互联就是把设备拿根网线插在一起。物理连接确实是基础但这件事真正的难点在于不同设备之间如何理解对方的数据。我们知道计算机保存的所有信息归根结底都是二进制的0和1。但同样的字节流发给打印机和发给显示器含义可能完全不同同一串01不同厂家制造的设备解析规则也可能不一样。所以网络互联的底层是一整套大家商量好的规矩这些规矩就是协议。协议规定了数据以什么格式组织帧、包、报文的结构双方如何发起通信、如何确认收到握手与应答出错时怎么发现、怎么重传这个思路可以类比成寄快递寄件人和快递公司约定好面单格式、包装规范、赔偿规则这个约定本身不运送任何东西但没有约定快递就没法流转。协议就是网络世界的快递面单规范。而网络互联中最重要的这套规范就是TCP/IP协议族。你常听到的IP地址、TCP、UDP、DNS、HTTP全是这个协议族的一员。它们分工不同但共同目标只有一个让异构设备之间能顺畅通信不管你是Windows电脑、Linux服务器还是智能手机。1.3 从点对点到多设备互联为什么要分层还有一个经常被忽略的关键点网络互联不是两台设备之间的孤立通信而是大量设备交错相连、同时通信的场景。想象一下一个办公室里有50台电脑如果每两台之间都拉一根专线一共需要1225根线。而且每新增一台设备所有旧设备都要再拉一根线过去。这显然不现实。网络架构的解决方式是分组交换所有设备连到一个共享的传输网络上数据被拆成一个个小包每个包独立寻址、独立转发。设备之间不需要两两直连只需要连到公共网络剩下的就交给网络中的设备去处理。正是不需要两两直连这个转变催生了各种网络设备的分工协作。数据从你电脑发出后先经过网卡打包再进入交换机完成局域网内的精准投递遇到要跨网段访问时再由路由器负责导航。下一章就逐个拆解这些设备。2. 一张图看懂四类核心设备的分工2.1 网卡设备的通信器官网卡是每台要上网的设备必须配备的硬件你电脑里的有线网口、笔记本的Wi-Fi模组、手机里的无线基带芯片都属于网卡。网卡的核心职责有两个数据的收发作接口把电脑内部的总线数据并行转换成可以在网线上传输的串行比特流反过来也把网线上收来的信号还原成电脑能读取的数据。承载唯一的物理标识——MAC地址每张网卡出厂时就被烧录了一个全球唯一的48位地址相当于这个设备在网络世界的身份证。MAC地址前24位代表厂商编号后24位是厂商分配给这张卡的序列号。这里顺便解释一个初学者常混淆的点我们平时说的电脑的IP地址其实严格来说是网卡上的IP地址。一台电脑有多块网卡比如有线无线就有多个IP地址。你可以理解成每块网卡就是一个通信门牌它既有自己的物理身份证MAC又有网络管理员分配给它的逻辑门牌IP。2.2 交换机局域网内的智能快递分拣站交换机是局域网LAN内部连接设备的设备。它的作用可以用一张流程概括收到一个数据包后看一下包里的目的MAC地址查自己的地址表决定从哪个端口转发出去。这个查表转发的能力是区分交换机与老式集线器的关键。集线器是物理层的傻设备收到数据就向所有端口广播所有人都能收到交换机则学习并维护一张MAC地址表只把数据发给真正需要的那一个端口既安全又高效。举个例子办公室有台打印机连接在交换机8号口电脑A连在1号口。A给打印机发数据时交换机会查表发现打印机MAC地址对应的端口是8于是只从8号口把数据发出去其他端口不会收到。这个过程叫二层转发因为交换机工作在网络模型的第二层数据链路层它只关心MAC地址不关心IP地址。一个小细节值得记住交换机刚通电时是失忆状态它不知道每台设备在哪个端口。所以前几个数据包都会采用一种叫泛洪的策略向所有端口复制转发同时不断学习源MAC地址。等它见过了各端口设备的MAC地址表就建立起来了。这也是为什么交换机运行越久转发效率通常越高的原因。2.3 路由器连接不同网段的海关与导航员如果说交换机解决的是同一栋楼里怎么串门路由器解决的就是不同城市之间怎么串门。路由器工作在网络层它关心的是IP地址核心能力是根据路由表决定数据包往哪里送。每台路由器都维护着一张路由表记录着要去某个网段下一跳该发给哪个邻居。这个过程类似开车导航你当前不知道目的地的完整路线但每个路口的指示牌会告诉你该走向哪个方向。路由器的典型使用场景是连接不同的网段。比如你家的局域网内网段是192.168.1.0/24你访问互联网上的服务器时数据包先发给家里的路由器也就是你的默认网关路由器再根据目的IP查路由表把包转发给运营商网络中的下一台路由器一站一站接力直到到达目标服务器。这里要说清楚一个常见误解路由器并不是把网络变快了的设备。它做的工作是在不同网络之间做寻路和转发并不加速局域网内部的数据传输。家里的终端设备之间互传文件速度主要由交换机或路由器内置的交换芯片决定。2.4 网关、AP、Modem经常被低估的辅助选手除了网卡、交换机、路由器还有几个常见设备容易让人混淆。网关这个词指的不是某个具体的硬件而是通往其他网络的出口设备。你家里路由器分配给你电脑的默认网关就是电脑访问外网那次要迈出的第一道门。大多数家庭网络中网关就是路由器本身。无线AP接入点提供无线信号让设备接入局域网。单纯AP只有无线接入功能不做路由但家用路由器把AP功能内置了所以它既能发射Wi-Fi也能当路由器。Modem光猫/调制解调器负责在运营商线路的数字信号和家庭网络的数据格式之间做转换。光纤入户后光猫把光信号转成电信号再接给路由器。四类设备的角色对比设备工作层级关注的核心地址核心功能类比网卡物理层数据链路层MAC地址接入网络、收发数据人的嘴和耳朵交换机数据链路层MAC地址局域网内精准转发楼栋快递分拣员路由器网络层IP地址跨网络寻路转发城市之间的导航员网关应用出口概念IP地址连接不同网络的总出口小区门卫3. 数据包穿越网络的完整流程地址、封装与转发3.1 两个地址体系MAC像人名IP像门牌号新手最容易困惑的就是MAC地址和IP地址为什么要各来一套。用一个生活类比就很好理解你住在北京某小区3号楼2单元501这个地址IP地址会随着你搬家而改变它是逻辑位置。但你还有一个身份证号MAC地址它终身不变走到哪儿都跟着你。数据在局域网内投递时交换机靠MAC地址认人数据要出远门、跨城市时路由器靠IP地址规划路线。两者合作的方式是IP地址决定去哪儿MAC地址解决下一站具体交给谁。再准确一点数据每经过一条链路比如从你的电脑到交换机再从交换机到路由器都会重新封装一次MAC地址。源MAC地址和目的MAC地址是逐跳变化的而源IP地址和目的IP地址通常在整个传输过程中保持不变NAT场景除外。这正是信封套信封的封装的精髓。3.2 数据封装像套娃一样逐层加头想象你要寄一个生日礼物。你先把礼物放进一个小盒子应用层数据然后外面套一个写有收件人地址的快递袋TCP/UDP头数据称为段再在外面贴上包含发件人收件人完整地址信息的运单IP头段称为包最后套一层纸质外包装并写上分拣码以太网帧头包帧尾称为帧。数据从应用层往下走每经过一层就被加上一个头部信息应用层HTTP/FTP等原始数据比如一段网页内容。传输层TCP/UDP加上端口号和序列号等信息形成报文段解决数据交给哪个应用程序的问题。网络层IP加上源IP地址和目的IP地址形成数据包解决数据去哪台主机的问题。数据链路层以太网加上源MAC地址和目的MAC地址以及帧校验序列形成数据帧解决数据在这条链路上交给谁的问题。接收方则反过来从最外层开始一层一层剥掉头部最后把原始数据交给应用程序。这个加头→传输→剥头的过程就是网络通信最核心的流程。3.3 一次完整的访问流程从你的电脑到目标服务器以你在浏览器输入www.example.com为例把前面所有设备串成一条链路。DNS解析电脑先向DNS服务器询问www.example.com对应的IP地址拿到目标服务器的IP比如93.184.216.34。判断是否同网段电脑发现目标IP和自己的IP不在同一个网段因此必须把数据包先发给默认网关家里的路由器。局域网内投递电脑查询ARP缓存得到网关IP对应的MAC地址然后构造以太网帧目的MAC填网关的MAC目的IP填服务器的IP发给交换机。交换机转发交换机根据目的MAC找到连接路由器的端口把帧转出去。路由寻路路由器拆开帧看到目的IP不是自己查路由表找到下一跳IP再重新封装帧发给运营商网络中的下一台设备。这个步骤沿途的每台路由器都会做一次。到达服务器最终帧到达服务器所在机房服务器逐层剥头把HTTP请求交给Web服务进程。返回响应服务器把网页内容按同样的流程原路返回实际路径可能不同但道理一样。浏览器渲染你的电脑收到数据后浏览器根据HTTP响应渲染出网页。这个流程里交换机和路由器的分工差异体现得特别清楚局域网内交换机在认脸MAC跨网络时路由器在认地址IP。二者层层配合才有了你眼前秒开的网页。3.4 为什么大文件传输也要大包拆小包前面提到数据会被拆成一个个小包很多人会问为什么不一个文件一股脑全发过去这里有一个关键原因——传输的可靠性。如果10MB的文件作为一个整体发送一旦中间某个字节丢了接收方要么完全收不到、要么得整个重传。拆成每包1460字节左右的小块后只有损坏的那一小包需要重传其他包正常接收效率高得多。更重要的是网络带宽是被多个用户共享的。如果把大文件一股脑占着链路其他用户的数据就只能排队拆包后多个用户的数据包可以在链路上交错传输这就是多路复用的基本思想。关于小包会不会降低速度这个问题实际影响很小。因为TCP/IP协议栈的封装开销相对固定包的载荷越大额外开销占比反而越低。以太网规定帧的最大传输单元MTU通常是1500字节其中IP头占20字节、TCP头占20字节剩余约1460字节就是应用数据的标准载荷。超过这个大小就得分片所以现代网络里大数据块天然就被拆成合适的大小了。4. 从零搭一个能上网的小型网络照着做就能通讲了这么多理论不如动手搭一个。下面从最简单到稍复杂的组网方案把设备作用一步步串起来。4.1 两台电脑直连感受最基础的网络互联工具两台电脑、一根直连网线现在的网卡基本都支持自适应线序普通网线也可以。步骤两台电脑用网线直接连起来。手动设置IP电脑A设成192.168.1.1/24电脑B设成192.168.1.2/24。在A上打开命令行执行ping 192.168.1.2能通就说明链路没问题。这里最值得体会的是网络互联不需要路由器也可以成立。只要两个设备配了同一个网段的IP网卡和网线就足够完成通信。那为什么现实中一定要有交换机和路由器因为两台设备只是特例设备一多直连就不现实了需要有设备把所有连接汇聚起来——这就是交换机的用武之地。4.2 家用组网一个路由器承载一个内部网络场景家里有宽带光猫几台手机和电脑要同时上网。设备准备光猫运营商提供 一个家用无线路由器。接线方式光猫的LAN口接路由器的WAN口路由器的LAN口接电脑手机连接路由器的Wi-Fi。关键配置两步设置WAN口连接方式多数家庭宽带是拨号上网或DHCP自动获取进路由器管理后台按运营商给的方式填好。开启DHCP服务路由器默认开着DHCP设备连上后会自动获取IP地址无须手配。家用路由器的便利之处在于它把多个角色的设备集成到了一台机器里交换芯片部分负责LAN口之间的局域网数据交换。路由功能部分负责WAN口与LAN口之间的网段转换。无线AP部分发射Wi-Fi信号。NAT功能把家里的私有IP映射到运营商分配的公网IP上实现多个设备共用一条宽带上网。很多人家里网络有点慢但不至于断的根源就在这台小设备上。它同时处理着交换、路由、NAT、无线信号、DHCP等多重任务负载和散热一旦不行性能就会下降。这也是为什么进阶玩家会建议把光猫拨号改为路由器拨号甚至把路由器和无线AP分开的原因。4.3 小型办公室组网交换机与路由器分工明确场景办公室有20台有线电脑、一台共用打印机、一条企业宽带要求互访稳定、内外网隔离清晰。设备准备一台企业级路由器或带路由功能的安全网关一台24口千兆交换机无线AP若干按面积决定接线方式运营商光猫 → 路由器WAN口路由器LAN口 → 交换机交换机 → 各工位网口和无线AP打印机也接在交换机上。这种结构里交换机负责内部互访20台电脑互传文件、共享打印机时数据只在交换机内部流转路由器负责进出大门访问外网时才走它。内网的广播流量不会跑到路由器上减轻了路由器的压力。还要指出一个和企业网密切相关的概念子网划分。如果部门多、需要隔离不同部门流量管理员会把一个网段切成多个子网比如192.168.10.0/24给行政192.168.20.0/24给研发子网之间默认不能互访需要互访就靠路由器上的路由策略放行。这种设计既是出于安全隔离也是为了减少广播域规模。4.4 组网时的常见坑网段不一致、线路接错、DHCP冲突组网看着简单但新手最容易栽在这几个地方WAN口和LAN口插反很多人把光猫出来的线插到了路由器的LAN口导致路由器没办法从运营商拿到外网地址整个网络瘫痪。光猫的线必须进路由器的WAN口WAN口通常颜色不同或有标签。IP网段不一致如果上级设备网段是192.168.1.0/24下级路由器却设置成192.168.0.0/24那么下级网络里的设备访问上级设备会很别扭处理不好还无法上网。最好把下级路由器的LAN口IP改成上级网段内不冲突的地址。DHCP冲突如果两台设备都开启了DHCP服务且网段相同客户端可能随机抢到不同服务器分配的IP造成间歇性断网。解决办法是关掉其中一个DHCP服务。网线类型现在的设备和交换机基本都有自动翻转功能交叉线和直通线都能用但老旧设备连接时同类型设备互连可能要交叉线需要留意。5. 网络不通怎么办0基础也能用的排查思路设备、接线、IP配置都做完了网络不通了怎么办这部分分享一套不用啃大部头、纯靠命令行就能定位问题的排查链路。5.1 先判断问题出在自己家还是外面排查网络故障首要的是缩小范围。如果你在公司或家里上不了网先做个最简单的测试手机连Wi-Fi能上网吗另外一台电脑能上网吗光猫和路由器的指示灯状态正常吗如果只有你一台设备有问题多半是设备本身的配置问题如果所有设备都不行基本是出口链路或路由器的问题。这一步能把排查范围缩小到单一终端或网络出口。5.2 从IP配置入手先看自己有没有身份Windows下打开命令行输入ipconfigLinux/macOS下输入ifconfig或ip addr。重点看几项IPv4地址是否正常获取到192.168.x.x这样的内网地址。子网掩码多数局域网是255.255.255.0。默认网关必须和IP在同一网段内通常是路由器的LAN口地址。DNS服务器解析域名用的不能为空。如果IP地址显示是169.254.x.xWindows下说明DHCP获取失败设备没从路由器拿到有效地址。这时候先检查网线/无线连接再检查路由器的DHCP服务是否开启。5.3 用ping命令逐段定位断点ping是网络排查中用得最多的命令。它的原理是发送ICMP回显请求看对方是否有回应。逐段排查的顺序很关键。ping 127.0.0.1本机回环检查本机TCP/IP协议栈是否正常。能通说明协议栈没坏。ping 自己的IP检查网卡和IP配置是否生效。ping 同一网段的另一台设备比如网关检查链路和交换机是否工作。这步通了说明局域网没问题。ping 8.8.8.8或223.5.5.5阿里DNS检查到外网的三层路由是否可达。通了说明路由器到运营商链路正常。ping 域名如www.baidu.com检查DNS解析是否正常。通了说明DNS没问题不通但ping IP通基本就是DNS服务器的配置或解析故障。这个顺序看起来简单但价值很大。每多一步通就说明故障范围又缩小了一层。博主遇到过很多次ping网关通、ping外网IP不通的情况最后定位都是路由表问题或运营商链路中断这个判断方法帮了大忙。5.4 traceroute看数据包在哪一跳丢了如果ping外网IP不通下一步用tracertWindows或tracerouteLinux/macOS命令可以看到数据包从你家路由器到目标地址之间每一跳的路由节点。用法示例tracert 223.5.5.5 # 或 traceroute 223.5.5.5输出会列出每一跳的IP地址和延迟。如果在某一跳之后全部显示超时中断点大概率就出在这附近。但注意一个经验中间某些路由器节点不响应ICMP是正常的运营商网络为了保证转发性能会主动丢弃ping包。所以看traceroute的结果不能只看有没有超时更要看下一跳还能不能继续走。只要最终目标能到达中间偶发超时不用紧张。5.5 两个常见低级错误DNS配置错和IP地址冲突再说两个日常最容易踩的坑。DNS配置错误的表现是所有用域名的访问都不通但直接访问IP地址比如ping 223.5.5.5是通的。这在上了公共DNS特殊网络环境的机器上特别常见。遇到时先检查DNS服务器地址试着改成223.5.5.5或114.114.114.114多数情况能解决。IP地址冲突的表现是设备能连上网络但时通时断。办公室里两台电脑手动配置成了同一个IP谁先抢到谁就通另一台就频繁断线。排查时看arp -a命令的输出或者直接在交换机上查看端口MAC绑定情况。根治办法是给终端设备开DHCP固定终端设备可以用DHCP地址保留。6. 0基础进阶看懂这些概念你就入门了6.1 OSI模型和TCP/IP模型分层的意义前面一直在提二层三层对应的就是OSI七层模型或TCP/IP四层/五层模型。给零基础的读者做个速览OSI七层模型物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。这是理论参考模型帮助理解每一层的职责边界。TCP/IP模型实际使用网络接口层、网络层、传输层、应用层。更贴近真实协议栈。初学者不需要背七层的全部细节但一定要理解分层带来的好处每一层只关心自己的事改某一层的实现不会影响其他层。比如你把家里的Wi-Fi从802.11n换成Wi-Fi 6传输层的TCP不用变应用层的HTTP也不用变。6.2 私有地址和NAT为什么你家的IP不是公网IP一个新手普遍好奇的问题我家的路由器分配的是192.168.x.x为什么和网上别人家的192.168.x.x不冲突答案是因为这三个网段被定义为私有地址只在局域网内部有效外部网络不会路由这些地址。IANA规定的私有地址范围10.0.0.0/8172.16.0.0/12192.168.0.0/16家用的192.168.1.x就属于第三段。这样设计极大节省了IPv4地址资源。你家只有一个公网IP运营商分配所有内网设备靠路由器的**NAT网络地址转换**共用这个公网IP上网。NAT的工作原理是内网设备发出的数据包源IP是私有地址比如192.168.1.5经过路由器时路由器把源IP改成自己的公网IP同时记录一个映射表收到返回数据时再根据映射表还原把包交给正确的内网设备。这就是一个公网IP带一屋子设备上网的秘密。6.3 常用工具和命令学到就能用整理几个日常用得上的命令工具实际操作时边用边记最好ping测连通性和延迟最基础的排障工具。ipconfig/ifconfig查看本机网络配置。nslookup/dig手动查询DNS解析结果。tracert/traceroute查看数据包路径。netstat查看本机的端口监听和连接状态。Windows下还有sconfig和pathping可以看更详细的网络状态但零基础阶段掌握前四个已经足够解决90%的家庭和办公网络问题。6.4 学习路线参考少走弯路的几点建议如果你打算系统学计算机网络博主根据自己的学习经历给几条建议先动手再补理论先搭个家用网络观察路由器的配置界面遇到不懂的概念再去查。纯看书容易学完就忘。配合抓包工具用Wireshark抓一次网页访问的包亲眼看到TCP三次握手、HTTP请求响应对协议的理解会突飞猛进。别被教材劝退像《计算机网络自顶向下方法》这类经典书适合配合实验看不建议一上来就通读B站上也有不少免费课程比如湖科大教书匠的系列讲得很细致适合配合复习。研究408考点如果目标是考研计算机网络在408里占25分左右重点是TCP/IP协议族、路由算法、应用层协议这些配合真题刷题最有效。如果想学得更扎实系统听一遍课程再刷题效果比直接刷题好。我自己学网络这些年最大的体会是网络这行理论说得再漂亮不如一条网线插上、一台路由器配好、一次断网排查来得实在。看见数据真的从自己电脑跑到服务器上再回首看网络互联与核心设备这十个字你会觉得它一点也不抽象了。
返回列表