OSI(开放式系统互连)

OSI是一种抽象的系统间通信模型,描述两个或多个系统之间如何交流,计算机之间、人体之间、人体与计算机之间的通信都可以用OSI模型描述。

  • 一个实例:计算机a想向计算机b发送一个数据包,内容是“打开文件C:\tellme.txt”
  • 计算机a首先需要在内存中通过双方定义的语言,生成这个数据包:
  • 将数据包通过总线发送给TCP/IP协议处理单元,告知其对方IP地址和所用传输方式(UDP/TCP)和端口号;
  • TCP/IP处理模块收到数据包,包装并通过总线发送给以太网卡;
  • 以太网卡将数据包进行编码,通过电路将包装好的数据包变成一串电路高低电平,发送给交换机;
  • 交换机将数据包交换到计算机b的接口;
  • 计算机b收到这串电位流后,送至以太网卡解码芯片,去掉以太网头,之后产生中断信号,将数据包送到内存:
  • 由TCP/IP协议处理模块对这个数据包进行分析,提取IP头和TCP或UDP头,以便区分应输送到哪个应用程序的缓冲区内存;
  • 即最终TCP/IP协议将“打开文件C:\tellme.txt”这句话,成功输送到计算机b应用程序的缓冲区内存;
  • 计算机b应用程序提取这句话,分析语法,根据这个命令调用操作系统打开文件的API执行这个操作;

三元素

系统互联通信所具备的”连、找、发“三要素:

  • 连:通信双方必须用某种形式连通起来,即便是电磁波通信,也至少通过电磁波连通;
  • 找:通信双方或多方,必须能够区分自己和对方以及多方(广播系统除外);
  • 发:定义通信双方如何将数据通过连通介质或者电磁波发送到对方;

七层结构

​ 网络三元素抽象模型是对OSI模型的更高层次的抽象。OSI模型将系统间通信划分成了七个层次。OSI模型的最上面三层,可以归属到应用层中,因为这三层不关心如何将数据传送到对方,只关心如何组织和表达传送的数据。

  • 应用层

应用层是OSI模型的最上层,表示一个系统要对另一个系统所传达的最终信息。应用层程序不关心这条指令是如何传达到对方的。用户与网络的界面、典型协议FTP、SMTP、HTTP等

  • 表示层

表示层就是对应用层数据的一种表示,发送方必须用一种双方规定号的格式来表示这些信息,将附加表示层信息字段放置于要表达的内容前面和后面。不同表示方法的数据信息之间的互相转换,编码、压缩、加密解密

  • 会话层

建立某种会话交互机制,是双方应用程序之间的交互,它们通过交互一些信息,以便确定对方的应用程序处于良好的状态中。不同主机各进程之间的会话、数据同步;

  • TCP/IP模型将OSI模型的应用层、表示层、会话层合并成应用访问层,即应用程序只需调用下层接口即可完成通信。
  • 下四层的作用是把上三层生成的数据成功送到目的地。
  • 传输层
  • 传输单位:报文段(TCP)或用户数据段(UDP)
  • 为端到端连接提供可靠的传输服务
  • 传输层的程序一定要运行在通信双方的终端设备上,而不是运行在中间的网络互联设备上。所谓端到端保障是指数据从一端发送到另一端后,对方必须在它的传输保障时间中成功收到并处理了数据,这才算发送成功。
  • 也叫运输层、承上启下
  • 流量控制、差错控制、服务质量等
  • 网络层
  • 传输单位:数据报
  • 为分组交换网络上的不同主机提供通信服务
  • IP数据包的调度是怎么直到全球路由表的呢?这个表可以通过调度自行学习或调度之间互相通告,也可以通过手工录入。前者称为动态路由,后者称为静态路由。路由器充当的就是调度角色。
  • 路由选择、流量控制、拥塞控制、差错控制、网际互连
  • IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
  • 数据链路层
  • 传输单位:帧
  • 将网络层传来的IP数据包封装成帧,点到点的服务。协商链路参数,比如双工、速率、链路质量
  • 成帧、差错控制、流量控制、传输管理
  • 广播式网络在该层还有MAC介质访问子层,控制对共享信道的访问
  • SDLC、HDLC、PPP、STP
  • 物理层
  • 传输单位:比特
  • EIA-232C、EIA/TIA RS-449、CCITT、X.21

img

编辑

添加图片注释,不超过 140 字(可选)

  • 物理层与链路层的区别:

链路层是控制物理层的,每种链路都有自己一个最适分批大小,叫做最大传输单元MTU。说白了物理层就是用什么样的线缆、接口、物理层编码方式、归零还是不归零、同步方式、内/外同步、高低电压范围、电气规范等。