OSI七层模型与网络协议

OSI七层模型

  1. 物理层(Physical Layer)

    • 功能: 负责在物理媒体上传输原始比特流。
    • 特点: 定义传输媒体的特性,如电气特性、机械特性、光学特性等。
    • 协议: 包括以太网、USB、RS-232等。
  2. 数据链路层(Data Link Layer)

    • 功能: 提供可靠的点对点数据传输,通过帧的形式组织数据。
    • 特点: 管理物理层上的数据流,解决数据帧的错误和丢失。
    • 子层: MAC子层(负责介质访问控制)、LLC子层(提供逻辑链路控制)。
    • 协议: HDLC(High-Level Data Link Control)、PPP(Point-to-Point Protocol)等。
  3. 网络层(Network Layer):

    • 功能: 负责在不同网络之间传输数据包,实现数据包的路由选择。
    • 特点: 处理逻辑寻址、分组传输、路由选择等网络层功能。
    • 协议: IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、OSPF(Open Shortest Path First)等。
  4. 传输层(Transport Layer):

    • 功能: 提供端到端的数据传输,确保数据的可靠性。
    • 特点: 负责错误检测、流控制、数据重传等。
    • 协议: TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)等。
  5. 会话层(Session Layer):

    • 功能: 管理会话和连接,确保数据传输的顺序和完整性。
    • 特点: 提供对话控制、同步、检测和恢复等功能。
    • 协议: NetBIOS(Network Basic Input/Output System)等。
  6. 表示层(Presentation Layer)

    • 功能: 处理数据的格式转换、加密和压缩,以确保不同系统之间的数据交换。
    • 特点: 提供数据的语法、语义和编码转换。
    • 协议: JPEG(Joint Photographic Experts Group)、ASCII(American Standard Code for Information Interchange)等。
  7. 应用层(Application Layer):

    • 功能: 为用户提供网络服务,包括文件传输、电子邮件、远程登录等。
    • 特点: 包含各种应用程序,提供用户与网络的接口。
    • 协议: HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)等。

TCP/IP模型

  1. 网络接口层(Network Interface Layer):

    • 功能: 提供了操作系统和网络硬件之间的接口,定义了在物理媒体上传输数据的方式。
    • 特点: 处理与硬件相关的细节,例如数据帧的格式和传输方法。
    • 协议: Ethernet、Wi-Fi、PPP(Point-to-Point Protocol)等。
  2. 网络层(Internet Layer):

    • 功能: 负责数据包的路由选择,将数据从源主机传输到目标主机。
    • 特点: 处理逻辑寻址和子网划分,支持主机到主机的通信。
    • 协议: IP(Internet Protocol)是最主要的协议,包括IPv4和IPv6。
  3. 传输层(Transport Layer):

    • 功能: 提供端到端的通信,确保数据的可靠传输。
    • 特点: 包括错误检测、流量控制、拥塞控制等功能。
    • 协议:
      • TCP(Transmission Control Protocol):面向连接、可靠的协议,适用于需要可靠数据传输的应用。
      • UDP(User Datagram Protocol):无连接、不可靠的协议,适用于实时性要求高的应用。
  4. 应用层(Application Layer):

    • 功能: 提供网络服务和应用程序接口,使应用能够通过网络进行通信。
    • 特点: 定义了网络通信的高级规范和接口。
    • 协议:
      • HTTP(Hypertext Transfer Protocol):用于在 Web上传输超文本的协议。
      • FTP(File Transfer Protocol):用于在网络上传输文件的协议。
      • SMTP(Simple Mail Transfer Protocol):用于电子邮件的协议。
      • DNS(Domain Name System):用于域名解析的协议。

