本篇文章为计算机网络相关知识点整理及扩展

基于B站计算机网络课程:https://www.bilibili.com/video/BV1p69tYZEvN/?spm_id_from=333.1007.top_right_bar_window_history.content.click

如有错误,还望大家不吝指正


URL(统一资源定位符)

是一个用于标识互联网上资源的地址,包括域名、协议号、端口号、路径等信息。

以课程链接为例:

  • 协议:https://(Hypertext Transfer Protocol Secure)是浏览器与服务器进行信息交流的规则。
  • 域名:www.bilibili.com  是一种网络服务在互联网上,供人类记忆的名字,通过DNS域名解析成服务器的IP地址供计算机识别。( com:顶级域名,表示这是一个商业网站。 bilibili:二级域名,代表公司或网站的名称。 www 子域名,通常表示一个网站的万维网服务)
  • 端口号:用于定向一种服务。https协议默认使用443端口,等同于www.bilibili.com:443
  • 路径:/video/BV1p69tYZEvN(在数据库中的唯一标识符)/  资源在服务器上具体存放的位置 通常对应服务器文件系统中的目录和文件名。
  • 查询参数:?spm_id_from=333.1007.top_right_bar_window_history.content.click:由键值对组成,用来向服务器传递额外的信息。(spm_id_from:b站自己的参数,用于追踪流量来源。333.1007[特定内部编码].top_right_bar_window_history.content.click :SPM[Source Product Model]值,告诉服务器这个点击来自哪个页面)

DSN域名解析

将域名解析为IP地址,步骤如下:

  • 你在浏览器中输入 www.bilibili.com,然后按下回车。
  • 你的计算机首先会向 本地 DNS 服务器(通常由你的网络服务提供商提供)发出查询请求。
  • 如果本地 DNS 服务器有 www.bilibili.com的 IP 地址缓存,它会立即返回给你。
  • 如果本地 DNS 服务器没有,它会向 根域名服务器 发出查询。根域名服务器会告诉它.com这个顶级域的地址。
  • 本地 DNS 服务器再向.com的顶级域名服务器发出查询,顶级域名服务器会告诉它 www.bilibili.com的权威域名服务器地址。
  • 最后,本地 DNS 服务器向bilibili.com 的权威域名服务器发出查询。这个服务器保存着 www.bilibili.com 的真实 IP 地址,并将其返回。
  • 本地 DNS 服务器将 IP 地址返回给你的电脑,并将其缓存起来以便下次快速访问。
  • 你的电脑现在拥有了 IP 地址,可以向该 IP 地址对应的服务器发起连接请求。

IP地址/MAC地址

IP地址:用于在互联网上唯一标识一台物理服务器的数字地址。一个IP地址可以对应多个域名

MAC地址:每个网卡都有一个全球唯一的物理地址,即 MAC 地址。这个地址用于在局域网(LAN)内部识别设备,确保数据包能够被准确地发送到正确的计算机。

  • IP 地址(Internet Protocol Address)

    • 作用层级: 在网络层(OSI 模型第三层)工作。

    • 功能: IP 地址用于在不同网络之间进行逻辑寻址和路由。它标识了设备所在的网络位置,是数据包能够跨越不同网络(例如从你的家庭网络到互联网上的服务器网络)传输的关键。IP 地址分为 IPv4 和 IPv6 两种版本。

    • 分配方式: IP 地址是可变的。它由网络管理员或互联网服务提供商(ISP)动态或静态分配给设备,当设备连接到不同的网络时,其 IP 地址通常会改变。

  • MAC 地址(Media Access Control Address)

    • 作用层级: 在数据链路层(OSI 模型第二层)工作。

    • 功能: MAC 地址用于在同一局域网(LAN)内部进行物理寻址。它标识了网络适配器(网卡)这一硬件设备,是数据包能够在同一网络中从一个设备直接发送到另一个设备的依据。

    • 分配方式: MAC 地址是固定的。它由网卡制造商在生产时烧录在网卡芯片中,具有全球唯一性,通常以16进制数表示,例如 00-1B-44-11-3A-B7

Host字段/端口号

当你在浏览器中输入一个网址并按下回车时,一个网络请求会经历一系列分层寻址过程,才能精准地找到目标资源。这个过程可以概括为:IP 地址负责在网络中定位到正确的物理服务器,而端口号Host 字段则在服务器内部,将请求精确地分发给对应的服务虚拟主机

