网络原理初识(2)

目录

一、协议分层

        1、分层的作用

        2、OSI七层模型

        3、TCP / IP五层(或四层)模型

        4、网络设备所在分层

        5、网络分层对应

二、封装和分用

发送过程(封装)

1、应用层(应用程序) QQ

2、传输层

3、网络层

4、数据链路层

5、物理层

接收过程(分用)

1、物理层

2、数据链路层--以太网

3、网络层--IP协议

4、传输层--UDP协议

5、应用层--QQ应用程序

现实世界的封装和分用

假设上面其中某个节点是交换机

假设上面其中某个节点是路由器

都看到这了,点个赞再走吧,谢谢谢谢谢


一、协议分层

        1、分层的作用

        网络通信过程中,涉及到的细节非常多,如果要有一个协议来完成网络通信,就要约定好方方面面的内容,因为细节非常多,就导致协议非常麻烦。

        一个协议太庞大复制,就把它拆分成多个功能单一的协议,拆分出来的协议太多了,为了让这些协议更好的相互配合,就引用了协议分层

        网络协议被拆分出来后,就把这些协议进行分层,把功能相似的协议放到同一层,上层协议能调用下层协议的功能,下层协议给上层协议提供服务。类似公司的老板--领导--组织--员工体系。

        协议分层的初心就是让一个复制的协议变成多个简单的协议,这还附带了一些好处,如图:

        (1)上层协议直接使用下层协议就好了,不需要了解下层协议的细节

        如上图,语言层,不管老人还是小孩,只要会说汉语,就能打电话,并不需要知道电话机的工作原理。

        (2)某一层协议进行替换后,对其他协议并没有啥影响

        如上图,电话机协议换成汉语协议和英语协议,还是能打电话,说汉语的就使用无线电,说英语的就使用电话机,还是可以实现打电话这个功能,并没有啥影响。

        2、OSI七层模型

        最初大佬设计的方案,后来在实施过程中,因为太麻烦了,就简化成五层。

        OSI:即Open System Interconnection,开放系统互连.

OSI七层网络模型是一个逻辑上的定义和规范:把网络从逻辑上分为了七层.

OSI七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输; 

        OSI:七层模型划分为以下七层:

        3、TCP / IP五层(或四层)模型

        这里的或四层的意思是不算物理层,物理层是纯硬件的,而程序员往往不用理会物理层。

        1)应用层:程序拿到数据后,要用来干嘛,解决什么问题。

        类似网上下单商品后,装进快递盒贴码后交给快递小哥,快递小哥拿快递盒开始运送。

        2)传输层:负责关注网络数据包的 起点和终点(从哪来到哪去),端口和端口之间的传输。

        类似网购的商品发送地址和收货地址,广东-->上海

        3)网络层:负责关注起点和终点之间的 路径规划(怎么走)。

        类似规划路线:广东-->武汉-->河北-->...-->上海

        4)数据链路层:负责两个相邻节点的传输。

        类似上海-->南京:飞机空运;南京-->无锡:铁路运输。

        5)物理层:通信过程的基础设施

        类似公路,铁路,航线....

        4、网络设备所在分层

        对于一台主机:它的操作系统内核实现了从传输层到物理层的内容,即TCP / IP五层模型的下四层

        对于一台路由器:它实现了从网络层到物理层,即TCP / IP五层模型的下三层

        对于一台交换机:它实现了从数据链路层到物理层,即TCP / IP五层模型的下二层

        对于一台集线器:它只实现了物理层

        注意:这里谈到的路由器和交换机是 “经典”的路由器、交换机(教科书上的);事实上,真实世界中的交换机 / 路由器要更复杂,功能也更强大。

        很多交换机,也具备一些路由器的的功能,也能工作在网络层。

        很多路由器,也具备一些交换机的功能,也能工作在数据链路层。

        现实世界的情况和考试的情况 可能存在差异。

        5、网络分层对应

        网络数据传输时,经过不同的网络结点(主机,路由器)时,网络分层需要对应.

        以下为同一个网段中两台主机进行文件传输:

        两台计算机通过TCP/IP协议通讯的过程如下图所示:

        TCP/IP通讯过程:

        以下为跨网段的主机文件传输:数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.    


