通信网络基础概念

1、网络模型与基本概念

OSI七层模型与TCP/IP四层模型

  • OSI七层模型

    物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层

    (物理层负责电信号传输,应用层直接面向用户。)

  • TCP/IP四层模型

    网络接口层(物理+数据链路层) → 网络层(IP) → 传输层(TCP/UDP) → 应用层

    (互联网实际采用TCP/IP模型,简化了OSI模型。)

2、核心逻辑顺序:

  1. 身份标识 (谁是谁?) -> MAC地址

  2. 位置标识 & 区域划分 (你在哪?邻居是谁?) -> IP地址、子网、网段、广播域、VLAN

  3. 基础连接设备 (怎么连邻居?) -> 网桥、交换机

  4. 跨区域连接设备 (怎么去远方?) -> 路由器、网关

  5. 自动管理服务 (自动配置地址、翻译名字) -> DHCP、DNS

  6. 通信规则 (怎么安全可靠地说话?) -> 协议

3、身份标识:MAC地址 (Media Access Control Address)

  • 通俗理解: 设备的永久、唯一的物理地址。就像每个人都有独一无二的身份证号码。

  • 专业性:

    • 由网卡制造商烧录在硬件中,通常不可更改(虽然可以软件模拟,但不建议)。

    • 长度48位(6字节),通常表示为12:34:56:AB:CD:EF

    • 工作在数据链路层(OSI模型的第2层)。

    • 核心作用:同一个物理网络(同一个广播域) 内,设备之间直接通信时,用于唯一标识源设备和目标设备

  • 关键点: MAC地址只在本地网络内有意义。跨网络通信时,它只在当前跳有效(后面讲路由器时会解释)。

    检查网络接口状态

    (llm) wangqiang@wangqiang:~$ ip link show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

4、位置标识 & 区域划分

  1. IP地址 (Internet Protocol Address)

    • 通俗理解: 设备在网络中的逻辑地址 ,相当于邮寄地址。就像你搬家后地址会变,设备的IP地址通常也是可以分配和改变的。

    • 专业性:

      • 工作在网络层(OSI模型的第3层)。

      • 目前主流是IPv4(如 192.168.1.10),长度为32位;IPv6(如 2001:0db8:85a3:0000:0000:8a2e:0370:7334)长度为128位,解决IPv4地址枯竭问题。

      • 核心作用: 用于在网络中定位设备 ,实现跨网段、跨网络的通信。是互联网通信的基础。

      • 网络部分主机部分组成(通过子网掩码区分)。

  2. 子网 (Subnet) 与 子网掩码 (Subnet Mask)

    • 通俗理解: 把一个大的网络(比如一个大社区)划分成更小的、管理更方便的小区 。子网掩码就像一把尺子,用来精确测量IP地址中哪部分是"小区号"(网络部分),哪部分是"门牌号"(主机部分)

    • 专业性:

      • 子网划分目的: 提高IP地址利用率、减少广播流量、增强安全性、便于管理。

      • 子网掩码: 一串和IP地址长度相同的二进制数(IPv4也是32位),由连续的1和连续的0组成。1对应IP地址中的网络部分0对应主机部分

        • 例如:IP地址 192.168.1.10,子网掩码 255.255.255.0 (11111111.11111111.11111111.00000000)。这表示:

          • 前24位(192.168.1)是网络地址(标识整个小区)。

          • 后8位(.10)是主机地址(标识小区内的具体住户)。

      • 处于同一个子网(拥有相同网络地址)的设备,可以直接进行二层通信(用MAC地址),不需要路由器。

  3. 网段 (Network Segment)

    • 通俗理解: 通常指一个物理的或逻辑的、连接在一起并能直接通信的网络区域 ,特别指一个IP子网覆盖的范围 。可以近似理解为一个子网内的所有设备及其连接的线路

    • 专业性: 一个广播域通常对应一个IP子网(在没有VLAN的传统网络中)。同一个网段内的设备拥有相同的网络地址(由IP地址和子网掩码决定)。

  4. 广播域 (Broadcast Domain)

    • 通俗理解: 广播消息能到达的所有设备的集合。 想象在一个开放的大办公室里,有人大喊一声"开会了!",办公室里所有人都能听到。这个办公室就是一个广播域。

    • 专业性:

      • 广播(目标MAC地址为FF:FF:FF:FF:FF:FF)会被发送到同一个广播域内所有设备。

      • 默认情况下,集线器(Hub)连接的所有端口属于一个广播域。

      • 交换机(Switch)的每个端口默认是一个冲突域(后面讲),但默认情况下交换机连接的所有端口属于同一个广播域。

      • 路由器(Router)的端口天然隔离广播域! 广播包到了路由器接口就被丢弃,不会转发到其他网络。这是路由器最重要的功能之一。

      • VLAN(虚拟局域网)可以逻辑地划分广播域。 同一个VLAN内的设备属于一个广播域,不同VLAN之间广播隔离(需要路由器或三层交换机才能通信)。

    • 为什么重要? 过多的广播流量会消耗网络带宽和设备处理能力。划分广播域(通过路由器或VLAN)是优化网络性能和安全性的关键手段。

  5. VLAN (Virtual Local Area Network - 虚拟局域网)

    • 通俗理解: 在物理网络之上,用软件逻辑划分出的多个"虚拟"局域网。 就像在一栋物理大楼里,用隔板隔出不同的公司或部门,每个隔间(VLAN)里的人互相交流方便,但隔间之间不能直接说话,需要前台(路由器/三层交换机)转接。

    • 专业性:

      • 工作主要在数据链路层(第2层) 实现。

      • 核心交换机通过配置,将不同的物理端口逻辑地划分到不同的VLAN中。

      • 同一个VLAN内的设备:

        • 处于同一个广播域(广播只在本VLAN内传播)。

        • 处于同一个逻辑网段(通常分配同一个IP子网)。

        • 可以直接进行二层通信(通过MAC地址)。

      • 不同VLAN之间的设备:

        • 广播完全隔离

        • 不能直接进行二层通信

        • 必须通过路由器(Router)或具备路由功能的三层交换机(Layer 3 Switch)进行三层路由转发才能通信。

      • 主要优点:

        • 广播控制: 限制广播风暴的范围。

        • 安全性: 隔离不同部门/组的流量。

        • 灵活性: 设备移动位置(只要接入端口属于同一个VLAN),其网络配置(IP、VLAN成员关系)无需改变。

        • 逻辑分组: 按功能、部门而非物理位置组织网络。

