初始网络知识

news2024/9/25 17:18:00

  前言👀~

上一章我们介绍了使用java代码操作文件,今天我们来聊聊网络的一些基础知识点,以便后续更深入的了解网络

网络

局域网(LAN)

广域网(WAN)

路由器

交换机

网络通信基础

IP地址

端口号

协议(重要)

协议分层

OSI七层网络模型

TCP/IP五层网络模型(重要)

封装和分用


如果各位对文章的内容感兴趣的话,请点点小赞,关注一手不迷路,讲解的内容我会搭配我的理解用我自己的话去解释。如果有什么问题的话,欢迎各位评论纠正 🤞🤞🤞

12b46cd836b7495695ce3560ea45749c.jpeg

个人主页:N_0050-CSDN博客

相关专栏:java SE_N_0050的博客-CSDN博客  java数据结构_N_0050的博客-CSDN博客  java EE_N_0050的博客-CSDN博客


网络

网络分为 网络原理 和 网络编程网络通信:多台计算机连接在一起,完成数据共享,其实就是计算机之间通过网络进行数据传输,也可以说是网络数据传输

局域网(LAN)

本地,局部组建的一种私有网络,局域网内的主机之间能进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。局域网的范围固定,比如一个学校、一个工厂,覆盖范围小、传输效率快、延迟低,主要用于本地资源共享和通信

广域网(WAN)

通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。其实就是一个个局域网通过路由器连接起来,可以看作是一个巨大的局域网,叫广域网。覆盖范围大、传输效率慢、延迟高,主要用于远程连接和数据传输

如果属于全球化的公共型广域网,则称为互联网(又称公网,外网),属于广域网的一个子集。有时在不严格的环境下说的广域网,其实是指互联网

局域网和广域网的关系和区别:

就比如一家公司,有很多分公司在不同的地区,每家分公司可以看作是一个局域网。我们可以通过网络连接将所有的分公司进行连接,这样就能实现跨地通信,这种就叫广域网

路由器

在OSI模型的第三层(网络层),主要作用是用于连接多个网络,根据数据包的目标地址,选择最佳路径进行转发

可以想象平常我们的机房电脑就连接一个路由器那只能这几台电脑进行通信,但是如果路由路由之间再进行连接,逐渐就能形成一张巨大的网,更多电脑能进行通信,并且路由器可以连接外网,这样就可以实现我们在任何地方电脑都能进行通信

路由器一般有5个网口,1个WAN和4个LAN,WAN口用来连接上级路由器,LAN口插在路由器用于多个计算机在同一个局域网内进行通信,但是端口有限,所以引入交换机可以通过交换机连接到更多的设备,交换机也连接LAN口

交换机

在OSI模型的第二层(数据链路层),每个交换机都有一个MAC地址表(也叫地址转发表),记录了连接到每个端口的设备的MAC地址。通过查询这个表,交换机可以确定每个数据帧的转发路径,然后将数据帧转发到目的设备

交换机的端口无需特别配置,直接将其连接到路由器的LAN口,交换机用于扩展局域网内的连接点(就是可以连接更多的设备),有更多的端口(8、16、24或更多),可以连接更多的设备,并且连接到同一个网络方便进行网络通信

两者之间的区别:

路由器在网络层,路由器根据IP地址寻址路由器可以处理TCP/IP协议,交换机不可以,交换机根据MAC地址寻址。交换机在数据链路层

路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。交换机可以把很多主机连起来,这些主机对外各有各的IP

路由器可以连接不同类型的网络,并具备广域网连接能力,因此适合于构建大型企业网络或互联网接入。交换机则用于内部局域网中,用于连接多台设备


例子:我们每个人相当于主机,路由器相当于快递员,宿管相当于交换机,学校是一个局域网。快递员根据学校地址(IP)把包裹送到学校,再根据宿舍楼(子网IP)把快递交给这个宿舍楼的宿管,宿管根据你的名字(MAC)交给你


网络通信基础

IP地址

IP地址用于定位设备(例如主机、路由器等)的网络地址,可以这样理解就是描述我们的电脑在网络上的地址。IP地址在网络中的作用:用于设备之间的路由和网络定位,确保数据包能够在网络上找到目标设备。注意IP地址是可以变化的