端口号:是传输层(如 TCP 或 UDP 协议)的概念,用于在一台物理服务器上区分不同的软件服务。

  • 工作机制: 一台物理服务器的 IP 地址是唯一的,但它可能同时运行着多种服务,例如一个网页服务(Web Server)、一个数据库服务(Database Server)和一个文件传输服务(FTP Server)。每种服务都会绑定一个唯一的端口号。

  • 寻址过程: 当一个数据包(包含 IP 地址和端口号)到达物理服务器时,操作系统会首先接收这个数据包,然后检查其中的端口号。它会根据这个端口号,将数据包准确地传递给正在监听该端口的应用程序(即软件服务器)。

  • 示例: 网页服务通常绑定默认的 80 端口(HTTP)或 443 端口(HTTPS),数据库服务通常绑定 3306 端口(MySQL),而 FTP 服务通常绑定 21 端口。

Host 字段是应用层(HTTP 协议)的概念,用于在一个Web 服务器上区分不同的虚拟主机(Virtual Host)

  • 工作机制: 虚拟主机是 Web 服务器软件的一种配置,允许一台服务器托管多个域名。服务器会为每个域名(如 www.bilibili.comwww.google.com)配置一个独立的虚拟主机,并指定其对应的网站文件目录。

  • 寻址过程: 当浏览器向 Web 服务器发起 HTTP 请求时,它会在请求头(Header)中明确包含 Host: www.bilibili.com 这样的信息。Web 服务器收到请求后,会检查这个 Host 字段,根据其值将请求精确地分发到对应的虚拟主机配置,并返回该虚拟主机目录下的网站内容。

  • 示例: 尽管 www.bilibili.comwww.youtube.com 可能最终解析到同一个 IP 地址,但 Web 服务器会通过检查 Host 字段,将对 bilibili 的请求导向 Bilibili 网站的文件目录,将对 youtube 的请求导向 YouTube 网站的文件目录。

一个完整的网络请求流程,就是将这些概念串联起来的过程:

  1. DNS 解析(域名 → IP 地址): 浏览器将用户输入的域名(例如 www.bilibili.com)解析成一个 IP 地址,从而确定要访问哪台物理服务器

  2. 传输层寻址(IP 地址 + 端口号): 浏览器根据协议(如 HTTPS 默认使用 443 端口)将请求发送到该 IP 地址和对应的端口号。数据包到达服务器后,操作系统将请求传递给正在监听该端口的软件服务器(例如 Web 服务器)。

  3. 应用层分发(Host 字段): 软件服务器接收到请求,检查 HTTP 请求头中的 Host 字段。它会根据 Host 字段的值,将请求分发给对应的虚拟主机,并最终返回正确的网站内容。

虚拟主机

虚拟主机是在一台物理服务器上,通过软件配置,可以托管多个独立域名网络服务的一种技术。

工作流程:

  1. 服务器端配置:

    1. 管理员在一台物理服务器上安装并运行一个 Web 服务器软件(如 Apache 或 Nginx)。

    2. 在 Web 服务器的配置文件中,管理员会为每个域名创建独立的虚拟主机配置。

    3. 每个虚拟主机配置都包含该域名(如 www.example.com)和该服务文件所在的根目录(如 /var/www/example)、日志文件路径等信息。

  2. 客户端请求:

    1. 用户在浏览器中输入一个域名,例如 www.example.com

    2. 浏览器通过 DNS 域名解析,将这个域名转换成服务器的 IP 地址

    3. 浏览器向这个 IP 地址发起一个 HTTP/S 请求,并在请求头中明确包含 Host: www.example.com 这个字段。

  3. 服务器端处理:

    1. 物理服务器收到请求后,由于所有的域名都解析到了同一个 IP 地址,所有请求都会先到达这台服务器。

    2. 服务器内部的 Web 服务器软件会检查请求的 Host 字段

    3. 根据 Host 字段的值,Web 服务器会查找其配置文件中对应的虚拟主机

    4. 一旦匹配成功,服务器就知道应该去 /var/www/example 这个目录,找到并返回对应的网络服务内容(可以是网站文件、API 响应、图片等)。

HTTP 协议被广泛用于各种应用,因此一个虚拟主机可以用来提供:

  • 传统网站: 服务于 www.example.com,提供 HTML、CSS 和图片。

  • API 服务: 服务于 api.example.com,提供 JSON 或 XML 数据。

  • 文件存储服务: 服务于 files.example.com,提供文件上传和下载功能。

