路由器如何判断这个数据包属于特定协议?

问题描述 投票:0回答:3

据我所知,端口号负责理解协议类型,但我仍然很困惑,因为数据包中没有提到它。我可能听起来很愚蠢,但我只想知道如何确定特定协议(如 ospf)接收到的数据包。

network-programming protocols router packet ospf
3个回答
0
投票

配置路由器时,您可以选择它将用于路由数据包的路由协议。动态路由协议(例如 OSPF 或 RIP)不是数据包的属性,而是路由器的属性。

路由数据包发生在OSI模型中的第3层(网络层),但HTTP、FTP和IMAP等协议位于第7层(应用层),并使用端口来组织和过滤网络流量。


0
投票

端口号是某些传输协议的第 4 层地址,但路由仅适用于第 3 层 (IP) 地址。路由器没有关于端口号的任何信息。路由器不查看数据包有效负载,仅查看 IP 标头。

OSPF 不使用端口号(它有自己的传输协议)。 IPv4 标头中的协议字段(IPv6 标头中归档的下一个标头)告诉目标 IP 进程应将数据包有效负载发送到哪个进程。

如果路由器本身是目的地,则其 IP 进程会将数据包有效负载发送到协议(下一个标头)字段的进程。路由协议是运行在路由器上的应用程序,用于在路由器之间交换路由信息,但路由协议并不路由。路由基于路由表进行,路由协议是填充路由表的方式之一,但路由协议不参与路由。


0
投票

您似乎将端口号与协议号混淆了(“端口号负责理解协议类型”)。 端口号用于 UDP(协议#17)和 TCP(协议#6)来指定关联的进程。 OSFP 使用协议#89,并且不使用端口#s。 协议号位于 IP 标头中,而端口号位于 UDP 和 TCP 标头中。

© www.soinside.com 2019 - 2024. All rights reserved.