RS232/以太网端口服务器 - 涉及的协议?

RS232/以太网端口服务器 - 涉及的协议?

首先,我不负责设备,所以不要惊慌我问这样的基本问题:)

在工作中,我们有多个 RS232 / 以太网端口服务器(比如这个的 16 端口版本http://www.digi.com/products/serialservers/portserverts

我对 OSI 模型以及不同层协议如何交互有基本的了解。例如,http 使用 IP 封装在 TCP 数据包中,而 TCP 数据包又使用 MAC 封装在路由器层的以太网帧中,等等。

但是,我无法弄清楚这些端口服务器的 cat5 电缆中实际传输的是什么协议。是直接将 RS232 重新映射到以太网电缆吗?是封装在某种以太网协议中的 RS232 协议吗(以太网是 LLC/MAC,对吧?)?我是不是搞混了协议 - 即 RS232 和 LLC 处于同一级别?

提出这个问题的动机源于我的工作,目前我为串行分析仪支付了几千美元。本质上,它与 cat5 内联,转换为物理 RS​​232 插头,具有带 USB 输出的分接头,而反过来恰好使 cat5 再次继续。我想知道为什么我不能制作一个简单的被动以太网网络分接头,并使用两个绑定在一起的以太网 NIC 并使用 wireshark 监视应用程序协议。为了进一步研究这个问题,我试图找出端口服务器中会发送什么协议。

干杯。

答案1

其实这真的很简单。我可能在不同的工作中编写过 3 到 4 次 RS232 到 TCP。

其最简单的工作方式是,一个软件从串行端口读取数据,并将其直接写入连接的 TCP 套接字。它还执行相反的操作,将从套接字读取的数据直接写入串行端口。IP/RS232 链路上没有协议封装。它只是从一个路由到另一个。

这就是全部内容了。但是,您通常会在 PC 上安装一些软件,从而获得虚拟串行端口。该串行端口最终会在端口服务器上与真正的 RS232 通信。数据流中可能会插入一些标头来控制流量控制。两端都会剥离所有内容,以便与串行端口交互的应用程序会认为它正在直接与真正的 RS232 端口通信。

如果您想嗅探这些数据,那么您只需使用 wireshark 嗅探流向串行端口服务器 IP 的所有流量。然后,您将看到数据是否在应用程序发送时未发生改变,或者是否包含一些用于流量控制的标头。

答案2

在某些情况下,CAT5 电缆和/或 8P8C(又名 RJ45)模块化连接器用于串行通信并不意味着什么。RS232 和以太网使用完全不同的信号。您不能用 NIC 替换串行分析仪。不过,您可以找到更便宜的 RS232 分析仪版本。

答案3

简而言之 - 您可能会发现 RS232 会话被包含在 TCP 会话中。

我所能做的就是对您的特定设备的工作方式做出有根据的猜测,但如果记忆和经验有用,这些盒子将有效地将 telnet(或可能是 ssh)会话转换为终端会话。

这就是说,他们将在您与 TCP 通信的一侧运行某种网络堆栈,并将其转换为会话所需的位。

您不需要关心终端服务器的 MAC 地址或类似信息(至少在使用时不需要)。

具体回答你的一些问题 -

  • 五类电缆正在传输以太网帧。TCP 会话的数据包将并入以太网帧中。

  • 串行接口的 RJ45 端口与以太网的 RJ45 端口“不同”。端口在物理上相同,但在电气上完全不同。(想象一下有人将串行电缆切成两半,并将其中一端压接到 RJ45 电缆上,您可以这样做来制作该电缆)确切的接线将取决于您获得的设备,尽管大多数设备都非常标准。(如果您知道在哪里可以找到可以按所需顺序插入引脚的串行电缆,这种电缆非常常见且便宜)

  • RS232 不是封装,而是原始字节流。它实际上无法与 LLC 相比(如果我对 LLC 的理解正确的话)。它只是以特定速度在线路上发送的原始位。

  • 您无法制作以太网分接头,因为它与以太网设备不相似或不可比较。USB 实际上是一种串行接口(通用串行总线)。

  • 我从未尝试过,但我想应该可以找到串行电缆上的 TX 和 RX 线(内存中的引脚 2 和 3),窃听信号的副本 [ 我不是电子工程师,所以对此了解不多,我会用电阻器来提供高输入阻抗 ] 并将其馈入另一个串行端口 [ 如果您没有,则通过 USB 转串行接口 ],将其插入运行终端程序(如 minicom)的计算机 - 您需要确保波特率和其他设置匹配,但您应该能够“只读” - 尽管在最简单的情况下您可能需要为 tx 和 rx 线提供单独的输出 - 以查看交易的双方。

相关内容