网络基础 - 预备知识(协议、网络协议、网络传输流程、地址管理)

文章目录

  • 1. 认识 协议
  • 2. 了解 网络协议
    • 2.1 引入 协议分层
    • 2.2 OSI 七层模型 与 TCP/IP 四层模型
  • 3. 网络传输 流程!!!
    • 3.1 网络传输流程图
    • 3.2 关于报头
    • 3.3 实例解释 传输过程(封装与解包)
  • 4. 网络中的地址管理
    • 4.1 认识 ip地址
    • 4.2 认识 mac 地址
    • 4.3 ip地址 与 mac地址 的区别?


1. 认识 协议

协议可以被看作是一种约定

计算机间通过多种方式进行互相传输,以 光、电信号 等为传输媒介进行传输,想要传递各种不同的信息, 就需要约定好双方的数据格式(如编码方式、数据结构、协议规范等)。

在这里插入图片描述


2. 了解 网络协议

网络协议可以被看作是一种约定,它定义了参与通信的设备应该如何进行通信以及如何解释接收到的数据。

2.1 引入 协议分层

为什么要有 协议分层?

比如:我们要设计一个简单的文件传输应用程序,可以通过网络将文件从一台计算机传输到另一台计算机。将这些工作作为一个模块进行完成是很复杂的。可以通过分层进行:

在这里插入图片描述

从上面的例子,可以总结出 协议分层的好处:

  1. 模块化设计:将整个通信系统分解为多个独立的层次,每个层次负责特定的功能和任务。这种模块化设计使得网络结构更加清晰,易于管理和维护。
  2. 提高可扩展性:如果需要新增功能或改进某一层的协议,可以在不影响其他层次的情况下进行修改。这样可以灵活地扩展系统的功能和性能。

2.2 OSI 七层模型 与 TCP/IP 四层模型

OSI(开放系统互连)七层模型 TCP/IP 四(五)层模型 是计算机网络领域中常用的两种网络协议模型,它们分别用于描述和规范网络通信中不同层次的功能和协议。

我们要知道:

  1. 这两种模型都是 在逻辑上对网络通信进行划分和定义的。它们并不代表实际的硬件设备或软件实现,而是提供了一种框架和指导原则,帮助理解和组织网络通信的过程。
  2. 无论是OSI七层模型还是TCP/IP四层模型,都是为了简化和规范网络通信的复杂性,实现互操作性和通用性。

OSI 七层模型

层级名称功能
7应用层提供用户接口、网络服务和应用程序支持
6表示层数据格式化、加密和压缩
5会话层管理用户会话和建立连接
4传输层提供端到端的数据传输和可靠性
3网络层路由选择和逻辑寻址
2数据链路层帧同步、物理地址寻址和错误检测
1物理层数据传输介质和比特流动控制

TCP / IP 五层模型

TCP/IP五层模型功能
应用层(Application Layer)提供应用程序间的通信服务,定义应用层协议(如HTTP、FTP)
传输层(Transport Layer)负责端到端的数据传输和连接管理,提供可靠的数据传输(如TCP、UDP)
网络层(Network Layer)处理数据包的路由和转发,实现不同网络之间的通信,提供IP协议支持
数据链路层(Data Link Layer)管理物理设备之间的数据传输,处理帧的封装和解封装,提供MAC地址支持
物理层(Physical Layer)管理物理介质的传输方式和电气特性,提供比特流的传输

TCP/IP是 一组协议的代名词,它由多个协议组成,形成了 TCP/IP协议簇。这些协议共同工作,提供了互联网上数据通信的基础。

