网络协议从入门到底层原理学习(一)—— 简介及基本概念
文章目录
- 网络协议从入门到底层原理学习(一)—— 简介及基本概念
- 一、简介
- 1、网络协议的定义
- 2、网络协议组成要素
- 3、广泛的网络协议类型
- 网络通信协议
- 网络安全协议
- 网络管理协议
- 4、网络协议模型对比图
- 二、基本概念
- 1、网络互连模型
- 2、计算机之间的通信基础
网络协议从入门到底层原理学习(一)—— 简介及基本概念
一、简介
1、网络协议的定义
什么是网络协议?
网络协议是由定义网络上两个或多个设备之间通信的规则、过程和格式组成的正式标准和策略
它们确保计算机网络设备可以使用一种通用语言传输和接收数据,而不管它们的设计、硬件或基础设施如何。
网络协议管理及时、安全、管理的数据或网络通信的端到端过程。
它们可以内置到硬件或软件中,而且它们是如此重要,以至于在实践中,每个网络的使用都依赖于网络协议来进行通信和连接。
简单来讲:
网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
网络协议是由几个组织根据某些行业标准开发和发布的。
最重要的包括:
- 万维网联盟(W3C)
- 国际电信联盟(ITU)
- 国际标准化组织(ISO)
- 互联网工程专责小组(IETF)
- 电气和电子工程师协会(IEEE)
2、网络协议组成要素
网络协议是由三个要素组成:
(1) 语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。
(2) 语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。
(3) 时序。时序是对事件发生顺序的详细说明。(也可称为“同步”)。
人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。
3、广泛的网络协议类型
网络通信协议
通信协议允许网络设备之间进行基本的数据通信。 它们的用途包括在计算机之间或通过互联网传输文件,交换基于文本的消息,以及在路由器和外部或物联网设备之间建立通信。
通信协议的例子有:
- 蓝牙协议
- FTP
- TCP / IP
- 和HTTP
网络安全协议
安全协议通过保证在网络上传输的数据不会被未经授权的用户访问来实现网络通信的安全性。
安全性是通过各种方法建立的,例如通过使用密码、身份验证协议或数据加密。
在设备之间的传输过程中可以对数据进行加密和保护,可以拒绝未知或未经授权的设备或用户访问。
安全协议的例子包括:
- HTTPS
- SSL
- SSH
- SFTP
网络管理协议
网络管理协议通过定义操作网络所需的过程来提供网络治理和维护。
它们应用于在给定网络中运行的所有设备上,如服务器、路由器和计算机,以有效地协调它们。
网络管理协议保证了每台设备之间以及与网络本身之间的连接,并保证了这些连接的稳定性。
它们通常用于故障排除和评估网络连接的质量。
网络管理协议的例子包括:
- SNMP
- ICMP
4、网络协议模型对比图
二、基本概念
1、网络互连模型
为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型
- OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构
请求过程
网络分层
2、计算机之间的通信基础
需要得知对方的 IP 地址
最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收
-
如果网卡发现数据的目标 MAC 地址是自己,就会将数据传递给上一层进行处理
-
如果网卡发现数据的目标 MAC 地址不是自己,就会将数据丢弃,不会传递给上一层进行处理
计算机之间的连接方式 ——网线直连
需要用交叉线(不是直通线)
计算机之间的连接方式—— 同轴电缆(Coaxial)
特点:
-
半双工通信
-
容易冲突
-
不安全
-
中间断了,整个都瘫了
计算机之间的连接方式——集线器( Hub )
特点:
-
半双工通信
-
容易冲突
-
不安全
-
跟同轴电缆一样:没有智商
计算机之间的连接方式—— 网桥(Bridge)
特点:
- 能够通过自学习得知每个接口那侧的 MAC 地址
- 从而起到隔绝冲突域的作用
计算机之间的连接方式 —— 交换机(Switch)
特点:
-
相当于接口更多的网桥
-
全双工通信
-
比集线器安全
计算机之间的连接方式 —— 路由器(Router)
特点:
-
网线直连、同轴电缆、集线器、网桥、交换机
- 连接的设备必须在同一网段
- 连接的设备处在同一广播域
-
路由器
- 可以在不同网段之间转发数据
- 隔绝广播域
相关文章:

网络协议从入门到底层原理学习(一)—— 简介及基本概念
文章目录 网络协议从入门到底层原理学习(一)—— 简介及基本概念一、简介1、网络协议的定义2、网络协议组成要素3、广泛的网络协议类型网络通信协议网络安全协议网络管理协议 4、网络协议模型对比图 二、基本概念1、网络互连模型2、计算机之间的通信基础…...

centos密码过期导致navicat无法通过SSH登录阿里云RDS问题
具体错误提示:2013 - Lost connection to server at "hand hake: reading initial communication packet, system error: 0 解决办法:更新SSH服务器密码...

对于pytorch和对应pytorch网站的探索
一、关于网站上面的那个教程: 适合PyTorch小白的官网教程:Learning PyTorch With Examples - 知乎 (zhihu.com) 这个链接也是一样的, 总的来说,里面讲了这么一件事: 如果没有pytorch的分装好的nn.module用来继承的话,需要设计…...
和AI聊天:动态规划
动态规划 动态规划(Dynamic Programming,简称 DP)是一种常用于优化问题的算法。它解决的问题通常具有重叠子问题和最优子结构性质,可以通过将问题分解成相互依赖的子问题来求解整个问题的最优解。 动态规划算法主要分为以下几个步…...
微信小程序——使用插槽slot快捷开发
微信小程序的插槽(slot)是一种组件化的技术,用于在父组件中插入子组件的内容。通过插槽,可以将父组件中的一部分内容替换为子组件的内容,实现更灵活的组件复用和定制。 插槽的使用步骤如下: 在父组件的wx…...

