问题标签 [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.
tcp - ad hoc 网络中的应用层监听,很像 TCP
我想在参与 WiFi ad hoc 网络的移动设备上部署一个应用程序,以提高信息的稳健性。主要任务非常简单:将数据(可能更大)从节点 S(源)发送到节点 D(目标)。这是我的示例拓扑:
通过简单地使用 TCP,我可以建立一个可靠的通信通道,从 S 通过 N2 和 N4 到 D。没关系。
我现在的问题是:我希望 N1 和 N3 也可以获取(偷听)S、N2 和 N4 发送的消息,但他们不需要可靠地获取它。您可以将其视为数据包流。例如,S 想向 D 发送一个数据包。但是这个数据包可能对 N[1-4] 也有用 - 因此应该被存储。
这当然可以通过在所有节点上使用混杂 WiFi 模式来实现,但这将是一种过度杀伤——因为这意味着每个节点都必须解析所有数据包以查看它们是否可以存储它们。
一个简单的解决方案是发送 UDP 数据包:
- S 向 N2 发送具有附加信息的生存时间为 1 的 UDP 广播数据包。
- N1、N2和N3可以接收和存储数据包,但只有N2将信息重新发送给N4。
- 这种行为会不断重复,直到 D 获得包裹。
但是我必须以某种方式在数据包排序、拥塞控制和可靠通信方面重新实现 TCP——这很糟糕。
所以我的问题是:你知道支持这种行为的协议吗?
networking - OSI 模型的应用程序与会话层
我不确定 SO 是否是解决这个问题的最佳地点,但这里是:
登录和注销过程是 OSI 模型的会话层还是应用层的一部分?
维基百科说:
会话层提供了在最终用户应用程序进程之间打开、关闭和管理会话的机制,即半永久对话。通信会话由应用程序之间发生的请求和响应组成。
我不清楚会话是否包含完整的登录/注销过程(例如,当我访问我的电子邮件帐户时)。
就我在问题的上下文中设法理解这两个层的含义而言,我相信应用层负责管理构成登录过程一部分的身份验证和授权。
请以适当的理由确认我的怀疑或否认。
winforms - 用于在 datagridview 中合并数据的数据类型/结构
我有一个当前让用户输入一个标签,我将该标签的值(它是一个时间戳/值对)放入一个数据网格视图中。我想要添加多个标签的选项,每个标签都会在 datagridview 中获得一个只有一个时间戳列的列,该列将保存合并的时间戳。
我目前有这个:
但我想在同一个datagridview中有多个标签,所以我需要这样的东西:
假设 TagVals 包含这些时间戳值对(其中 1.x 值来自第一个标签,而 2.x 值来自第二个标签):
我希望我的 datagridview 看起来像这样:
用于保存这些值并将它们合并到数据网格视图中的最佳数据结构/类型是什么?
networking - osi 模型中的相同功能
OSI 模型的传输层和数据链路层提供类似的功能。如果其中一个已经存在,为什么需要另一个
networking - 应用程序如何知道要使用哪个 OSI 协议?
我想了解当我们在浏览器 wrt OSI 模型中键入“google.com”时会发生什么。所有协议在每一层都有哪些内容,他们如何知道要使用哪一个?
另外我想知道,在传输层中使用哪一个 TCP/UDP 是为网络/应用程序决定的?那是对于像 google.com 这样的普通网页,必须使用 TCP,但对于视频流 UDP。这是如何传达给网络的?
浏览器是否也是其中的一部分,因为它正在提供帮助。它也应该属于应用层吗?
Http 属于 OSI 模型的应用层。现在对于这个特定的示例,Presentation 和 Session 层下会出现什么?会话是在会话层维护还是由 HTTP 代表他们进行?
protocols - 拦截从我的计算机接收和发送的数据?
我想测试一个新的通信协议,为此我需要拦截每个进入和离开 OSI 模型网络层的包。任何想法如何拦截这些包并在让它们离开之前执行我想要对它们执行的任务。
wcf - 为什么 Tcp 比 http 快?
我和我的经理讨论过,他说 tcp 比 http 快,因为 tcp 在低于 http 的层上工作。
然后我记得我在大学学习的OSI模型,所以我认为他的意思是因为http工作在应用层,而tcp工作在传输层(以下2层)所以更快......
所以我的问题是:
下层比上层工作得更快是因为在两台计算机之间进行数据传输时需要访问的层更少吗?
如果是这样,这意味着当我们使用 tcp(即使用 WCF)时,通信将从传输层开始 => 向下到物理层 => 另一台计算机的物理层 => 直到传输层?但是我通过数据仍然需要被应用程序理解,所以它仍然必须上到应用程序层?
提前致谢。
networking - 第 3 层(网络层)如何识别 IP 地址?
第 2 层(以太网层)使用 ARP 协议识别 MAC 地址。它向整个网络发送一个问题,询问:“哪个 MAC 地址有 IP x?”。这就是它识别目标MAC地址的方式。
但是第 3 层(IP 层)是如何知道 IP 地址的呢?它不会从传输层(第 4 层)传递给它。仅传递端口号。
我希望我是具体的。提前致谢。
vb.net - VB.Net 2010 中的 OSI 模型
我需要在 VB.net 2010 中实现一个通信协议。一种 OSI 模型/架构,但是对于每一层使用一个 vb 类更小,我怎样才能有效地链接它们?
通常,通信缓冲区将从底部移动到顶部或从顶部到底部。现在,我有一个主类,其中声明了每一层,并在每一层中使用委托将其与上层和下层链接。
有什么我可以使用的模式吗?
tcp - 我们在互联网上使用 TCP/IP 还是 OSI?
抱歉这个问题,但我已经搜索过那个主题,但不是很清楚,他们说互联网使用 tcp/ip 但有时他们说也使用 osi!例如,UDP 应用程序,他们不使用 tcp/ip,因为它不是 tcp?!
请问,有人可以说清楚吗?意思是; 哪里是“确切地”使用 OSI,哪里是“确切地”使用 TCP/IP!