格式:在计算机中,用一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)来表示地址,但是使用二进制来表示不方便。通常使用点分十进制来表示IP地址,用4个0-255之间的十进制数字,然后使用3个点分割开来表示IP地址

IP地址定位到了主机在网络上的地址了,但是数据传输到主机上后,由哪个程序接收呢?需要使用端口号进行标识


端口号

端口号用来区分主机上不同的应用程序,也可以说定位主机中的进程不同的程序不能绑定同一个端口号,就像mysql的端口号绑定为3306,那你其他的的程序也绑定到这个端口号不就乱套了。但是一个程序可以绑定多个端口号

格式:系统端口号范围为 0 ~ 65535(2个字节),0 ~ 1023 一般是系统有特殊的用途我们一般不使用

可以把IP和端口号看作是一对,类似寄快递一个道理,有寄件人地址(源IP)、寄件人电话(源端口号)、收件人地址(目的IP)、收件人电话(目的端口号)、协议(快递公司)后面详细讲解
 

有了IP地址和端口号,可以定位到网络中唯一的一个进程,但是网络通信是使用二进制数据来进行传输的,需要告诉对方发送的数据是啥样的,这时候就需要使用协议来规定双方数据格式

协议(重要)

网络本质通过光/电信号来传输数据的,我们使用协议来规定双方数据格式,协议就是约定,类似黑帮进行交易,需要先约定带上双方想要的再进行交易,不然就是唰唰

五元组:

在TCP/IP协议中,用五元组来标识一个网络通信,下面这些是一次网络通信中必要的信息

1. 源IP:标识源主机

2. 源端口号:标识源主机中该次通信发送数据的进程

3. 目的IP:标识目的主机

4. 目的端口号:标识目的主机中该次通信接收数据的进程

5. 协议号:标识发送进程和接收进程双方约定的数据格式

源的端口号和目的端口号在传输层,源IP和目的IP在网络层!!!

看不懂看下面这张


协议分层

对于网络协议来说,需要分成几个层次进行定义以及管理。按照协议的类型和作用进行分类,然后设置层级关系,上层调用调用下层,下层给上层提供支持,类似我们调用接口的意思,它的好处就是我们在调用接口的时候不用知道它底层是怎么实现的,我们只要会用这个接口,知道是干什么的就行了。接口也没必要知道我们是谁去调用它的并且它会将实现的细节封装好以免对其修改

分层的例子:就像一个大公司,老板下达指令,类似递归一样,把指令递下去,每层的领导接收指令,把指令递到员工那去进行处理,然后处理完再归回去,最后归到老板那有个响应。按照这样的方式进行通信,方便进行管理并且整体有秩序


OSI七层网络模型

OSI 七层模型既复杂又不实用,所以 OSI 七层模型没有落地、实现。仅仅出现在书上,让我们认识一下。大部分用的还是TCP/IP五层网络模型


TCP/IP五层网络模型(重要)

属于是OSI七层网络模型的简化版,把OSI中的应用层、表示层、会话层合并成一个应用层。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

举个例子说明每个层:比如我们在淘宝买了件衣服,你还可以选择买裤子等其他物品这属于应用层。然后商家收到我们的订单相关的信息例如收件人、电话等信息这属于传输层。然后商家叫了快递公司来处理,快递公司选择合适的路径(会考虑很多例如效率、成本等因素)例如上海到杭州到绍兴进行运送这属于网络层。然后需要考虑相邻的地方该怎么运送,比如上海到杭州用铁路进行运送,杭州到绍兴用飞机进行运送这属于数据链路层。最后就是使用交通设备进行运送这属于物理层。后面的封装和分用还会举个例子进行讲解

物理层:数据链路层的数据帧转为二进制数,通过物理介质(例如电缆、光纤等)传输

数据链路层:负责将数据帧在同一局域网上传输关注相邻节点之间的传输细节,交换机在的层

网络层:负责在不同网络之间传输数据包,并且选择最佳路径,关注的是通信中的路线规划,路由器在的层

传输层:提供端到端的通信服务,确保数据完整传输。关注通信的起点和终点

应用层:直接与应用程序交互,提供网络服务


网络设备所在分层:

