33

在 Internet 模型中有四层:链路 -> 网络 -> 传输 -> 应用程序。

我真的不知道网络层和传输层之间的区别。当我读到:

Transport layer: include congestion control, flow control, reliability ...
Networking layer: route data from A to B

因此,基于上述属性,我发现这两层之间存在一些重叠。

1)网络层决定将数据从A移动到B。但是,当数据知道如何从A移动到B时,术语“流量控制”“拥塞控制”意味着什么......?当数据包(和字节流在数据包中)已经知道跨网络移动时,它如何控制以及控制什么。

2)或者其他例子,传输层中的TCP协议是流的ORDERED交付。但是,TCP 不决定如何移动数据,而是网络层。那么,TCP 能做什么呢?

所以,我无法理解这两个术语。请教我。

谢谢 :)

4

6 回答 6

42

这些是抽象级别。

传输层是决定使用 TCP/UDP 的地方。在这一层常用的协议中,TCP 是可靠的,UDP 不可靠。根据所做的选择,相应的标头会附加到您的数据包中。例如,TCP 只知道 SYN-ACK、三向握手机制,但不知道远程端点的地址,或通过网络获取数据包的机制。

拥塞控制、流量控制通过调节发送的数据包数量来帮助确保网络不会被数据包淹没。

现在,在附加 TCP/UDP 标头之后,它移动到网络层。直到这一步,远程端点的 IP 地址根本不是数据包的一部分。正是在此步骤中,源和目标 IP 地址被添加到数据包中。这一层实际上知道远程端点。


      Sender                          Receiver


    -----------                      ------------
   |           |   virtual link     |            |
   | Transport | -----------------> | Transport  |
   |           |                    |            |
    -----------                      ------------
         |                                |
         |                                |
    -----------                       -----------
   |           |    virtual link     |           |
   |  Network  | ------------------> |  Network  |
   |           |                     |           |
    -----------                       -----------
         |                                |
         |                                |
    -----------                       -----------
   |           |                     |           |
   | Physical  |                     | Physical  |
   |           |                     |           |
    -----------                       -----------
         ↓                                 ↑
         |____________real link____________|

发送者的传输层数据,是接收者的传输层接收到的确切数据。

随着数据包沿发送方向下传播,每一层都添加了自己的报头信息,但所有这些都被接收方的相应层删除。

优点是建立了虚拟链路,如上图所示,而真实链路仅在物理层中。

于 2012-11-11T18:00:57.363 回答
39

传输层:

  • 进程之间的逻辑通信。

网络层:

  • 主机之间的逻辑通信。

传输层:

  • 负责检查会话层中可用的数据是否无错误。

网络层:

  • 负责逻辑寻址并将逻辑地址(例如 amazon.com)转换为物理地址(例如 180.215.206.136)

传输层:该层使用的协议是:

  • TCP(传输控制协议)
  • UDP(用户数据报协议)
  • SCTP(流控制传输协议)

网络层:该层使用的协议是:

  • IP(互联网协议)
  • ICMP(互联网控制消息协议)
  • IGMP(互联网组消息协议)
  • RARP(反向地址解析协议)
  • ARP(地址解析协议)

传输层:

  • 该层确保在该层运行的协议提供可靠的端到端流和错误控制。

网络层:

  • 该层控制从源到目的地的数据路由以及构建和拆除数据包。
于 2013-11-12T10:23:06.287 回答
6

传输:确定如何发送数据:可靠或不可靠。定义众所周知的服务(端口)。

网络:提供逻辑寻址,找到到达目的地的最佳路径。

于 2015-06-02T17:36:29.457 回答
6

传输层:

OSI 参考模型协议栈的第四层也是“中间”层是传输层。我认为传输层在某些方面是 OSI 模型中下层和上层“组”的一部分。它更多地与较低层相关联,因为它涉及数据的传输,但它的功能也有些高级,导致该层与第 5 层到第 7 层有相当多的共同点。

回想一下,第 1、2 和 3 层与数据的实际打包、寻址、路由和传递有关;物理层处理比特;数据链路层处理本地网络,网络层处理网络之间的路由。相比之下,传输层具有足够的概念性,它不再关心这些“具体细节”问题。它依赖于较低层来处理设备之间移动数据的过程。

传输层实际上充当了高层应用程序的抽象世界与一到三层的具体功能之间的某种“联络”。由于这个角色,传输层的总体工作是提供必要的功能,以实现不同计算机上的软件应用程序进程之间的通信。这包括许多不同但相关的职责