TCP/IP协议簇包括以下主要协议(了解):

  1. IP(Internet Protocol):负责网络层的功能,定义了在互联网上传输数据的基本单位,即IP数据包。
  2. TCP(Transmission Control Protocol):负责传输层的功能,提供可靠的、面向连接的数据传输服务,确保数据的完整性和可靠性。
  3. UDP(User Datagram Protocol):也是传输层的协议,与TCP相比更加简单,不提供可靠性保证,适用于对传输速度较高要求的应用。
  4. HTTP(Hypertext Transfer Protocol):应用层的协议,用于在Web浏览器和Web服务器之间传输超文本数据,是万维网的基础协议。
  5. FTP(File Transfer Protocol):应用层的协议,用于在客户端和服务器之间进行文件传输。
  6. DNS(Domain Name System):应用层的协议,用于将域名转换为对应的IP地址,实现域名解析功能。
    除了以上列举的协议外,TCP/IP协议簇还包括其他许多协议,如SMTP(邮件传输协议)、POP3(邮局协议)、ICMP(Internet控制消息协议)等,它们共同构成了互联网上数据通信的基础架构。

PS:

由于大多情况下不考虑物理层,所以一般我们称其为 TCP/IP四层协议


3. 网络传输 流程!!!

3.1 网络传输流程图

我们知道:

同一个局域网的两台主机可以进行通信。

  • 下图是同一个局域网的两台主机可以进行通信。
    在这里插入图片描述

  • 逻辑上 我们认为: 同一层次的协议之间可以直接进行传输
    例如:在这里插入图片描述

  • 而对于 实际的数据传输过程 :需要进行 封装和解包(报头)的操作,以便在不同的网络层次之间传递数据。

  • 关于报头。我们有:

    • 每层都有自己的协议定制方案
    • 每层协议都有自己的协议报头
    • 从上到下 交付数据时,要添加/ 报头

3.2 关于报头

从上面我们知道了,实际的数据传输过程,需要有添加报头以及解包的操作,那么

报头是什么?

  1. 报头通常指 :计算机网络通信中 数据包的首部分;网络通信中数据被分割成 称为数据包的小块进行传输,每个数据包都包含 用于控制和管理传输的信息,即报头。
  2. 报头包含了一些 重要字段 :如源地址 与 目的地址、以及一些控制信息(如数据包优先级、序列号、校验等)。
  3. 通过 解析报头中的数据信息 ,网络设备可以正确地将数据包发送到目标地址,并在网络传输过程中进行适当的控制与管理。

3.3 实例解释 传输过程(封装与解包)

  • 这里对这一过程(封装 与 解包)进行解释:
    • 我们以 TCP / IP 四层模型为例:

在这里插入图片描述

简单对上图进行解释:主机A向主机B发送信息“你好”

  1. 首先从上至下经过四个层,依次添加报头,即封装的过程
  2. 后由主机B接收,从下向上层进行解包,即解包的过程
  3. 可以保证每层的报头一致,即协议一致

4. 网络中的地址管理

4.1 认识 ip地址

  1. IP地址是指互联网协议地址,用于识别网络上的设备。它是一个在网络上唯一标识一个设备的地址。
  2. IP协议有两个版本: IPv4和IPv6
    • 其中 IPv4地址 由32位二进制数表示,通常以点分十进制 的形式显示,如192.168.1.1
    • IPv6地址 地址由128位二进制数表示,通常以冒号分隔的八组十六进制数 显示。
  3. IP地址的作用是在网络中唯一标识设备的位置,使数据能够正确地路由到目标设备所在的网络。

4.2 认识 mac 地址

  1. MAC地址 通常由 48位二进制数 表示,通常以十六进制表示,例如00:1A:2B:3C:4D:5E。
  2. MAC地址 的作用是在局域网内唯一标识一个设备,(对于一张网卡,其mac地址是唯一的、虚拟机中的mac地址并非真实的mac地址、可能发生冲突)
  3. MAC地址 用来识别数据链路层中相连的节点。

