首页 > 其他分享 >网络世界的脊柱——OSI七层模型

网络世界的脊柱——OSI七层模型

时间:2024-06-13 11:56:32浏览次数:22  
标签:七层 网络层 脊柱 OSI 地址 物理层 IP地址 数据 数据包

简介

OSI代表开放系统互联(Open Systems Interconnection),这是国际标准化组织(ISO)提出的一个概念模型,用于描述网络通信的功能划分。简单来说,OSI模型把复杂的网络通信过程分成了七个不同的层次,每一层都有其特定的功能和角色。

每一层都有自己的头数据,在封装和解封的时候需要处理每一层的头部,通常头部定义了发送源和目标的一些信息,比如数据链路层,数据链路层的头部封装了源MAC和目标MAC等信息

物理层

简单点说,物理层就是负责传输“1”和“0”的地方。比如我们家里上网用的网线、光纤、WiFi信号,这些都属于物理层的范畴。它主要管的是“怎么把电信号或者光信号从一个地方传到另一个地方”。所以,网线里传的其实就是一串串的电信号,你可以理解成一堆小电流在网线里“跑步”,这些小电流的组合就形成了数据。

在物理层,我们不用考虑数据是什么,只需要保证这些信号能准确地传输过去。就像我们打电话的时候,电话线传的只是声音的振动,不关心你说的具体内容是什么。所以,物理层的任务就是把这些“振动”准确地传到对方那里,不管这个“振动”是用来干什么的。
WiFi信号其实就是一种电磁波,电脑和路由器通过这些电磁波来传输数据。这里的电磁波就是物理层的“工作工具”。另外,你家里网线插到电脑上,那根网线也是物理层的一部分。再比如光纤宽带,光纤里传输的就是光信号,这也是物理层在工作。

数据链路层

数据链路层就像是网络通信中的“邮递员”。它负责把数据打包成一个个“包裹”(我们叫做“帧”),然后负责把这些“包裹”送到正确的地方,同时还要确保这些“包裹”在传输过程中不出错。

帧概念

想象一下,你要寄一个包裹,你需要把东西装进一个盒子里,写上收件人的地址,然后交给快递员。数据链路层的工作也是类似的,它把数据装进一个“框架”里,这个框架里包括了收件地址(MAC地址)和发送地址,还有一些用于检测错误的东西,就像包裹里的防震材料一样,确保东西安全送达。

MAC地址

数据链路层用的是MAC地址,这有点像每个设备的身份证号码。每个网卡都有一个独一无二的MAC地址,网络中的交换机就是根据这些地址来判断数据应该送到哪里。

交换机

交换机是数据链路层中一个重要的设备。它会根据设备的MAC地址,把数据转发到正确的设备上。可以想象一下交换机是一座大楼里的前台,所有的信件先送到前台,然后前台根据收件人的名字和房间号,把信件分发到各个房间。

网络层

网络层就像是“导航系统”。它负责决定数据包要走哪条路,从发送方到接收方。这个过程叫做“路由选择”。网络层最重要的概念之一就是IP地址。你可以把IP地址想象成网络中的“地址”,每个设备都有一个唯一的IP地址,就像每栋房子都有一个唯一的门牌号一样。当你在网上发信息,数据包就像邮件一样,要根据IP地址找到收件人。

路由器

在网络层中,有一个重要的设备叫做路由器。路由器的作用就像是高速公路上的路标,指引数据包从一台设备走到另一台设备。如果有多条路可以到达目的地,路由器会选择最快的一条。这就像你开车时,GPS会帮你选择最短时间到达目的地的路线一样。

数据包

在网络层,数据被称为数据包。数据包包含了发送地址和接收地址,就像邮寄包裹上的寄件人和收件人地址。网络层负责把这些数据包从发送方的IP地址送到接收方的IP地址,中间可能经过很多路由器,就像包裹在寄送过程中经过很多中转站一样。

数据包分组和重组

因为网络中的数据传输效率问题,有时候一个大的数据会被分成多个小的数据包传输。网络层负责把这些小数据包分开发送,到达目的地后再重新组合起来,就像拼图一样。

网络层的重要性

网络层在网络通信中起着至关重要的作用。它确保数据能够找到最优路径,从一个设备传输到另一个设备。如果没有网络层,我们的数据就像没有导航系统的车辆,很容易迷路,无法到达目的地。

传输层

传输层就像是网络通信中的“可靠搬运工”。它的主要任务是确保数据能够从一个地方安全、完整、准确地搬运到另一个地方。

端口

传输层有一个很重要的概念叫做端口号。你可以把端口号理解为“房间号”。在一个IP地址下,端口号帮助确定具体是哪一个应用程序要接收数据。比如你的电脑有一个IP地址,但你同时在用浏览器上网、用QQ聊天、用邮件客户端收邮件,这些应用程序通过不同的端口号来区分接收到的数据。端口范围0-65535,0-1023为系统占用端口

TCP和UDP

在传输层中,有两个主要的协议,分别是TCP(传输控制协议)和UDP(用户数据报协议)。这两个协议就像是两种不同的搬运工,有着不同的工作方式。

TCP

