网络工程师 (22)网络协议
前言
网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合,它规定了通信时信息必须采用的格式和这些格式的意义。
一、基本要素
- 语法:规定信息格式,包括数据及控制信息的格式、编码及信号电平等。这是协议的基础,确保数据在传输过程中能够被正确解析。
- 语义:说明通信双方应当怎么做,用于协调与差错处理的控制信息。它定义了数据在通信过程中的含义和作用,确保双方能够正确理解彼此发送的信息。
- 定时(时序):定义了何时进行通信,先讲什么,后讲什么,讲话的速度等,如是采用同步传输还是异步传输。定时要素确保了通信的同步性,使得双方能够按照约定的顺序和时间进行数据传输。
二、类型与功能
应用层协议:位于网络协议栈的顶部,允许计算机应用程序之间进行通信。常见的应用层协议有:
- HTTP(超文本传输协议):用于在Web浏览器和网站服务器之间传递信息,是互联网上应用最为广泛的一种网络协议。
- HTTPS(超文本传输安全协议):在HTTP的基础上加入了SSL协议,用于安全的HTTP数据传输。
- FTP(文件传输协议):用于在网络上进行文件传输的一套标准协议。
- SMTP(简单邮件传输协议):用于电子邮件的发送。
- POP3(邮局协议版本3):主要用于支持使用客户端远程管理在服务器上的电子邮件。
- Telnet:远程登录服务的标准协议,允许用户在本地计算机上完成远程主机的工作。
传输层协议:负责在不同的计算机之间传输数据,以及在网络中传输数据时的错误检测和纠正。常见的传输层协议有:
- TCP(传输控制协议):一种面向连接的、可靠的、基于字节流的传输层通信协议。
- UDP(用户数据报协议):为应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法,更加灵活,适用于广播和多播通信。
网络层协议:负责寻址和路由,将数据包从源地址传输到目标地址。常见的网络层协议有:
- IP(互联网协议):为每个计算机分配唯一的地址,并控制数据包如何在计算机网络中传播和路由。
- ARP(地址解析协议):根据IP地址获取MAC地址的网络层协议。
- 路由协议:用于在多个子网之间路由数据包,确保数据包能够到达目标地址。
数据链路层协议:位于物理层和网络层之间,管理数据在物理媒介上的传输。常见的数据链路层协议有:
Ethernet:最常用的数据链路层协议之一,负责将数据传输到本地网络或广域网。物理层协议:定义了数据传输的物理特性,如传输介质、信号电平、比特率等。物理层协议是网络通信的基础,确保数据能够在物理媒介上正确传输。
三、工作原理
- 编码方式:网络协议通常使用二进制编码来传输信息,定义了如何将数据转换为二进制数据并在网络上传输。
- 端口号:网络协议使用端口号来标识应用程序,每个应用程序都需要一个唯一的端口号以便其他应用程序可以定位它并与它通信。
- 分组:为了在网络上高效传输数据,网络协议将数据分成小的数据包或分组。每个数据包都有一个标识符用于识别它并将其与其他数据包区分开来。
- 数据传输:网络协议通常使用两种方式来传输数据:面向连接和无连接。面向连接的协议在发送和接收数据之前建立连接,确保数据的可靠传输;无连接协议则不需要建立连接,直接将数据包发送到目标地址。
- 地址分配:网络协议使用各种地址格式来标识网络设备的位置,如IP地址和MAC地址等。这些地址确保了数据包能够正确路由到目标设备。
四、重要性
网络协议在计算机网络中扮演着至关重要的角色。它们确保了数据能够在不同的网络设备之间正确、高效地传输。没有网络协议的支持,计算机网络将无法正常工作。此外,随着技术的不断发展,新的网络协议不断涌现以满足日益增长的网络需求。这些新协议在提高网络性能、增强网络安全性等方面发挥着重要作用。
结语
有时间的时候没钱
有钱的时候没时间
这种日子我过够了
!!!

