Linux的:TCP socket编程在多个以太网端口 [英] Linux: TCP socket programming over multiple ethernet ports

查看:1143
本文介绍了Linux的:TCP socket编程在多个以太网端口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在网上淘,看我怎么可以计划利用使用C两个独立的以太网端口(如eth0和eth1)在linux / C ++

I've been scouring the web to see how I can program to utilize two separate ethernet ports (such as eth0 and eth1) in linux using C/C++

我知道如何使用套接字()和inet_pton,但这似乎只为一个单一的以太网端口。

I understand how to use socket() and inet_pton but this seems to be only for a single ethernet port.

第一个以太网端口自动映射到192.168.0.100,第二个是192.168.0.101

The first ethernet port is automatically mapped to 192.168.0.100 and the second is 192.168.0.101

推荐答案

两部分答案。


  1. 通常情况下,你不必担心使用多个以太网端口明确。内核会自动照顾它。下面是它如何工作的。对于传出的数据包,内核在根据目的地IP地址的相应以太网端口将数据包发送出去。因此,如果网络10.0.0.0是eth0的通过访问,这就是数据包将被从发送出去。如果网络11.0.0.0是通过eth1的访问,这就是数据包将被从发送出去。内核通过网络掩码,IP地址,默认网关分配给接口(连同路由表)来确定网络的可达性。

  2. 对于进入的数据包,如果你绑定到任何地址,然后对要监听的端口的所有数据包都发送给您。您也可以选择绑定到特定的IP地址,在这种情况下,给该IP地址只把报文和端口将被交付给你。

这篇关于Linux的:TCP socket编程在多个以太网端口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