• 计算机网络体系结构图解


    OSI七层网络体系

    七层模型,也称为OSI(Open System Interconnection)参考模型,是国际标准化(ISO)指定的一个用于计算机或通信系统间互联的标准体系。

    OSI是一个开放性的通信系统互连参考模型,它是一个定义得非常好的协议规范。

    再声明一下:OSI只是一种参考模型、一种设计规范。

    OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端,点到点的数据流。

    在这里插入图片描述

    建立七层模型的主要目的是为解决各种网络互联时遇到的兼容性问题。其最大的优点是将服务、接口和协议这三个概念明确地区分开来:

    • 服务说明某一层为上一层提供一些什么功能
    • 接口说明上一层如何使用下层的服务
    • 而协议则是如何实现本层的服务。

    如此各层之间就具有很强的独立性,互联网络中各实体采用什么样的协议是没有限制的,只要向上提供服务并且不改变相临层的接口就可以了。网络七层的划分也是为了使用网络的不同功能模块分担起不同的职责,也就带来如下好处:

    • 减轻问题的复杂程度,一旦发生网络故障,可迅速定位故障所处层次
    • 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作。
    • 各层之间相对独立,一种高层次协议可放在多种低层次协议上运行。
    • 能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需要更改整个系统

    OSI七层各层功能

    OSI的上面四层(应用层、表示层、会话层、传输层)为高层,为应用程序服务;下面三层(网络层、数据链路层、物理层)为低层,由操作系统支持。

    在这里插入图片描述
    ·

    应用层

    与其它计算机进行通讯的一个应用,它是对应 应用程序的通信服务的。

    例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。

    表示层

    这一层的主要功能是定义数据格式及加密。

    例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

    会话层

    它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。

    示例:RPC,SQL等。

    传输层

    这层的功能包括是选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。

    示例:TCP,UDP,SPX。

    网络层

    这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。

    为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

    数据链路层

    它定义了在单个链路上如何传输数据。

    这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。

    物理层

    OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组织制定的标准。

    连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

    五层体系结构

    五层网络体系结构分分别为:应用层、运输层、网络层、数据链路层、物理层。各层功能分别如下:

    第五层——应用层

    (1) 应用层(application layer):是体系结构中的最高。直接为用户的应用进程提供服务。
    (2) 在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。

    第四层——运输层

    运输层(transport layer):负责向两个主机中进程之间的通信提供服务。

    由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能:

    • 复用,就是多个应用层进程可同时使用下面运输层的服务。
    • 分用,就是把收到的信息分别交付给上面应用层中相应的进程。

    运输层主要使用以下两种协议:

    1. 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。
    2. 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

    第三层——网络层

    网络层(network layer)主要包括以下两个任务:

    • 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层残生的报文段或用户数据报封装成分组(数据报)或包进行传送。

      注:在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。

    • 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

    第二层——数据链路层

    数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。

    在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。

    每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。

    “透明”的概念:

    ”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样

    在数据链路层透明传送数据:表示无论什么样的比特组合的数据都能够通过这个数据链路层。

    因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。

    那么数据链路层是怎么处理传输数据中发生的错误呢?

    (1) 在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
    (2) 控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。

    第一层——物理层

    物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。这个和七层体系结构相差无几

  • 相关阅读:
    const常量和基础数据类型
    Java idea编译器工程out目录修改
    【Linux|树莓派】分文件编程以及静态库动态库
    SSM学习——SSM整合案例(Spring+SpringMVC+Mybatis)(13)
    水儿的绘画——dfs连通块+暴力枚举
    自己建站显示无法连接网络,如何解决?
    在数据增强、蒸馏剪枝下ERNIE3.0分类模型性能提升
    36.一文讲透JavaScript日期对象Date,时间戳、1970、date方法、date计算
    力扣347-前k个高频元素——HashMap
    夜班睡岗离岗识别检测系统
  • 原文地址:https://blog.csdn.net/weixin_45525272/article/details/126744475