对于一台主机来说,它的操作系统内核实现了传输层到物理层的内容

对于一路由器来说,它实现了网络层到物理层

对于一个交换机来说,它实现了数据链路层到物理层

对于一个集线器来说,它实现了物理层


封装和分用

描述网络通信过程中数据传输的流程,下面举个发送信息的例子,先讲封装,其实就类似发快递

发送方

应用层:

我们使用聊天程序给某某发送消息,wx就会把我们输入的java打包成一个应用层的数据包(格式只有wx程序员知道)使用字符串进行拼接,就像寄快递的时候我们自己给这个物品加个包装打包,到了快递员(传输层)那又会进行打包。应用层的协议可以由程序员灵活调整


然后把应用层的数据包通过操作系统的api传输给传输层进行处理

传输层:

传输层的协议例如TCP、UDP。把应用层的数据包再进行打包也就是使用字符串进行拼接上传输层的包头例如TCP、UDP,变成属于传输层的数据包。一个数据包=报头(header)+载荷(payload)

此时传输层的数据包=UDP报头+后面应用层的数据包(也就是包头的载荷)。UDP的报头是一个二进制数据包含的关键信息就是源的端口号和目的端口号,然后这就打包好了,例如寄显示屏的时候给它贴了个标签是易碎物品并且加点保护手段这样能降低碎的可能性

记住源的端口号和目的端口号在传输层!传输层的数据包处理好了然后传给网络层进行处理

网络层:

网络层最主要的协议就是IP协议,网络层也是一样给把传输层的数据包再进行打包使用字符串进行拼接上IP报头,,变成属于网络层的数据包

此时网络层的数据包=IP报头+UDP报头+应用层的数据包(也就是IP包头的载荷)。IP包头中包含很多属性,最重要的就是源IP和目的IP

记住源IP和目的IP在网络层!网络层的数据包处理好了然后传给数据链路层进行处理

数据链路层:

数据链路层典型的协议就是以太网,此处以太用来表示网络数据传输的介质,数据链路层会把网络层的数据包再进行打包使用字符串进行拼接上以太网帧头并且加上一个帧尾,,变成属于数据链路层的数据包


此时数据链路层的数据包=以太网帧头+IP包头+UDP包头+应用层的数据包(也就是以太网包头的载荷)+帧尾。以太网包头中也包含很多属性,最重要的就是源MAC地址和目的MAC地址(描述网卡/网络适配器的地址)


什么是网卡/网络适配器?一块被设计用来允许计算机在 计算机网络 上进行通讯的计算机硬件,在被制造出来的时候就有个固定的地址了。我们一般使用MAC地址来标识网卡/网络适配器在一个局域网内,设备之间通过MAC地址进行通信,确保数据帧能够找到正确的网卡
 


然后数据链路层的数据包处理好了然后传给物理层进行处理

物理层:

把上面的以太网数据帧,二进制结构数据就是0、1这种,转换成光/电信号进行传输。从一开始的上层协议到下层协议,每一层都加上了包头其实就是进行了封装

传输过程碰到路由器:数据传输出去后,经过交换机和路由器进行转发,可以想象我们电脑之间能进行通信是因为上面有一堆的交换机和路由器。注意一下在经过路由器的时候,一样的道理物理层接收光电信号转成二进制数据交给数据链路层,数据链路层同样的操作,解析然后取出载荷部分交给网络层,接着网络层进行解析它会选择最佳的路径去进行转发,然后再进行封装到数据链路层再到物理层进行传输,如果又碰到路由器还是一样的操作

传输过程碰到交换机:但是如果经过的是交换机的话就也是一样,物理层把光电信号转换成二进制传给数据链路层,然后数据链路层进行解析取出载荷部分,根据载荷部分的信息决定下一步把数据往哪里发送,然后再创建新的包头和包尾然后封装交给物理层,物理层在传出去。然后当数据到接收方那边要对数据进行解析(分用),也就是拆快递


 

接收方

物理层:接收到发送方传来的光电信号转成二进制数据,拿到以太网帧头,交给数据链路层进行处理

数据链路层:使用以太网协议针对以太网的数据包进行解析,把包头和包尾拿出来,把载荷部分丢给网络层进行处理

