计算机网络 网络参考模型

前言

本文梳理计算机网络分层模型。

术语介绍

实体:第n层的活动元素成为n层实体,同一层的实体叫对等实体。
协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。
接口:上层使用下层服务的入口。
服务:下层为相邻上层提供的功能调用。

在这里插入图片描述SDU服务数据单元:为完成用户所要求的功能而应传送的数据
PCI协议控制信息:控制协议操作的信息
PDU协议数据单元:对等层次之间传送的数据单位

TCP/IP参考模型

(Transfer Control Protocol/Internet Protocol)
image.png
image.png

四次模型图

  • 传输单元
    image.png

应用层

决定了向用户提供应用服务时通信的活动。

  • 主要功能:为用户提供接口、处理特定的应用;数据加密、解密、压缩、解压缩;定义数据表示的标准。
  • 比如FTP(File Transfer Protocol)
    DNS(Domain NameServer)域名服务的协议,提供域名到IP地址的转换,允许对域名资源进行分散管理。
    HTTP;
    SMTP(Simple MessageTransfer Protocol)简单邮件传输协议;
    POP3(Post OfficeProtocol)邮局协议用于发送和接收邮件;
    RIP(RoutingInformation Protocol)路由器用来在 IP 网络上交换路由信息的协议;
    Radius(RemoteAuthentication Dial In User Service)拨号接入远端认证协议完成接入用户的认证、授权、计费功能的协议;
    等;

传输层

提供处于网络连接中的两个进程的通信,即端到端通信。传输单位是报文段或用户数据报。

  • 主要功能:
    可靠传输、不可靠传输
    差错控制
    流量控制
    复用分用

    • 复用:多个应用层进程可同时使用下面传输层的服务。
    • 分用:传输层把收到的信息分别交付给上面应用层中相应的进程。
  • 常用协议:
    在传输层有两个性质不同的协议:TCP(Transmission Control Protocol传输控制协议)和UDP(User Data Protocol用户数据报协议)。

网络层

用来处理网络上流动的数据报,源主机到目的主机的数据分组和路由与转发,为分组交换网上的不同主机提供通信服务。传输单位是数据报。

  • 主要功能:
    路由选择
    流量控制
    差错控制
    拥塞控制

  • 常用协议:
    P协议,IP为网络层最主要的协议,其功能即为网络层的主要功能,一是提供逻辑编址,二是提供路由功能,三是报文的封装和解封装。
    ICMP、ARP、RARP协议辅助IP工作。

数据链路层

主要任务是把网络层传下来的数据报组装成帧,数据链路层的传输单位是帧。

  • 主要功能:
    封装接封装帧
    差错控制: 帧错、位错
    流量控制
    访问(接入)控制: 控制对信道的访问

  • 包括控制操作系统、硬件的设备驱动、网络适配器、及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围内。

  • 数据链路层又分为MAC子层(media access controlsub-layer介质访问控制子层)和LLC(logic link control sub-layer逻辑链路控制子层)子层。
    MAC子层负责指定数据如何通过物理线路进行传输,并向下与物理层通信,它定义了物理编址、网络拓扑、线路规范、错误通知、按序传递和流量控制等功能。
    LLC子层负责识别协议类型并对数据进行封装以便通过网络进行传输。LLC子层主要执行数据链路层的大部分功能和网络层的部分功能。如帧的收发功能,在发送时,帧由发送的数据加上地址和CRC校验等构成,接收时将帧拆开,执行地址识别、CRC校验,并具有帧顺序控制、差错控制、流量控制等功能。此外,它还执行数据报、虚电路、多路复用等部分网络层的功能。

  • 常用协议:
    SDLC、HDLC、PPP、STP

物理层

主要任务是在物理媒体上实现比特流的透明传输。物理层传输单位是比特。

  • 主要功能:
    定义接口特性
    定义传输模式:单工、半双工、全双工
    定义传输速率
    比特同步
    比特编码

  • 常用协议:
    Rj45、802.3

TCP/IP通信传输流

通信流2
在这里插入图片描述
通信流

通信过程中各协议职责