二、封装和分用

        封装和分用是网络传输过程中,最核心的过程。

1.不同协议层对数据包有不同的称谓:包(packet)->IP数据包,;段(segment)->TCP数据段;

报(datagram)->UDP数据报;帧(frame)->以太网数据帧.

2.应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

3.首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息.

4.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥离出相应的首部,根据首部中的"上层协议字段"将数据交给对应的上层协议处理.

        举个例子,介绍分装分用的过程:A 通过QQ 给 B 发送一个 hello。

发送过程(封装)

1、应用层(应用程序) QQ

        QQ从消息输入框,获取到用户输入的 “hello”,就要把这个字符串构造成应用层的数据包;QQ这样的程序内部就设置了一个应用层协议:应用层数据包就是按照这个应用层协议约定的格式来构造的。

        约定格式如下:

        应用程序就会调用操作系统的api,把这个数据包交给传输层。

2、传输层

        输入层就会把上述数据作为一个整体,再构造成一个传输层的数据包。

        此处假定使用UDP来进行通信,就会构造成一个UDP的数据包。如图:

        UDP报头:虽然不能保护数据,但能起到类似 “贴标签”的效果,就能承载一些关键的、用来转发数据的信息。对于UDP报头来说,承载的最重要的信息就是源端口目的端口

        形如上述添加报头的过程,就叫做封装,其实就是字符串拼接,只不过拼的报头,具有一定的结构。

        拼装好传输层数据包之后,就要把这个数据包进一步的交给下层,网络层继续进行封装。

3、网络层

        这里涉及的最核心的协议:IP协议。

        网络层根据IP协议,把刚才传输层的UDP数据包作为一个整体,再拼上IP协议的报头,构造成一个IP数据包。如图:

        IP协议的报头,相当于把整个UDP数据包当成一个整体了。这里也会包含一些辅助转发的关键信息,此处最关键的信息就是 源IP目的IP

        构造完成完整的IP数据包后,IP协议继续调用数据链路层的 api,再把数据交给数据链路层的协议处理。

4、数据链路层

        这里涉及核心的协议:以太网,此处的 “以太” 用来表示网络数据传输的介质。

        以太网就是日常最常见到的 有线网络,日常用到的网线,也叫做 “以太网线”,日常用到的网口,也叫做 “以太网口”,用到的交换机,也叫做 “以太网交换机”。

        在数据链路层中,会把IP数据包作为一个整体,再添加以太网数据帧,在IP数据包基础上,添加帧头和帧尾。如图下就是以太网数据帧:

        构造完以太网数据帧后,以太网协议就会把以数据交给物理层。

5、物理层

        物理层涉及到的是硬件设备,把上述这样的以太网数据帧,它是二进制结构(一串 0 1 0 1 这样的数据),转换成光信号 / 电信号 / 电磁波。

        光信号:光纤,通过光的频谱进行编码。

        电信号:网线,高电平 / 低电平

        电磁波:无线WiFi

经过上述流程,数据才从你电脑上发送出去

接收过程(分用)

        中间过程暂时不考虑,假定数据包已经到达B的网卡了,B如何处理这个数据包的过程,就称为 分用。

1、物理层

        B的物理层收到光信号 / 电信号 / 电磁波,就会把这些物理信号转换成数字信号(二进制的 0 1 0 1),得到一个以太网数据帧,进一步的把这个数据帧交给数据链路层处理。

2、数据链路层--以太网

        按照以太网数据帧的格式,来解析,取出其中的载荷,再交给上层协议。(发送方和接收方得使用一样的协议才行)如图:

3、网络层--IP协议

        按照IP协议的格式进行解析,取出其中的载荷,再交给上层协议。如图:

        

4、传输层--UDP协议

        按照UDP协议的格式来解析,取出其中的载荷,再交给上一层。如图:

