65,535を超えるポートを提供するようにLinuxシステムを設定できますか?目標は、特定のシステムで65,000以上のデーモンがリッスンすることです。
明らかに使用されているポートがいくつかあるため、この理由で不可能なので、このようなタスクを実行するときにTCPが制限される場所を理解しようとするのは理論的な練習だと思います。
ベストアンサー1
TCP RFCを確認してください。RFC 793 - 伝送制御プロトコル、TCPヘッダのソース/ターゲットポートフィールドが16ビットに制限されているので、答えは「いいえ」のようです。
IPv6は現在の状態を改善しますか?
習慣。 IPv6はより大きなIPアドレス空間(32ビット対128ビット)を提供しますが、ポート番号でTCPパケットの16ビット制限を改善しようとはしません。興味深いのはIPv6用RFCです。インターネットプロトコルバージョン6(IPv6)仕様、IPフィールドを拡張する必要があります。
TCPがIPv6を介して実行されている場合、チェックサムを計算するために使用される方法は次のように変更されます。RFC 2460:
チェックサム計算では、IPヘッダーにアドレスを含むすべてのトランスポートプロトコルまたはその他の上位層プロトコルはIPv6を介して使用されるように変更され、32ビットIPv4アドレスの代わりに128ビットIPv6アドレスを含める必要があります。
では、どのように多くのポートを取得できますか?
1つのアプローチは、より多くのインターフェイスを使用して追加のIPアドレスを構築することです。システムに複数のNICがある場合は簡単ですが、NICが1つしかない場合でも仮想インターフェイス(仮想インターフェイスとも呼ばれます)を使用できます。ニックネーム)必要に応じてより多くのIPを割り当てます。
メモ:エイリアスの使用が置き換えられました。iproute2
これを使用して単一のインターフェイス(例えばeth0
。
はい
$ sudo ip link set eth0 up
$ sudo ip addr add 192.0.2.1/24 dev eth0
$ sudo ip addr add 192.0.2.2/24 dev eth0
$ ip addr show dev eth0
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc
pfifo_fast state DOWN qlen 1000
link/ether 00:d0:b7:2d:ce:cf brd ff:ff:ff:ff:ff:ff
inet 192.0.2.1/24 brd 192.0.2.255 scope global eth1
inet 192.0.2.2/24 scope global secondary eth1