【详细七层】OSI 网络模型,七层网络模型
OSI 网络模型
在讲到Nginx负载均衡的时候,其实Nginx是七层负载均衡,后续我们还会涉及到LVS,是四层负载均衡,七层和四层是什么概念呢?这就必须提到网络模型。网络模型是计算机网络基础的一部分内容,一般大学计算机系都会讲到此知识点,并且会作为考点;其实在面试过程中有时候也会被问到。所以我们还是有必要来复习或学习一下这块的一些重要知识的。
网络模型就是 OSI(Open System Interconnect),意思为开放网络互联,是由国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版的,他是一种网络互联模型,也是一种规范。
网络模型分为七层,也就是当用户发起请求到服务器接收,会历经七道工序,或者说用户利用互联网发送消息给另一个用户,也会历经七道工序。这七层可以分为如下:
层级 名称 说明
第七层 应用层 与用户行为交互
第六层 表示层 定义数据格式以及数据加密
第五层 会话层 创建、管理以及销毁会话
第四层 传输层 创建、管理请求端到响应端(端到端)的连接
第三层 网络层 请求端的IP地址
第二层 数据链路层 提供介质访问与链路管理
第一层 物理层 传输介质,物理媒介
以上七层每层可以与上下相邻层进行通信。每一层都是非常复杂的,我们不在这里深究,我们以举例的形式来阐述每一层是干嘛的。
应用层: 这是面向用户的,最靠近用户,为了让用户和计算机交互,在计算机里会有很多软件,比如eclipse,idea,qq,nginx等,这些都是应用软件,用户可以通过这些应用软件和计算机交互,交互的过程其实就是接口的调用,应用层为用户提供了交互的接口,以此为用户提供交互服务。那么在这一层最常见的协议有:HTTP,HTTPS,FTP,SMTP,POP3等。Nginx在本层,为七层负载均衡。
举例:我要寄一封信给远在天边的老外LiLei,我会打开快递软件下单,这个时候我是用户,快递软件就是应用服务,是建立在计算机上的,提供给用户交互的一种服务或称之为手段。表示层: 该层提供数据格式编码以及加密功能,确保请求端的数据能被响应端的应用层识别。
举例:我写中文给LiLei,他看不懂,这个时候我就会使用翻译软件把中文翻译成英文,随后信中涉及到一些比较隐私的信息我会加密一下,这个时候翻译软件和加密器就充当了表示层的作用,他用于显示用户能够识别的内容。会话层: 会话可以理解为session,请求发送到接受响应的这个过程之间存在会话,会话层就充当了这一过程的管理者,从创建会话到维护会话最后销毁会话。
举例:我每次写信给LiLei都会记录在一个小本本上,寄信时间日期,收信时间日期,这本小本本上存有每次通信记录,这个小本本就相当于是一个会话的管理者。又或者说,我们平时在打电话,首先需要拨打电话,这是建立会话,对方接听电话,此时正在通话(维持并管理会话),通话结束后会话销毁,那么这也是一次会话的生命周期。传输层: 该层建立端到端的连接,他提供了数据传输服务,在传输层通信会涉及到端口号,本层常见的协议为TCP、UDP,LVS就是在传输层,也就是四层负载均衡。
举例:我和LiLei通信过程中会借助快递公司,快递公司会分配快递员取件和寄件,那么这个快递员则充当传输层的作用。网络层: 网络通信的时候必须要有本机IP和对方的IP,请求端和响应端都会有自己的IP的,IP就相当于你家地址门牌号,在网络上云服务器有固定的公网IP,普通计算机也有,只不过是动态IP,运营商每天会分配不同的IP给你的计算机。所以网络层也能称之为IP层,IP是互联网的基础根本。能提供IP分配的设备则为路由器或交换机。
举例:对于拥有固定IP的云服务来说,他们都是由腾讯云、阿里云等这样的供应商提供的,他们为云服务器提供固定ip;电信、移动、联调等运营商为你的计算机动态分配ip,每天都不同;则这些供应商和运营商都是网络层。同理,快递员由物流公司分配和管理,那么物流公司就是网络层咯。数据链路层: 这一层会提供计算机MAC地址,通信的时候会携带,为了确保请求投递正确,所以他会验证检测MAC地址,以确保请求响应的可靠性。
举例:快递员在投递派送的时候,他(或客服)会预先提前打电话给你,确认你家地址对不对、有没有人、货到付款有没有准备好钱等等,这个时候快递员(或客服)就充当了数据链路层的职责。物理层: 端到端请求响应过程中的媒介,物理介质,比如网线、中继器等等设备,都是你在端到端交互过程中不可缺少的基础设备。
举例:快递员在投递的过程中,你写的信会历经一些交通运输工具,比如首先通过飞机运输到国外,在海关统一拿到信以后会通过汽车运输到LiLei所在城市的物流集散地,最后快递员通过三轮电频车寄到LiLei家里,这个时候,飞机、汽车、三轮电瓶车都是物理层的媒介。
以上就是七层网络模型,大家理解其意义即可。需要注意的是Nginx存在于第七层,属于七层负载均衡;而第四层会有LVS,属于四层负载均衡。而关于七层和四层的区别我会在下一节来说一说。
【详细七层】OSI 网络模型,七层网络模型相关推荐
- OSI的七层模型详解
各层功能定义 这里我们只对OSI各层进行功能上的大概阐述,不详细深究,因为每一层实际都是一个复杂的层.后面我也会根据个人方向展开部分层的深入学习.这里我们就大概了解一下.我们从最顶层--应用层 开始介 ...
- OSI七层模型及各层功能概述
目录 1.OSI的基本概念及原则 2.OSI七层模型各层功能概述 3.OSI七层模型举例 4.OSI七层模型总结 1.OSI的基本概念及原则 OSI是Open System Interconnect的 ...
- OSI七层模型和TCPIP四层网络模型
OSI七层模型和TCP/IP四层网络模型 写在文前,本篇文章是在学习过程抄录的笔记,需要更详细的内容可以在微信搜索javaguide公众号获取. 1.OSI划分 七层划分:应用层.表示层.会话层.传输 ...
- 计算机网络 - OSI/RM七层网络模型
1977 年,国际标准化组织为适应网络标准化发展的需求,制定了开放系统互联参考模型(Open System Interconnection/Reference Model,OSI/RM),从而形成了网 ...
- 七层网络模型与四层网络模型以及每层网络协议
OSI七层网络模型 第一层 物理层 第一层负责最后将信息编码成电流脉冲或其它信号用于网上传输.它由计算机和网络介质之间的实际界面组成,可定义电气信号.符号.线的状态和时钟要求.数据编码和数据传输用的连 ...
- OSI网络七层模型简明教程
如果你读过计算机专业,或者学习过网络通信,那你一定听说过 OSI 模型,它曾无数次让你头大.OSI 是 Open System Interconnection 的缩写,译为"开放式系统互联& ...
- 计算机网络中的OSI七层模型的各层的定义及其所用到的协议和功能
前几天网络笔试,考了一下数据链路层的协议,我有点搞混了,于是我就总结一下七层的各自协议 各层名称 传输单位 应用层 数据包 表示层 数据包 会话层 数据包 传输层 报文段/用户数据报 网络层 数据报 ...
- 互联网协议套件(TCP/IP)及七层OSI模型
互联网协议套件(英语:Internet Protocol Suite,缩写IPS)[1]是网络通信模型,以及整个网络传输协议家族,为网际网络的基础通信架构.它常通称为TCP/IP协议族(英语:TCP/ ...
- OSI模型七层模型结构
OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model ...
- 网络基础(二)OSI 网络七层各层功能 --难理解
注:本文以书刊形式展示 Cisco七层协议,并不以知识点 经验为题,建议闲暇时间观看 OSI 网络七层协议(Open System Interconnection),简称OSI,是一个开放性的通行系统 ...
最新文章
- html语言中 加当前时间,javascript中怎么获取当前时间?
- js 通过jquery插件获取url参数 其中的一个小问题,或许不算Bug。
- 知识贴!单片机C语言编程之.H文件与.C文件的关系
- 修改hostname有几种方式?
- 如何在Appscale下发布自己的应用(二)
- 股票自动交易使用协议
- c# combobox集合数据不显示_Excel也能玩转百万数据
- 第一部分:MongoDB备忘录
- 算法:求两个数最大公约数
- 第六章节 多态 (多态的概述)
- IIS 7.0与ASP.NET
- Android SurfaceView动画(二)
- ruby中文文档下载
- API的理解和使用——有序集合
- 3S基础知识:VB中利用MapX创建用户定制工具
- 独立开发者能够从这位作家身上学些什么
- ECCV 2020 论文大盘点-目标跟踪篇
- Eclipse官网下载
- 语法分析--自上而下分析的基本问题
- Private Set Intersection(PSI)
热门文章
- 情人节程序员用HTML网页表白【全屏3D相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- [ERROR] Slave I/O: error connecting to master
- 【matlab】:matlab的linspace函数解析
- Notification消息提醒
- 解读72篇DeepMind深度强化学习论文
- 【计算机视觉】:(3)全景图像拼接
- XUI框架实现比原生框架更好看并且功能更齐全的EditText框?,以及如何获取EditText的值
- Android 程序框架设计
- 启动nacos报错:Exception in thread main java.lang.UnsupportedClassVersionError
- 高发疾病分布特征分析