网络层:使用IP协议针对网络层的数据包进行解析,把IP包头拿出来解析,再把载荷部分丢给传输层进行处理


传输层:使用UDP协议针对传输层的数据包进行解析,把UDP包头拿出来解析,再把载荷部分丢给应用层进行处理

应用层:把传输层传来的数据根据端口号丢给对应的程序,然后wx这个程序对这里面的数据进行解析,怎么解析的是根据程序员自定义的应用层协议来解析的

整个流程总结:你发送的消息经过层层封装转换为物理信号(例如光/电信号等)进行传输,首先会在当前局域网进行判断然后再到本地路由本地路由会进行封装分用选择合适的路径,然后在途中碰到其他的路由器都会进行封装分用选择合适的路径,直到接近目标网络。到了最终路由器再进行封装分用,通过APR协议解析IP地址到MAC地址,如果没有找到对应的MAC地址,路由器会发送广播请求,目标设备会进行回应提供MAC地址,然后实现局域网内的传输最终到达目标设备

以上便是网络的一些基础知识点,网络的内容有很多并且很广,后续还会深入讲解💕

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

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

相关文章

可观察性优势:掌握当代编程技术

反馈循环是我们开发人员工作的关键。它们为我们提供信息,并让我们从用户过去和现在的行为中学习。这意味着我们可以根据过去的反应进行主动开发。 TestComplete 是一款自动化UI测试工具,这款工具目前在全球范围内被广泛应用于进行桌面、移动和Web应用的…

“闭门造车”之多模态思路浅谈:自回归学习与生成

©PaperWeekly 原创 作者 | 苏剑林 单位 | 科学空间 研究方向 | NLP、神经网络 这篇文章我们继续来闭门造车,分享一下笔者最近对多模态学习的一些新理解。 在前文《“闭门造车”之多模态思路浅谈:无损》中,我们强调了无损输入对于理想的…

压缩文件的解析方式

我们常用的压缩文件有两种:后缀为.zip或者.rar,接下来将介绍解析两种压缩文件的代码。需要用到三个jar包:commons-io-2.16.1.jar、junrar-7.5.5.jar、slf4j-api-2.0.13.jar,可以在官网下载,也可以发私信。 这段代码是一…

2.GAP:通用访问协议

GAP的简单理解 GAP这个名字,直接翻译过来不好理解。 简单点可以理解为: 这是蓝牙设备在互联之前,过程中,第一个用于交流的协议。在代码上,会给这个协议实现,连接参数的设置,连接事件的实现&am…

【算法】二叉树-迭代法实现前后中序遍历

递归的实现就是:每一次递归调用都会把函数的局部变量,参数值和返回地址等压入调用栈中,然后递归返回的时候,从栈顶弹出上一次递归的各项参数,这就是递归为什么可以返回上一层位置的原因 可以用栈实现二叉树的前中后序遍历 1. 前序…

【数学趣】拉窗帘模型之求面积引发的6个解法

