惊鸿一瞥-网络初识

news2025/2/4 5:54:50

💕"Echo"💕
作者:Mylvzi
文章主要内容:惊鸿一瞥-网络初识
在这里插入图片描述

一.网络的发展过程

网络的发展过程是循序渐进的,大致可以分为四个阶段:

单机时代->局域网时代->广域网时代->互联网时代

单机时代:就是每个机器之间是没有联系的,无法互相发送消息

局域网时代:机器与机器之间实现了小范围的通信!这都要归功于一个"伟大"的机器–>路由器,机器与机器之间通过路由器实现了互相通信,路由器(Router)是一种硬件设备,有五个接口,一个是WAN接口,用于和其他路由器进行连接,其余四个接口都是LAN接口,用于和计算机设备进行连接.

当然,随着设备数量的增加,我们可以使用交换器来扩展路由器的端口,其有一个接口是用来专门和路由器的LAN口进行连接,其余接口都可以和计算机设备进行连接,一个交换器上带有多个LAN接口

广域网时代:将多个局域网连接起来就构成了广域网,实际上,广域局域之间并没有明确的界限,主要还是通过连接设备的多杀来进行划分,确定的

二.与网络有关的基本概念

1.IP地址

IP地址(Internet Protocol Address)地址就是计算机在网络中的地址

IP地址使用32位.四个字节的数字来进行表示,为了方便起见,每个字节通过 0-255之间的数字进行表示,并使用'.'进行分割,

如:190.0.89.110

就是一个IP地址,我们称这种表示方法为"点分十进制"

如何查看自己计算机的ip地址:

  1. 打开命令行
  2. 输入ipconfig

注意:

127.0.0.1是一个特殊的IP地址–“回环IP地址”,即如果将目的IP地址设置为回环IP地址,就相当于给自己发送消息

2.端口

端口是计算机用于区分不同应用程序的标志

端口号是由两个字节的数据组成,范围是 0 -65535,但是其中有一些固定的端口号供系统使用,其中:0 ~ 1023 为知名端口号,这些端口预留给服务端程序绑定广泛使
的应用层协议,如:

22端口:预留给SSH服务器绑定SSH协议
21端口:预留给FTP服务器绑定FTP协议
23端口:预留给Telnet服务器绑定Telnet协议
80端口:预留给HTTP服务器绑定HTTP协议
443端口:预留给HTTPS服务器绑定HTTPS协议

3.协议

协议就是一种约定,是通信双方均需要遵守的一种约定

网络数据的传输是通过光信号/电信号进行传播的,光/电信号只能传播0/1,为了更好的进行数据的传输,设置了一些网络通信间的协议,通过这些协议,可以更加灵活的实现数据的识别,转化,传输等

一般来说,协议由一下三个部分组成:

  1. 语法:即数据表与控制信息的格式

    就好比打电话,要规定好通话双方之间的交流语言:普通话

  2. 语义:规定发出何种控制信息,要做出什么响应等

    即打电话的时候双方根据对方的话进行相应的回应,比如对方骂你,那你也肯定要骂回去,骂回去的这个动作就是相应,是根据对方的这个语义进行的回应

  3. 时序:规定事件执行的先后顺序

协议最终在网络传输中以数据包 的形式进行体现!!!

4.五元组

网络通信需要有五元组,源IP,源端口,目的IP,目的端口,以及协议类型,五元组在网络通信中的作用就类似于发快递
在这里插入图片描述
源IP:发件人地址
源端口:发件人姓名
目的IP:收件人地址
目的端口:收件人姓名
协议类型:快递公司

5.协议的分层

由于网络之间的通信十分复杂,为了更好的进行管理,根据协议的定位/作用进行了分层,不同协议之间遵守着"上层协议调用下层协议,下层协议为上层协议提供支持"这样的规则

对协议进行分层就是为了更好的管理协议,就像管理一个大的公司,老板不可能直接管理到每一个基层员工,但是老板可以在基层员工中选出中层领导,再让这些中层领导去管理基层员工,老板只需要管理中层领导即可,大大提高了信息传递的效率!

分层的最大好处,类似于面向接口编程,规定好不同层之间数据传输的接口,提供方与使用方通过这个接口来进行交互

对于使用方来说,不需要知道接口内部的具体实现细节,只需要通过接口来进行使用即可,大大降低了使用者的门槛

对于提供方来说,封装了内部的细节,只需提供接口即可

这样做的好处还是利于进行扩展和维护,单独对提供方进行修改并不会影响到使用方,对使用方进行修改也不会影响到提供方,类似于低耦合性的代码!
在这里插入图片描述

二.OSI网络模型

OSI(Open Systems Interconnection)网络模型是一个抽象的框架,用于描述计算机网络中的通信协议及其交互,用于帮助人们更好的立即网络之间的传输,该模型由国际标准化组织(ISO)在20世纪80年代制定,并分为七个不同的层次,每个层次都负责特定的功能。注意,这是一个概念模型,而不是具体的协议,从上至下可以分为七层
在这里插入图片描述
这里对OSI网络模型不做过多的介绍,重点掌握OSI网络模型的一个简化TCP/IP五层传输协议

