问题标签 [data-link-layer]

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 回答
1976 浏览

networking - 二层逻辑链路层的主要工作是什么

我很想知道逻辑链路层的作用。它的主要意义是什么?它是软件的一部分吗?

我正在寻找 LLC 的一些详细信息。

0 投票
4 回答
4853 浏览

checksum - 错误检测效率(CRC、校验和等)

我有一个发送数据单元的假设情况,每个单元有一千字节。故障率很少见,但是当确实发生错误时,它不太可能是单个位错误,而更有可能是连续几个位的错误。

起初我想使用校验和,但显然这可能会丢失大于单个位的位错误。奇偶校验也不起作用,因此 CRC 可能是最佳选择。

对一千字节使用循环冗余检查是否有效?或者还有其他更好的方法吗?

0 投票
2 回答
2243 浏览

c - 访问数据链路层数据包

我想创建一个用于从数据链路层访问 IPv4 数据包的套接字。从unix网络编程V1开始,

1)我正在实现一个dhcp客户端,这是正确的方法吗?(意味着没有访问数据链路层,我无法收到来自 dhcp 服务器的回复)或者还有其他更简单的方法吗? 另外,由于此套接字将接收发往我系统的所有 IPv4 数据包,我应该如何区分 dhcp 回复数据包和其他数据包?

2)请给我一个好的链接/教程,用于数据链路层访问的网络编程。在上面的书中,没有详细描述。

这是我的代码

0 投票
2 回答
468 浏览

packet - 执行链路层数据包修改的库

是否有一个库可以让我对传入和传出的数据包执行链路层数据包修改?

基本上我想根据传入的 MAC 地址、IP 地址、端口等对数据包进行一些转换(例如更改 IP 有效负载)。我还希望能够对传出的数据包做同样的事情,即修改数据包在他们离开系统之前。

0 投票
3 回答
5721 浏览

c# - OSI 第 2 层网络编程

我最近参加了一些网络课程(CCNA 1 到 4),所以我了解这一切背后的大部分理论。我现在想做的就是把我所拥有的知识以一些小应用程序的形式付诸实践。

我一直在阅读 MSDN 上有关如何执行此操作的一些文章,但它们似乎只涵盖第 3 层或第 4 层及更高层的网络编程,IIRC。我正在寻找的是一些简单的例子,说明如何处理主机之间的第二层连接(即成帧),甚至只是一些简单的例子,比如如何执行以太网广播。

我对 C# 和 C++ 有一点经验,所以使用这两种语言中的任何一种的例子都会很棒。

谢谢。

0 投票
1 回答
425 浏览

android - 如何接收和传送 802.11b/g 数据链路 (MAC) 广播数据包到 Android 应用程序

我想知道我是否可以在 Android 上接收 MAC 级别(L2-WiFi)的广播数据包并将此类消息传递给我的应用程序,该应用程序将解析此类数据包的有效负载。

MAC 接口通过构造(例如,信标)解析所有这些数据包;但是,我不知道是否(在哪里)我可以注册一些“回调”,以便在节点接收到不是管理 WiFi 帧的广播数据包(即 ff:ff:ff:ff:ff:ff)时调用. 想法是立即访问某些信息,甚至可能在身份验证/关联之前,或者如果这不可行,则在关联之后不久,在 DHCP 为我的接口分配 IP 地址之前。是的,有类似 tcpdump/wireshark 的程序,但需要 root 权限,而我们正在寻找一种常规方式(用户权限)来做到这一点。

因此,接入点可以通过广播包发送一些信息,客户端可以接收和解析这些信息,执行一些操作

任何想法?谢谢

0 投票
1 回答
262 浏览

tcp - 当帧中的尾部信息和 tcp 段中的校验和错误时

我正在准备考试“计算机网络”。我有两个问题: - 帧(链路层网络)中的预告片何时包含信息?- TCP-segments什么时候可以有校验和错误?

提前致谢

0 投票
1 回答
16755 浏览

networking - 什么是循环冗余检查以及它是如何简单地工作的(for-dummies 风格)?

我很难理解听起来难听的术语“循环冗余检查”的概念和工作原理。我正在参加关于计算机网络的大学课程,但我已经迷路了。

问题是我对数学的理解非常有限(很久以前在学校学习数学并忘记了大部分)而且我无法理解生成多项式到底是什么,多项式与CRC有什么关系和总结一下——所有这些对我来说似乎完全无法理解。

我阅读了关于 CRC 的 wiki 条目,但它对我没有帮助,因为我不擅长数学,所有这些符号和数学术语对我来说都像是中文。

我知道在网络上发送数据时使用 CRC 进行错误检测,但从那时起我就迷路了。

任何人都可以帮助我用简单的术语解释这个概念并可能举个例子吗?

在上一次讲座中,教授开始画所有这些 1 和 0,除以我不知道是什么,我只是盯着看,感觉很愚蠢。

我将非常感谢任何人可以帮助我理解!

0 投票
6 回答
18349 浏览

networking - 数据链路层和传输层

当传输层提供差错控制时,数据链路层的差错控制需要什么?两种错误控制有什么区别?

0 投票
1 回答
1467 浏览

serial-port - 简单的 SDLC CRC 计算没有给出正确的值

我试图弄清楚如何计算非常简单的 SDLC 帧的 CRC。

使用 MLT 我正在捕获流,我看到一些简单的帧被发送出去,例如:0x3073F9E3 和 0x3011EDE3

据我了解,F9E3 和 EDE3 是 3073 和 3011 的 2 字节校验和,因为这就是该帧中的全部内容。

使用大量 CRC 计算器和计算,我已经能够得到校验和的第一个字节,但不是最后一个字节(F9 和 ED)。

使用这个计算器(http://www.zorc.breitbandkatze.de/crc.html):

  1. 选择 CRC-CCITT
  2. 将最终异或值更改为:FFFF
  3. 在最终异或之前检查反向数据字节和反向 CRC 结果
  4. 然后输入:%30%11

这将给出输出 B8ED,因此最后一个字节是 ED。

有任何想法吗?