抖音上推了一个趣题 题 求橙色部分的面积 蓝色部分是2个正方形。大的正方形边长为6。(小的正方形一半被一个黄色三角形遮住了一半) 答案 18 解法1:拉窗帘 先写一个代号,方便证明,H G 代表正方形。(G…

AV1 编码标准中帧内预测技术详细说明

AV1 编码标准帧内预测 AV1(AOMedia Video 1)是一种开源的视频编码格式,旨在提供比现有标准更高的压缩效率和更好的视频质量。在帧内预测方面,AV1相较于其前身VP9和其他编解码标准,如H.264/AVC和H.265/HEVC,…

暑假第一次作业

第一步:给R1,R2,R3,R4配IP [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [R1-Serial4/0/0]ip address 15.0.0.1 24 [R2-GigabitEthernet0/0/0]ip address 192.168.2.1 24 [R2-Serial4/0/0]ip address 25.0.0.1 24 [R3-GigabitEthernet0/0/0]ip address 192.…

【Mutilism用74ls192和与非门设计3进制24进制加法计数器2荔枝】2022-5-10

缘由【数电 数字逻辑】如何用74ls192和与非门设计任意进制加法计数器?-嵌入式-CSDN问答

Qt学生管理系统(付源码)

Qt学生管理系统 一、前言1.1 项目介绍1.2 项目目标 2、需求说明2.1 功能性说明2.2 非功能性说明 三、UX设计3.1 登录界面3.2 学生数据展示3.3 信息插入和更新 三、架构说明3.1 客户端结构如下3.2 数据流程图3.2.1 数据管理3.2.2 管理员登录 四、 设计说明3.1 数据库设计3.2 结构…

基于Python+Flask+MySQL的新冠疫情可视化系统

基于PythonFlaskMySQL的新冠疫情可视化系统 FlaskMySQL 基于PythonFlaskMySQL的新冠疫情可视化系统 项目主要依赖前端:layui,Echart,后端主要是Flask,系统的主要支持登录注册,Ecahrt构建可视化图,可更换主…

Qt 统计图编程

学习目标:Qt 折线图,柱形图和扇形统计图编程 学习基础 Qt QChart 曲线图表操作-CSDN博客 学习内容 Qt中绘制三种常见的图表非常方便, 主要步骤如下: 1. 折线图: - 使用QLineSeries定义折线数据,添加多个坐标点 - 使用QValueAxis创建X轴和Y轴 - 将…

数据结构——查找算法

文章目录 1. 查找算法 2. 顺序查找 2. 二分查找 1. 查找算法 查找算法是用于在数据集中定位特定元素的位置的算法。查找是计算机科学中一项基本操作,几乎在所有应用程序中都需要使用。例如,数据库查询、信息检索、字典查找等都涉及到查找操作。查找算…

【Mutilism数字电路实现32进制5线32译码器】2022-5-7

缘由3-8译码器到74HC138-编程语言-CSDN问答 2片16004非门2个组成8进制和4进制实现。 按138逻辑表把E3也接入置零,同时把E1也接入反向使得切换时138保持高电平输出,就看不到转换时第一个出现短暂低电平,是最完美的解决方案,二级反向…

分布式I/O从站的认知

为什么需要分布式I/O从站? 当PLC与控制机构距离过远时,远距离会带来信号干扰,分布式I/O从站只需要一个网络线缆连接。 ET200分布式I/O从站家族 体积紧凑、功能强大。 ET200SP ET200M ET200S ET200iSP ET200 AL ET200pro ET200 eco PN 通讯协议…

yarn底层原理详解:(第33天)

系列文章目录 一、yarn总体架构 二、yarn核心组件及功能 三、yarn资源分配与调度 四、yarn提交和执行流程 五、yarn调度算法 六、yarn安全性与容错性 文章目录 系列文章目录前言一、总体架构二、核心组件及功能1. ResourceManager(RM)2. NodeManager&am…

达梦数据库dm8安装步骤及迁移

目录 前言: 一、安装部署 1、下载 2、创建用户及安装目录 3、挂载下载的镜像 4、环境配置 5、安装 二、基本使用 1、DM工具使用 2、兼容性配置 2.1 兼容GBK字符集编码 2.2 兼容UTF-8字符集编码 3、创建用户和密码,表空间 4、整理数据库配置 5、启动脚本设置 …

13、Python之函数:简单的参数默认值其实并不简单

目录 引言 日志打印的问题 返回参数默认值的问题 问题产生的原因 关于参数默认值的最佳实践 总结 引言 在前一篇关于Python函数的文章中,我们介绍了函数的基本使用、函数的默认参数、lambda函数的用法,相当于对Python中的函数有了一个入门的介绍。…

动态规划之数字三角形模型+最长上升子序列模型

首先,我们从集合角度重新看待DP: 直接看题:https://www.acwing.com/problem/content/1029/ 就是取纸条的原题,我们令f[i1,j1,i2,j2]表示从(1,1),(1,1)分别走到(i1,j1),(i2,j2)的路径的max i1j1i2j2,于是我们可以把状…

ESP32的芯片有几种

ESP32系列 ESP32芯片截止到24年7月有5个系列: ESP32-C3 ESP32由ESP32-P 系列、ESP32-S 系列、ESP32-C 系列、ESP32-H 系列、ESP32 系列构成。其中ESP32-S分为S3和S2两个小系列;ESP32-C系列分为C6、C5、C3、C2四个小系列,具体如下。 说明&am…