TCP可以理解为“讲究的搬运工”。它在搬运数据时非常仔细,确保每一块数据都能准确无误地送到目的地。如果在搬运过程中有任何数据丢失或者出错,它会重新搬运。这就像你寄包裹时选择了带有追踪和保险的快递服务,确保包裹安全送达。
一个TCP连接通常经历以下几个阶段:
建立连接(SYN-SYN/ACK):客户端发送SYN包,服务器回应SYN-ACK包,客户端再发送ACK包,完成三次握手。
数据传输:双方开始交换数据。
断开连接(FIN-ACK):当一方准备结束连接时,发送FIN包,对方回应ACK包,然后等待对方也发送FIN包。
等待关闭(TIME-WAIT):在双方发送完FIN包并确认对方已接收后,发起关闭的一方进入Time-Wait状态。

UDP

UDP可以理解为“随意的搬运工”。它在搬运数据时不做过多检查,直接把数据发出去,不管对方有没有收到、有没有出错。这样做的好处是速度快,缺点是可靠性低。它就像你寄包裹时选择了普通的平信,没有追踪和保险,只能祈祷包裹顺利到达。
UDP适用于那些对速度要求高、对可靠性要求不那么高的应用,比如视频直播、在线游戏等。

会话层

话的建立和结束,在分开的计算机上的两种应用程序之间建立一种虚拟链接,这种虚拟链接称为会话(session)。会话层通过在数据流中设置检查点而保持应用程序之间的同步。允许应用程序进行通信的名称识别和安全性的工作就由会话层完成。

表示层

数据的表示、压缩和加密。定义由应用程序用来交换数据的格式,该层负责协议转换、数据编码和数据压缩。转发程序在该层进行服务操作。

应用层

用户接口、应用程序。 应用层向应用进程展示所有的网络服务。当一个应用进程访问网络时,通过该层执行所有的动作。

常见协议

总结


如果你对网络通信有更多的疑问或者感兴趣的话题,欢迎在评论区留言

标签:七层,网络层,脊柱,OSI,地址,物理层,IP地址,数据,数据包
From: https://www.cnblogs.com/yanchuanbin/p/18245422

相关文章

  • Maven无法下载依赖之 maven-default-http-blocker (http://0.0.0.0/): Blocked mirror
    问题:maven-default-http-blocker(http://0.0.0.0/):Blockedmirrorforrepositories:原因:名称为maven-default-http-blocker的拦截器拦截了库的镜像。场景:在企业内部架设了一个Nexus的私有库,库的地址是:http://hostname:8081/repository/maven-public/,于是在项目中需要从这......
  • git clone 私有仓库, 提示 "remote: Repository not found."
    现象私有仓库,已经在github里面关联了sshpubkey但是尝试使用gitclone将仓库克隆至本地时,提示"remote:Repositorynotfound.",如图解决方法改用AccessToken获取Github去到Setting->DeveloperSettings->personalaccesstokens->generatenewtoken......
  • Codeforces Problem 1980B Choosing cubes(基本排序)
    timelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputDmitryhas n......
  • Mathematica Partial Fraction Decomposition
    遇到的问题Mathematica中有一个自带的部分分式分解函数Apart。In:=Apart[(-3+x)/((-1+x)(1+x))]Out:=-(1/(-1+x))+2/(1+x)但是Apart遇到分解结果中带无理数的就会摆烂:In:=Apart[x/(1-x-x^2)]Out:=-(x/(-1+x+x^2))解决方案1我们有一个......
  • OSI七层模型
    七层协议含义以及作⽤:1、应⽤层为应⽤程序提供交互服务。在互联⽹中的应⽤层协议很多,如域名系统DNS,⽀持万维⽹应⽤的HTTP协议,⽀持电⼦邮件的SMTP协议等。2、表示层主要负责数据格式的转换,如加密解密、转换翻译、压缩解压缩等。3、会话层负责在⽹络中的两节点之间建⽴、维持......
  • OSI七层模型与TCP\IP四层模型
    1、OSI(OpenSystemsInterconnection)七层模型是由国际标准化组织(ISO)提出的一个理论框架,用于描述网络通信的过程。这个模型将网络通信的功能分为七个独立的层级,每一层都负责特定的任务,并且依赖于其下一层提供的服务。下面是OSI七层模型的详细解释:1.**应用层(ApplicationLayer......
  • TCP_CLOSING_13:[已关闭] RST -> [已关闭]
    测试目的:本测试用例的目的是验证当TCP处于CLOSED状态时,对于接收到的RST(重置)控制消息的处理机制。根据TCP协议规范,当TCP在CLOSED状态时,它应该忽略任何接收到的RST消息,并且不会产生任何响应。描述:TCP连接在CLOSED状态下是完全关闭的,不准备进行任何数据传输或连接建立。在这......
  • 覆盖路径规划经典算法 The Boustrophedon Cellular Decomposition 详解
    2000年一篇论文CoverageofKnownSpaces:TheBoustrophedonCellularDecomposition横空出世,解决了很多计算机和机器人领域的覆盖路径问题,今天我来详细解读这个算法。TheBoustrophedonCellularDecomposition算法详解这篇论文标题为"CoveragePathPlanning:TheB......
  • 四层反向代理和七层反向代理
    1、概述代理也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。 2、四层网络代理......
  • 如何解决 Docker Compose文件无法拉取:解决运维技术领域的Bug :Failed to pull Docker C
    如何解决DockerCompose文件无法拉取:解决运维技术领域的Bug:FailedtopullDockerComposeYAMLfilefromGitHubrepository原创作者:猫头虎作者微信号:Libin9iOak作者公众号:猫头虎技术团队更新日期:2024年6月6日博主猫头虎的技术世界......