从IP到MAC,从内网到公网:解密局域网通信与互联网连接的完整路径

目录

一、问题一:IP地址都能唯一标识主机了,那为什么还要使用arp协议来转化为mac地址来进行查找局域网内的机器呢?直接使用ip地址寻找不可以吗?

1、一个寄快递的比喻

2、从技术层面详细解释

[1. IP地址是"逻辑"的,MAC地址是"物理"的](#1. IP地址是“逻辑”的,MAC地址是“物理”的)

[2. 数据包在局域网内的最终投递靠的是MAC地址](#2. 数据包在局域网内的最终投递靠的是MAC地址)

[3. 直接使用IP地址寻找为什么不行?](#3. 直接使用IP地址寻找为什么不行?)

3、总结对比

二、问题二:局域网ip地址在什么情况下会改变呢?

1、局域网IP地址会改变的场景

[1. DHCP动态分配(最常见)](#1. DHCP动态分配(最常见))

[2. 网络环境切换](#2. 网络环境切换)

[3. 手动配置变更](#3. 手动配置变更)

[4. 网络设备更换](#4. 网络设备更换)

[5. IP冲突时自动调整](#5. IP冲突时自动调整)

2、为什么MAC地址是稳定的标识

3、实际场景示例

4、MAC地址"不变"的例外情况

5、ARP的双向作用

6、核心要点总结

三、问题三:局域网内的主机怎么连接到公网上的主机或者另一个局域网的主机,然后另一个主机又怎么返回相应的数据给我这个主机呢?思考其中的流程或者过程

1、详细通信流程(以访问网页为例)

第一阶段:从内网到公网(出站)

步骤1:应用层发起请求

步骤2:数据包离开你的电脑

步骤3:路由器进行NAT转换(最关键的一步!)

步骤4:服务器接收请求

第二阶段:从公网返回内网(入站)

步骤5:服务器发送响应

步骤6:路由器进行NAT反向转换

步骤7:你的电脑接收响应

2、跨局域网通信的特殊情况

NAT穿透的挑战

3、NAT类型及其影响

4、关键技术总结

5、简化的生活比喻

四、总结:计算机网络四层模型

[1、数据链路层(Data Link Layer)](#1、数据链路层(Data Link Layer))

[1. 核心功能](#1. 核心功能)

[2. 以太网(Ethernet)](#2. 以太网(Ethernet))

[3. 以太网帧格式(简化)](#3. 以太网帧格式(简化))

[4. 关键协议](#4. 关键协议)

[2、网络层(Network Layer)](#2、网络层(Network Layer))

[1. 核心协议:IP(Internet Protocol)](#1. 核心协议:IP(Internet Protocol))

[2. IP 地址 vs MAC 地址](#2. IP 地址 vs MAC 地址)

[3. IP 地址分类与私有地址](#3. IP 地址分类与私有地址)

[4. 路由过程(跨网段通信)](#4. 路由过程(跨网段通信))

[5. NAT(网络地址转换)](#5. NAT(网络地址转换))

[6. 其他重要协议](#6. 其他重要协议)

[3、传输层(Transport Layer)](#3、传输层(Transport Layer))

[1. 端口号(Port)](#1. 端口号(Port))

[2. UDP(User Datagram Protocol)](#2. UDP(User Datagram Protocol))

[3. TCP(Transmission Control Protocol)](#3. TCP(Transmission Control Protocol))

[4. 粘包问题(TCP 特有)](#4. 粘包问题(TCP 特有))

[5. MTU 对传输层的影响](#5. MTU 对传输层的影响)

[4、应用层(Application Layer)](#4、应用层(Application Layer))

[1. 应用层协议设计](#1. 应用层协议设计)

[2. HTTP(HyperText Transfer Protocol)](#2. HTTP(HyperText Transfer Protocol))

[3. DNS(Domain Name System)](#3. DNS(Domain Name System))

[4. 其他常见协议](#4. 其他常见协议)

5、关于"内网穿透"与"端口映射"的澄清(回应开头模糊描述)

总结:四层协同工作示例(访问百度)


一、问题一:IP地址都能唯一标识主机了,那为什么还要使用arp协议来转化为mac地址来进行查找局域网内的机器呢?直接使用ip地址寻找不可以吗?

触及了计算机网络分层的核心思想。简单来说,IP地址用于网络层的逻辑寻址,而MAC地址用于数据链路层的物理寻址。ARP协议就是连接这两层的桥梁。

我们可以通过一个生动的比喻来理解:

1、一个寄快递的比喻

假设你要从北京(网络A) 寄一个包裹到上海某小区(网络B)张三(目标主机)

  1. IP地址就像"上海市浦东新区XX路XX小区X号楼XXX室 张三收"。这是一个逻辑上的、全局的、结构化的"最终地址"。快递公司(网络层)根据这个地址决定如何跨城市运输。

  2. MAC地址就像"张三的身份证号码"。它是一个物理的、本地的、唯一的标识。

  3. 传输过程

    • 你的包裹先被送到北京的本地分拣中心(路由器)。

    • 分拣中心一看地址是"上海",就知道该走哪条长途线路(IP路由)。包裹经过长途运输,最终到达上海该小区的菜鸟驿站(目标局域网的路由器)。

    • 关键一步来了 :菜鸟驿站的快递员现在需要把包裹送到"X号楼XXX室"。但他手头只有"张三"这个名字(IP地址),他并不知道张三具体在哪。于是他就在小区广播站(局域网)大喊:"张三(目标IP)的包裹到了,请出示一下你的身份证(MAC地址)来领取!"

    • 张三听到后,回应道:"我就是张三,我的身份证号是123456(目标MAC)!"

    • 快递员核对后,将包裹(数据帧)准确交给了张三。这个"大喊一声"和"回应"的过程,就是ARP协议

2、从技术层面详细解释

1. IP地址是"逻辑"的,MAC地址是"物理"的

  • IP地址 :由软件分配和管理,可以随时改变(如DHCP、手动设置)。它定义了设备在整个互联网或某个网络中的逻辑位置。路由器根据IP地址表进行跨网络寻路。

  • MAC地址 :固化在网卡的硬件中,全球唯一(理论上),通常不可改变。它定义了设备在本地物理网络(如一个以太网段) 中的唯一身份。

2. 数据包在局域网内的最终投递靠的是MAC地址

当数据包通过IP路由最终到达目标局域网后,局域网的交换机(Switch)工作在数据链路层 ,它不认识IP地址,只认识MAC地址 。交换机根据数据帧头部的目标MAC地址,查询自己的MAC地址表,将数据帧精准地从正确的端口发送出去,交给目标主机。

**没有MAC地址和ARP会发生什么?**想象数据包到了目标局域网的路由器,路由器只知道"我要把数据发给IP是192.168.1.105的设备"。但它无法直接"喊话",也不知道这个设备连接在交换机的哪个端口上。没有MAC地址,数据就无法在局域网内完成"最后一米"的精准投递。

3. 直接使用IP地址寻找为什么不行?

因为硬件通信的基础是MAC地址。以太网、Wi-Fi等底层网络技术标准在设计时,就是规定通信帧必须包含源和目标MAC地址。网络接口卡(NIC)在接收数据时,会先检查帧的目的MAC地址是否与自己的MAC地址匹配(或广播地址),如果匹配才接收并上传给上层协议(如IP协议),否则直接丢弃。这是一个硬件级别的过滤机制,效率极高。

IP协议是跑在以太网等底层协议之上的 。你可以把IP数据包想象成一封信,而以太网帧是装着这封信的信封 。你要寄信(IP数据包),必须把它装进一个信封(以太网帧)里,并在信封上写好物理地址(MAC地址),邮差(交换机)才能替你送达。ARP协议就是帮你查询"收信人物理地址"的那个过程。

3、总结对比

特性 IP地址 MAC地址 ARP协议
层次 网络层 (第3层) 数据链路层 (第2层) 连接网络层与链路层
作用范围 全局(跨越不同网络) 本地(同一物理网络内) 本地网络
用途 逻辑寻址,实现互联网范围的路径选择和寻址 物理寻址,实现局域网内设备的唯一标识和帧交换 地址解析,将已知的IP地址解析为对应的MAC地址
可变性 可变(由软件配置) 通常不可变(烧录在硬件中) 动态维护IP与MAC的映射表
类比 收件人姓名和完整邮政地址 收件人的身份证号和门牌号 在小区里喊楼问:"XXX室是谁?"

结论: IP地址解决了"数据包如何跨越千山万水找到目标网络"的问题,而MAC地址和ARP协议解决了"数据包到达目标网络后,如何准确找到那台具体设备"的最后一公里问题。两者各司其职,分层协作,共同构成了现代网络通信的基石。


二、问题二:局域网ip地址在什么情况下会改变呢?

局域网IP地址确实是会变的,而MAC地址(通常)是固定的。

1、局域网IP地址会改变的场景

1. DHCP动态分配(最常见)

  • 租约到期 :大多数家庭和公司网络使用DHCP服务器自动分配IP。分配的IP有"租期"(通常几小时到几天),到期后设备需要续租,可能获得不同的IP

  • 设备重新连接:设备断开网络一段时间后重新连接(如重启路由器、电脑休眠后唤醒),可能获得新IP。

  • DHCP服务器重启或配置变更:路由器重启或DHCP地址池调整后,设备重新获取IP时可能改变。

2. 网络环境切换

  • 移动设备:笔记本、手机在不同网络间切换(公司WiFi→家庭WiFi→咖啡馆WiFi),每个网络都会分配不同的局域网IP。

  • VPN连接:连接到VPN后,设备会在VPN网络中获取一个新的虚拟局域网IP。

3. 手动配置变更

  • 网络管理员或用户主动修改了设备的IP地址设置。

  • 网络重组或子网划分时,可能需要统一更改IP地址规划。

4. 网络设备更换

  • 更换路由器时,新路由器的默认局域网网段可能不同(如从192.168.1.x改为192.168.0.x)。

5. IP冲突时自动调整

  • 当网络中出现IP地址冲突时,DHCP服务器或设备自身可能自动更换IP。

2、为什么MAC地址是稳定的标识

特性 MAC地址 IP地址(局域网内)
分配方式 制造商固化在硬件中 动态分配(DHCP)或手动配置
变更频率 基本不变(除非虚拟化或手动修改) 经常变化
作用范围 全局唯一(理论) 本地唯一(在子网内)
设备身份 物理身份:标识"这是哪台设备" 逻辑位置:标识"设备在网络中的位置"

3、实际场景示例

想象一个办公室网络:

  • 周一 :你的电脑开机,DHCP分配IP 192.168.1.105

  • ARP表 中记录:192.168.1.105MAC: AA:BB:CC:11:22:33

  • 周二 :路由器重启,你的电脑重新获取IP,得到 192.168.1.112

  • 但你的网卡MAC地址 还是 AA:BB:CC:11:22:33

此时,如果其他电脑想访问你的电脑:

  1. 它们知道你的电脑叫"张三的电脑"(逻辑标识)

  2. 不知道张三今天的具体座位号(IP)是多少

  3. 通过ARP广播:"谁是MAC地址 AA:BB:CC:11:22:33?请告诉我你的IP"

  4. 你的电脑回应:"我在这里,我的IP是 192.168.1.112"

4、MAC地址"不变"的例外情况

虽然MAC地址设计为不变,但也有例外:

  • 虚拟化环境:虚拟机可能有虚拟MAC地址

  • 网络接口卡更换:更换网卡后MAC地址改变

  • 操作系统虚拟MAC:某些系统(如Windows)可能生成随机MAC地址以保护隐私(尤其在公共场所WiFi)

  • 手动修改:技术上可以修改MAC地址(MAC spoofing)

5、ARP的双向作用

值得注意的是,ARP协议不仅仅是"IP→MAC"的解析,它在实际网络中还承担着发现和更新网络拓扑的功能:

  1. 免费ARP:设备获取新IP后,会主动广播"我是MAC=X,我的IP现在是Y",帮助其他设备更新ARP表

  2. 冲突检测:如果两个设备响应同一个IP,说明有IP冲突

  3. MAC地址学习:交换机通过查看帧的源MAC地址来学习设备在哪个端口

6、核心要点总结

  1. 局域网IP易变:因为它只是临时的"网络位置编号",会因网络配置、连接状态等频繁改变

  2. MAC地址相对稳定:它是设备的"硬件身份证",伴随网卡生命周期

  3. 分层协作:IP地址负责"跨网络路由",MAC地址负责"本地精确投递",ARP是两者间的翻译官

  4. 动态网络管理:这种设计让网络管理更灵活,设备可以随意移动和重新连接,而不会影响基于MAC地址的底层通信

这就是为什么即使有IP地址,局域网内通信仍然需要MAC地址和ARP协议------MAC地址提供了在IP地址频繁变化的环境下,唯一可靠地标识物理设备的方法


三、问题三:局域网内的主机怎么连接到公网上的主机或者另一个局域网的主机,然后另一个主机又怎么返回相应的数据给我这个主机呢?思考其中的流程或者过程

这是一个非常棒的问题!它涉及到了NAT(网络地址转换)路由选择会话跟踪等核心技术。

1、详细通信流程(以访问网页为例)

第一阶段:从内网到公网(出站)

步骤1:应用层发起请求
  • 你在浏览器输入 http://example.com 并回车

  • 电脑操作系统将域名解析为公网IP(如 203.0.113.5

  • 浏览器构建HTTP请求,TCP/IP栈封装数据包

步骤2:数据包离开你的电脑

你的电脑数据包:

  • 源IP: 192.168.1.105(你的内网IP)

  • 源端口: 54321(随机选择的临时端口)

  • 目标IP: 203.0.113.5(服务器公网IP)

  • 目标端口: 80(HTTP标准端口)

  • 源MAC: 你的电脑MAC

  • 目标MAC: 路由器局域网端口MAC

你的电脑通过ARP查询到路由器MAC地址、数据包发送到家庭路由器

步骤3:路由器进行NAT转换(最关键的一步!)

路由器收到数据包后:

  1. 记录会话信息(创建NAT表项):

    复制代码
    NAT转换表记录:
    内部地址: 192.168.1.105:54321
    外部地址: 113.56.78.90:62000(路由器公网IP:新端口)
    目标地址: 203.0.113.5:80
    协议: TCP
    时间戳: 12:00:00
    • 路由器保留你的内网IP和端口与远程服务器的对应关系

    • 分配一个新的源端口号(62000)用于唯一标识这个会话

  2. 修改数据包头部源MAC和目标MAC也会相应更新为公网链路的MAC地址

    复制代码
    修改后的数据包:
    源IP: 113.56.78.90(路由器公网IP) ← 替换了你的内网IP!
    源端口: 62000 ← 替换了你的54321端口
    目标IP: 203.0.113.5(不变)
    目标端口: 80(不变)
  3. 转发到互联网

    • 路由器根据目标IP查询路由表

    • 通过ISP网络,经过多个路由器跳转,最终到达目标服务器

步骤4:服务器接收请求
复制代码
服务器看到的数据包:
源IP: 113.56.78.90(只知道是某个路由器的公网IP)
源端口: 62000
目标IP: 203.0.113.5(服务器自己的IP)
目标端口: 80
  • 服务器完全不知道 你的内网IP 192.168.1.105 的存在

  • 它以为请求来自IP 113.56.78.90 的端口 62000

第二阶段:从公网返回内网(入站)

步骤5:服务器发送响应
复制代码
服务器的响应数据包:
源IP: 203.0.113.5(服务器IP)
源端口: 80
目标IP: 113.56.78.90(路由器公网IP) ← 回应给路由器,不是你!
目标端口: 62000 ← 回应到路由器分配的那个端口
  • 服务器只是简单地将响应发送回请求的来源地址和端口
步骤6:路由器进行NAT反向转换

路由器收到响应数据包后:

  1. 查找NAT表

    • 查看数据包:目标IP是 113.56.78.90,目标端口是 62000

    • 在NAT表中查找匹配项:找到记录:外部地址 113.56.78.90:62000 → 内部地址 192.168.1.105:54321

  2. 反向转换数据包:目标MAC地址也会更新为你的电脑MAC地址

    复制代码
    修改后的数据包:
    源IP: 203.0.113.5(不变)
    源端口: 80(不变)
    目标IP: 192.168.1.105 ← 恢复为你的内网IP!
    目标端口: 54321 ← 恢复为你的原始端口
  3. 转发到内网

    • 路由器通过ARP查找 192.168.1.105 对应的MAC地址

    • 将数据包发送给你的电脑

步骤7:你的电脑接收响应
  • 你的电脑看到数据包:

    复制代码
    源IP: 203.0.113.5(服务器)
    源端口: 80
    目标IP: 192.168.1.105(自己的IP)
    目标端口: 54321(自己发请求时用的端口)
  • TCP/IP栈根据端口号 54321 找到对应的应用程序(你的浏览器)

  • 浏览器收到HTTP响应,渲染网页

2、跨局域网通信的特殊情况

如果目标也在另一个局域网内(如视频会议双方都在各自家庭网络后):

复制代码
你的NAT (A) ↔ 互联网 ↔ 对方的NAT (B)
192.168.1.x   公网       10.0.0.x

NAT穿透的挑战

双方都躲在NAT路由器后,彼此不知道对方的真实内网地址。解决方案:

  1. 打洞技术(UDP Hole Punching)

    • 双方先连接一个公网服务器(中继服务器)

    • 服务器记录双方的公网IP和端口映射

    • 交换信息,指导双方直接向对方的NAT映射地址发送数据

    • NAT设备允许外部数据进入(因为内部先发起了会话)

  2. 中继服务器

    • 所有数据通过公网服务器转发

    • 效率低但可靠(如TeamViewer的早期版本)

  3. UPnP/端口转发

    • 路由器自动或手动配置端口映射

    • 将特定端口直接映射到内网设备

3、NAT类型及其影响

NAT类型 特点 穿透难度
完全圆锥型 任何外部主机都可以通过映射端口访问内网主机 容易
IP限制圆锥型 只有特定IP的外部主机可以访问 中等
端口限制圆锥型 只有特定IP和端口的外部主机可以访问 困难
对称型 不同目标使用不同外部端口映射 最困难

4、关键技术总结

  1. NAT(网络地址转换)

    • 解决IPv4地址不足的核心技术

    • 隐藏内网结构,提供安全屏障

    • 维护NAT转换表实现双向通信

  2. 端口映射

    • 一个公网IP+端口 ↔ 一个内网IP+端口

    • 路由器通过端口号区分不同内网设备的会话

  3. 状态跟踪

    • NAT路由器记录每个出站连接的详细信息

    • 根据这些信息正确转发入站数据包

  4. TCP/UDP会话管理

    • 基于传输层协议(TCP/UDP)的端口号

    • 包含超时机制(无流量一段时间后删除NAT表项)

5、简化的生活比喻

想象一个大公司前台(路由器) 的来电系统:

  • 员工(内网设备) 没有直拨外线

  • 员工想打电话给客户

    1. 员工用分机105(内网IP)拨前台总机

    2. 前台记录:分机105 → 客户号码XXX

    3. 前台用公司总机(公网IP)拨出电话

    4. 客户看到来电显示是公司总机

  • 客户回电时

    1. 客户拨打公司总机

    2. 前台查记录:"这个客户之前和分机105通过话"

    3. 前台将电话转接到分机105

这就是为什么成千上万的家庭可以共享有限公网IP访问互联网,而互联网上的服务器只需要知道路由器的公网IP,不需要知道内网每个设备的存在。NAT技术是现代互联网能够容纳数十亿设备的关键发明!


四、总结:计算机网络四层模型

作用 :在同一物理网络 (如同一个局域网)内的两个相邻节点之间可靠地传输数据帧。

1. 核心功能

  • 帧封装与解封装:将网络层的 IP 数据包封装成帧;

  • 物理地址寻址 :使用 MAC 地址(48 位,全球唯一)标识设备;

  • 差错检测 :通过 CRC(循环冗余校验)检测传输错误;

  • 流量控制(部分协议支持);

  • 介质访问控制(MAC):解决多设备共享信道的冲突问题(如 CSMA/CD)。

2. 以太网(Ethernet)

  • 是最主流的数据链路层技术;

  • 包含物理层 + 数据链路层

    • 物理层:规定线缆类型(双绞线、光纤)、拓扑(星型)、速率(10M/100M/1G);

    • 数据链路层:定义帧格式、MAC 地址、CSMA/CD(已基本被交换机取代)。

3. 以太网帧格式(简化)

| 目的MAC (6B) | 源MAC (6B) | 类型 (2B) | 数据 (46--1500B) | FCS (4B) |

  • 类型字段

    • 0x0800 → IPv4

    • 0x0806 → ARP

  • 最小帧长 64 字节(含头部和 FCS),不足则填充;

  • MTU (Maximum Transmission Unit):1500 字节(指 IP 层 payload 最大值)。

4. 关键协议

  • ARP (Address Resolution Protocol):将 IP 地址 → MAC 地址(局域网内);

  • RARP(已淘汰):MAC → IP(被 DHCP 取代)。

注意:数据链路层只关心"下一跳"设备的 MAC,不关心最终目的地 IP。

2、网络层(Network Layer)

作用 :在复杂异构网络 中,为数据包选择一条从源主机到目的主机的端到端路径(路由)。

1. 核心协议:IP(Internet Protocol)

  • 无连接、不可靠:不保证送达、不保序、不重传;

  • 提供逻辑地址(IP 地址):32 位(IPv4),用于跨网络寻址。

2. IP 地址 vs MAC 地址

特性 IP 地址 MAC 地址
层级 网络层 数据链路层
作用范围 全球(公网)或子网(私网) 本地局域网
是否可变 可配置、可变 硬件固化(可 spoof)
路由依据 路由器根据 IP 转发 交换机根据 MAC 转发

3. IP 地址分类与私有地址

  • 公网 IP:全球唯一,由 ISP 分配;

  • 私有 IP(RFC 1918):

    • 10.0.0.0/8

    • 172.16.0.0/12

    • 192.168.0.0/16

  • 子网划分 :通过子网掩码(如 255.255.255.0)划分子网,提高地址利用率。

4. 路由过程(跨网段通信)

  1. 主机 A(192.168.1.10)要发包给 B(10.0.0.20);

  2. A 发现目标不在同网段 → 发给默认网关(路由器);

  3. 路由器查路由表,决定下一跳;

  4. 每一跳都通过 ARP 获取下一跳 MAC

  5. 最终到达目标网络,由目标主机接收。

5. NAT(网络地址转换)

  • 解决 IPv4 地址不足

  • NAPT (Port NAT):用 IP + 端口 映射多个内网主机到一个公网 IP;

  • 限制:破坏端到端通信,外部无法主动连接内网。

6. 其他重要协议

  • ICMP(Internet Control Message Protocol):

    • 用于网络诊断(如 ping = ICMP Echo Request/Reply);

    • 报告错误(如 TTL 超时、目标不可达)。

  • IP 分片

    • 当 IP 包 > 下一跳 MTU 时,路由器会分片;

    • 目的主机重组

    • IPv6 已取消中间分片,改由源端路径 MTU 发现(PMTUD)。

3、传输层(Transport Layer)

作用 :为两台主机上的应用程序提供端到端的通信服务。

1. 端口号(Port)

  • 16 位,标识主机上的具体进程(如 22=SSH, 80=HTTP);

  • 知名端口 (0--1023)、注册端口 (1024--49151)、动态端口(49152--65535)。

2. UDP(User Datagram Protocol)

  • 无连接、不可靠、低开销

  • 适用于:DNS、视频流、游戏、VoIP;

  • 特点:尽最大努力交付,无重传、无拥塞控制。

3. TCP(Transmission Control Protocol)

  • 面向连接、可靠、有序、基于字节流

  • 核心机制

    • 三次握手(建立连接)

    • 四次挥手(释放连接)

    • 确认应答 + 超时重传

    • 滑动窗口(提高吞吐)

    • 流量控制(接收方控制发送速度)

    • 拥塞控制(慢启动、拥塞避免、快重传、快恢复)

    • 延迟应答 + 捎带应答(提升效率)

4. 粘包问题(TCP 特有)

  • 原因:TCP 是字节流,无消息边界;

  • 解决方案

    • 固定长度消息;

    • 分隔符(如 \n);

    • 长度前缀(如 4 字节表示 body 长度)。

5. MTU 对传输层的影响

  • UDP:若 payload + IP + UDP 头 > MTU → IP 层分片 → 任一片丢失则整个包丢弃;

  • TCP:通过 MSS(Maximum Segment Size = MTU - 40)协商,避免 IP 分片。

4、应用层(Application Layer)

作用:直接为用户提供网络服务,实现具体业务逻辑。

1. 应用层协议设计

  • 自定义协议需定义:

    • 报文格式(Header + Body)

    • 编码方式(文本/二进制)

    • 错误处理、版本兼容等

2. HTTP(HyperText Transfer Protocol)

  • 基于 TCP,请求-响应模型;

  • 无状态(靠 Cookie/Session 维持状态);

  • 常见方法:GET、POST、PUT、DELETE;

  • HTTPS = HTTP + TLS(加密+认证)。

3. DNS(Domain Name System)

  • 作用 :将域名(如 www.baidu.com)解析为 IP 地址;

  • 工作流程

    1. 客户端查本地 hosts;

    2. 查本地 DNS 缓存;

    3. 本地 DNS 服务器(如 114.114.114.114)查询;

    4. 递归/迭代查询根域 → 顶级域(.com)→ 权威 DNS;

    5. 返回 IP,客户端缓存结果。

  • 记录类型:A(IPv4)、AAAA(IPv6)、CNAME(别名)、MX(邮件)等。

4. 其他常见协议

  • SMTP/POP3/IMAP(邮件)

  • FTP(文件传输)

  • SSH(安全远程登录)

  • DHCP(自动分配 IP)

5、关于"内网穿透"与"端口映射"的澄清(回应开头模糊描述)

"把本地 ssh 22 号端口映射到 frps 的 XXX 端口比如 8885",这属于 反向代理隧道 (Reverse Proxy Tunnel),是 应用层穿透方案 ,典型工具如 frp、ngrok

  • 原理

    1. 内网机器(client)主动连接公网服务器(frps);

    2. 建立长连接隧道;

    3. 外网用户访问 frps:8885 → frps 通过隧道将请求转发给内网 :22

  • 本质不是 NAT 打洞 ,而是 中继转发,100% 可通,但依赖公网服务器。

总结:四层协同工作示例(访问百度)

  1. 应用层:浏览器发起 HTTP GET 请求;

  2. 传输层:封装为 TCP 段(目标端口 80);

  3. 网络层:封装为 IP 包(目标 IP = 百度服务器 IP);

  4. 数据链路层

    • 若在同一网段 → ARP 获取 MAC,发帧;

    • 若跨网段 → 发给网关,网关逐跳路由;

  5. 百度服务器收到后,逐层解封装,返回 HTML;

  6. 浏览器渲染页面。

相关推荐
tech-share17 小时前
【无标题】IOMMU功能测试软件设计及实现 (二)
linux·架构·系统架构·gpu算力
de之梦-御风17 小时前
【视频投屏】最小可用(MVP)局域网投屏”开源项目架构
架构·开源·音视频
AI科技星17 小时前
电磁耦合常数Z‘的第一性原理推导与严格验证:张祥前统一场论的几何基石
服务器·人工智能·线性代数·算法·矩阵
时兮兮时17 小时前
Linux 服务器后台任务生存指南
linux·服务器·笔记
一条破秋裤17 小时前
数据中心能耗预测
服务器
无心水17 小时前
【分布式利器:腾讯TSF】3、服务注册发现深度解析:构建动态弹性的微服务网络
网络·分布式·微服务·架构·分布式利器·腾讯tsf·分布式利器:腾讯tsf
知识分享小能手17 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中的服务器 —— 知识点详解 (22)
服务器·学习·ubuntu
liulilittle17 小时前
OPENPPP2 Code Analysis Three
网络·c++·网络协议·信息与通信·通信
次元工程师!17 小时前
Sa-Token完成路由鉴权
java·服务器·前端