深入解读网络协议:原理与重要概念
目录
TCP/IP协议
IP地址
子网掩码
DNS
网关
网络端口
TCP/IP协议
TCP/IP是互联网通信的基础协议。它由两个部分组成:TCP负责数据的可靠传输,确保数据按序到达目标;IP负责寻址和路由,确保数据在网络中正确传递。TCP/IP协议簇涵盖了多个层次,其中最重要的四个层次是:应用层、传输层、网络层和链路层。
应用层: 在应用层,各种应用程序与网络进行交互。这包括诸如HTTP(用于Web浏览器)、SMTP(用于电子邮件)、FTP(用于文件传输)等协议。在这个层次,数据被转换成适当的格式,以便在网络上传输,同时也从网络接收的数据被转换为用户可以理解的形式。
传输层: 传输层负责数据的分段、传输和重组。主要使用两种协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的、面向连接的通信,确保数据按序到达目标并处理丢失的数据。UDP则是一种无连接的、不可靠的传输方式,适用于那些对传输可靠性要求较低的应用,如实时视频和音频流。
网络层: 网络层使用IP协议进行数据包的路由和寻址。IP协议负责将数据从源地址传递到目标地址,通过互联的路由器在不同的网络中传递数据。这也涉及到网络拓扑、路由选择以及数据包的分组和重新组装。
链路层: 链路层处理物理连接和数据帧的传输。它确保数据包在局域网或广域网的物理媒介中正确传输。链路层涉及硬件设备,如网卡、交换机等,以及物理传输媒介,如以太网、Wi-Fi等。
IP地址
IP地址是一个标识网络上设备的数值,类似于住址。在IPv4协议中,它由四个数字(0-255)组成,用点分隔,例如:192.168.1.1。在IPv6协议中,由更长的一串十六进制数字和冒号组成。
子网掩码
子网掩码用于确定IP地址中哪些部分表示网络,哪些部分表示主机。它与IP地址进行逻辑与操作,得到网络部分和主机部分。常见的子网掩码如:255.255.255.0,它表示前三个数字是网络部分,最后一个数字是主机部分。
当您在网络上通信时,子网掩码就像是一个过滤器,帮助您的设备判断哪些部分的IP地址是属于同一网络,哪些部分是属于不同设备的。它的作用就像是一个虚拟的"墙壁",将IP地址分成了两个部分:网络部分和主机部分。
DNS
DNS(域名系统,Domain Name System)是互联网上的一种系统,它用于将易于记忆的域名(例如www.example.com)转换为计算机能够理解的IP地址(例如192.168.1.1)。DNS在互联网通信中起到了重要的作用,类似于电话簿,帮助您找到所需的网络资源。
网关
网关是一种设备、系统或软件,用于连接不同的计算机网络,使它们能够相互通信和交换数据。网关的作用类似于一个数据交换的中转站,它能够理解不同网络间的通信协议、数据格式以及语言,从而实现数据在不同网络之间的传递。
在计算机网络中,网关的作用类似于这个门卫。它是一个特殊的设备,帮助不同的电脑网络连接在一起,就像连接两个房间一样。它负责确保数据从一个网络传输到另一个网络,并且可以帮助数据进行一些特殊的处理,比如将数据翻译成另一种语言(这就是协议转换),或者阻止一些不好的东西进入你的网络(就像门卫可以阻止不受欢迎的人进入一样)。
网络端口
网络端口是一个数字,用于标识一台计算机上的特定进程或服务。在一个计算机上,可以有多个进程或服务同时运行,每个进程或服务都需要通过不同的端口进行通信。端口号的范围是从0到65535,分为三类:
已知端口: 这些端口号范围从0到1023,用于标识一些常见的、被广泛接受的网络服务。
80:HTTP- 用于网页浏览、443:HTTPS - 加密的网页浏览、21:FTP - 用于文件传输、25:SMTP - 用于发送电子邮件、110:POP3- 用于接收电子邮件、143:IMAP- 用于接收电子邮件;
注册端口: 这些端口号范围从1024到49151,用于一些已注册的应用程序。开发人员可以自行申请使用这些端口,以避免与已知端口冲突。
动态/私有端口: 这些端口号范围从49152到65535,用于临时分配给客户端应用程序,使它们能够在本地网络通信中使用,而不会与已知端口或其他应用程序冲突。
8080端口: 这是一个常用的非标准端口,通常用于开发和测试目的。有时,它被用作HTTP代理服务器或一些网页服务器的备用端口,以避免与标准的80端口冲突。
3306端口: 这是MySQL数据库服务器的默认端口号。MySQL是一个流行的开源关系型数据库管理系统(RDBMS),它使用3306端口进行数据库连接和数据传输。
相关文章:
深入解读网络协议:原理与重要概念
目录 TCP/IP协议 IP地址 子网掩码 DNS 网关 网络端口 TCP/IP协议 TCP/IP是互联网通信的基础协议。它由两个部分组成:TCP负责数据的可靠传输,确保数据按序到达目标;IP负责寻址和路由,确保数据在网络中正确传递。TCP/IP协议簇…...
O型圈不同类型的应用指南
O型圈因其优异的密封性能而广泛应用于各个行业和应用。它们简单、经济高效且密封可靠,下面我们了解一下适合每种应用的特定类型的O型圈。 1、汽车行业 在汽车行业中,O型圈在密封发动机部件和防止机油或冷却剂泄漏方面发挥着至关重要的作用。常见应用包…...

