zoukankan      html  css  js  c++  java
  • OSI七层模型与TCP/IP模型的比较

    OSI七层模型与TCP/IP模型的背景故事就略过吧,直接进入正题。

    首先,OSI有七层模型,而TCP/IP模型只有四层,不过一般书上为了方便讲解则将这两者的优点合在一起分为了五层。

    注:以下顺序均为从低到高
    OSI七层分别是:物理层,数据链路层,网络层,运输层,会话层,表示层,应用层
    TCP/IP四层分别是:网络接口层,网际层,传输层,应用层
    我们一般的五层分别是:物理层,数据链路层,网络层,传输层,应用层

    下面对上述模型进行详细叙述


    OSI模型:

    层次 简介
    物理层 传输单位:比特
    硬件:集线器、中继器
    任务:透明地传输比特流
    功能:定义了电路接口的一些参数(如机械尺寸、形状,交换电路的数量和排列等)
                也规定了通信链路上传输的信号的意义和电气特性(即什么信号代表0,什么信号代表1)
    注意:传输信息所用的物理媒介,比如双绞线、光纤等不属于物理层协议,而在物理层协议之下
    数据链路层 传输单位:帧
    硬件:交换机,网桥
    任务:将网络层传下来的IP数据报封装成帧
    功能:成帧、差错控制、流量控制、传输管理
    作用:实现数据在链路上的点对点的正确传输
    网络层 传输单位:数据报
    硬件:路由器
    任务:将传输层传下来的报文段封装分组,选择合适的路由使分组能够正确交付到目的主机
    功能:流量控制,拥塞控制,差错控制,网际互联,路由选择
    作用:就是实现信息在各个网络之间的正确传输
    运输层 传输单位:报文段(TCP),用户数据报(UDP)
    任务:负责两个进程间的通信
    功能:流量控制,差错控制,服务质量,数据传输管理
    作用:实现端到端之间的通信,链路层是点到点
    注:运输层还具有复用和分用的功能
    会话层 向表示层实体或用户进程提供建立连接并在连接上有序地传输数据,也成为建立同步(SYN)
    会话层负责管理主机间的会话进程,包括建立、管理以及终止进程间的会话
    表示层 转变数据格式,包括加密、解密、压缩等功能
    应用层 为特定类型的网络应用提供访问OSI的手段

    TCP/IP模型的网络接口层可近似看为物理层+链路层
    网际层可近似看作网络层
    传输层可近似看作运输层

    但是TCP/IP模型和OSI模型的一个很大的区别就是:
    OSI模型中,网络层可以选择面向连接和无连接,而运输层中必定是面向连接的
    TCP/IP模型中,网络层不面向连接,而传输层中是可以选择面向连接的TCP,和无连接的UDP

    此外,他们之间还有些差别.

    • OSI参考模型精确地定义了三个主要概念:服务、协议、接口;而TCP/IP模型并没有,这不符合软件工程的思想。
    • OSI模型诞生于协议产生之前,因此是通用的,不偏向于任何协议,但也由于没有协议方面的经验,不知道将哪些功能放到哪一层更好;TCP/IP模型诞生于协议产生后,因此不会出现协议不能匹配模型的情况,但是不适合于任何非TCP/IP的协议栈。
    • TCP/IP充分认识到了异构网络的互联问题,因此将网络协议IP作为单独的重要层次;而OSI则在此后才在网络层中划分出一个子层来完成类似与TCP/IP模型中的IP的功能。

    而至于我们现在常用的五层模型,就是从上面将那五层抽取出来,大家比较学习即可。

  • 相关阅读:
    Hibernate 实体关联关系映射----总结
    原型模式(Prototype)解析例子
    Java 泛型的理解与等价实现
    Java:对象创建和初始化过程
    iReport的简单配置
    Python语言程序设计基础(第2版)课后习题答案 嵩天、礼欣、黄天羽版 高等教育出版社 试题和答案和解析
    编程精品教材:MATLAB程序设计与应用(第3版) 课后答案 刘卫国版 课后习题答案解析
    SkyWalking 快速接入实践
    Java基础 day01【前言、入门程序、常量、变量】
    python最新笔试题
  • 原文地址:https://www.cnblogs.com/yinyoupoet/p/13287424.html
Copyright © 2011-2022 走看看