5、应用层--QQ应用程序

        按照QQ应用程序内部的应用层协议格式来解析数据,如图:

        qq拿到上面数据后,就会再窗口给你弹出提示,并且把消息、发送者、发送时间 都显示在连聊天窗口上。

现实世界的封装和分用

        上面这种情况是两台主机网线直连的情况,并不是真实情况,真实情况更加复杂,会通过一系列交换机 / 路由器 进行数据转发。

       但实际上,即使是经过路由器或者交换机,上述的封装分用过程,也同样适用,只不过,封装分用的程度不一定是到 应用层(五层都有)。

        对于经典的交换机来说,就只需要封装分用到数据链路层

        对于经典的路由器来说,就只需要封装分用到网络层

假设上面其中某个节点是交换机

        交换机就会把上述光电信号转换成以太网数据帧二进制,交给数据链路层。如图:

        交换机的数据链路层就会对上述数据进行解析,这个解析过程:一方面要取出载荷部分,另一方面要解析帧头的关键信息

        根据帧头中的信息,决定下一步把数据往哪里进行发送,根据这个情况,再构造出新的以太网数据帧。如图:

        把新的数据继续通过物理层发送出去。

假设上面其中某个节点是路由器

        路由器则比交换机要更复杂一些,就是封装分用到网络层。

        先是物理层拿到光电信号,转换成二进制数据,再交给数据链路层,如图:

        数据链路层根据上面的数据进行解析,取出载荷,交给网络层(IP协议)。

        网络层中,IP协议进一步对收到的数据进行解析,取出载荷。

        也要解析IP报头,路由器需要通过IP报头,得到目的IP,接下来才知道如何转发。

        取出IP报头,IP协议进行重新封装,得到新的IP报头,如图:

        继续交给数据链路层,继续加上新的帧头和帧尾,如图:

        这个数据再交给物理层,转成光电信号,继续传输。

上述是经典的交换机和路由器,现实情况要更复杂一些,比如交换机,就要截取 / 解析你传输的数据,会封装分用到应用层,把你的hello拎出来看看,你作为外人,无从得知,比如棱镜门事件,就是利用这一机制,监听各国机密的。


都看到这了,点个赞再走吧,谢谢谢谢谢

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

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

相关文章

AI皮肤测试的基本原理

人工智能测试皮肤的实现原理通常涉及计算机视觉和机器学习技术。以下是一般的实现步骤和原理,涉及数据收集、特征提取、模型训练和优化等多个步骤,利用这些步骤中的技术手段来实现对皮肤状况的识别和分类。北京木奇移动技术有限公司,专业的软…

Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-2、线条平滑曲面且可通过面观察柱体变化(二)

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fr…

raid0、raid1、raid5、raid10选哪个?一文给你答案!

下午好,我的网工朋友。 关于磁盘阵列的用法,总有朋友对其用途与功能一知半解,很容易弄混。 而我们在做监控项目存储时,经常会用到磁盘阵列。 什么是磁盘阵列?为什么要做磁盘阵列?用什么样的磁盘阵列合适…

阿里云99元服务器和腾讯云99元服务器你选哪个?

99元一年云服务器可以选择阿里云或腾讯云,选择阿里云99元服务器还是腾讯云99元服务器?价格相同,阿腾云建议选择阿里云99元服务器,原因有二,阿里云99元服务器是ECS,腾讯云99元服务器是轻量应用服务器&#x…

