问题标签 [osi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
203 浏览

networking - OSI 模型如何工作

再会!

我正在研究 OSI 模型。

我有一些困惑的问题。

在网络层,数据可以被分成多个数据包并重新组合。

重组意味着“按顺序”组装,但在传输层协议 UDP 中,数据包可能是无序的。

我的问题是:

  • 你在哪里重新组装数据包?
  • 如果您在网络层工作,为什么 UDP 出问题了?
  • 网络层和传输层做什么
0 投票
1 回答
3830 浏览

tcp - TCP 端口和 OSI 模型

关于 TCP/IP 堆栈,我有一些不明白的地方:端口。有一个 IP 可以识别该机器上特定进程的机器和端口。对我来说,端口与应用层有关;某些进程有一些端口(80 用于 HTTP,25 用于 SMTP 等)。端口与 TCP 层(传输)无关。端口应该在更高级别(应用层)实现。那么为什么说“TCP 端口”而不是“应用程序端口”呢?

谢谢

0 投票
1 回答
2190 浏览

networking - 是否在 OSI 模型的每一层添加/删除了标头?

我试图了解 OSI 和 TCP/IP 模型之间的关系,并在以下链接中阅读,在 OSI 模型中,在每一层添加/删除了一个标头:

https://www.electronicdesign.com/what-s-difference-between/what-s-difference-between-osi-seven-layer-network-model-and-tcpip

那篇文章分解了在 TCP/IP 模型的每一层添加/删除的标头,看起来每一层都添加了一个标头。

我想知道的是:

我读过 OSI 和 TCP/IP 模型都是理论上的;它们以何种方式是理论上的,它们各自在何种方式上在物理上是准确的?例如 TCP/IP 的 Applications 层对应 OSI 的 Application/Presentation/Session 层;应用程序 TCP/IP 层的标头是否由三个组件组成,每个组件都被视为 OSI 的应用程序/演示/会话层的标头?

0 投票
1 回答
268 浏览

automation - OSI 和 OPC 有什么区别?

OSI:开放系统互连参考模型

OPC:OLE(对象链接和嵌入)过程控制

我无法弄清楚区别,因为这两个都指机器之间的通信。

很高兴任何答案。谢谢

0 投票
2 回答
151 浏览

c - 嵌入式系统上分层通信堆栈的内存管理

这个问题与嵌入式系统上的编程有关。我正在研究嵌入式设备上的实验性通信堆栈。堆栈从底层通道接收流数据,检测离散数据包,重新组装碎片数据等......

每个功能都在单独的层中实现。某些层延迟数据包的处理(因为数据到达中断处理程序并且进一步的处理被卸载到主上下文中)。一些层将多个传入数据包合并为一个转发到下一个上层的单个数据包(即碎片数据的重组)。因此,一些层将一个传入数据包拆分为多个数据包,然后转发到下一个较低层。当然,任何层都可能在任何时候丢弃数据包,而无需另行通知,因为例如校验和与数据不匹配。

我的问题是关于这些数据包的内存分配。

目前,我在每一层都使用 malloc 。具体来说,我为要转发到下一层的数据包分配内存,将指针传递给下一层的处理程序,并在调用后再次释放内存。复制所需数据是下一层的处理程序的责任。因此,每一层都维护分配的数据的所有权,并且很难忘记释放分配的内存。这工作得很好,但会导致很多不必要的副本。

或者,我可以将缓冲区的所有权转发给下一层。然后下一层可以直接在缓冲区上做它的工作,并将同一个缓冲区转发到下一层,以此类推。我想这有点棘手,因为没有内存泄漏。

最终,因为它是嵌入式设备,我想找到一个没有动态内存分配的解决方案。如果每一层都拥有自己的内存所有权,那么没有 malloc 的实现应该很容易。但如果所有权被传递,那么它似乎更复杂。

你有什么意见吗?

0 投票
1 回答
212 浏览

stack - 物联网协议栈

我对 IoT 协议栈有疑问。在谷歌学者或 IEEE 关于物联网的论文之间搜索,我发现实际的“物联网协议堆栈”: 物联网堆栈 我认为它是不正确的。疑问在于传输层和应用层。

1)如果物联网有许多其他应用层协议,例如:MQTT,XMPP,AMQP,WebSockets等,为什么应用层只有CoAP?

2)如果上层(应用程序)在物联网环境中有一些重要的协议(例如MQTT)运行在TCP上,为什么它们只在传输层提供UDP?

0 投票
1 回答
688 浏览

http - 谁负责 OSI 中的表示层和会话层?

我正在学习 OSI 的 7 层。但我目前正试图理解这两个底层。具体来说——谁在这些层中执行操作?它们被称为软件层,但浏览器本身是否完成所有这些以及如何完成?还是浏览器将其传递给不同的程序?它是如何工作的?

例如,我在浏览器中输入 google.com,然后浏览器将建立连接并发GET / HTTP/1.1送到服务器。但是这些层中的每一层究竟是如何发挥作用的呢?

到目前为止,这是我的理解。

0 投票
2 回答
1158 浏览

usb - OSI 模型中的 USB 协议分类

我很难在 OSI 模型模型的层中对 USB 协议进行分类。

我猜一开始有 7 层。这些是我认为与图层相对应的信息:

  1. 应用程序软件)
    • 特定应用
    • 其他驱动程序/协议
  2. 演示文稿(软件)
    • 特定应用
    • 操作系统
  3. 会话(软件)

    • 电源模式调节
    • 配置
  4. 运输(硬件)

    • 将数据拆分为帧
  5. 网络(硬件)
    • 客户地址 1 - 127
    • 端点
  6. 链接(硬件)
    • 令牌的 CRC 5 校验和
    • 数据包的 CRC 16 校验和
  7. 物理(硬件)
    • 差分电压(D-、D+)
    • NRZI
    • USB 插头

到目前为止这是正确的吗?

集线器如何工作?我相信他们可以像以太网交换机一样在客户端之间“选择”。这并不意味着主人必须在每个数据包中发送 2 个地址。一个用于下一个直接通信伙伴,例如 Mac 地址,另一个用于目标地址,例如 IP 地址?

也许我们中间有 USB 大师,他们可以将 OUT 包发送到这个帖子,来帮助我;)我很乐意发送 ACK 回复 :)

哈哈好吧,足够的双关语

0 投票
1 回答
612 浏览

network-programming - 当 L2 数据包具有相同的源 MAC 地址和目标 MAC 地址时会发生什么

当 L2 数据包具有相同的源 MAC 地址和目标 MAC 地址时,它是否会从主机的堆栈到交换机并返回到相同的接口?还是具有相同源和目标 MAC 的 L2 数据包从主机的 TX 环移动到 RX 环并且上层将其拾取?

如果它进入交换机,如果它是合法的,那么交换机是否不应该丢弃数据包,因为这可能意味着攻击?

0 投票
1 回答
59 浏览

networking - 如何使用 OSI 或 TCP/IP 级别传输帧

boiz 和 女孩

我已经学习了几天的网络,即关于 TCP/ip 和 OSI 级别。我有一个问题:当一个帧从互联网到达我的局域网时,它会被解封装,以便路由器可以理解他应该将它传递给谁,但这是否意味着该帧将不再包含物理层,哪个不会让它到达目的地?(我可以假设,在解封装之后,该帧将再次封装在路由器上,以便它可以到达具有物理级别的目的地)

据我了解,物理级别是一种传输帧的方式。

还有一件事:“为什么每个人都使用'丢包',而应该有'丢帧(与FPS无关)'?”

//只是想找出我错过和误解的东西。

提前致谢。