0

我正在阅读有关网络的内容,并且我不了解第 2+3 层 OSI 模型交互。我想首先了解基础知识,所以请随时保持简单。

假设我们有一个 LAN - 5 台计算机都连接到连接到 ISP 路由器的路由器。

1. LAN 上的一台 PC 希望向同一 LAN 上的另一台 PC 发送消息(它们都连接到本地路由器,但不直接相互连接) - 这里使用第 3 层封装吗?如果不是——而且我们只使用第 2 层信息,那么消息将通过的路径是什么?是 PC1->PC2 还是 PC1->Router->PC2。如果它通过路由器 - 在每个消息事务中添加什么信息?如果不是 - 同一 LAN 上的 PC(以某些第 2 层协议连接到同一路由器)是否相互了解?尽管他们没有直接连接,但他们可以互相发送消息吗

2. LAN 上的一台 PC 希望向 LAN 外的 PC 发送消息(路外)。我知道它是 PC1->Router->ISP 路由器 -> ......... -> 接收方本地路由器 -> 接收方哪个实体添加了第 3 层数据?是路由器吗?个人电脑1?ISP路由器?什么时候需要这些信息?因为所有单个事务都由可以在第 2 层协议中进行通信的设备连接?(PC1 以 2 级协议与其路由器通信,路由器到 ISP 路由器......等等?)

任何值得添加的进一步信息将不胜感激。谢谢!

4

2 回答 2

1
  1. 这里是否使用了第 3 层封装?是的!两台计算机连接在由您的路由器创建的网络中,该网络是网络层设备。当发送方发送数据包时,它不知道接收方在哪里(在 LAN 中或 Internet 中),因此它准备像往常一样发送数据包。然后路由器检查他的表并知道接收器已与其连接,但在此之前一切正常。所以,你要明白的是:虽然它是两台机器之间的通信,但每一层的所有协议都必须完成。如果计算机将与交换机、数据链路层设备连接,则将使用它们的 MAC 地址而不是它们的 IP 进行身份验证,因此这里没有网络层(显然没有第 3 层封装)但这不是你的案子。
  2. 讲述数据包如何从发送方传输到接收方是一个很长的故事。但总的来说,每个数据包应该有两个重要信息:目标机器的地址(网络层),以及目标机器中应该接收数据包的进程的标识符(传输层)。如果这是机器第一次相互通信,则与发送方相连的路由器在其所有出站线路中广播该数据包,以此类推,与接收该数据包的路由器一起,直到到达目的地。在发送第一个数据包后,路由器会在其表中记录如何以最佳方式定位每台机器。这将使下次广播变得不必要。因此,数据包到达了目的地。接收方可能在那段时间打开了很多进程(打开你的任务管理器 -> 进程以查看我在说什么)。这就是 TL 协议出现的地方。他们使用数据包头部的标识符在正确的过程中对数据包进行寻址。然后通信继续使用应用层协议。我希望这是对您有用的信息。如果您真的想研究这些东西,我建议您使用 Andrew Tanenbaum 的计算机网络。
于 2014-08-19T15:57:33.200 回答
0

如果我正确理解 OSI - 它只是一个抽象。http://en.wikipedia.org/wiki/OSI_model#Description_of_OSI_layers您的消息以传输层的数据包形式发送。这些消息是通过网络层构建的。如果没有这一层包数据(您发送的信息)将不知道如何封装到包中。

如果它通过路由器 - 在每个消息事务中添加什么信息

每个包都包含服务字段http://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure 每次它通过时抛出一个路由器,路由器将信息添加到一个标头(IP ...),让包接收者知道它来自哪里(它是网络层,因为你不自己添加这些信息,它为你做网络)

于 2014-08-19T08:47:26.763 回答