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 穿透 文件共享、视频通话
相关推荐
Java成神之路-8 小时前
Dijkstra 算法详解:贪心策略构建最短路径树
计算机网络·dijkstra算法
广州服务器托管8 小时前
[2026.5.12][IT工坊]WIN11.26300.8376专业工作站版[PIIS]中简 深度优化
运维·人工智能·windows·计算机网络·可信计算技术
小明同学019 小时前
计算机网络编程---UDP客户端与服务端
网络协议·计算机网络·udp
剑锋所指,所向披靡!9 小时前
计算机网络的数据链路层
网络·计算机网络
如君愿9 小时前
考研复习 Day 35 | 习题--计算机网络 第七章 网络安全(上)、数据结构 排序算法(上)
数据结构·计算机网络·考研·课后习题
MandalaO_O10 小时前
Web 开发:计算机网络知识梳理
前端·网络·计算机网络
艾莉丝努力练剑10 小时前
【Linux网络】Linux 网络编程:应用层自定义协议与序列化(3):网络计算器实现和守护进程
linux·运维·服务器·网络·c++·计算机网络·安全
@encryption10 小时前
计算机网络 --- RSTP,MSTP
服务器·网络·计算机网络
谷雨不太卷1 天前
计算机网络:套接字
linux·服务器·计算机网络