4.3 ip地址 与 mac地址 的区别?

  • IP地址是基于地理区域划分的逻辑地址,用于在网络中识别和定位设备。即使同一台硬件设备在不同地方,它们被分配的IP地址也会因所处网络环境的不同而变化。IP地址的变化类似于人类居住地的变化,需要根据所在网络环境重新分配。

  • MAC地址是硬件设备固定的物理地址,与设备的网卡硬件关联,并且通常在制造时就确定下来,不会因设备所处的网络环境而改变。无论设备在何处,只要是同一台硬件设备,其MAC地址都是唯一且不会改变。MAC地址的稳定性类似于人类的身份证号码,与个体设备紧密相关且唯一不变。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Python批量实现在Excel里新加一列

目录 一、引言 二、所需库介绍 三、代码实现 四、批量处理多个Excel文件 五、注意事项与扩展 六、案例演示 七、总结与展望 一、引言 Excel作为广泛使用的电子表格软件,在数据处理和分析中扮演着重要角色。然而,当面对大量Excel文件需要批量处理…

Apache Paimon 的 CDC Ingestion 概述

CDC Ingestion 1)概述 Paimon支持schema evolution将数据插入到Paimon表中,添加的列将实时同步到Paimon表,并且无需重启同步作业。 目前支持的同步方式如下: MySQL Synchronizing Table: 将MySQL中的一个或多个表同步到一个Pa…

win11系统qtcreator构建运行程序首次启动卡顿(win11首次启动应用程序卡顿)

首先可以参考一下这个博客:为什么win11系统开机后第一次打开一个软件很慢,关闭进程重新打开速度就正常了,该怎样解决呢? - 知乎 经过上述博客,但是我没有完全解决,这里说一下自己的方法: 打开任…

ArrayList 和 LinkedList 有什么区别?

1、典型回答 ArrayList 和 LinkedList 是 Java 中常用的集合类,它们都实现了 List 接口,如下图所示: 但二者有以下几点不同: 1、底层数据结构实现不同: ArrayList 底层使用数组实现,它通过一个可调整大小…

泽众云真机-机型支持ADB调试功能即将上线

最近云真机平台在线客服,收到很多咨询关于ADB调试功能,什么时候能更新?据小编所知,正在升级之中,有一块专门为了解决ADB调试功能提前准备,升级网络硬件设备,目前平台的功能已开发完成&#xff0…

Python Web开发记录 Day8:Django part2 部门管理

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 1、部门列表2、模板的继承3、添加部门4、编辑部…

【Leetcode每日一刷】顺/逆时针旋转矩阵 |48. 旋转图像、矩阵的螺旋遍历 |54. 螺旋矩阵

一、48. 旋转图像 1.1:题目 48. 旋转图像 1.2:解题思路 题型:顺/逆时针旋转矩阵; ❗❗核心思想/ 关键:不可暴力模拟,先镜像,后水平翻转 这题的意思很简单,就是让我们把矩阵顺时…

解决内网环境预览ArcGIS地图服务

目录 背景分析解决思路操作步骤1、登录ArcGIS Server后台修改 2、将预览服务请求资源部署到内网①下载ArcGIS API for JavaScript 库②修改ArcGIS API for JavaScript 库③映射ArcGIS API for JavaScript 库④验证ArcGIS API for JavaScript 映射3、验证ArcGIS Server的服务 背…

unity3d Animal Controller的Animal组件中Speeds,States和modes基础部分理解

Speeds 速度集是修改你可以做的原始动画,增加或减少运动,旋转,或动画速度。它们与 州 所以,当动物在运动状态下,在飞行或游泳时,你可以有不同的速度 如果你的性格动画是 (已到位), 你一定要调整速度 位置 和 旋转 每一种的价值观 速度装置 …否则,它们不会移动或旋转。 每个速…

C#,图论与图算法,图着色问题(Graph Coloring)的威尔士-鲍威尔(Welch Powell Algorithm)算法与源代码

Welsh, D.J.A. and Powell, M.B. (1967) An Upper Bound for the Chromatic Number of a Graph and Its Application to Timetabling Problems. 《The Computer Journal》, 10, 85-86. 《The Computer Journal》 1 图着色算法概述 1967年,Welsh和Powell算法引入了…

