热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVS前传之你需要了解的七层网络协议

网络基本概念OSI模型OSI模型(OpenSystemInterconnectionmodel)是一个由国际标准化组织?提出的概念模型,试图?供一个使各种不同的计算机和网络在世界


 


网络基本概念



OSI模型

OSI 模型(Open System Interconnection model)是一个由国际标准化组织?提出的概念模型,试图?供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。

它将计算机网络体系结构划分为七层,每层都可以?供抽象良好的接口。了解 OSI 模型有助于理解实际上互联网络的工业标准——TCP/IP 协议。
OSI 模型各层间关系和通讯时的数据流向如图所示:七层模型是为了更好的管理数据

image

 

clipboard.png

 

七层模型中的数据发送是从上层往下层传递,经过物理层协议传输,然后由下层往上层接收,呈U字型。上三层(应用层、表示层、会话层)是最贴近用户的,为用户服务;而下四层(传输层、网络层、数据链路层、物理层)是为数据传递提供服务的。如果不涉及数据传输,则不会经过下四层,如:不联网,下四层就不会介入

1、OSI七层模型只是一种标准,实际在网络传输当中使用的是TCP/IP四层模型
2、OSI七层模型当中,其中上三层是对用户提供服务,下四层才是实际进行数据传递
3、传输单位:


应用层 -- APDU (上三层的单位都没有什么用的,因为没有数据传输)
表示层 -- PPDU
会话层 -- SPDU
传输层 --TPDU(传输层数据单元,以前也叫段)
网络层 -- 报文(包含IP地址,用于公网通信)
数据链路层 --帧(包含Mac地址,用于局域网传递
物理层 ---比特byte


 


详解



1、物理层
1-1) 比特流的传输 : 最基本的数据传递
1-2) 物理接口 : 网线口、视频口、音频口
1-3) 电气特性 : 网线8根线中的1、3、2、6四根线传输数据
1-4) 最常见的设备 : 网线、网卡

物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输

2、数据链路层
2-1) 负责组成帧(组入MAC信息)
2-2) 用MAC地址访问媒介(发送人与接收人)
2-3) 错误检测与修正(检测与修正数据包)

3、网络层
3-1) 负责提供逻辑地址(IP地址, 需要写入发件人IP与收件人IP)
3-2) 选择通路(经过的路径)

网络层负责在源和终点之间建立连接,可以理解为,此处需要确定计算机的位置,怎么确定?IPv4,IPv6!

4、传输层
4-1) 负责确定传输协议(TCP传输控制协议可靠不会丢、UDP用户数据报协议更快但可能会丢)可靠与不可靠的传输
4-2) 传输前的错误检测
4-3) 流量控制
4-4) 确立端口号, 便于通过IP确定主机后, 通过端口确定交互的服务, IP地址为门牌号, 端口号即为收件人
默认下网页服务端口号为80, 邮件服务端口号为25110, 文件传输端口号为21,每种传输协议,都有65536个端口。

可以理解为:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信

5、会话层
5-1) 对应用会话的管理和同步, 确定网络数据是否要进过远程回话

6、表示层
6-1) 数据的表现形式, 不同数据类型扩展名进行解码编码
6-2) 特定功能的实现, 如加密、压缩

7、应用层
7-1) 为用户提供服务的接口

 


举例场景



用户A需要给用户B发送一份邮件
8-1) 应用层 : 浏览器进入邮箱, 写邮件, 点击发送, 数据将传递至 表示层
8-2) 表示层 : 进行的数据的编码, 而后数据传递至会话层
8-3) 会话层 : 判断数据的发送类型, 是进行网络传输还是进行本地保存, 若是进行传输,传递至传输层。
8-4) 传输层 : 确立协议TCPUDP, 写入邮件的发送及目标端口号, 传递至网络层
8-5) 网络层 : 写入自身及目标IP地址, 传递至数据链路层
8-6) 数据链路层 : 写入源MAC地址与目标MAC地址, 由于IP地址找到局域网, 再通过MAC地址在局域网中找到目标, 传递至物理层
8-7) 物理层 : 数据传输


7 应用层:老板

6 表示层:相当于公司中演示稿老板、替老板写信的助理

5 会话层:相当于公司中收寄信、写信封与拆信封的秘书

4 传输层:相当于公司中跑邮局的送信职员

3 网络层:相当于邮局中的排序工人

2 数据链路层:相当于邮局中的装拆箱工人

1 物理层:相当于邮局中的搬运工人


 


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
author-avatar
jimmy2702933123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有