20260512-计网知识

URL 解析与网络通信流程

URL 结构解析

本地开发场景示例:
http://localhost:8080/project/xxx.html

  • 协议http
  • 主机名localhost(解析为 127.0.0.1
  • 端口8080(Tomcat 默认端口)
  • 路径/project/xxx.html

公网访问场景示例:
https://www.baidu.com

  • 协议https(加密传输)
  • 域名www.baidu.com(需 DNS 解析为 IP)
  • 默认端口443(HTTPS)
本地地址类型对比
类型 作用范围 是否跨设备访问
localhost 仅本机
127.0.0.1 本机回环
192.168.x.x 局域网 ✔️

网络通信核心地址

IP 地址 vs MAC 地址
特性 MAC 地址 IP 地址
层级 数据链路层(L2) 网络层(L3)
作用范围 同一局域网 跨网络全局
可变性 硬件固定(除非更换网卡) 随网络环境变化(如切换WiFi)

关键区别

  • IP:标识逻辑终点(类似收件人地址),全程不变。
  • MAC:标识下一跳设备(类似快递中转站),每经过一个网络设备更新一次。

数据传输路径示例

以设备 A → 设备 A1 跨网段通信为例:

  1. 局域网内转发

    • 设备 A 发现目标 IP 不在本地网段,将数据帧发送至默认网关(路由器 L1)。
    • 帧头:目标 MAC = 路由器 L1 的 MAC。
  2. 路由器转发

    • 路由器 L1 查询路由表,确定下一跳为三层交换机 L2。
    • 更新帧头:目标 MAC = L2 的 MAC,源 MAC = L1 的 MAC。
  3. 三层交换机处理

    • L2 根据目标 IP 找到 A1 所在网络的路由器,转发数据。
    • 更新帧头:目标 MAC = A1 的路由器 MAC。
  4. 最终交付

    • 目标路由器将数据帧直接发送至设备 A1(目标 MAC = A1 的 MAC)。

DNS 解析流程

  1. 浏览器缓存查询
    • 检查是否缓存过 www.baidu.com 的 IP。
  2. 本地 hosts 文件查询
    • 若未缓存,读取系统 hosts 文件。
  3. 本地 DNS 服务器查询
    • 向 ISP 提供的 DNS 服务器发起请求。
  4. 递归查询
    • 本地 DNS 依次查询根域名服务器 → 顶级域名服务器 → 权威域名服务器。
  5. 返回 IP
    • 最终将解析到的 IP(如 180.101.50.242)返回给浏览器。

TCP 连接管理

三次握手(建立连接)
  1. 客户端 → 服务器
    • 发送 SYN=1, seq=x(同步序列号)。
  2. 服务器 → 客户端
    • 回复 SYN=1, ACK=1, seq=y, ack=x+1
  3. 客户端 → 服务器
    • 确认 ACK=1, ack=y+1
四次挥手(关闭连接)
  1. 主动方 → 被动方
    • 发送 FIN=1, seq=u
  2. 被动方 → 主动方
    • 回复 ACK=1, ack=u+1(半关闭状态)。
  3. 被动方 → 主动方
    • 发送 FIN=1, seq=v
  4. 主动方 → 被动方
    • 确认 ACK=1, ack=v+1

完整通信链路示例(访问百度)

  1. URL 解析
    • 提取协议、域名、端口。
  2. DNS 查询
    • www.baidu.com 解析为 IP。
  3. TCP 连接
    • 通过三次握手建立可靠连接。
  4. 数据传输
    • HTTP 请求封装为 IP 数据包,经路由器、交换机逐跳转发至服务器。
  5. 响应返回
    • 服务器生成响应数据,原路返回至浏览器渲染页面。

通信模式对比

模式 特点 典型场景
客户端-服务器 中心化控制,安全性高 Web 服务、即时通讯
P2P 直接传输,速度快但需 NAT 穿透 文件共享、视频通话
相关推荐
编程之路,妙趣横生1 天前
Tcp Socket
计算机网络·tcp
编程之路,妙趣横生1 天前
Udp Socket
计算机网络·udp
阿米亚波4 天前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
liulilittle5 天前
Exhaustive drift-fix simulation V2 — KCC on shared-bottleneck wired path.
开发语言·网络·python·tcp/ip·计算机网络·信息与通信·通信
2401_868534786 天前
案例介绍-小型网络规划及搭
python·计算机网络
2401_868534787 天前
系统分析师案例分析题常考知识点
python·计算机网络
从零开始的代码生活_8 天前
Linux epoll 多路转接详解
linux·运维·网络·后端·tcp/ip·计算机网络·php
liulilittle9 天前
KCC 拥塞控制算法缺陷修复记录(26/07/05)
网络·tcp/ip·计算机网络·c·信息与通信·tcp·通信
liulilittle9 天前
KCC 边界缺陷深度分析:六问题根源与解决方案
网络·网络协议·tcp/ip·计算机网络·信息与通信·ip·通信
Thomas.Chan9 天前
数据中心动环监控系统架构详解
运维·网络·计算机网络·其他·系统架构·数据中心