软件服务器

软件服务器是一个程序,它运行在硬件服务器上,负责处理用户的请求,然后把网站的内容发送给用户。最常见的软件服务器是 Web 服务器(如 Nginx、Apache)

“软件服务器”这个称谓有一个非常关键的限定:它必须提供服务给其他程序或设备

我们可以把程序分为两类:

  1. 客户端程序(Client): 这些程序通常是用户直接使用的,它们请求服务。比如你电脑上的浏览器、Word 文档、游戏客户端等。

  2. 服务器程序(Server): 这些程序在后台运行,它们提供服务。比如你访问的网站服务器、你玩游戏时连接的游戏服务器等。

ISP(网络服务提供商)

ISP 是你连接到互联网的门户桥梁。它们运营和维护着庞大的网络基础设施,包括服务器、路由器、光缆等,以确保用户能够:

  1. 接入互联网: ISP 为你分配一个唯一的 IP 地址,并提供物理连接(如光纤、DSL、同轴电缆或无线网络),让你能够将你的设备连接到他们的网络。

  2. 网络路由: ISP 的路由器负责将你的数据包(例如,你发出的网页请求)路由到互联网上的目的地服务器。

  3. 其他服务: 除了基本的网络接入,许多 ISP 还提供电子邮件服务、网页托管、云存储等增值服务

参考模型


2025/09/14:

Wi-Fi (IEEE 802.11)

Wi-Fi 是一个通俗的商业术语,它的技术标准是由 IEEE 802.11 协议族定义的。

  • IEEE (Institute of Electrical and Electronics Engineers) 是一个国际性的电子与电气工程协会,它制定了许多重要的技术标准。

  • 802.11 是该协会为无线局域网(WLAN)制定的技术标准族。

无线站 (Wireless Station)

无线站,通常简称为站(Station, STA),是指任何连接到 Wi-Fi 网络的设备。

  • 功能: 无线站负责发送和接收数据,并遵循 802.11 协议与网络中的其他设备进行通信。

  • 例子: 你的笔记本电脑、智能手机、平板电脑、智能手表等,只要它们连接了 Wi-Fi 网络,都可以被称为一个无线站。

 AP (Access Point)

  • 功能: 接入点是无线网络的核心设备,它就像一个桥梁,将无线设备(无线站)连接到有线网络上,例如你的家庭路由器就是集成了接入点功能的设备。

  • 作用: 接入点负责管理无线电波,处理来自无线站的数据,并将这些数据转发给互联网。它还负责广播网络名称(SSID)、进行身份验证和数据加密,以确保无线通信的安全

BSS (Basic Service Set)

BSS,即基本服务集,是 Wi-Fi 网络的基本组成单元。它定义了一组能够相互通信的无线设备。

  • 构成: 一个 BSS 由一个中央基站(接入点)和所有与该接入点关联的无线站组成。

  • 唯一标识: 每个 BSS 都有一个唯一的标识符,称为 BSSID (BSS Identifier)。在大多数情况下,BSSID 等同于接入点的 MAC 地址。

  • 网络名称: 虽然 BSSID 是唯一的物理标识符,但用户通常看到的是 SSID (Service Set Identifier),也就是我们常说的 Wi-Fi 网络名称,例如“MyHomeWiFi”。多个 BSS 可以共享同一个 SSID。

网关

网关(Gateway)是一个网络设备,用于连接两个或多个不同网络

网关的本质

网关工作在OSI模型的所有七层。与只在特定层工作的交换机(二层)或路由器(三层)不同,网关可以处理从物理层到应用层的所有协议。它的主要任务是协议转换,以及判断数据是否符合规范

网关的分类和作用

网关有多种类型,但它们都围绕着“连接不同网络”这一核心功能:

  1. 协议网关 这是最常见的类型,用于在两种完全不同的协议之间进行转换。例如,一个网关可以把TCP/IP协议的数据转换为Novell协议的数据。

  2. 默认网关 这是我们日常生活中最常接触到的网关。当你的设备要向一个不在本地网络的目标发送数据时,它会把数据包发送给默认网关。这个默认网关就是你的路由器,它负责将你的数据包转发到更广阔的互联网上。

  3. 应用网关 这种网关工作在应用层,可以理解为特定应用的“代理”。例如,防火墙就是一种应用网关,它会检查数据包中的应用层信息,以决定是否放行。

