TCP网络模型


模型最大的优点就是把服务、接口还有协议这三个概念明确的区分开了,通过模型可以让不同系统的网络之间实现可靠的数据传输.

传输层数据带上TCP头,网络层带上IP头,数据链路层带上 MAC头等一系列操作。ping 是应用层命令

从主机 A 传输数据到主机 B 的过程可以简要描述如下:

应用层:

是网络通信的最顶层,只专注于为用户提供应用功能,不用去关心数据是如何传输的。就类似于我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是如何被运输的。

比如 HTTP、FTP、DNS、SMTP等;应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态

传输层:

传输层负责端到端的可靠数据传输。主机 A 中数据被传递给传输层,传输层将数据分割成合适的数据段,带上序号和校验信息等TCP头,形成传输层的数据报。TCP(传输控制协议)、UDP(用户数据报协议)。段 或 数据报

网络层:

网络层负责网络互联和数据路由。主机 A 中传输层的数据报被传递给网络层,网络层根据目标主机 的 IP 地址,决定将数据报发送到主机 所在的网络。IP(互联网协议),ICMP(互联网控制消息协议)。包

网络接口层:

主要关注通过物理媒介来传输数据,比如网线、电缆、光纤等。比特(Bits),并对传输的数据进行检错和纠错。以太网(Ethernet),ARP(地址解析协议)。帧
在网络包传输的过程中,源 IP 和目标 IP 始终是不会变的,一直变化的是 MAC 地址,因为需要 MAC 地址在以太网内进行两个设备之间的包传输

当数据到达主机 B 后,整个过程会逆向进行,从物理层到应用层,直到数据被主机 B 的应用程序接收和处理


TCP/IP协议族通常被描述为一个四层协议模型,每一层负责不同的通信任务。这四层分别是:

链路层(Link Layer):

链路层负责在物理网络媒介上进行数据的传输。这一层处理物理地址(如MAC地址)、错误检测和纠正,以及数据的成帧。
网络层(Internet Layer):

网络层的主要协议是IP(Internet Protocol),负责将数据包从源主机路由到目的主机。它处理数据包的寻址和路由。
传输层(Transport Layer):

传输层主要涉及两个协议:TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP 提供面向连接、可靠的字节流传输服务,而 UDP 提供无连接、不可靠的数据报传输服务。
应用层(Application Layer):

应用层包括所有高级协议和应用程序,它们使用下层提供的通信服务来访问网络。例如,HTTP、FTP、SMTP、DNS等都是应用层协议。
每一层都使用下一层提供的服务,并通过特定的协议和服务接口与相邻层交互。数据在发送时从应用层向下传递到链路层,每一层可能添加一些头部信息(如TCP头部、IP头部等),然后在链路层通过网络传输。接收时,数据从链路层向上传递,每一层移除相应的头部信息,直到数据到达应用层。

TCP/IP模型有时也被称为OSI模型的简化版,OSI(Open Systems Interconnection)模型是一个七层网络通信模型,包括:

物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
TCP/IP模型与OSI模型的主要区别在于TCP/IP模型将OSI的会话层、表示层和应用层的功能合并为应用层,同时将OSI的数据链路层和物理层合并为链路层。这种简化有助于更好地反映实际的互联网协议结构。


数据链路层(Data Link Layer)和网络接口层(Network Interface Layer)在某些文献中可能会被交替使用,但实际上它们指的是OSI模型中不同层的功能,尽管在实际应用中它们紧密相关。

数据链路层(Data Link Layer):

OSI模型的第二层,主要负责在相邻网络节点之间传输帧(frame)。这一层的协议定义了如何组织数据成帧、如何同步传输、错误检测与纠正机制等。
数据链路层通常包括两个子层:逻辑链路控制(LLC)子层和媒体访问控制(MAC)子层。
逻辑链路控制子层负责数据的完整性和流量控制,而媒体访问控制子层则处理物理层面的访问规则,如以太网的CSMA/CD协议。
网络接口层(Network Interface Layer):

这个术语通常不单独使用,而是作为数据链路层的一部分,特别是与物理层(Physical Layer)的接口部分。在某些文献中,网络接口层可能被用来指代物理层和数据链路层的结合,即负责实际的网络硬件接口。
网络接口层更侧重于物理层面的实现,如电缆、交换器、路由器接口等,以及如何将数据以比特流的形式在物理媒介上进行传输。
在实际的计算机网络实现中,数据链路层和物理层的功能通常是由网络接口卡(NIC)或网络适配器来完成的。网络接口卡同时处理数据链路层的帧传输和物理层的电气信号或光信号传输。

总的来说,数据链路层更侧重于逻辑上的数据传输和错误控制,而网络接口层(如果单独考虑的话)更侧重于物理硬件层面的实现。在大多数情况下,当我们讨论网络通信时,这两个概念是紧密联系在一起的,共同确保数据在物理媒介上的有效传输。

相关推荐

  1. TCP网络模型

    2024-07-16 22:46:05       21 阅读
  2. 网络模型(OSI ——TCP/IP)

    2024-07-16 22:46:05       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 22:46:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 22:46:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 22:46:05       58 阅读
  4. Python语言-面向对象

    2024-07-16 22:46:05       69 阅读

热门阅读

  1. 使用mediapip 检测pose 并作为一个服务

    2024-07-16 22:46:05       23 阅读
  2. 计算机图形学题库

    2024-07-16 22:46:05       18 阅读
  3. 深度学习损失计算

    2024-07-16 22:46:05       19 阅读
  4. Python字典基础与高级详解

    2024-07-16 22:46:05       19 阅读