5、基础连接设备 (连接"邻居")

  1. 网桥 (Bridge)

    • 通俗理解: 连接两个物理网段(Segment)的"智能连接器" 。它比Hub聪明,会学习哪些设备在哪个网段,只把数据转发到目标设备所在的网段,减少不必要的流量。可以看作是只有两个端口的、功能较简单的早期交换机。

    • 专业性:

      • 工作在数据链路层(第2层)

      • 基于MAC地址 进行数据帧的过滤(Filtering)和转发(Forwarding)

      • 连接的两个网段属于同一个广播域

      • 通过学习源MAC地址建立MAC地址表,知道哪个设备在哪个端口后面。

      • 逐渐被交换机(多端口网桥) 取代。

  2. 交换机 (Switch)

    • 通俗理解: 网桥的升级版和多端口版。 像一个非常高效的"智能接线总机"。它有多个端口,每个端口通常连接一台设备(或另一个交换机/路由器)。它学习并记住每个端口后面连接了哪些设备(通过MAC地址) ,当数据进来时,它只把数据精准地转发到目标设备所在的端口,其他端口收不到。这大大减少了网络中的"噪音"(冲突和广播泛滥,虽然广播依然转发)。

    • 专业性:

      • 工作在数据链路层(第2层) ,核心功能基于MAC地址

      • 核心功能:

        • 学习 (Learning): 查看数据帧的源MAC地址 ,记录该地址和接收端口号的对应关系到MAC地址表(也叫CAM表)。

        • 转发 (Forwarding): 查看数据帧的目标MAC地址,查找MAC地址表:

          • 如果找到对应端口且不是接收端口 ,则只从该端口转发出去。

          • 如果找不到对应端口,则泛洪 (Flood) - 向除接收端口外的所有其他端口转发(广播帧和组播帧也泛洪)。

        • 过滤 (Filtering): 如果目标MAC地址在MAC地址表中对应的端口就是接收端口(即源和目标在同一端口),则丢弃该帧(因为不需要转发)。

      • 冲突域 (Collision Domain): 交换机每个端口是一个独立的冲突域。连接在同一个交换机端口上的设备(比如通过Hub连接的多台设备)共享一个冲突域。交换机的出现极大地减少了冲突域的范围,提高了网络效率。

      • 广播域 (Broadcast Domain): 默认情况下,一个交换机连接的所有端口属于同一个广播域(除非划分了VLAN)。

      • VLAN支持: 现代交换机都支持VLAN,是划分广播域的主要工具。