包是指通过网络传输的基本信息单元。
基本的包由头(包含发送系统和接收系统的地址)和正文或有效负荷(包含要传送的数据)组成。
当包经由 TCP/IP 协议栈时,每一层上的协议都会在基本头中添加或删除字段。当发送系统上的协议向包头中添加数据时,此过程即被称为数据封装
此外,每一层对于已更改的包都有不同的称呼,如图中所示。

发送端

  1. 应用层:通信的起源
    当一个系统上的用户发送消息或发出必须访问远程系统的命令时,即会开始包的历史记录。应用协议会设置包的格式,以便相应的传输层协议(TCP 或 UDP)可以对包进行处理。

  2. 传输层:
    当数据到达传输层时,该层上的协议即会开始数据封装过程。传输层会将应用程序数据封装到传输协议数据单元中。

    • 使用TCP协议
      TCP 使用段来确定接收系统是否准备好接收数据。TCP 将从应用层收到的数据分成多个段,再向每个段中附加一个头。
      段头包含发送端口和接收端口、段排序信息以及称为校验和的一个数据字段。两台主机上的 TCP 协议都会使用校验和数据来确定数据传送是否出现错误。
      使用三次握手来建立连接。
    • 使用UDP协议
      与 TCP 不同,UDP 不会检查数据是否已到达接收主机。相反,UDP 会将从应用层收到的消息的格式设置为 UDP 包。UDP 会向每个包中附加一个头。此头包含发送端口和接收端口、包含包长度的字段以及校验和。
      发送 UDP 进程会尝试将包发送到接收主机上的对等 UDP 进程。应用层将确定接收 UDP 进程是否会确认包的接收。UDP 不需要任何接收通知。UDP 不使用三次握手。
  3. 网络层:准备传送包的位置
    IP 协议将在该位置处理这些段和包。
    IP 通过将这些段和包的格式设置为多个称为 IP 数据报的单元,准备对其进行传送。然后,IP 会确定数据报的 IP 地址,以便将其高效地传送到接收主机。
    IP会向段或包添加** IP 数据包头**,IP 数据包头中的信息包括发送主机和接收主机的 IP 地址、数据报长度以及数据报排序顺序。如果数据报超过网络包允许的字节大小而必须进行分段,则会提供此信息。

  4. 数据链路层:成帧位置
    数据链路层协议(如 PPP)会将 IP 数据报的格式设置为
    这些协议将附加第三个头和一个脚注,以便对数据报执行“成帧”操作。
    帧标题包括CRC字段(循环冗余码校验 ,cyclic redundancy check, CRC) ,用于检查帧经由网络介质时是否出现错误。然后,数据链路层会将帧传递到物理层。

  5. 物理网络层:帧的发送和接收位置
    发送主机上的物理网络层会接收帧,并且将 IP 地址转换为适合网络介质的硬件地址。然后,物理网络层会通过网络介质将帧向外发送。

接收端

当包到达接收主机时,包便会按照其发送顺序的相反顺序经由 TCP/IP 协议栈。
接收主机上的每种协议还会删除头信息,该信息通过发送主机上的对等协议附加到包中。

将会发生以下过程:

  1. 物理网络层接收帧格式的包。物理网络层会计算包的 CRC,然后将帧发送到数据链路层。

  2. 数据链路层检验帧的 CRC 是否正确,然后删除帧标题和 CRC。最后,数据链路层将帧发送到 Internet 层。

  3. Internet 层读取头中的信息以识别传输。然后,Internet 层将确定包是否为分段包。如果分段进行传输,则 IP 会将分段重新汇编成原始数据报。然后,IP 将删除 IP 数据包头并将数据报传递到传输层协议。

  4. 传输层(TCP、SCTP 和 UDP)读取头以确定必须接收数据的应用层协议。然后,TCP、SCTP 或 UDP 将删除其相关的头。TCP、SCTP 或 UDP 将消息或流发送到接收应用程序。

  5. 应用层接收消息。然后,应用层将执行发送主机所请求的操作。

猜你喜欢

转载自blog.csdn.net/u014099894/article/details/112163551
今日推荐