OSI七层经典模型架构以及网络的基本概念
在大、中型网络中,通常通过模块化方式将网络功能结构进行分解。但是在各个模块内部,还是存在结构的扩展和弹性问题。
譬如一个园区网络需要接入大量用户等,这个问题一般通过网络的层次化来解决。 传统的网络采用三个层次,核心、汇聚、接入各司其职,核心层提供数据高速通路,汇聚层进行流量汇聚和控制策略,接入层为终端提供多种接入方式。
但是呢?在实际的环境中呢?比如我们以一个典型园区网络架构为例:
OSI:Open System Interconnect Reference Model, 开放式系统互联参考模型。
OSI模型的设计目的是成为一个开放网络互联模型,来克服使用众多网络模型所带来的互联困难和低效性。
OSI参考模型很快成为计算机网络通信的基础模型。
在设计时遵循了以下原则: 各个层之间有清晰的边界,便于理解; 每个层实现特定的功能,且相互不影响;
每个层是服务者又是被服务者,即为上一层服务,又被下一层服务;
层次的划分有利于国际标准协议的制定;
层次的数目应该足够多,以避免各个层功能重复。
OSI参考模型具有以下优点:
简化了相关的网络操作;
提供即插即用的兼容性和不同厂商之间的标准接口;
使各个厂商能够设计出互操作的网络设备,加快数据通信网络发展;
防止一个区域网络的变化影响另一个区域的网络,因此,每一个区域的网络都能单独快速升级;
把复杂的网络问题分解为小的简单问题,易于学习和操作。
OSI七层模型中,给每一个对等层数据起一个统一的名字为:协议数据单元(PDU,Protocol Data Unit)。相应地,应用层数据称为应用层协议数据单元(APDU,Application Protocol Data Unit),表示层数据称为表示层协议数据单元(PPDU,Presentation Protocol Data Unit),会话层数据称为会话层协议数据单元(SPDU,Session Protocol Data Unit)。通常,我们把传输层数据称为段(Segment),网络层数据称为数据包(Packet),数据链路层称为帧(Frame),物理层数据称为比特流(Bit)。 封装(Encapsulation)是指网络节点(Node)将要传送的数据用特定的协议头打包,来传送数据,同样在某些层进行数据处理时,也会在数据尾部加上报文,这时候也称为封装。OSI七层模型的每一层都对数据进行封装,以保证数据能够正确无误的到达目的地,被终端主机接受、执行。
物理层涉及到在通信信道(channel)上传输的原始比特流,是OSI参考模型的基础,它实现传输数据所需要的机械、电气功能特性。它不关心每一bit流(0,1)所代表的含义( 如代表地址还是应用数据),只关注如何把bit流通过不同物理链路传输至对端。典型的像中继器、集线器(hub)就属于物理层设备。 链路层主要任务是提供对物理层的控制,检测并纠正可能出现的错误,使之对网络层显现一条无错线路,并且进行流量调控。 网络层检查网络拓扑,以决定传输报文的最佳路由,转发数据包。其关键问题是确定数据包从源端到目的端如何选择路由。网络层设备通过运行路由协议(Routing Protocol)来计算到目的地的最佳路由,找到数据包应该转发的下一个网络设备,然后利用网络层协议封装数据包,利用下层提供的服务把数据发送到下一个网络设备。 传输层位于OSI参考模型第四层,最终目标是向用户(一般指应用层的进程),提供有效、可靠的服务。 在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。 表示层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。 应用层为操作系统或网络应用程序提供访问网络服务的接口。
TCP/IP(Transfer Control Protocol/Internet Protocol,传输控制协议/网际协议)模型的开放性和易用性,以致在实践中得到了广泛应用,从而使TCP/IP协议栈事实上的标准协议。 TCP/IP模型与OSI参考模型的不同点在于TCP/IP把表示层和会话层都归入应用层,所以TCP/IP模型从下至上分为四层:网络接口层,网络层,传输层和应用层。在有些文献中也划分成五层,即把物理层也单独列出。
TCP/IP协议每一层都有对应的相关协议,且均为达成某一网络应用而产生,对于某些协议在分层上还不能严格对其定义。
比如ICMP、IGMP、ARP、RARP协议我们把他们放在与网络层IP协议同一层。
但在某些场合我们可能会把ICMP、IGMP放在IP协议的上层,而把ARP、RARP放在IP协议的下层。
应用层 HTTP(超文本传输协议):用来访问在WWW服务器上的各种页面。
FTP(文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。
DNS(域名服务系统):用于实现从主机域名到IP地址之间的转换。
传输层 TCP (传输控制协议) :为应用程序提供可靠的面向连接的通信服务,适用于要求得到响应的应用程序。目前,许多流行的应用程序都使用TCP。
UDP(用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
网络层 IP(互联网协议):IP协议和路由协议协同工作, 寻找能够将数据包传送到目的端的最优路径。IP协议不关心数据报文的内容,提供无连接的、不可靠的服务。
ARP(地址解析协议):把已知的IP地址解析为MAC地址。
RARP(反向地址解析协议):用于数据链路层地址已知时,解析IP地址。
ICMP(网际控制消息协议):定义了网络层控制和传递消息的功能。
IGMP(网际组管理协议):用于组播组成员管理。
数据链路层 数据链路层分为两个子层:逻辑链路控制子层(LLC, Logic Link Control Sublayer),介质访问控制子层(MAC, Media Access Control Sublayer)。
OSI七层经典模型架构以及网络的基本概念的更多相关文章
- 网络之OSI七层协议模型、TCP/IP四层模型
13.OSI七层模型各层分别有哪些协议及它们的功能 在互联网中实际使用的是TCP/IP参考模型.实际存在的协议主要包括在:物理层.数据链路层.网络层.传输层和应用层.各协议也分别对应这5个层次而已. ...
- OSI七层协议模型、TCP/IP四层模型学习笔记
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...
- OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...
- 简述OSI七层协议模型、TCP/IP四层模型和五层协议之间的关系
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...
- OSI七层协议模型、TCP/IP四层模型
OSI七层协议模型 TCP/IP四层模型 首先我们梳理一下每层模型的职责: 链路层:对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据: 网络层:定义IP地址,确认主机所在的网络位置,并通过I ...
- 速记OSI七层协议模型
OSI七层协议模型 第一层:物理层(Physical) 第二层:数据链路层(Data-Link) 第三层:网络层(NetWork) 第四层:传输层(Transport) 第五层:会话层(Session ...
- OSI七层与TCP/IP五层网络架构详解
引用自:http://www.2cto.com/net/201310/252965.html OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天 ...
- OSI七层与TCP/IP五层网络架构
OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代 ...
- python之路28 网络编程基础之OSI七层协议模型
OSI七层协议 """ 七层模型,亦称OSI(Open System Interconnection).参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间 ...
- OSI七层协议模型
OSI七层模型详解 TCP/IP协议 链接:https://www.nowcoder.com/questionTerminal/b2ccf60bbb13483b94b4bffe200b4f3c 来源: ...
随机推荐
- 基本数据结构-双端队列(Deque)
6.基本数据结构-双端队列(Deque) 一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. - 特性:d ...
- 读书笔记-C#8.0本质论-07
19. 平台互相操作性和不安全代码 19.1 在托管平台调用非托管代码--P/Invoke模式 CLI通过P/Invoke功能对非托管DLL所导出的函数执行API调用.和类的所有普通方法一样,必须在类 ...
- 分布式配置中心之Apollo
Apollo(阿波罗)是携程开源的一款可靠的分布式配置管理中心,它能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理场 ...
- redis之性能优化
1 redis-cli命令的 --stat选项 关于stat选项,官网也是介绍的比较简单.使用redis-cli命令加上stat选项可以实时监视redis实例,比如当前节点内存中缓存的 key总数以及 ...
- OneForAll - 功能强大的子域收集工具
OneForAll,是 shmilylty 在 Github 上开源的子域收集工具,目前版本为 v0.4.3. 收集能力强大,利用证书透明度收集子域.常规检查收集子域.利用网上爬虫档案收集子域.利用D ...
- sort函数详解
sort函数 简介 其实STL中的sort()并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序.根据不同的数量级别以及不同情况,能自动选用合适的排序方法.当数据量较大时 ...
- maven 太垃圾
Java mon amour: Maven sucks like hell http://www.javamonamour.org/2010/08/maven-tricks.html 搜 why ma ...
- 【转载】Spring Security Oauth2 自定义 OAuth2 Exception
https://www.cnblogs.com/merryyou/p/9100260.html 前言 在使用Spring Security Oauth2登录和鉴权失败时,默认返回的异常信息如下 { & ...
- 用 Cursor 写出第一个程序
大家好,我是汤师爷 最近几个月,Cursor迅速走红,成为一款强大的编程助手.Cursor不仅使用简单,而且通过集成各种大模型技术,编程能力一流. Cursor是什么? Cursor是一个类似VSCo ...
- Qt编写地图综合应用58-兼容多浏览器内核
一.前言 miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件.其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blin ...