三.TCP/IP五层传输协议

应用层:如何使用得到的数据

相较于数据的传输过程,程序员更加关注的是如何使用获得的数据,在应用层,就是为了确定应用程序是如何使用数据的

传输层:只关注起点和终点

就比如淘宝购物,站在商家的角度,他只关注发件人地址/电话和收件人地址和电话,至于中间的传输过程,快递是怎么传输的并不在意

网络层:路径规划

网络层就是做路径规划,就像快递运输一样,从一个地点到另外一个点的路径有很多,要考虑运输成本/效率/时间 等等,类似的,网络之间的连接也是十分复杂的,从一个ip到达另一个ip之间可能有多种选择,需要在网络层做出路径规划

数据链路层:节点之间的传输

更关注中间过程,用于确定两个地址之间的运输方式,就像运快递一样,从一个地方到另一个地方是走水路还是公路?数据链路层就是用于确定数据在节点之间的运输方式

物理层:硬件设备

一个数据传输的例子:
A通过qq 发送"hello" 给B

首先QQ这个程序会在应用层这个层面上对"A向B传输消息"这个动作进行打包.将要传输的信息以一种特定的格式进行打包,比如可以这么打包:源qq,目的qq,发送时间,发送内容,qq就会按照这样的格式进行数据的打包,将打包好的数据交给传输层进行传输,为什么要打包呢?其实这也是一种协议,是应用层和传输层之间的约定,应用层通过上述格式来进行消息的传递,应用层的这种协议程序员可以自定义,一以下就是一种设计模式在这里插入图片描述

应用层通过操作系统的api将数据报交给传输层,同样的,传输层会根据传输层的协议对传输进来的数据报进行进一步的打包,封装,主要是通过两个协议:

  1. UDP协议
  2. TCP协议

这里的打包本质上还是一个字符串拼接的过程,在应用层打包好的数据报的基础上拼接一个报头,比如可以拼接一个UDP的报头:
在这里插入图片描述
UDP报头中是二进制的数据,其中最关键的信息是源端口和目的端口,传输层打包好之后又会传递到网络层,网络层又会对传入的数据报进行进一步的封装,在网络层主要是通过IP协议对数据报进行封装,在原有的数据报的基础上,拼接一个IP协议的报头,报头内部也是二进制数据,主要存放源IP和目的IP
在这里插入图片描述
紧接着,数据报又会被传输到数据链路层中,又会进一步的进行封装,这一层主要是通过以太网进行封装
在这里插入图片描述
紧接着,数据链路层打包好的数据报又会被传入到物理层之中,物理层主要是将传入的数据报数据转换为光/电信号

这样的一个过程,从上至下对要传输的数据进行层层拼接的过程被称为封装,即对要传输的数据不断地添加报头,存储网络传输中需要的信息

同样的,当用户尝试获取数据时,会对数据进行层层解封,这被称为分用

以上就是网络初识的全部内容,更多有关网络的知识将会一一呈现!

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

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

相关文章

如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面

如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 🌈你好呀!我是 是Yu欸 🌌 202…

Pytroch 自写训练模板适合入门版 包含十五种经典的自己复现的一维模型 1D CNN

训练模板 在毕业之前,决定整理一下手头的代码,自己做1D-CNN这吗久,打算开源一下自己使用的1D-CNN的代码,包括用随机数生成一个模拟的数据集,到自己写的一个比较好的适合入门的基础训练模板,以及自己复现的…

【大厂AI课学习笔记】1.4 算法的进步(2)

关于感知器的兴衰。 MORE: 感知器的兴衰 一、感知器的发明与初期振动 在人工智能的历史长河中,感知器(Perceptron)无疑是一个里程碑式的存在。它最初由心理学家Frank Rosenblatt在1950年代提出,并在随后的几年中得到…

8. Threejs案例-SVG渲染器和WEBGL渲染器对比

8. Threejs案例-SVG渲染器和WEBGL渲染器对比 实现效果 知识点 SVG渲染器 (SVGRenderer) SVGRenderer 被用于使用 SVG 来渲染几何数据,所产生的矢量图形在以下几个方面十分有用: 动画标志 logo 或者图标 icon可交互的 2D 或 3D 图表或图形交互式地图复…

C++ this指针/常量成员函数/const/mutable

目录 1.this 指针2.常量成员函数3.mutable 成员变量4.const 关键字总结5.参考内容 1.this 指针 this 指针,指向成员函数所作用的对象,并且 this 总是指向这个对象,所以 this 是一个常量指针,我们不允许改变 this 中保存的地址。th…

css实现按钮边框旋转