网关与路由器的区别

很多人会将网关和路由器混为一谈,但它们是有区别的:

  • 路由器:路由器只负责在不同网络之间进行数据转发,它主要依赖IP地址来决定路径。它只在网络层(第三层)工作。

  • 网关:网关的功能比路由器更广泛,它不仅能转发数据,还能在不同协议之间进行转换。所有能连接不同网络的设备,从广义上说都可以被称为网关。

        


碎碎念:原本的想法是把所有知识点整理到一篇文章里面,结果开始整理了才发现内容有点多,全放在一篇里过于臃肿,还是决定分成几篇文章来进行整理,后续有关概念的内容都会整理到这篇文章中(点个关注不迷路(¬‿¬))

以上, 跟着光。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/97922.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/97922.shtml
英文地址,请注明出处:http://en.pswp.cn/web/97922.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git的工作区域和文件结构

Git的工作区域和文件结构 1. Git的工作区域2. Git的文件结构 打开.git文件,.git的文件结构如下: objects 存放已经提交的文件,也就是使用 git commit 进行操作后的文件。 index 存放已暂存的文件,也就是使用了 git add 进行操作后…

前端开发易错易忽略的 HTML 的 lang 属性

前言本文主要记录:前端开发中,一个本人错了好几年,看似无关紧要的小错误:HTML 的 lang 属性设置。正文HTML 的 lang 属性在HTML中,lang属性用于指定文档的语言。这对于搜索引擎优化(SEO)、屏幕阅…

【GD32】 GPIO 超详细总结 (江科大风格课件版)

GD32 GPIO 超详细总结 (江科大风格课件版)第一部分:GPIO 是什么? 名称:GPIO General Purpose Input/Output (通用输入输出口)作用:MCU与外部世界交互的桥梁。通过程序控制引脚输出高、低电平,或者读取引脚的电平状态。…

《嵌入式硬件(八):基于IMX6ULL的点灯操作》

一、IMX6ULL启动代码.global _start_start:ldr pc, _reset_handlerldr pc, _undefine_handlerldr pc, _svc_handlerldr pc, _prefetch_abort_handlerldr pc, _data_abort_handlerldr pc, _reserved_handlerldr pc, _irq_handlerldr pc, _fiq_handler_undefine_handler:ldr pc, …

Spring Boot 调度任务在分布式环境下的坑:任务重复执行与一致性保证

前言在实际业务开发中,调度任务(Scheduled Task) 扮演着重要角色,例如:定时同步第三方数据;定时清理过期缓存或日志;定时发送消息或报告。Spring Boot 提供了非常方便的 Scheduled 注解&#xf…

剖析ReAct:当大模型学会“边想边做”,智能体的进化之路

你是否曾惊叹于大语言模型(LLM)强大的推理能力,却又对其“纸上谈兵”、无法真正与世界交互而感到遗憾?你是否好奇,如何让AI不仅能“说”,更能“做”,并且在做的过程中不断思考和调整&#xff1f…

小型无人机传感器仿真模型MATLAB实现方案

一、系统架构设计 无人机传感器仿真模型需集成多物理场建模与数据融合模块,典型架构包含: 动力学模型:六自由度刚体运动方程传感器模型:IMU/GNSS/视觉/气压计数学建模数据融合层:卡尔曼滤波/EKF算法实现环境交互模块&a…

hadoop集群

ssh-keygen -t rsassh-copyid 用户名远程服务器地址start-dfs.sh chown [选项] 新所有者[:新所属组] 目标文件/目录常用选项:-R:递归修改目录下所有文件和子目录的所有者(处理目录时常用)-v:显示修改过程的详细信息-c&…

大模型入门实践指南

大模型入门教程:从概念到实践 大模型(Large Language Model, LLM)是当前人工智能领域的核心技术,其本质是通过大规模数据训练、具备复杂语言理解与生成能力的深度学习模型。本教程将从基础概念出发,带你理解大模型的核心逻辑,并通过可直接跑通的代码示例,快速上手大模型…

猫头虎开源AI分享:一款CSV to Chat AI工具,上传CSV文件提问,它可以即时返回统计结果和可视化图表

猫头虎开源AI分享:一款CSV to Chat AI工具,上传CSV文件提问,它可以即时返回统计结果和可视化图表 摘要 本文将详细介绍一款开源工具——CSV to Chat AI,它允许用户上传CSV文件并通过自然语言提问,系统会即时返回统计…