【机器学习】AI训练,为什么需要GPU?【源码独家】GPU池化平台 AI训练平台 AI推理平台

随着由ChatGPT引发的人工智能热潮,GPU成为了AI大模型训练平台的基石,甚至是决定性的算力底座。为什么GPU能力压CPU,成为炙手可热的主角呢? 要回答这个问题,首先需要了解当前人工智能(AI,Artific…

【计算机图形学】End-to-End Affordance Learning for Robotic Manipulation

对RLAfford:End-to-End Affordance Learning for Robotic Manipulation的简单理解 1. 为什么要做这件事 在交互环境中学习如何操纵3D物体是RL中的挑战性问题。很难去训练出一个能够泛化到具有不同语义类别、不同几何形状和不同功能物体上的策略。 Visual Afforda…

前端接口防止重复请求实现方案

虽然大部分的接口处理我们都是加了loading的,但又不能确保真的是每个接口都加了的,可是如果要一个接口一个接口的排查,那这维护了四五年的系统,成百上千的接口肯定要耗费非常多的精力,根本就是不现实的,所以…

webpack5零基础入门-7webpack修改输出文件目录

1.修改output中的path后打包 path: path.resolve(__dirname, dist/js),//所有文件的输出目录 可以看到dist目录下多了个js目录 但所有文件都在js目录中 我们想要的是根据不同的资源进行分类很显然这样不行 从这里可以看出path是所有文件的输出目录 2.修改output中的filename…

CVPR2024 | 大核卷积新高度101x101,美团提出PeLK

https://arxiv.org/pdf/2403.07589.pdf 本文概述 最近,一些大核卷积网络以吸引人的性能和效率进行了反击。然而,考虑到卷积的平方复杂度,扩大内核会带来大量的参数,而大量的参数会引发严重的优化问题。由于这些问题,当…

Vue手写模拟步骤条

效果图&#xff1a; 如果要使用element的步骤条就需要强行修改样式&#xff0c;参考之前的那篇步骤条。这里我采用手写div 代码&#xff1a; 思路是给最外层的div一个左边框&#xff0c;给里面的step-item设置左边框为图片&#xff0c;通过定位来移动。 <div class"m…

opencv中的图像均值模糊—blur

平均模糊是通过对图像的每个像素及其周围像素的值求平均来实现的。 blur函数通过计算输入图像image中每个像素及其邻域内像素的平均值来工作。 // 图像卷积 void QuickDemo::Conv_image_demo(Mat &image) {Mat dst;blur(image, dst, Size(3, 3), Point(-1, -1));// Point(…

增删卜易——八宫六十四卦

之前看倪海厦的《天纪》笔记里面提到了六十四卦世应,觉得不知道这个世应是啥意思。很长时间就没看了,偶然间看到了张文江教授写的一本书《潘雨廷先生谈话录》提到了《卜筮正宗》,“卜筮最后的判断是非理性转义,其他一切都只是形式”,“明人的著作,从京氏易出,如今天几日…

#微信小程序(一个emo文案界面)

1.IDE&#xff1a;微信开发者工具 2.实验&#xff1a;一个emo文案界面 &#xff08;1&#xff09;最好使用rpx &#xff08;2&#xff09;图片宽度占不满&#xff0c;在CSS中设置width为100% &#xff08;3&#xff09;imag图片全部为网页链接图片 3.记录 4.代码 index.htm…

【图论】计算图的n-hop邻居个数,并绘制频率分布直方图

计算图的n-hop邻居个数&#xff0c;并绘制频率分布直方图 在图论中&#xff0c;n-hop邻居&#xff08;或称为K-hop邻居&#xff09;是指从某个顶点出发&#xff0c;通过最短路径&#xff08;即最少的边数&#xff09;可以到达的所有顶点的集合&#xff0c;其中n&#xff08;或…