大数据技术之Hadoop:使用命令操作HDFS(四)
目录 一、创建文件夹 二、查看指定目录下的内容 三、上传文件到HDFS指定目录下 四、查看HDFS文件内容 五、下载HDFS文件 六、拷贝HDFS文件 七、HDFS数据移动操作 八、HDFS数据删除操作 九、HDFS的其他命令 十、hdfs web查看目录 十一、HDFS客户端工具 11.1 下载插件…...

静态路由配置实验:构建多路由器网络拓扑实现不同业务网段互通
文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. 配置 IP 地址2. 按照需求配置静态路由,实现连接 PC 的业务网段互通 摘要: 本实验旨在通过配置网络设备的IP地址和静态路由,实现不同业务网段之间的互通。通过构建一组具有…...

Python函数的概念以及定义方式
一. 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 二. 什么是函数? 假设你现在是一个工人,如果你实现就准备好了工具,等你接收到任务的时候, 直接带上工…...

【数学建模竞赛】超详细Matlab二维三维图形绘制
二维图像绘制 绘制曲线图 g 是表示绿色 b--o是表示蓝色/虚线/o标记 c*是表示蓝绿色(cyan)/*标记 ‘MakerIndices,1:5:length(y) 每五个点取点(设置标记密度) 特殊符号的输入 序号 需求 函数字符结构 示例 1 上角标 ^{ } title( $ a…...

2023国赛数学建模E题思路代码 黄河水沙监测数据分析
E题最大的难度是数据处理,可以做一个假设,假设一定时间内流量跟含沙量不变,那么我们可以对数据进行向下填充,把所有的数据进行合并之后可以对其进行展开特性分析,在研究调水调沙的实际效果时,可以先通过分析…...

窗口延时、侧输出流数据处理
一 、 AllowedLateness API 延时关闭窗口 AllowedLateness 方法需要基于 WindowedStream 调用。AllowedLateness 需要设置一个延时时间,注意这个时间决定了窗口真正关闭的时间,而且是加上WaterMark的时间,例如 WaterMark的延时时间为2s&…...
发送HTTP请求
HTTP请求是一种客户端向服务器发送请求的协议。它是基于TCP/IP协议的应用层协议,用于在Web浏览器和Web服务器之间传输数据。 HTTP请求由以下几个部分组成: 请求行:包含请求方法、请求的URL和HTTP协议的版本。常见的请求方法有GET、POST、PUT、…...

高等工程数学张韵华版第四章课后题答案
下面答案仅供参考! 章节目录 第4章 欧氏空间和二次型 4.1内积和欧氏空间 4.1.1内积的定义 4.1.2欧氏空间的性质 4.1.3 正交投影 4.1.4 施密特正交化 4.2 正交变换和对称变换 4.2.1 正交变换 4.2.2 正交矩阵 4.2.3 对称变换 4.2.4 对称矩阵 4.3 二…...

wpf C# 用USB虚拟串口最高速下载大文件 每包400万字节 平均0.7s/M,支持批量多设备同时下载。自动识别串口。源码示例可自由定制。
C# 用USB虚拟串口下载大文件 每包400万字节 平均0.7s/M。支持批量多设备同时下载。自动识别串口。可自由定制。 int 32位有符号整数 -2147483648~2147483647 但500万字节时 write时报端口IO异常。可能是驱动限制的。 之前用这个助手发文件,连续发送࿰…...
代码随想录二刷day20
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣654. 最大二叉树二、力扣617. 合并二叉树三、力扣700. 二叉搜索树中的搜索四、力扣98. 验证二叉搜索树 前言 一、力扣654. 最大二叉树 /*** Definitio…...

Yolov5如何训练自定义的数据集,以及使用GPU训练,涵盖报错解决
本文主要讲述了Yolov5如何训练自定义的数据集,以及使用GPU训练,涵盖报错解决,案例是检测图片中是否有救生圈。 最后的效果图大致如下: 效果图1效果图2 前言 系列文章 1、详细讲述Yolov5从下载、配置及如何使用GPU运行 2、…...

设计模式之单列模式
单列模式是一种经典的设计模式,在校招中最乐意考的设计模式之一~ 设计模式就是软件开发中的棋谱,大佬们针对一些常见的场景,总结出来的代码的编写套路,按照套路来写,不说你写的多好,至少不会太差~ 在校招中…...

linux内核模块编译方法详解
文章目录 前言一、静态加载法1.1 编写驱动程序1.2 将新功能配置在内核中1.3为新功能代码改写Makefile1.4 make menuconfig界面里将新功能对应的那项选择为<*> 二、动态加载法2.1 新功能源码与Linux内核源码在同一目录结构下2.2 新功能源码与Linux内核源码不在同一目录结构…...
简介shell的关联数组与普通数组
本文首先介绍shell的关联数组,然后介绍shell的普通数组,最后总结它们的共同语法。 shell的关联数组 定义一个关联数组,并打印它的key-value对 #!/bin/sh# 声明一个关联数组 declare -A HASH_MAP# 给关联数组赋值 HASH_MAP["Tom"…...
玩转Mysql系列 - 第17篇:存储过程自定义函数详解
这是Mysql系列第17篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背景介绍 线上程序有时候出现问题导致数据错误的时候,如果比较紧急,我们可以写一个存储来…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...

Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...