Mysql 搭建MHA高可用架构,实现自动failover,完成主从切换
目录 自动failover MHA: MHA 服务 项目:搭建Mysql主从复制、MHA高可用架构 实验项目IP地址配置: MHA下载地址 项目步骤: 一、修改主机名 二、编写一键安装mha node脚本和一键安装mha mangaer脚本,并执行安装…...
Python:列表、元组、集合、字典,数据类型之间的 5 个差异
Python:列表、元组、集合、字典,数据类型之间的 5 个差异 1. 相同点2. 不同点2.1 排序2.2 索引2.3 可变性2.5 允许的类型2.4 允许重复 源码 这篇博客将介绍列表、元组、集合、字典(lists, tuples, sets, and dictionaries)数据类型…...
redis学习笔记(四)
文章目录 list(数组)(1)添加子成员(2)基于索引获取列表成员(3)获取列表的切片(4)获取列表的长度(5)按索引设置值(6&#x…...
-L和-rpath-link和-rpath
知识点 现代连接器在处理动态库时将链接时路径(Link-time path)和运行时路径(Run-time path)分开,用户可以通过-L指定连接时库的路径,通过-R(或-rpath)指定程序运行时库的路径,大大提…...

chatGPT小白快速入门培训课程-001
一、前言 本文是《chatGPT小白快速入门培训课程》的第001篇文章,全部内容采用chatGPT和chatGPT开源平替软件生成。完整内容大纲详见:《chatGPT小白快速入门课程大纲》。 本系列文章,参与: AIGC征文活动 #AIGC技术创作内容征文# …...

【Linux操作系统】深入理解Linux系统编程中的传入参数、传出参数和传入传出参数
在Linux系统编程中,函数的参数扮演着至关重要的角色。参数的传递方式可以分为传入参数、传出参数和传入传出参数。本文将详细解释这三种参数的概念、特点以及如何使用它们来实现灵活和高效的函数调用和数据传递。 文章目录 1. 解释和举例1.1 传入参数(i…...
(二)结构型模式:3、过滤器模式(Filter、Criteria Pattern)(C++示例)设计模式
目录 1、过滤器模式(Filter、Criteria Pattern)含义 2、过滤器模式应用场景 3、过滤器模式主要几个关键角色 4、C实现过滤器模式的示例 1、过滤器模式(Filter、Criteria Pattern)含义 (1)过滤器模式是…...

欧拉OS 使用 CentOS 7 yum repo
一、下载CentOS的repo的yum文件 任何基于CentOS的yum的repo 的url是这样的: 但欧拉OS输出这个变量为:openEuler 20.03 (LTS-SP3) 那明显欧拉想要使用这个yum的url找不到这个版本, 所以直接讲这个变量替换为 7, Centos 7的7 然后执行&…...

C进阶(1/7)——数据在内存中的存储
目录 前言: 一.数据类型介绍 类型基本归类: 整型家族: 浮点数家族: 构造类型: 指针类型: 空类型: 二.整型在内存中的存储 1.原码,反码,补码 2.大小端介绍 3.练…...

如何初始化Git仓库
如何将目录初始化为Git仓库 一级目录二级目录三级目录 一、准备1、安装 gh2、登录 二、初始化 Git 仓库 一级目录 二级目录 三级目录 一、准备 在这里,我们需要借助一个非常好用的工具,大家也可以参照官方文档进行阅读,下面介绍常用的…...
面试攻略,Java 基础面试 100 问(十三)
什么时候用 assert? assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,assertion 用于保证程序最基本、关键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布…...

将el-table中的展开列(expand)修改成slots自定义插槽
用过element-ui的有知道,展开这个箭头无法自定义,一点办法都没有,官方根本就没提供预留任何位置给你操作。 从下面图中,可以看到有两个插槽,默认插槽和表头插槽。 我们来扩展一个自定义插槽来实现我们想要的功能。…...
接入网概述
接入网概述 接入网基本概念接入网“最后一公里”解决方案数字用户线xDSL技术的发展与特点xDSL的局限性PON网络架构小结 接入网基本概念 在家里终端设备连接ONT然后进入接入网,这个接入网大概在2-20km左右,中间是通过光纤进行连接,是无源的&a…...

嵌入式要卷成下一个Java了吗?
不会! 说不会也是有自己的原因的 前几天写了一篇 Linux 和单片机的文章 不做Linux就没前途吗? 单片机容易,门槛低,无非不就是单片机技术知识点比较少,特别是面向过程式的编程也更容易掌握。嵌入式 Linux 是多任务式的&…...
项目中怎么做sql优化?
背景: 系统用着用着突然出现卡,数据加载慢。这个时候有可能是sql查询问题导致的。这个时候我们要怎么排查这个问题呢。如果排查后是sql问题的话我们应该怎么优化呢! 处理方案:第一步定位 可以开启MySQL的慢查询日志,设…...

第三章 图论 No.12欧拉回路与欧拉路径
文章目录 定义欧拉路径的性质:1123. 铲雪车边编号输出欧拉路径:1184. 欧拉回路点编号字典序最小输出欧拉路径:1124. 骑马修栅栏并查集判断有向图是否存在欧拉路径:1185. 单词游戏 定义 小学一笔画问题,每条边只经过一次…...
kubernetes(二)
文章目录 1. kubernetes常用资源1.1 deployment资源1.2 deployment升级和回滚1.3 tomcat连接mysql1.4 wordpress 2. kubernetes的附加组件2.1 kubernetes集群配置dns服务2.2 kubernetes的dns配置文件2.3 namespace命名空间2.4 kubernetes健康检查2.4.1 健康检查livenessprobo2.…...
MATLAB算法实战应用案例精讲-【深度学习】预训练模型ELECTRAPerformer
目录 ELECTRA 1.介绍 2.模型结构 2.1 Replaced Token Detection 2.2 权重共享 2.3 更小的生成器 3...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...