现代计算机是多任务处理的,并且在任何给定时间可能有许多不同的软件应用程序都试图发送和接收数据。传输层负责提供一种方法,使这些应用程序都可以使用相同的低层协议实现来发送和接收数据。因此,传输层有时被称为负责端到端或主机到主机的传输(实际上,TCP/IP 模型中的等效层称为“主机到主机传输层”) .

网络层:

OSI 参考模型的第三低层是网络层。如果数据链路层基本上定义了被认为是网络的边界,那么网络层就是定义互联网络(互连网络)如何运作的层。网络层是 OSI 模型中最低的一层,它关注的是从一台计算机实际获取数据到另一台计算机,即使它位于远程网络上;相反,数据链路层只处理彼此本地的设备。

虽然 OSI 参考模型中的所有第 2 层到第 6 层都充当了它们下面的层和它们上面的层之间的“栅栏”,但网络层在这方面尤为重要。正是在这一层,真正开始了从更高层的更抽象的功能(与数据传递无关)到将数据传输到目的地所需的特定任务的转变。传输层以多种方式与网络层相关,随着您在 OSI 协议栈上的提升,它会继续这种“抽象转换”。网络层功能

网络层通常执行的一些特定工作包括:

逻辑寻址:通过网络进行通信的每个设备都有一个与之相关的逻辑地址,有时称为第三层地址。例如,在 Internet 上,Internet 协议 (IP) 是网络层协议,每台机器都有一个 IP 地址。请注意,寻址也是在数据链路层完成的,但这些地址指的是本地物理设备。相反,逻辑地址独立于特定硬件,并且在整个互联网中必须是唯一的。

路由:在一系列互连网络中移动数据可能是网络层的定义功能。在网络层运行的设备和软件例程的工作是处理来自各种来源的传入数据包,确定它们的最终目的地,然后确定它们需要被发送到哪里才能将它们送到应该去的地方。我在关于间接设备连接的主题中更完整地讨论了 OSI 模型中的路由,并通过 OSI 模型类比来展示它是如何工作的。

数据报封装:网络层通常封装从更高层接收到的消息,方法是将它们放入带有网络层标头的数据报(也称为数据包)中。

分片和重组:网络层必须将消息向下发送到数据链路层进行传输。一些数据链路层技术对可以发送的任何消息的长度都有限制。如果网络层要发送的数据包太大,网络层必须将数据包拆分,将每个部分发送到数据链路层,然后在到达目标机器上的网络层后重新组合。一个很好的例子是互联网协议是如何做到这一点的。

错误处理和诊断:在网络层使用特殊协议,允许逻辑连接或尝试路由流量的设备交换有关网络上主机或设备本身状态的信息。

于 2015-12-10T11:14:19.227 回答
1

Cthulhu 的解释还可以,但为了更好地理解,我建议你阅读 OSI 模型

传输层处理端口号、TCP、UDP、第 4 层 PDU,这是封装和分段数据以通过网络发送数据的第一步

PDU = 协议数据单元,它是一条包含标头、数据段和页脚的信息(参见第 2 层封装)

网络处理 ip 路由和跨网络数据包的传递

每一层(无论是 OSI 模型还是具有 4 层的 TCP/IP 模型),每一层都与它的相邻层交互,并为当今的电信目的提供一个抽象框架

关于您的问题:

1)。流量控制是 TCP 处理数据包大小以防止数据包丢失和重传的机制,拥塞控制是另一回事。网络层不做任何决定,它只是尝试通过网络发送你的包,如果失败,它会通知上层这个问题,然后应用程序或用户应该决定做什么)。

2)。TCP 启用了 3 次握手机制来启动会话,然后每个数据包都带有一个计数器,并且接收方确认收到了发送方的数据包。如果他不承认,TCP 会重新发送丢失的包。网络层只会转发数据包,不会对流量控制或数据包排序做出任何决定。

CCNA1 文档或网络上提供了更多详细信息。

于 2012-11-11T18:15:14.133 回答
1

考虑到 ISO/OSI 参考模型传输层是第 4 层。它主要处理数据包的端到端传递。端到端意味着它负责将数据包传递到适当的端口。另一方面,网络层是第 3 层,负责将数据包仅传递到主机,而不是系统中的任何特定 [端口/进程。人们确实有疑问,当您拥有可以将数据包从一端传递到另一端的传输层时,为什么我们有网络层?这个问题的简单答案是网络层负责将数据包从发送方传送到目的地。但是在到达目的地之后,它依赖于传输层将其传递到适当的端口号或进程(在操作系统术语中)。此外,在网络层,我们的 IP 协议是互联网的核心。你可以阅读更多关于这个在这里

于 2017-06-14T11:34:57.513 回答