相关文章:
网络工程师 (22)网络协议
前言 网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合,它规定了通信时信息必须采用的格式和这些格式的意义。 一、基本要素 语法:规定信息格式,包括数据及控制信息的格式、编码及信号电平等。这是协议的基础,确…...
Linux之文件IO前世今生
在 Linux之文件系统前世今生(一) VFS中,我们提到了文件的读写,并给出了简要的读写示意图,本文将分析文件I/O的细节。 一、Buffered I/O(缓存I/O)& Directed I/O(直接I/O&#…...
如何在Windows中配置MySQL?
MySQL是一个广泛使用的开源关系型数据库管理系统,它支持多种操作系统平台,其中包括Windows。无论是开发者进行本地开发,还是管理员为应用程序配置数据库,MySQL都是一个非常流行的选择。本篇文章将详细介绍如何在Windows操作系统中…...
Kafka 入门与实战
一、Kafka 基础 1.1 创建topic kafka-topics.bat --bootstrap-server localhost:9092 --topic test --create 1.2 查看消费者偏移量位置 kafka-consumer-groups.bat --bootstrap-server localhost:9092 --describe --group test 1.3 消息的生产与发送 #生产者 kafka-cons…...
数学知识学习1
1、数论 1质数判定 i<n/i优化O(sqrt(n)) bool is_prime(int n){if(n<2)return false;for(int i2;i<n/i;i){if(n%i0)return false;} true; } 分解质因数 i<n/i优化O(sqrt(n)) // 定义一个函数 divide,接收一个整数 n 作为参数,用于分解质…...
【AI日记】25.02.08
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 探索 AI 应用探索周二有个面试,明后天打算好好准备一下,我打算主要研究下 AI 如何在该行业赋能和应用,以及该行业未来的发展前景和公司痛点&#…...
Lecture8 | LPV VXGI SSAO SSDO
Review: Lecture 7 | Lecture 8 LPV (Light Propagation Volumes) Light Propagation Volumes(LPV)-孤岛惊魂CryEngine引进的技术 LPV做GI快|好 大体步骤: Step1.Generation of Radiance Point Set Scene Representation 生成辐射点集的场景表示:辐射…...
Java中实现定时锁屏的功能(可以指定时间执行)
Java中实现定时锁屏的功能(可以指定时间执行) 要在Java中实现定时锁屏的功能,可以使用java.util.Timer或java.util.concurrent.ScheduledExecutorService来调度任务,并通过调用操作系统的命令来执行锁屏。下面我将给出一个基本的…...
Java集合List详解(带脑图)
允许重复元素,有序。常见的实现类有 ArrayList、LinkedList、Vector。 ArrayList ArrayList 是在 Java 编程中常用的集合类之一,它提供了便捷的数组操作,并在动态性、灵活性和性能方面取得了平衡。如果需要频繁在中间插入和删除元素…...
[实验日志] VS Code 连接服务器上的 Python 解释器进行远程调试
目录 0. 前言 1. 环境 2. 准备工作 2.1 安装VS Code 2.2 安装插件 2.3 配置远程服务器 2.4 修改设置 2.5 打开远程调试窗口 3. 调试代码 3.1 输密码 3.2 打开服务器文件夹 3.3 配置Python环境 3.4 调试Python代码 补充:使用调试控制台,查看…...
(14)gdb 笔记(7):以日志记录的方式来调试多进程多线程程序,linux 命令 tail -f 实时跟踪日志
(44)以日志记录的方式来调试多进程多线程程序 : 这是老师的日志文件,可以用来模仿的模板: (45)实时追踪日志的 tail -f 命令: (46) 多种调试方法结合起来用 …...
Sentinel的安装和做限流的使用
一、安装 Release v1.8.3 alibaba/Sentinel GitHubA powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) - Release v1.8.3 alibaba/Sentinelhttps://github.com/alibaba/Senti…...
四柱预测学
图表 后天八卦 十二地支不仅代表了时间,还代表了方位。具体来说: 子:代表正北方丑寅:合起来代表东北方卯:代表正东方辰巳:合起来代表东南方午:代表正南方未申:合起来代表西南方酉:代表正西方戌亥:合起来代表西北方四季-五行-六神…...
【个人开发】macbook m1 Lora微调qwen大模型
本项目参考网上各类教程整理而成,为个人学习记录。 项目github源码地址:Lora微调大模型 项目中微调模型为:qwen/Qwen1.5-4B-Chat。 去年新发布的Qwen/Qwen2.5-3B-Instruct同样也适用。 微调步骤 step0: 环境准备 conda create --name fin…...
sqli-labs靶场实录(二): Advanced Injections
sqli-labs靶场实录: Advanced Injections Less21Less22Less23探测注入点 Less24Less25联合注入使用符号替代 Less25aLess26逻辑符号绕过and/or过滤双写and/or绕过 Less26aLess27Less27aLess28Less28aLess29Less30Less31Less32(宽字节注入)Less33Less34Le…...
Linux系统 环境变量
环境变量 写在前面概念查看环境变量main函数的参数argc & argvenv bash环境变量 写在前面 对于环境变量,本篇主要介绍基本概念及三四个环境变量 —— PATH、HOME、PWD。其中 PATH 作为 “ 敲门砖 ”,我们会更详细讲解;理解环境变量的全局…...
机器学习-线性回归(最大似然估计)
机器学习任务可以分为两类: 一类是样本的特征向量 𝒙 和标签 𝑦 之间存在未知的函数关系𝑦 h(𝒙),另一类是条件概率𝑝(𝑦|𝒙)服从某个未知分布。最小二乘法是属于第一类,…...
【信息系统项目管理师-案例真题】2017上半年案例分析答案和详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题1】8 分【问题2】4 分【问题3】8 分【问题4】5 分试题二【问题1】10 分【问题2】8 分【问题3】6 分【问题4】5 分试题三【问题1】5 分【问题2】7 分【问题3】6 分【问题4】3 分试题一 阅读下列说明…...
CSP晋级组比赛生成文件夹与文件通用代码Python
快速生成文件夹与文件的脚本 import sys import osmyfiles sys.argv[1::] for f in myfiles:os.mkdir(f)os.system(f"touch {f}/{f}.in")os.system(f"touch {f}/{f}.out")os.system(f"touch {f}/{f}.cpp")with open("template.cpp",…...
正则表达式进阶(二)——零宽断言详解:\b \B \K \z \A
在正则表达式中,零宽断言是一种非常强大的工具,能够在不消费字符的情况下对匹配位置进行约束。除了环视(lookahead 和 lookbehind)以外,还有一些常用的零宽断言,它们用于处理边界、字符串的开头和结尾等特殊…...
开题报告一次通关密码:告别反复修改,虎贲等考 AI 重新定义高效开题
每一位本硕博学生都懂:开题不顺,论文全乱。开题报告是毕业论文的 “总设计图”,选题、框架、文献、技术路线只要一项不达标,就会被导师反复打回,浪费时间、消耗心态,甚至直接拖慢整个毕业节奏。可自己写开题…...
从零构建高效项目脚手架:自动化项目初始化与最佳实践
1. 项目概述:一个为开发者准备的“瑞士军刀”式工具集最近在GitHub上闲逛,发现了一个挺有意思的项目,叫jpKuji/clawstrate。乍一看这个名字,有点摸不着头脑,既不像常见的框架名,也不像某个具体的应用。点进…...
别再傻傻传文件了!用Java Base64把图片和PDF直接“塞”进HTML页面(附完整代码)
告别文件传输:Java Base64技术实现图片与PDF的HTML直嵌方案 在Web开发中,我们经常遇到需要将图片或PDF文档直接嵌入HTML页面的场景。传统做法通常需要先将文件上传到服务器,然后通过URL引用,这不仅增加了网络请求,还引…...
Diem存储协议终极指南:如何构建高性能分布式文件存储系统
Diem存储协议终极指南:如何构建高性能分布式文件存储系统 【免费下载链接】diem Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world. 项目地址: https://gitcode.com/gh_mirrors/di…...
OptiSearch:浏览器扩展实现AI与搜索引擎的无缝集成
1. 项目概述:当搜索遇到AI,一次查询,双重答案作为一名长期在信息检索和效率工具领域折腾的开发者,我一直在思考一个问题:我们每天在搜索引擎和AI聊天机器人之间要切换多少次标签页?搜索一个技术问题&#x…...
开源状态监控工具openclaw-status:从原理到部署的完整实践指南
1. 项目概述:一个开源状态监控工具的诞生最近在折腾一个开源项目,叫openclaw-status,是vibe-with-me-tools组织下的一个子项目。简单来说,这是一个用于监控和展示各种服务、应用、设备状态的工具。听起来是不是有点像那些商业化的…...
移动端数据抓取实战:基于Capacitor插件实现自动化采集
1. 项目概述:一个为移动端设计的“数据抓手”最近在做一个移动端的数据采集项目,需要从一些应用里提取特定的信息。直接写原生代码去解析页面结构,不仅开发周期长,而且一旦目标应用的界面更新,我们的代码就得跟着改&am…...
5 款实用漏洞扫描工具,网安从业者必备收藏
漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测的行为。 在漏洞扫描过程中,我们经常会借助一些漏扫工具,市面上漏扫工具众多,其中有一…...
【ElevenLabs API接入黄金手册】:20年AI语音工程师亲授5大避坑要点与3小时极速上线实战路径
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs API接入黄金手册:开篇导论与核心价值定位 ElevenLabs 以行业领先的语音自然度、情感表现力与多语言支持能力,成为生成式AI语音服务的事实标准。其API并非仅提供TTS基…...
Rust异步运行时rustclaw:高性能任务调度与并发编程实践
1. 项目概述与核心价值最近在折腾一个需要处理大量网络请求和并发任务的后台服务,性能瓶颈卡得我有点难受。传统的异步框架用起来总觉得不够“爽利”,要么是内存占用高,要么是并发模型复杂,调试起来像在走迷宫。就在我四处翻找有没…...