详细知识

  1. MTU(最大传输单元,Maximum Transmission Unit)是指在计算机网络中,能够通过一个链路传输的数据包的最大尺寸。MTU通常以字节为单位,表示在一个数据包中能够包含的最大数据量。超过MTU的数据包需要进行分片(分割成更小的数据包)以适应网络链路的限制。

  2. 端口号是在计算机网络中用于标识不同应用程序或服务的数字标签。端口号的范围是从0到65535,其中0到1023是被预留的一些常用端口,用于标识一些特定的服务,而1024到65535则是动态或私有端口,可以被应用程序使用。

    以下是一些常见的端口号和它们对应的服务或应用程序:

    1. 知名端口(Well-Known Ports):

      0到1023范围内的端口,被一些知名的网络服务占用。
      例如:
      80:HTTP(HyperText Transfer Protocol)
      443:HTTPS(HTTP Secure)
      21:FTP(File Transfer Protocol)
      25:SMTP(Simple Mail Transfer Protocol)
      22:SSH(Secure Shell)

    2. 注册端口(Registered Ports):

      1024到49151范围内的端口,用于用户注册的一些应用程序。
      例如:
      143:IMAP(Internet Message Access Protocol)
      3306:MySQL数据库
      8080:常用作代理服务器或Web服务器的备用端口

    3. 动态或私有端口(Dynamic or Private Ports):

      49152到65535范围内的端口,用于私有应用程序或动态分配。
      例如:
      49152到65535:通常由操作系统动态分配给客户端应用程序

    端口号的使用是为了确保网络中的不同应用程序能够通过唯一的标识与其他应用程序进行通信。在TCP/IP协议中,源和目标端口号一起定义了一个网络连接。当数据包到达计算机时,操作系统使用端口号来决定将数据包交给哪个应用程序进行处理。这种方式允许一台计算机上的多个应用程序同时进行网络通信而不会发生混淆。

3.PDU(Protocol Data Unit,协议数据单元)是指在网络通信中,各层协议通过网络传输的数据单元。每个网络协议层都有自己定义的PDU,用于在相邻层之间传递信息。PDU的结构和含义取决于所使用的协议和协议层次。

	 1. **物理层:**
