在大、中型网络中,通常通过模块化方式将网络功能结构进行分解。但是在各个模块内部,还是存在结构的扩展和弹性问题。

譬如一个园区网络需要接入大量用户等,这个问题一般通过网络的层次化来解决。 传统的网络采用三个层次,核心、汇聚、接入各司其职,核心层提供数据高速通路,汇聚层进行流量汇聚和控制策略,接入层为终端提供多种接入方式。

但是呢?在实际的环境中呢?比如我们以一个典型园区网络架构为例:

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)。

发送方将用户数据提交给应用程序把数据送达目的地,整个数据封装流程如下:
用户数据首先传送至应用层,添加应用层信息;
完成应用层处理后,数据将往下层传输层继续传送,添加传输层信息(如TCP或UDP,应用层协议已规定是TCP还是UDP);
完成传输层处理后,数据将往下层网络层继续传送,添加网络层信息(如IP)。
完成网络层处理后,数据将往下层数据链接层继续传送,添加数据链层信息(如Ethernet、802.3、PPP、HDLC等),而后以比特流方式传输至对端(中间根据不同类型设备处理方式不同,交换机一般只进行数据链路层信息处理,而路由器进行更高层网络层处理,只有到达最终目的地才能恢复原用户数据);
用户数据到达目的地后,将完成解封装流程:
数据包先传送至数据链路层,经过解析后数据链路层信息被剥离,并根据解析信息知道网络层信息,比如为IP;
网络层接收数据包后,经过解析后网络层信息被剥离,并根据解析信息知道上层处理协议,比如TCP;
传输层(TCP)接收数据包后,经过解析后传输层信息被剥离,并根据解析信息知道上层处理协议,比如HTTP;
应用层接收到数据包后,经过解析后应用层信息被剥离,最终展示的用户数据与发送方主机发送的数据完全相同。
应用层和传输层提供端到端服务,网络层和数据链路层提供段到段服务。
 
 

OSI七层经典模型架构以及网络的基本概念的更多相关文章

  1. 网络之OSI七层协议模型、TCP/IP四层模型

    13.OSI七层模型各层分别有哪些协议及它们的功能 在互联网中实际使用的是TCP/IP参考模型.实际存在的协议主要包括在:物理层.数据链路层.网络层.传输层和应用层.各协议也分别对应这5个层次而已. ...

  2. OSI七层协议模型、TCP/IP四层模型学习笔记

    1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...

  3. OSI七层协议模型、TCP/IP四层模型和五层协议体系结构之间的关系

    一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...

  4. 简述OSI七层协议模型、TCP/IP四层模型和五层协议之间的关系

    一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数 ...

  5. OSI七层协议模型、TCP/IP四层模型

    OSI七层协议模型 TCP/IP四层模型 首先我们梳理一下每层模型的职责: 链路层:对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据: 网络层:定义IP地址,确认主机所在的网络位置,并通过I ...

  6. 速记OSI七层协议模型

    OSI七层协议模型 第一层:物理层(Physical) 第二层:数据链路层(Data-Link) 第三层:网络层(NetWork) 第四层:传输层(Transport) 第五层:会话层(Session ...

  7. OSI七层与TCP/IP五层网络架构详解

      引用自:http://www.2cto.com/net/201310/252965.html   OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天 ...

  8. OSI七层与TCP/IP五层网络架构

    OSI七层模型   OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代 ...

  9. python之路28 网络编程基础之OSI七层协议模型

    OSI七层协议 """ 七层模型,亦称OSI(Open System Interconnection).参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间 ...

  10. OSI七层协议模型

    OSI七层模型详解 TCP/IP协议 链接:https://www.nowcoder.com/questionTerminal/b2ccf60bbb13483b94b4bffe200b4f3c 来源: ...

随机推荐

  1. ECharts 引入中国地图和区域地图

    一,引入中国地图   <div  id="chinaMap"></div> import china from 'echarts/map/js/china. ...

  2. 限流中间件IpRateLimitMiddleware的使用

    前言 IpRateLimitMiddleware(Github: AspNetCoreRateLimit) 是ASPNETCore的一个限流的中间件,用于控制客户端调用API的频次, 如果客户端频繁访 ...

  3. C# 学习笔记 0415

    关于零碎的知识笔记总结,你可能需要知道的 一.Linq相关 Find()和First()与FirstOrDefault Find方法只能在List上使用,而后者能更广泛应用在IEnemerable上. ...

  4. 在Python工具箱中,创建对应子工具集

    目录 问题描述 实现方法 问题描述 在Pro中,新建自定义工具箱后,直接通过操作可以添加工具集. 但是新建python工具箱后,却没有新建的操作.因为python工具箱的对象定义,都是在脚本中定义的, ...

  5. MongoDB|TOMCAT定时切割日志文件的脚本

    MongoDB用过一段时间后,日志较大,需要定时进行日志切割. 一.切割bash: splitlogmongo.sh #!/bin/bash log_dir="/home/mongodb/l ...

  6. 腾讯云TKE-PV使用COS存储案例:容器目录权限问题

    背景 在TKE的集群中创建工作负载并把某一个对应的cos桶的根目录挂载到/data目录,在镜像构建的时候有把/data目录设置权限为755,但是运行容器后成功挂载cos桶的根目录到/data/目录,发 ...

  7. ngrx 4: 创建 ngrx 4.x 项目

    创建 @ngrx 4.x 项目 @ngrx 4.x 相比上一个版本有了一些变化,该文介绍了如何在 Angular 中集成 @ngrx r.x 实现状态管理. 一.创建基本项目 使用 Angular C ...

  8. 在centos上部署docker与wordpress

    简介 有一个wordpress服务器需要迁移了,之前都是别人维护的,现在需要迁移到自己维护,给的系统是linux centos 8.4.迁移包括mysql,php,phpmyadmin,wordpre ...

  9. HBaseIntrospector

    package x;import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; ...

  10. Docker OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caus

    docker执行命令:docker exec -it 1e33b26152e1 /bin/bash 在进入容器报错:OCI runtime exec failed: exec failed: cont ...