先上效果图 本质&#xff1a;一个矩形在两个矩形互相重叠遮盖形成的缝隙中旋转形成&#xff0c;注意css属性z-index层级关系 直接上代码 <div class"bg"><div class"button">按钮</div></div><style>.bg {width: 100%;heigh…

故障诊断 | 一文解决,CNN-SVM卷积神经网络-支持向量机组合模型的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,CNN-SVM卷积神经网络-支持向量机组合模型的故障诊断(Matlab) 模型描述 卷积神经网络(Convolutional Neural Network,CNN)和支持向量机(Support Vector Machine,SVM)是两种常用的机器学习算法,它们在不同领域和任务中都表现出…

python3.8 安装缺少ssl、_ctypes模块解决办法

问题 安装pyhton3.8安装默认不依赖ssl 运行Flask项目时报错&#xff1a; Traceback (most recent call last):File "/usr/local/python3/bin/flask", line 8, in <module>sys.exit(main())File "/usr/local/python3/lib/python3.8/site-packages/flask…

HTML -- 常用标签

HTML HTML&#xff08;Hyper Text Markup Language&#xff09;&#xff0c;超文本标记语言&#xff0c;是一门标记语言&#xff0c;不是编程语言&#xff0c;所以它没有变量&#xff0c;也没有任何语句结构。 所谓超文本&#xff0c;即超越了文本范畴的文档格式&#xff0c;…

Ubuntu环境下安装部署Nginx(有网)

本文档适用于在Ubuntu20.04系统下部署nginx 一、使用apt-get命令安装nginx 注&#xff1a;以下命令都是在root用户下使用 1. 检查是否存在apt命令 apt –version 说明&#xff1a;出现版本号就说明当前环境存在apt 2. 更新apt命令 apt update 3. 安装nginx apt-get in…

阿里云-DataWorks- ODPS SQL开发

1、前言 阿里云 数据仓库这一系列断断续续也有很久没有更新了,新年新气象,赶紧追上开写。 2、基本概念 1、ODPS: Open Data Processing Service, 简称ODPS;是由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等…

K8S-应用部署

1 应用管理解读 2 应用部署实践 资源对象管理关系 资源对象管理实践 手工方式&#xff1a; kubectl run pod名称 --imageimage地址资源清单方式: apiVersion: v1 kind: Pod metadata:labels:run: my-podname: my-pod spec:containers:- image: kubernetes-register.sswang.co…

PFA坩埚实验室配套电热板加热消解样品PFA反应杯本底值低

PFA坩埚由于其特殊性能&#xff0c;具有广泛的应用领域。以下是PFA坩埚常见的用途&#xff1a; 1. 高温反应容器&#xff1a;PFA坩埚能够耐受高温环境&#xff0c;因此常被用于高温下的化学反应。它可以用于进行样品的加热、蒸馏、蜡烛氧化、固相萃取等高温实验。 2. 强腐蚀性…

抢鲜看 | 6个贴“新”好用的实力派功能,用起来溜到犯规!

岁月不居&#xff0c;时节如流&#xff1b;新故相推&#xff0c;日生不滞。 不觉间年末将至&#xff0c;ProcessOn的研发小哥们赶在春节假期前的最后一波正经推送&#xff0c;马不停蹄的给大家安排上线了几个新功能。今天分享的6个新功能中&#xff0c;一定有你提的需求&#x…

计算机网络实验五

目录 实验五 路由器基本配置 1、实验目的 2、实验设备 3、网络拓扑及IP地址分配 4、实验过程 &#xff08;1&#xff09;路由器设备名称的配置 &#xff08;2&#xff09;路由器每日提示信息配置 &#xff08;3&#xff09;路由器端口的IP地址配置 &#xff08;4&…

【Java 数据结构】排序

排序算法 1. 排序的概念及引用1.1 排序的概念1.2 常见的排序算法 2. 常见排序算法的实现2.1 插入排序2.1.1 直接插入排序2.1.2 希尔排序( 缩小增量排序 ) 2.2 选择排序2.2.1 直接选择排序2.2.2 堆排序 2.3 交换排序2.3.1冒泡排序2.3.2 快速排序2.3.3 快速排序非递归 2.4 归并排…

ChatLaw:基于LLaMA微调的法律大模型

文章目录 动机数据组成模型框架模型评估 北大团队发布首个的中文法律大模型落地产品ChatLaw&#xff0c;为大众提供普惠法律服务。模型支持文件、语音输出&#xff0c;同时支持法律文书写作、法律建议、法律援助推荐。 github地址&#xff1a;https://github.com/PKU-YuanGroup…

解决VSCode使用Remote SSH连接远程服务器免密登陆

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于杂项系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

【Redis】Redis集群方案应该怎么做 都有哪些方案

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Redis ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 &#xff08;1&#xff09;twemproxy &#xff08;2&#xff09;codis &#xff08;3&#xff09;redis cluster3.0自带的集群 …

【每日一题】7.LeetCode——合并两个有序链表

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》|《数据结构与算法》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &#x1f64f;小杨水平有限&#xff0c;欢…