6、跨区域连接设备 (连接"远方")

  1. 路由器 (Router)

    • 通俗理解: 连接不同网络(不同网段/子网/VLAN)的"交通警察"和"导航仪"。 它负责查看数据包的目标IP地址(就像查看邮件上的邮政编码和街道门牌号),然后根据自己掌握的"地图"(路由表),决定数据包应该走哪条路(从哪个接口转发出去)才能到达目标网络。它是实现跨网段通信的核心设备。

    • 专业性:

      • 工作在网络层(第3层) ,核心功能基于IP地址

      • 核心功能:

        • 路径选择 (Routing): 维护一个路由表 (Routing Table),里面记录着通往不同目标网络(网段)的路径信息(下一跳地址、出接口等)。

        • 数据包转发 (Packet Forwarding): 根据目标IP地址查询路由表,将数据包从正确的接口转发出去。

        • 隔离广播域 (Broadcast Domain Isolation): 路由器每个接口默认属于不同的广播域(不同的网段)。 路由器不转发广播包(目标MAC为FF:FF:FF:FF:FF:FF 或 目标IP为受限广播地址255.255.255.255 或子网广播地址如192.168.1.255),这是划分广播域的主要手段之一(另一个是VLAN)。

      • 连接不同网络:如连接你的家庭局域网(LAN)和互联网(WAN),或者连接公司内部的不同部门子网。

      • 通常具备网络地址转换(NAT)、防火墙(Firewall)等附加功能。

  2. 网关 (Gateway)

    • 通俗理解: 通向其他网络(尤其是外部网络,如互联网)的"大门"或"出口"。 对于本地网络中的设备来说,网关就是它们发送所有要去外部网络的数据包时必须经过的那个设备 。通常,这个"大门"就是本地网络中的路由器接口的IP地址

    • 专业性:

      • 不是一个独立的物理设备类型,而是一个逻辑概念,通常指一个IP地址。

      • 对于主机来说,网关地址就是它所在子网的路由器接口的IP地址

      • 作用: 当主机需要发送数据包给不在同一子网 的目标IP时,它会将数据包发送给网关(路由器)。然后由路由器负责根据路由表进行转发。

      • 默认网关 (Default Gateway): 主机配置中最重要的网络设置之一。它告诉主机:"如果目标IP不在我本地子网内,就把包都发给这个地址(默认网关)去处理"。

      • 每个子网通常至少有一个网关地址(指向连接该子网的路由器接口)。

