• OSI 和 TCP/IP 网络分层


     上图为7层协议

     7层协议的不足

    • OSI 的专家缺乏实际经验,他们在完成 OSI 标准时缺乏商业驱动力
    • OSI 的协议实现起来过分复杂,而且运行效率很低
    • OSI 的层次划分不太合理,有些功能在多个层次中重复出现

    五层网络协议,各层功能,各层协议

    1 第五层——应用层(application layer) 

    • 应用层(application layer):是体系结构中的最高。直接为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供服务。把应用层交互的数据单元称为报文
    • 在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,DNS,POP3,SNMP,Telne
    • DNS协议是基于UDP的应用层协议,它的功能是根据用户输入的域名,解析出该域名对应的IP地址,从而给客户端进行访问。

    2. 第四层——运输层(transport layer)

    • 运输层(transport layer):负责向两个主机中进程之间的通信提供通用的服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能
    • 复用,就是多个应用层进程可同时使用下面运输层的服务。可以理解为通用
    • 分用,就是把收到的信息分别交付给上面应用层中相应的进程。
    • 运输层主要使用以下两种协议: 
      (1) 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。 
      (2) 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

    3. 第三层——网络层(network layer)

     分组交换网上的不同主机提供通信服务  IP RIP ARP OSPF等协议

    • 1.路由选择与分组转发。  目的是为了选择最佳路径。

      2.异构网络互联。  把不同类型的网络联接起来,形成一个更大的网络。

      3.拥塞控制。解决方法:开环控制  闭环控制

      • IP 协议:

        (1)IP协议提供了IP地址,并将源目IP地址夹带在通信数据包里面,为路由器指明通信方向;

        (2)IP协议只能指明数据包的源目通信方即"这是谁的送给谁的",但不能保证数据包一定能到达对方,数据是否会被丢弃以及丢弃之后如何处理。所以,上面才有这句:"IP协议提供面向无连接不可靠传输功能"。那么,如果出现丢包且需要重传时,谁来解决呢?这就需要TCP/IP协议栈另外一个"半壁江山"来实现,大家肯定猜到了:TCP协议能解决以上这些IP协议不能实现的功能。

        (3) IP协议不仅仅只有"快递单"功能,它还能防止数据包环路、为数据打上重要或不重要等标签实现流量控制、能验证数据包是否损坏、能实现数据包分片和组装功能;

    4. 第二层——数据链路层(data link layer)

           工作于物理层和网络层之间(1)网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等).例如 这一层在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路。提供物理地址寻址功能。二层交换机工作在这一层。

    5. 第一层——物理层(physical layer)  比特

      • 物理层(physical layer):实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异

     补充:

     会话层:建立、管理 用户之间的会话

      表示层:信息的语法语义 以及他们之间的关联 例如 数据的加解密 压缩 解压缩

    TCP/IP 四层模型

    1. 应用层
    2. 传输层
    3. 网络层
    4. 网络接口层:(数据链路层和物理层的合体。)

    为什么网络要分层

      • 各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)
      • 提高了整体灵活性 :每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。
      • 大问题化小 : 分层可以将复杂的网络间题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化

    OSI七层和TCP/IP四层的区别

    OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。

    OSI协议实现起来过分复杂,而且运行效率低,层次划分不合理,很多功能在多个层次重复出现

    OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。

    OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。

     
  • 相关阅读:
    js正则表达式验证【引用网址】
    Chart控件的使用实例
    C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
    C#进阶系列——WebApi 接口参数不再困惑:传参详解
    C#进阶系列——WebApi 路由机制剖析:你准备好了吗?
    【UiPath 中文教程】02
    八幅漫画理解使用JSON Web Token设计单点登录系统
    JSON Web Token(缩写 JWT) 目前最流行的跨域认证解决方案
    webservice 教程
    IBM MQ 使用指南
  • 原文地址:https://www.cnblogs.com/tingtin/p/15929050.html
Copyright © 2020-2023  润新知