网络基础概念:从菜鸟到入门

 

前言:快递小哥的故事

想象一下你要给朋友寄个礼物,这个过程其实和网络通信非常相似:
1. 你需要知道朋友的”地址“(IP地址)
2. 要注明是送到他家大门还是物业代收(端口号)
3. 要选择快递公司并遵守他们的包装要求(协议)
4. 快递员会经过多个中转站(路由器)
5. 朋友收到后要拆包装(分用)

下面我们就用这种生活化的比喻,把网络通信的那些"行话"讲明白。

一、IP地址:网络世界的"家庭住址"

1.1 什么是IP地址?

就像每个家庭都有唯一的门牌号,网络上每台设备都有一个"身份证号"——IP地址。比如你手机连接WiFi后获得的"192.168.1.5",这就是它的临时身份证。

1.2 IP地址的特点

  • 唯一性:在同一网络中,每个设备的IP地址必须是唯一的
  • 分层结构:由网络部分和主机部分组成
  • IPv4:32位地址,通常表示为四个十进制数(如192.168.1.1)
  • IPv6:128位地址,解决IPv4地址耗尽问题(如2001:0db8:85a3::8a2e:0370:7334)

1.3 IP地址的分类

  • 公有IP:全球唯一的可路由地址
  • 私有IP:局域网内部使用(如192.168.x.x,10.x.x.x,172.16.x.x-172.31.x.x)
  • 特殊IP:如127.0.0.1(本地回环地址)

1.4 现实中的例子

IPv4地址(老式地址):好比"北京市朝阳区建国路88号"
IPv6地址(新式地址):好比"中国北京市朝阳区建国路88号丽思卡尔顿酒店1808室"(更详细,解决了地址不够用的问题)

1.5 特殊IP小知识

127.0.0.1:叫"回环地址",就像你写封信给自己,不用出门就又回到了自己手里
192.168.x.x:相当于小区内部的楼号门牌,只在你的家庭网络内有效

 

 二、端口号:服务的专用通道(你家的不同收件人)

2.1 端口是什么?

端口号是16位的数字(0-65535),用于标识主机上的特定服务或应用程序。

常见端口号:

  • 20/21:FTP文件传输 
  • 22:SSH安全登录
  • 25:SMTP邮件发送
  • 53:DNS域名解析
  • 80:HTTP网页浏览
  • 443:HTTPS安全网页浏览

端口类型

  • 知名端口(1-1023):分配给系统服务
  • 注册端口(1024-49151):分配给用户进程
  • 动态/私有端口(49152-65535):临时使用

 一台服务器可以同时运行多个服务,就像你家可以同时收快递、收外卖、收挂号信,因为它们走的是不同的"门"(端口)。

三、协议:通信的规则手册(快递公司的操作规程)

 3.1 协议是什么?

