00-OSI 模型

OSI 七层协议

OSI(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了更好的使网络应用更为普及,推出了OSI参考模型,这样所有的公司都按照统一的标准来指定自己的网络,就可以互通互联了。

  1. 物理层(physical layer):定义物理设备的标准,主要对物理连接方式,电气特性,机械特性等制定统一标准,传输比特流,因此最小的传输单位:位(比特流)。
    物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。

    • 设备:集线器、中继器、双绞线等。
    • 协议:ISO2110、IEEE 802、IEEE 802.1A、IEEE 802.2。
  2. 数据链路层(data link layer):定义了电信号的分组方式,主要是对物理层传输的比特流包装,检测保证数据传输的可靠性,将物理层接收的数据进行MAC(媒体访问控制)地址的封装和解封装,也可以简单的理解为物理寻址。交换机就处在这一层,最小的传输单位——帧。
    两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)
    在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。 控制信息还使接收端能够检测到所收到的帧中有误差错。如果发现差错,数据链路层就简单地丢弃这个出了差错的帧,以避免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在链路层传输时出现差错(这就是说,数据链路层不仅要检错,而且还要纠错),那么就要采用可靠性传输协议来纠正出现的差错。这种方法会使链路层的协议复杂些。

    • 设备:交换机、网卡、网桥。
    • 协议:SLIP、CSLIP、PPP、ARP、RARP、MTU
  3. 网络层:将网络地址翻译成对应 IP 地址,控制子网的运行,如逻辑编址,分组传输,路由选择最小单位——分组(包)报文。
    在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。
    在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称 数据报

    • 设备:路由器。
    • 协议:IP、ICMP、ARP、RARP、AKP、UUCP、RIP、OSPF、BGP、IGMP。
  4. 传输层(transport layer):建立端口之间的通信。定义一些传输数据的协议和端口。传输协议同时进行流量控制,或是根据接收方接收数据的快慢程度,规定适当的发送速率,解决传输效率及能力的问题。

    • 协议:TCP、UDP。
  5. 会话层:负责在网络中的两节点建立、维持和终止通信,在一层协议中,可以解决节点连接的协调和管理问题。包括通信连接的建立,保持会话过程通信连接的畅通,两节点之间的对话,决定通信是否被终端一斤通信终端是决定从何处重新发送,最小单位——spdu。

    • 协议:SMTP、DNS。
  6. 表示层:对来自应用层的命令和数据进行解释,按照一定格式传给会话层。如编码、数据格式转换、加密解密、压缩解压。

    • 协议:Telnet、Rlogin、SNMP、Gopher。
  7. 应用层(application-layer):通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。。

    • 协议:HTTP、TFTP、FTP、NFS、WAIS、SMTP 等。

TCP/IP四层协议

  1. 数据链路层:通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性。实现这些规程或协议的 硬件 和软件加到物理线路,这样就构成了数据链路,

  2. 网络层:本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。

  3. 传输层:建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。我们通常说的,TCP UDP就是在这一层。端口号既是这里的“端”。

  4. 应用层:应用层最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP、HTTPS、FTP、TELNET等。

为什么要对网络协议分层

  • 简化问题难度和复杂度。由于各层之间独立,我们可以分割大问题为小问题。
  • 灵活性好。当其中一层的技术变化时,只要层间接口关系保持不变,其他层不受影响。
  • 易于实现和维护。
  • 促进标准化工作。分开后,每层功能可以相对简单地被描述

00-OSI 模型
https://flepeng.github.io/010-network-00-OSI-模型/
作者
Lepeng
发布于
2021年3月8日
许可协议