7、自动管理服务

  1. DHCP (Dynamic Host Configuration Protocol - 动态主机配置协议)

    • 通俗理解: 网络里的"自动租房中介"。 当你的电脑/手机连上网络时,DHCP服务器会自动给你分配一个可用的IP地址(就像给你分配一个临时门牌号)、子网掩码(告诉你小区范围)、默认网关(告诉你小区大门在哪)以及DNS服务器地址(告诉你查电话簿的地方)。省去了手动配置IP的麻烦,也避免了配置错误。

    • 专业性:

      • 应用层协议(通常基于UDP传输)。

      • 工作过程 (DORA):

        1. Discover: 客户端广播发送 "DHCP Discover" 消息(谁有房子租?)。

        2. Offer: DHCP服务器(可能多个)回复 "DHCP Offer" 消息(我这有房,地址是XXX,租期YYY...)。

        3. Request: 客户端选择一个Offer,广播发送 "DHCP Request" 消息(我要租XXX号房)。

        4. Acknowledge: 被选中的服务器回复 "DHCP ACK" 消息(确认租房成功,给你钥匙)。此时客户端正式获得IP配置。

      • 提供IP地址、子网掩码、默认网关、DNS服务器、租期等关键信息。

      • 租期到期前,客户端会尝试续租。

  2. DNS (Domain Name System - 域名系统)

    • 通俗理解: 互联网的"电话簿"或"导航地图"。 它负责把人类容易记住的网址(域名,如 www.google.com翻译 成计算机用来通信的IP地址(如 142.250.189.206)。没有DNS,我们就得记住一堆数字才能上网。

    • 专业性:

      • 分布式、层次化的数据库系统。

      • 应用层协议(通常基于UDP或TCP传输)。

      • 解析过程:

        • 你在浏览器输入 www.example.com

        • 你的电脑查询本地DNS缓存 -> 没有则询问配置的DNS服务器(通常由DHCP分配或手动设置)。

        • 如果DNS服务器不知道,它会从DNS根服务器(.)开始,按层级向下查询(.com -> example.com -> www.example.com),最终找到对应的IP地址。

        • 你的电脑获得IP地址,然后发起向该IP的连接。

      • 核心作用:实现域名到IP地址的映射

8、通信规则:协议 (Protocol)

  • 通俗理解: 设备之间进行网络通信时共同遵守的"语言"和"行为准则"。 就像不同国家的人交流需要约定用某种语言(如英语),并且遵守一定的礼仪(如轮流发言、如何问候结束)。协议规定了数据如何打包、如何寻址、如何传输、如何确认收到、出错如何处理等等。

  • 专业性:

    • 协议是分层的(如OSI七层模型或TCP/IP四层模型),每一层解决特定的问题,并为上层提供服务。

    • TCP/IP协议族: 是互联网的事实标准,包括:

      • IP (Internet Protocol): 负责网络寻址和路由(第3层)。

      • TCP (Transmission Control Protocol): 提供可靠的、面向连接的数据传输(第4层)。像寄挂号信,保证送达、顺序正确。用于网页浏览(HTTP)、文件传输(FTP)、邮件(SMTP/POP3/IMAP)等。

      • UDP (User Datagram Protocol): 提供不可靠的、无连接的数据传输(第4层)。像寄普通明信片,速度快但不保证送达或顺序。用于视频流、语音通话(VoIP)、DNS查询、DHCP等。

      • ICMP (Internet Control Message Protocol): 用于传递网络控制信息和错误报告(如ping命令)。

      • ARP (Address Resolution Protocol): 在同一个网段内,通过目标设备的IP地址 查询其MAC地址(第2/3层)。

      • HTTP/HTTPS, FTP, SMTP, DNS, DHCP... 这些都是工作在应用层(第7层) 的具体协议。

    • 协议栈:设备通信时,数据从上到下(应用层->物理层)被各层协议封装(添加头部信息),到达目标设备后再从下到上(物理层->应用层)被各层协议解封装,最终交付给应用程序。

9、总结串联 (一个开机上网的简单流程):

  1. 你的电脑开机,网卡带着唯一的MAC地址接入网络。

  2. 电脑通过DHCP协议 (广播Discover)请求配置。DHCP服务器 回应,分配给它一个IP地址 (如192.168.1.100)、子网掩码255.255.255.0)、默认网关 (如192.168.1.1 - 这是路由器的IP)和DNS服务器地址

  3. 你打开浏览器输入 www.example.com

  4. 电脑需要知道这个域名的IP地址。它向DNS服务器 (通过UDP)发起查询。DNS服务器返回对应的IP地址(如93.184.216.34)。

  5. 电脑判断目标IP 93.184.216.34 和自己(192.168.1.100)不在同一个子网(通过子网掩码计算)。

  6. 电脑决定将数据包发给默认网关 192.168.1.1(路由器)。

  7. 电脑需要知道网关 192.168.1.1 的MAC地址。它在本地网络发起ARP广播 :"谁是 192.168.1.1? 告诉我你的MAC地址!"。

  8. 路由器回应:"我是 192.168.1.1,我的MAC是 AA:BB:CC:DD:EE:FF"。

  9. 电脑将数据包(目标IP是 93.184.216.34)封装成帧:目标MAC地址 设为路由器的MAC AA:BB:CC:DD:EE:FF源MAC地址 是自己的MAC,发送给交换机

  10. 交换机 根据目标MAC地址 AA:BB:CC:DD:EE:FF 查询MAC地址表,找到对应的端口(连接路由器的那个端口),将帧从该端口转发出去。

  11. 路由器 收到帧,剥掉二层帧头,看到目标IP是 93.184.216.34

  12. 路由器查询自己的路由表,决定下一跳和出接口(可能是连接互联网的WAN口)。

  13. 路由器将数据包重新封装(新的二层帧头,目标MAC可能是ISP网关的MAC),从WAN口发送出去,进入互联网。

  14. 数据包经过互联网上多个路由器的转发(重复类似11-13的过程),最终到达托管 www.example.com 的服务器所在的网络。

  15. 目标服务器收到请求,生成响应数据包,按相反的路径(目标IP是你的电脑192.168.1.100)传回。

  16. 响应数据包到达你的路由器(通过WAN口),路由器查询路由表或NAT表,知道它属于你的内网主机 192.168.1.100

  17. 路由器需要知道 192.168.1.100 的MAC地址(可能缓存了,或发起ARP查询)。

  18. 路由器将响应包封装成帧(目标MAC是你电脑的MAC),发送给交换机。

  19. 交换机根据目标MAC地址,精准转发到你电脑连接的端口。

  20. 你的电脑收到响应帧,剥掉帧头,交给TCP/IP协议栈上层处理,最终浏览器收到网页数据并显示出来。

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
feifeigo1235 天前
matlab画图工具
开发语言·matlab