协议定义了网络设备之间通信的规则和标准。
就像不同的快递公司有不同的规矩:
顺丰(TCP:必须签收才算送达(可靠传输)
普通快递(UDP:扔快递柜就算送达(可能丢件)

3.2 常见网络协议

  • TCP(传输控制协议):面向连接,可靠传输

  • UDP(用户数据报协议):无连接,高效但不保证可靠

  • IP(互联网协议):负责寻址和路由

  • HTTP(超文本传输协议):网页浏览基础

  • FTP(文件传输协议):文件上传下载

  • SMTP/POP3/IMAP:电子邮件相关协议

协议特点适用场景
TCP可靠、速度慢网页、邮件
UDP可能丢包、速度快视频通话、游戏
HTTP明文传输普通网页
HTTPS加密传输网银、支付

 四、协议分层:复杂问题的模块化解决(快递的包装过程)

4.1 OSI七层模型(寄快递的7个步骤)

应用层

用户接口(HTTP、FTP、SMTP)

生成数据

写好一封信
表示层树格式化转换、加密把信装进信封
会话层建立和管理会话决定用哪家快递
传输层端到端的连接(TCP、UDP)选择顺丰次日达
网络层IP地址写收件地址
数据链路层帧传输、MAC地址快递员取件
物理层比特流传输(光缆/网线)

快递车运输

4.2 TCP/IP四层模型(简化版快递流程)

应用层整合了OSI的上三层

打包礼物

传输层TCP/UDP选择快递公司
网络层IP协议写地址
链路层对应OSI的物理层和数据链路层实际运输

五、 封装与分用:数据的包装与拆解

封装(Encapsulation):

当数据从上层向下层传递时,每层都会添加自己的头部(有时还有尾部)信息。

封装过程示例(以HTTP请求为例):

  1. 应用层:生成HTTP数据

  2. 传输层:添加TCP头部(端口号等)

  3. 网络层:添加IP头部(IP地址等)

  4. 数据链路层:添加帧头和帧尾(MAC地址等)

分用(Demultiplexing):

接收方收到数据后,从底层向上层逐层解析和去除头部信息,最终将原始数据交给目标应用程序。

六、客户端与服务器:网络交互的两端(顾客和商家的关系)

客户端(Client):

  • 发起请求的一方

  • 通常是终端用户设备(PC、手机等)

  • 示例:浏览器、邮件客户端、游戏客户端

服务器(Server):

  • 响应请求并提供服务

  • 通常具有高性能和稳定性

  • 示例:Web服务器、邮件服务器、游戏服务器

请求(Request):

客户端向服务器发送的要求,包含:

  • 请求方法(GET、POST等)

  • 请求的资源路径

  • 协议版本

  • 头部信息

  • 可能的正文内容

响应(Response):

服务器对请求的回复,包含:

  • 状态码(200成功、404未找到等)

  • 状态描述

  • 响应头部

  • 响应正文(如HTML页面)

客户端:就像去餐厅吃饭的你
服务器:就像后厨的厨师团队
请求:你点的菜单
响应:厨师做好的菜

七、完整通信流程:网购的全过程

以访问网站为例,假设你在浏览器输入"www.example.com"

1、DNS解析:将域名转换为IP地址

  • 检查本地缓存
  • 查询DNS服务器

查地址簿(DNS解析)
-问小区物业:"example.com"在哪? 
-物业回答:"在203.0.113.1"

2、建立TCP连接(三次握手):

  • 客户端发送SYN
  • 服务器回复SYN-ACK
  • 客户端发送ACK

打电话确认(TCP三次握手)
-你:"喂,能听到吗?"
-对方:"能听到,你那边呢?"
-你:"我也OK,开始说吧"

3、发送HTTP请求

  • 构建HTTP报文
  • 通过TCP连接发送

下订单(HTTP请求)
- "我要首页内容"

4、服务器处理请求

  • 解析请求
  • 获取或生成响应内容

商家备货(服务器处理)
-找网页文件
-准备图片等资源

5、浏览器渲染页面

  • 解析HTML
  • 加载引用的资源(CSS、JS、图片等)

收货验货(浏览器渲染)
 - 拆包装(解析HTML)
 - 组装零件(加载CSS/JS)
 - 最终呈现完整页面

6、关闭TCP连接(四次挥手

结束通话(TCP四次挥手)
 - 你:"我说完啦"
 - 对方:"好的我知道了"
 - 对方:"我也说完了"
 - 你:"好的再见"

 八、其他重要概念

数据包(Packet):

网络传输的基本单位,包含头部和数据部分。

MAC地址:

硬件地址,用于局域网内设备识别。

路由器与交换机:

  • 路由器:连接不同网络,基于IP地址转发

  • 交换机:局域网内设备连接,基于MAC地址转发

NAT(网络地址转换):

将私有IP转换为公有IP的技术,解决IPv4地址不足问题。

防火墙:

网络安全系统,监控和控制进出网络的流量。

从IP地址到协议分层,从客户端服务器模型到完整的通信流程,每个环节都在确保数据能够准确、高效地传输。随着技术的不断发展,这些基础概念也在不断演进,但它们背后的基本原理始终保持不变。

 

 

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

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

相关文章

23种设计模式-行为型模式之中介者模式(Java版本)

Java 中介者模式(Mediator Pattern)详解 🧠 什么是中介者模式? 中介者模式是一种行为型设计模式,它通过定义一个中介者对象来封装一组对象之间的交互。中介者使得各个对象不需要显式地知道彼此之间的关系&#xff0c…

【Redis】基础4:作为分布式锁

文章目录 1. 一些概念2. MySQL方案2.1 方案一:事务特性2.1.1 存在的问题2.1.2 解决方案 2.2 方案二:乐观锁2.3 方案三:悲观锁 3. Redis3.1 实现原理3.2 实现细节3.2.1 问题1:持有期间锁过期问题3.2.2 问题2:判断和释放…

深度学习---框架流程

核心六步 一、数据准备 二、模型构建 三、模型训练 四、模型验证 五、模型优化 六、模型推理 一、数据准备:深度学习的基石 数据是模型的“燃料”,其质量直接决定模型上限。核心步骤包括: 1. 数据收集与标注 来源:公开数据集…

阿里云 OpenManus 实战:高效AI协作体系

阿里云 OpenManus 实战:高效AI协作体系 写在最前面初体验:快速部署,开箱即用 真实案例分享:从单体开发到智能良好提示词过程展示第一步:为亚马逊美国站生成商品描述第二步:为eBay全球站生成商品描述结果分析…

Kubernetes》》k8s》》explain查 yaml 参数

在创建json 和yaml 时,我们可能不知道具体的参数该怎么写。同样 我们可以通过explain这个 命令来查看 每个参数具体的作用与写法 # 查看 pod类性有哪些参数 kubectl explain pod# 查看pod中 spec下面有哪些参数 kubectl explain pod.spec

从零构建Dagster分区管道:时间+类别分区实战案例

分区是Dagster中的核心抽象概念,它允许我们管理大型数据集、处理增量更新并提高管道性能。本文将详细介绍如何创建和实现基于时间和类别的分区资产。 什么是分区? 分区是将数据集划分为更小、更易管理的部分的技术。在Dagster中,分区可以基于…

Cursor:AI时代的智能编辑器

在开发者社区掀起热潮的Cursor,正以破竹之势重塑编程工具格局。这款基于VS Code的AI优先编辑器,不仅延续了经典IDE的稳定基因,更通过深度集成的智能能力,将开发效率推向全新维度。2023年Anysphere公司获得的6000万美元A轮融资&…

SpringMVC再复习1

一、三层架构 表现层(WEB 层) 定义 :是应用程序与客户端进行交互的最外层,主要负责接收用户的请求,并将处理结果显示给用户。 作用 :在 Spring MVC 中,表现层通常采用 MVC 设计模式来构建。 技…

Centos 7系统 宝塔部署Tomcat项目(保姆级教程)

再看文章之前默认已经安装好系统,可能是云系统,或者是虚拟机。 宝塔安装 这个比较简单,参考这个老哥的即可: https://blog.csdn.net/weixin_42753193/article/details/125959289 环境配置 进入宝塔面板之后会出现环境安装&…

Nginx核心功能

目录 一:基于授权的访问控制 1:基于授权的访问控制简介 2:基于授权的访问控制步骤 (1)使用htpasswd 生成用户认证文件 (2)修改密码文件权限为400,将所有者改为nginx,…

AnimateCC基础教学:漫天繁星-由DeepSeek辅助完成

1.界面及元件抓图: 2.核心代码: // 初始化设置 var stars []; var stars2 []; var numStars 100; var stageWidth stage.canvas.width; var stageHeight stage.canvas.height; console.log(stageWidth, stageHeight);// 创建星星函数 function createStar() {var star n…

通过DeepSeek大语言模型控制panda机械臂,听懂人话,拟人性回答。智能机械臂助手又进一步啦

文章目录 前言环境配置运行测试报错 前言 通过使用智能化的工作流控制系统来精确操控机械臂,不仅能够基于预设算法可靠地规划每个动作步骤的执行顺序和力度,确保作业流程的标准化和可重复性,还能通过模块化的程序设计思路灵活地在原有工作流中…

分享一款免费的 AI 工作流平台

分享一款 AI 工作流/任务流平台,通过直观的流程图设计,轻松实现复杂业务流程的自动化与可视化,无缝集成 AI 大模型、AI 生图、数据库、条件分支、并行节点、自定义任务节点等等。 效果图: 官网体验地址:https://www.…

前端开发本地配置 HTTPS 全面详细教程

分为两步:生成证书、本地服务配置使用证书一、HTTPS 的基本概念 HTTPS 是一种安全的 HTTP 协议,它通过 SSL/TLS 对数据进行加密,确保数据在传输过程中不被窃取或篡改。在前端开发中,某些功能(如 Geolocation API、Web…

day10 python机器学习全流程实践

在机器学习的实践中,数据预处理与模型构建是极为关键的环节。本文将回顾数据预处理的全流程,并基于处理后的数据完成简单的机器学习建模与评估,暂不涉及复杂的调参过程。 一、预处理流程回顾 机器学习的成功,很大程度上依赖于高…

4月28号

初认web前端: web标准: HTML:

【Linux系统】systemV共享内存

system V共享内存 在Linux系统中,共享内存是一种高效的进程间通信(IPC)机制,它允许两个或者多个进程共享同一块物理内存区域,这些进程可以将这块区域映射到自己的虚拟地址空间中。 共享内存区是最快的IPC形式。一旦这…

(七)RestAPI 毛子(Http 缓存/乐观锁/Polly/Rate limiting/异步大文件上传)

文章目录 项目地址一、Http Cache1.1 服务注册1.2 Validation with ETag1. 添加ETagMiddleware中间件2. 创建内存ETag存储器3. 服务注册4. 测试二、使用ETag实现乐观锁2.1 添加乐观锁方法2.2 修改Controller2.3 测试乐观锁三、Rate Limiting3.1 添加速率控制服务1. 在Program里…

2025.4.26_STM32_SPI

1.SPI简介 2.硬件电路 所有SPI设备的SCK(时钟)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)分别连在一起。SCK线只能被主机控制,和I2C相同。 主机另外引出多条SS控制线,分别接到各从机的SS引脚 (SS不用的时候为高电平,当主机需要选中某…

JAVA:单例模式

单例模式是设计模式之一 设计模式,就像古代打仗,我们都听过孙子兵法,把计谋概括下来弄成一种模式,形成一种套路。 软件开发中也有很多场景,多数类似的问题场景,解决方案就形成固定的模式,单例…