洛谷P9468 [EGOI 2023] Candy / 糖果题解

[EGOI 2023] Candy / 糖果 思路 NNN 这么小基本就是瞎打的 DP 了。 设 dpi,jdp_{i,j}dpi,j​ 为操作 jjj 次后前 iii 项的和最大是多少。 考虑转移,我们可以枚举 iii 并考虑将其移动到 ppp 位置,总共操作 kkk 次,那么就有 dpp,kmin⁡(dpp,…

AI智能体(Agent)大模型入门【3】--基于Chailit客服端实现页面AI对话

目录 前言 安装chailint 创建中文语言环境 创建chailint页面客户端 前言 本篇章将会基chailit框架实现页面进行AI对话。 若没有自己的本地模型对话,需要查看专栏内的文章,或者点击链接进行学习部署 AI智能体(Agent)大模型入…

【高并发内存池——项目】定长内存池——开胃小菜

提示:高并发内存池完整项目代码,在主页专栏项目中 文章目录 提示:高并发内存池完整项目代码,在主页专栏项目中 先设计一个定长的内存池 一、为什么需要定长内存池? 🏢 传统内存分配的痛点 🏭 内…

6-获取磁盘分区信息

观察文件 获取server端电脑里面存在哪些盘符 int MakeDriveInfo() { //1>A 2>B &#xff08;原本属于软盘的 &#xff09;3>C ... 26>Zstd::string result;for (int i 1; i < 26; i) { //让其循环if (_chdrive(i) 0) //改变当前的驱动,_chdrive函数(c和c中)应…

每天认识一个电子器件之LED灯

LED选型核心参数一览表参数类别关键参数说明 & 为什么重要基本电气参数正向电压 (Vf)LED正常发光时两端的电压降。必须匹配您的电路电压。红/黄光约1.8-2.2V&#xff0c;蓝/绿/白光约2.8-3.6V。正向电流 (If)LED正常发光时所需的电流。决定了LED的亮度&#xff0c;必须用电…

Spring Boot 集成 Flowable 7.1.0 完整教程

一、引言 在企业级应用开发中&#xff0c;工作流管理是不可或缺的一部分。从简单的请假审批到复杂的业务流程&#xff0c;工作流引擎能够显著提升系统的灵活性和可维护性。​​Flowable​​ 作为一个轻量级、基于 Java 的开源工作流引擎&#xff0c;完美支持 ​​BPMN 2.0​​…

uniapp离线打包安卓apk详细教程,从HbuilderX新建项目到Android Studio详细配置(一)

目录 一、基础离线打包&#xff0c;无引入模块&#xff0c;无原生插件 1. HbuilderX新建项目&#xff0c;开发者后台申请证书和离线key 2.HbuilderX生成本地包 二、Android Studio配置 1.下载离线SDK&#xff0c;解压&#xff0c;SDK版本需要和HbuilderX 版本一致&#xf…

蓝牙鼠标频繁卡顿?一招解决 Win10/11 的 USB 省电机制干扰问题

蓝牙鼠标频繁卡顿&#xff1f;一招解决 Win10/11 的 USB 省电机制干扰问题 问题背景 在使用蓝牙鼠标时&#xff0c;很多用户会遇到以下问题&#xff1a; 鼠标移动卡顿、延迟明显偶尔断连&#xff0c;需重新配对尤其在笔记本合盖或待机后恢复时更明显 这些问题在 Windows 10/11 …

领码方案|Spring Boot 异步请求深度剖析:从原理到 AI 驱动的吞吐量优化

摘要 本文以“领码方案”为核心&#xff0c;深入剖析 Spring Boot 异步请求的底层原理、线程模型、三种常用实现方式&#xff08;Callable、WebAsyncTask、DeferredResult&#xff09;的运行机制与性能特征&#xff0c;并结合 AI 驱动的自适应线程池调优、云原生架构下的弹性伸…

C++基础(13)——list类的模拟实现

目录 一、接口函数和类总览 二、节点结构体的实现 构造函数 三、迭代器结构体的实现 迭代器模版参数 构造函数 重载运算符 重载--运算符 重载运算符 重载*运算符 重载->运算符 四、list的模拟实现 默认成员函数 构造函数 拷贝构造函数 赋值运算符重载函数 …