【智能算法】蝙蝠算法(BA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.代码实现4.参考文献 1.背景 2010年,Yang受到蝙蝠回声定位的特性启发,提出了蝙蝠算法(Bat Algorithm, BA)。 2.算法原理 2.1算法思想 蝙蝠算法模拟了蝙蝠利用回声定位系统寻找小型昆虫进行捕食的行为&…

ICLR 2024 | Meta AI提出ViT寄存器结构,巧妙消除大型ViT中的伪影以提高性能

论文题目:Vision Transformers Need Registers 论文链接:https://arxiv.org/abs/2309.16588 视觉Transformer(ViT)目前已替代CNN成为研究者们首选的视觉表示backbone,尤其是一些基于监督学习或自监督学习预训练的ViT&a…

Python3虚拟环境之virtualenv

virtualenv 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.7。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果要同时开发多个应用程序,这些应用程序都会共用一个Python,就是安装在系统的Pyt…

【力扣100】【好题】322.零钱兑换 || 01背包完全背包

添加链接描述 思路: dp[j]数组表示的是在金额达到 j 的时候所需要的最小硬币数金额:背包容量,每个硬币的个数都为1:背包中物品的价值,硬币面额:物品重量dp[j]min(dp[j],dp[j-coin]1) class Solution:def …

【c语言 】数组入门

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步&…

Redhat Linux(RHEL) - Primavera P6 EPPM 安装及分享

引言 继上一期发布的Oracle Linux版环境发布之后,近日我又制作了基于Redhat Linux 的P6虚拟机环境,同样里面包含了全套P6 最新版应用服务 此虚拟机仅用于演示、培训和测试目的。如您在生产环境中使用此虚拟机,请先与Oracle Primavera销售代表…

什么是农业四情监测设备?

【TH-Q2】智慧农业四情监测设备是一种高科技的农田监测工具,旨在实时监测和管理农田中的土壤墒情、作物生长、病虫害以及气象条件。具体来说,它主要包括以下组成部分: 气象站:用于监测气温、湿度、风速等气象数据,为农…

proxy配置代理

通过代理配置可以实现以下几个作用 跨域请求处理:当前端应用运行在一个域名下,而需要请求的 API 接口位于另一个域名下时,由于浏览器的同源策略限制,会导致跨域请求失败。通过代理配置,可以将前端应用的请求先发送到同…

基于鹦鹉优化算法(Parrot optimizer,PO)的无人机三维路径规划(提供MATLAB代码)

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行…

2024最新最全【网络安全】学习路线,零基础入门到精通

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

Linux安装Mysql8.0

本案例为linux安装mysql8.0.27 若非新服务器可先查看是否已安装mysql,若已安装先进行卸载。 1、Linux查看glibc版本信息,下载相应的MYSQL ldd --version2、mysql下载 https://downloads.mysql.com/archives/community/ 3、安装 linux打开目录&#xf…

python数据类型 -- 元组Tuple

你好, 我是木木, 目前正在做两件事   1. 沉淀自己的专业知识   2. 探索了解各种副业项目,同时将探索过程进行分享,帮助自己以及更多朋友找到副业, 做好副业 文末有惊喜 在Python中,元组(tuple)是一种不可变序列类型&…

(二十四)Flask之flask-session组件

目录: 每篇前言:Flask-session 每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥本文已收录于…

qt-C++笔记之使用Cmake来组织和构建QWidget工程项目

qt-C笔记之使用Cmake来组织和构建QWidget工程项目 —— 杭州 2024-03-10 code review! 文章目录 qt-C笔记之使用Cmake来组织和构建QWidget工程项目1.运行2.文件结构3.CMakeLists.txt4.main.cpp5.widget.h6.widget.cpp7.widget.ui 1.运行 2.文件结构 3.CMakeLists.txt 代码 c…

批量文本处理:轻松提取与整理大量文本内容

在数字时代,内容创作已成为企业与个人传递信息、展示品牌形象的重要手段。然而,面对海量的文本信息,如何高效地提取关键内容,并将其转化为引人注目的标题和宣传软文,成为了摆在我们面前的一大挑战。 第一步&#xff0…

电脑桌面图标变大了怎么恢复?5种简单方法帮你恢复正常

在使用电脑的过程中,有时候我们可能会遇到桌面图标变得异常大的情况。这种问题不仅影响了桌面的整洁度,也可能会影响我们的操作体验。电脑桌面图标变大了怎么恢复?如果你也遇到了这种情况,不用担心,本文将为你介绍五种…
最新文章