mav*_*_2k 3 networking routing kernel bgp ospf
问题是在运行多个路由协议守护进程的任何 linux/unix 设备中重新生成路由协议数据包流。
任何路由协议数据包如何从 NIC 卡(物理层)到达(操作流)到任何路由(OSPF/RIP/BGP)守护进程?
Sav*_*btz 11
您没有指定您在说什么内核。
从 BSD 的角度来看,这一切都在TCP/IP Illustrated, Volume 2: The Implementation By Gary R. Wright, W. Richard Stevens 中进行了解释
简短版本如下:
mbuf/mbuf_cluster或sk_buff)。同样在这里数据包被复制到bpf设备。ether_input根据帧的协议和地址家庭它被由对应的处理protosw(协议开关)阵列条目。ip_input或tcp_input/udp_input数据报到达套接字层后到相应的路由守护进程so_rcvbuf(套接字接收缓冲区)。(e)glibc/ libc/libSystem需要它的地方。路由守护进程和套件操作内核中的路由表。所以数据包不会流经路由守护进程,而是根据路由表路由数据包。
当路由表中有两个相同特异性的选择(最具体的路由总是获胜)时,当谈到哪些路由获得优先权时,它是最好的(最低的)metric(参见 参考资料route)。在 Cisco 中,土地被称为“管理距离”。不同的协议(如 RIP 和 BGP)具有默认指标。我不确定是否有特定于 Linux 的参考,但是如果您查看管理距离链接,我会冒险猜测路由守护程序使用相同的优先级。
至于路由协议数据包本身,它取决于路由协议,但它们通常使用标准的传输协议。例如,BGP 在端口 179 上使用 TCP/IP 会话。因此守护进程将相应地绑定一个套接字。
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |