与沿 OSI 堆栈向下流动的数据相关的三向握手何时发生?

网络工程 通讯协议 arp 奥西
2021-07-28 07:53:53

我对网络非常陌生,目前我正试图弄清楚与 OSI 堆栈相关的事情发生的顺序。我知道传输层获取数据流并将其转换为段,然后再将其交给网络层,在网络层中添加与 IP 地址相关的标头创建数据包,然后将此数据包传递到数据链路层,其中有标头和页脚添加包括 MAC 地址创建帧,然后最终传递到物理层,以便转换为位并沿网络发送。

我正在努力解决的部分是在过程中涉及某些协议的地方。例如,TCP 执行三向握手,假设在第 4 层(传输),这是否意味着在等待 ACK 之前将 SYN 发送到该层的目标机器,以便稍后可以从物理层发送数据?层?在物理层再次发送实际数据之前,SYN 是否必须沿着堆栈向下传输才能由物理层发送,然后 ACK 将备份主机的堆栈?

另一个例子是 ARP,当数据链路层发出 ARP 请求以查找目标机器的 MAC 地址时,这是在第 2 层创建帧之前发出的吗?

我不确定网络上的唯一通信是在物理层完成还是每个层都与与不同协议相关的网络交互,因为数据沿堆栈向下移动?

我一直无法找到有关事情发生的实际现实世界顺序的好的视频或图表,所以有人有建议吗?

3个回答

有时,我希望他们停止教授 OSI 模型。它似乎使人困惑而不是帮助。

当我们说层相互通信时,我们的意思是主机 A 上的特定层(例如传输层)创建的数据由主机 B 上的同一层处理。这是逻辑连接。

实际数据(在这种情况下,包含 SYN 标志的段)封装在网络 PDU(IP 数据包)中,然后封装在数据链路 PDU(以太网)中,最后在以太网电缆(物理层)上传输。主机 B 反转这个过程,在每一层解开 PDU 的封装,直到它到达传输层。传输层处理 SYN 标志并创建一个包含 SYN、ACK 标志的新 PDU。然后它使用相同的封装过程将其发送给 A。

数据从一台主机实际发送到另一台主机的唯一方式是通过物理线路。层到层的通信只是一种心理结构。

首先,你真的需要找一些好书来清除你的概念,我推荐你计算机网络,Tanenbaum,对我来说最好的。

另一方面,OSI 模型看起来像这样:

设备1 设备2

应用 --- 应用

介绍 -- 介绍

会话 ----- 会话

运输 ----- 运输

网络 ----- 网络

数据链-----数据链

物理 ****** 物理

原理是上层将数据发送到下层,直到物理层,即负责以光或电磁波的形式传输信息。但是,所有上层只是在其他设备上与它说话。要传输数据,例如:从设备 1 的中下部,在传输层创建数据段,并传递到网络层,当添加一些东西和 IP 标头时,然后使用该信息创建的数据包区域. 然后它传递到数据链路层,在那里发生一些过程,帧是结果,这些帧被传递到物理层,在那里所有这些都像 BITS 一样传输,“零和一”。另一方面,执行反转过程,图层中的每个人都处理他的信息。

您要求的 SYN 被发送到另一台机器,直到没有被处理,该机器才将 SYN,ACK 发送到原始机器。

同样,您可以在 Tanenbaum 书中以一种轻松的形式阅读此内容

它看起来像是在网络层功能中令人困惑。

首先,您必须知道第 3 层添加关于源和目标 IP 的信息,而不仅仅是目标,第 2 层添加关于源和目标 mac 地址的信息,而不仅仅是目标。

其次,当你谈到层时,将一些页眉和页脚添加到其他层,你实际上是在谈论封装,但是在第 4 层中发生的 3 手检查实际上是层到层的通信。

在此处输入图片说明

第三关于您关于第 4 层 TCP 通信建立的问题,正如我之前告诉您的(层到层通信)。这种通信包含两部分,一是关于通信建立(SYC,SYNACK,ACK),另一部分是需要自己传输的数据段,两者都走相同的方式(封装在第3层header和footer然后是第2层然后是layer 1 个页眉和页脚)

在此处输入图片说明

最后,您必须了解三件事(封装、解封装和层到层通信)。每层都有很多协议可以创建和理解(例如,ARP请求是第3层功能,同时使用第3层协议IP和第2层协议MAC-ADDRESS