- PDU:比特(Bits)
- 特点:物理层负责将比特在传输媒体上进行传输。

	2. **数据链路层:**
	 - PDU:帧(Frame)
	- 特点:数据链路层在数据帧中添加了帧头和帧尾,进行物理层到数据链路层的传递。

	3. **网络层:**
	 - PDU:数据包(Packet)或分组(Datagram)
	 - 特点:网络层使用数据包或分组在不同的主机之间传递数据。

	4. **传输层:**
	- PDU:段(Segment)或用户数据报(Datagram)
  - 特点:传输层将数据划分为段或用户数据报,添加了传输层头部信息。
	5. **会话层:**
	- PDU:数据(Data)
	- 特点:会话层主要负责对话控制和同步,将数据以数据单元的形式传递给表示层。

	6. **表示层:**
	 - PDU:数据(Data)
	 - 特点:表示层负责数据的格式转换、加密和压缩等,将处理后的数据传递给应用层。

	7. **应用层:**
	 - PDU:消息(Message)
	 - 特点:应用层负责提供网络服务和应用程序接口,将消息传递给网络进行通信。
  1. 封装(Encapsulation)和解封装(Decapsulation) 是在计算机网络中用于描述数据在协议栈中传递的过程的概念。

    1. 封装(Encapsulation):

      • 封装是指在数据从应用层向下传递到网络层、传输层、数据链路层和物理层的过程。在每一层,数据被封装成相应的PDU(协议数据单元)。
      • 例如,在TCP/IP协议栈中,从应用层到物理层的封装过程如下:
        • 应用层数据被封装为应用层PDU,通常称为消息。
        • 传递到传输层,应用层PDU被封装为传输层PDU,如TCP的段或UDP的用户数据报。
        • 在网络层,传输层PDU被封装为网络层PDU,如IP数据包。
        • 数据链路层进一步封装为数据链路层PDU,如以太网帧。
        • 最终,在物理层,数据链路层PDU被转换为比特流在物理媒体上传输。
    2. 解封装(Decapsulation):

      • 解封装是指在数据从物理层向上传递到数据链路层、网络层、传输层和应用层的过程。在每一层,数据被解封装,从而逐层还原成原始的应用层数据。
      • 例如,在TCP/IP协议栈中,从物理层到应用层的解封装过程如下:
        • 物理层接收比特流并解码,得到数据链路层PDU,如以太网帧。
        • 数据链路层解封装为网络层PDU,如IP数据包。
        • 在网络层,解封装为传输层PDU,如TCP的段或UDP的用户数据报。
        • 传输层解封装为应用层PDU,最终得到原始的应用层数据。
          OSI七层模型与网络协议_第1张图片
  2. TCP与UDP

    1. TCP(Transmission Control Protocol,传输控制协议) 是一种面向连接、可靠的、基于字节流的传输层协议。它是TCP/IP协议栈中的核心协议之一,负责在网络上可靠地传输数据。

      1. 面向连接:

        TCP是一种面向连接的协议,这意味着在数据传输之前,通信的两端需要先建立一个连接。连接的建立包括三次握手过程,而连接的关闭包括四次挥手过程。

      2. 可靠性:

        TCP通过使用序号、确认和重传机制来确保数据的可靠传输。每个TCP报文段都包含一个序号,接收方将通过确认序号来确认已经成功接收的数据。如果发送方在合理的时间内没有收到确认,它会重新发送数据。

      3. 流控制:

        TCP通过使用滑动窗口机制来进行流量控制。接收方通过通告窗口大小,发送方根据窗口大小来控制发送数据的速率,确保不会导致接收方的缓冲区溢出。

      4. 拥塞控制:

        TCP通过拥塞控制算法来适应网络拥塞的情况。它会根据网络的拥塞程度调整发送数据的速率,以防止网络过载导致性能下降。

      5. 面向字节流:

        TCP是面向字节流的,这意味着它将数据视为一连串的字节而不是数据块。这使得它更灵活,能够适应不同大小的应用层数据。

      6. 全双工通信:

        TCP允许双方在连接建立后同时进行数据的发送和接收,实现全双工通信。

      7. 连接的建立和终止:

        连接的建立通过三次握手完成,而连接的终止通过四次挥手完成。这样的过程确保了连接的可靠性和正确性。
        OSI七层模型与网络协议_第2张图片

    2. **UDP(User Datagram Protocol,用户数据报协议)**是一种无连接、不可靠的传输层协议。它是TCP/IP协议栈中的另一种重要协议,用于在网络上进行简单的、快速的数据传输。
      OSI七层模型与网络协议_第3张图片

      1. 无连接:

        UDP是无连接的协议,不需要在数据传输之前建立连接。每个UDP数据包(也称为用户数据报)都是独立的,它们之间没有关联。

      2. 不可靠性:

        UDP不提供数据可靠性的保证。它不使用确认、序号和重传机制,因此在传输过程中可能会发生数据包的丢失或乱序。

      3. 面向数据报:

        UDP是面向数据报的,每个UDP数据包都是一个独立的实体,不依赖于之前或之后的数据包。这使得它更适合那些可以容忍一些数据丢失的应用。

      4. 轻量级:

        与TCP相比,UDP的头部开销较小。这使得它在传输小量数据时更加高效。
        快速:

        由于无连接、不可靠的特性,UDP通常比TCP更快速。适用于对传输延迟要求较低的应用。

      5. 广播和多播支持:

        UDP支持广播和多播通信。这使得它适用于一对多或多对多的通信场景,如视频流、音频流等。

      6. 适用场景:

        UDP适用于那些对实时性要求高、能够容忍少量数据丢失的应用,如实时视频、在线游戏、音频流等。
        3.区别
        OSI七层模型与网络协议_第4张图片

你可能感兴趣的:(网络协议,网络)