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 穿透 文件共享、视频通话
相关推荐
多巴胺梦想家2 天前
计算机系统概述
计算机网络
AI人工智能+电脑小能手3 天前
【大白话说Java面试题 第210题】【10_网络协议篇】第1题:说说 TCP/IP 网络五层模型
java·网络协议·tcp/ip·计算机网络·网络五层模型
一条泥憨鱼3 天前
【从0开始学习计算机网络】| HTTP方法疑点解析
开发语言·计算机网络·http
一条泥憨鱼3 天前
【从0开始学习计算机网络】| RESTful API 设计原则
计算机网络·http·restful api
纵有疾風起3 天前
计算机网络的性能指标体系:带宽、时延、吞吐量
计算机网络·rtt·408·带宽·性能指标·吞吐量·时延
纵有疾風起3 天前
从OSI到TCP/IP——分层架构的思想根源与模型之争
tcp/ip·计算机网络·架构·osi·408·体系结构·分层
游戏开发爱好者84 天前
TraceEagle 代理抓包详解,无感代理、去证书绑定与 HTTP/3 解密能力解析
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_915918414 天前
抓包鹰 抓包会话重放与压力测试,接口回归验证与性能压测的方法
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
一条泥憨鱼5 天前
【从0开始学习计算机网络】| HTTP 状态码
开发语言·网络·网络协议·计算机网络·http
摩西蒙5 天前
计算机网络
开发语言·计算机网络·php