惊鸿一瞥-网络初识

💕"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.hqwc.cn/news/458831.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 06 磁盘管理

01.先管理vm中的磁盘,添加一个磁盘 第一步.vm软件,打开虚拟机设置,添加硬盘 第二步.选择推荐scsi 第三步.创建一个新的虚拟磁盘 第四步. 第五步. 02.在创建好的vm虚拟机中查看刚才创建的磁盘 在centos中/dev 目录是设备目录 sda是磁盘…

S7-1200PLC通讯问题总结

文章目录 一、硬件1.串口通信RS232RS485RS422 2.网口通信 二、协议1.串口通信协议2.网口通信协议 三、程序编写1.S7通信PUTGET 2.开放式以太网通信 一、硬件 可分为PLC与PLC通信,PLC与上位机通信,PLC与变频器通信,PLC与仪器仪表通信&#xf…

数据结构——单链表详解

目录 前言 一.什么是链表 1.概念 ​编辑 2.分类 二.单链表的实现(不带头单向不循环链表) 2.1初始化 2.2打印 2.3创建新节点 2.4头插、尾插 2.5头删、尾删 2.6查找 2.7在指定位置之前插入 2.8在指定位置之后插入 2.9删除pos位置 2.10删除pos之后的 2.11销毁链表…

风丘EV能量流测试解决方案 提高电动汽车续航能力

电动汽车(EV)近些年发展迅猛,已被汽车业内普遍认为是未来汽车发展的新方向,但现如今电动汽车仍然存在一些短板,导致其还无法替代传统燃油车。对此,首先想到的肯定就是电动车的续航问题。其实解决电动车续航…

锁(二)队列同步器AQS

一、队列同步器AQS 1、定义 用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作。是实现锁的关键。 2、实现 同步器的设计是基于模板方法模式的,也就是说&#…

社交媒体数据治理:Facebook的隐私与透明度

在数字化时代,社交媒体平台扮演着连接人们、传播信息的关键角色。然而,随着社交媒体数据的积累和应用,数据治理的议题逐渐引起了社会的广泛关注。本文将深入探讨Facebook在社交媒体数据治理方面的举措,特别关注其在隐私保护和透明…

Vue代理模式和Nginx反向代理(Vue代理部署不生效)

在使用axios时,经常会遇到跨域问题。为了解决跨域问题,可以在 vue.config.js 文件中配置代理: const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 7070,prox…

PMP证书含金量如何?到底有啥用处?

接下来就为大家对PMP的一些入门问题做个解答。 01PMP是什么? | PMP是指项目管理专业人士资格认证。 | 美国项目管理协会(PMI)举办的项目管理专业人员(PMP)认证考试。 | 是目前项目管理领域含金量很高的认证。 国内…

实例分割论文阅读之:《Mask Transfiner for High-Quality Instance Segmentation》

1.摘要 两阶段和基于查询的实例分割方法取得了显著的效果。然而,它们的分段掩模仍然非常粗糙。在本文中,我们提出了一种高质量和高效的实例分割Mask Transfiner。我们的Mask Transfiner不是在规则的密集张量上操作,而是将图像区域分解并表示…

cesium系列篇:Entity vs Primitive 源码解析(从Entity到Primitive)02

上篇文章中,我们介绍了使用viewer.entities.add添加entity之后的信号传递以及最后entity对象被传递到GeometryVisualizer; 这篇文章,我们则介绍如何在逐帧渲染的过程中根据GeometryVisualizer中的entity对象创建相应的primitive 这是下文中…

C语言中的内存函数你知道多少呢?

目录 ​编辑 1. memcpy的使用和模拟实现 1.1函数介绍 ​编辑 1.2函数的使用 1.3模拟实现 2. memmove的使用和模拟实现 2.1函数介绍 2.2函数的使用 2.3模拟实现 3. memset函数的使用 3.1函数介绍 3.2函数的使用 ​编辑 4. memcmp函数的使用 4.1函数介绍 4.2函数…

漏电流的检测要求和理解

漏电流的检测要求和理解 简介漏电流的产生和效应标准要求漏电流的试验漏电流与电磁兼容的关系小结 简介 漏电流是指非功能性电流,是非期望的会引起安全方面危险的电流。漏电流表明了设备中电气绝缘起到防电击作用具有的性能,以使穿过电气绝缘的电流控制…