동일한 포트 번호를 2 개의 다른 내부 IP 주소로 포워딩 할 수 있습니까?


14

PC에서 포트 80 UDP를 포워드하면 다른 랩톱에서 포트 80에 액세스 할 수 있습니까?


1
아니; 포트를 전달하면 모든 트래픽을 단일 주소로 보냅니다. 동일한 포트에서 데이터를 수신하기 위해 2 개의 장치가 필요한 경우 2 개의 추가 장치를 네트워크에 연결하는 단일 장치 (예 : 다른 라우터)로 전달해야합니다.
Ramhound

1
보조 시스템에서 80 대신 포트 8080을 안전하게 사용할 수 있습니다. 따라서 80에서 PC로, 8080에서 노트북으로 전달하십시오.
Overmind

"내 PC에서 포트 80 UDP를 포트 포워드하는 경우 다른 랩톱에서 포트 80에 액세스 할 수 있습니까?" <--- 분명히 포트 포워딩의 요점은 무엇입니까?
barlop

AT Ramhound 정말 응, 좋아, 그래서 이유를 어떻게 설명하지 않는 당신이 거라고 그렇게?
barlop

1
VL-80의 답변을 수락하는 것이 좋습니다. 그의 대답은 매우 좋습니다. 그것은 당신이 어떤 응답 실제로 asked-- 아무도 당신이 무엇을 응답하는 방법을 말할 수 없습니다 의미 물어.
David Betz

답변:


14

여기서 두 가지 다른 질문을하고 있습니다.

동일한 포트 번호를 2 개의 다른 내부 IP 주소로 포워딩 할 수 있습니까?

아니, 생각 해봐 패킷이 외부 주소와 UDP 포트 80에 도착하면 라우터 알고는 얼마나 (당신은 단지 하나의 외부 IP 주소를 가지고 가정) 하는 두 개의 내부 IP 주소가 전달되어야 하는가?

두 개의 서로 다른 서비스를 호스팅하려면 각각에 대해 별도의 포트가 필요합니다.

PC에서 포트 80 UDP를 포워드하면 다른 랩톱에서 포트 80에 액세스 할 수 있습니까?

예. 포트 전달은 일반적으로 사용자 측 에 포트 80이있는 패킷에만 영향을줍니다 . 누군가 연결하려고하면 라우터에 다음이 표시됩니다.

  • 다른 컴퓨터의 임의 포트 X에서 포트 80으로 들어오는 패킷
  • 포트 80에서 다른 포트 X로 나가는 회신

그러나 나가는 연결 ( 다른 곳에서 웹 페이지 방문 할 때 )은 라우터의 관점에서 반대로 연결됩니다.

  • 임의의 포트 X에서 다른 컴퓨터 (웹 서버) 포트 80으로 나가는 패킷
  • 상대방의 포트 80에서 포트 X로 들어오는 응답

따라서 포트 전달은 전혀 영향을 미치지 않습니다.

(일반적으로 HTTP는 일반적으로 TCP에서 실행됩니다 . Chrome의 QUIC 실험 만 UDP를 사용합니다.)


" 두 개의 내부 IP 주소 중 어느 것을 전달해야 합니까?
Pacerier

1
@Pacerier : 클라이언트가 완전히 다른 두 개의 회신을 받으면 어떻게합니까? 프로그램이 하나만 요청한 경우 자동으로 두 개의 연결을 만들지는 않습니다. 최고의, 그것은 하나 개의 응답 패킷을 승인하고 당신이 그것을 말할 수 있기 때문에 쓸모가있는 다른 폐기거야 하는 모두 0.100과 0.101 정확히 동일한 서비스 (로드 밸런싱)를 제공하지 않는 한 ... 당신이 원하는 서버. 최악의 경우, 두 번째 응답은 첫 번째 연결 시도가 완료되지 못하게합니다 (예 : 두 번째 서버가 첫 번째 서버용 패킷을 계속 수신하는 경우 TCP RST로 계속 응답합니다)
user1686

1
@Pacerier : 따라서 특정 로드 밸런싱 사례 (거의 동일한 서버)에서 수행 할 수 있습니다. 자세한 내용은 아래 VL-80의 답변을 참조하십시오. 실제로 초기 패킷을 복제하고 응답이 가장 빠른 서버를 사용하는로드 밸런싱 프로그램이 있습니다. 그러나 두 가지 다른 웹 사이트를 그런 식 으로 호스팅하려는 경우 TCP 연결이 이루어진 브라우저가 웹 사이트 호스트 이름을 보내지 않기 때문에 작동하지 않습니다 .
user1686

4

동일한 포트 번호를 2 개의 다른 내부 IP 주소로 포워딩 할 수 있습니까?

예, UDP 를 사용하고 어느 정도는 TCP 를 사용 하여 절대적으로 수행 할 수 있습니다 .

UDP 는 비 연결 상태 비 저장 프로토콜 이므로 특정 포트를 수신 할 수 있으며 패킷이 도착하면이를 복사하여 두 개의 다른 내부 대상으로 보낼 수 있습니다. 핸드 셰이크 또는 상태 추적이 없으므로 모든 대상이 해당 패킷을 성공적으로 수신 할 수 있습니다. Samplicator 는이를 수행 할 수있는 프로그램 중 하나입니다. 이것은 정의에 따라 순수한 포트 포워딩이 아닙니다.

TCP 에서는 가능 하지만 몇 가지 제한이 있습니다. 특정 포트를 수신 할 수 있으며 패킷이 도착하면 풀의 특정 내부 호스트로 전달할 수 있습니다. TCP는 연결을 사용하므로 초기 패킷을 특정 내부 호스트로 전달하면이 세션의 나머지 패킷을 동일한 내부 호스트로 전달해야합니다.

이 기술을 사용하면 하나의 외부 대상에 대한 요청을 처리하는 여러 백엔드 서버를 가질 수 있습니다.

PC에서 포트 80 UDP를 포워드하면 다른 랩톱에서 포트 80에 액세스 할 수 있습니까?

이 질문은 분명하지 않습니다. 외부 주소에서 내부 호스트 중 하나로 트래픽을 전달하면이 사실만으로도 내부 네트워크에서 동일한 포트에 액세스 할 수 있습니다.

포트 80을에서 A로 전달한다고 가정 해 봅시다 B. 동시에 아무런 문제없이 C포트 80에 직접 액세스 할 수 B있습니다.

     A (external IP)
     |
 ---------
 |       |
 B       C

2
문제는 라우터에 관한 것입니다. 소비자 등급 라우터에는 UDP 복사 / TCP로드 밸런싱 기능이 없으며 "포트 포워딩"이라고도합니다.
Jason C

4
1) 질문은 소비자 수준의 장비 여야한다고 명시하지 않습니다. 2) 내가 쓴 기술에 관계없이 내가 설명한 기술이 적용됩니다.
VL-80

2
패키지에 라우터 이상이 포함되어 있지 않는 한 전문가 수준의 라우터에는 이러한 기능이 없습니다. 포트 포워딩이 아니며 라우터는 이러한 기능을 수행하지 않습니다. 이 질문은 "포트 포워딩"에 관한 질문으로 router 태그되었습니다 . 같은 질문을하는 사람들에 대해 생각하고, 찾은 다음 답을 읽고, 도움이되는지 혼란스러워하는지 고려하십시오. 어쨌든 당신의 용어는 모두 잘못되었습니다.
Jason C

"이것은 TCP에서 가능합니다. 일단 특정 내부 호스트로 초기 패킷을 전달하면이 세션의 나머지 패킷을 동일한 내부 호스트로 전달해야합니다." <--- 그렇다면 TCP로 어떻게 가능합니까? UDP 용 samplicator를 언급했습니다. UDP 용으로 복사합니다. TCP에 대해 제안하는 것은 무엇입니까?
barlop

4
이 대답은 좋습니다. 비슷한 말을하려고했습니다. UDP를 사용하면 이것이 멀티 캐스트와 IGMP의 핵심입니다. TCP, 예, roundrobin, 장애 조치 등 ... 예, 라우터가이를 수행 할 수 있습니다. 오늘날의 라우터는 90 년대의 블라인드 장치가 아닙니다. 이 질문은 여러 번 읽을 수있을 정도로 모호하지만, 이것이 내가 질문을 읽는 방법입니다.
David Betz

1

동일한 포트를 여러 IP로 동시에 전달할 수 없으며 구성 오류 메시지를 다시 보내지 않고도 라우터 / 관리 스위치를 보지 못했습니다. 여러 IP에 대해 설정할 수 있지만 한 번에 하나의 전달 규칙 만 활성화 할 수 있습니다. 따라서 하나의 다른 활성화를 비활성화 할 수 있지만 그 반대도 마찬가지입니다. 외부 IP 주소를 통해 LAN 컴퓨터의 특정 포트 / 서비스에 액세스하려는 경우 포트 전달에 대해 걱정할 필요가 있습니다. 두 대의 LAN PC에서 두 대의 웹 서버를 실행하고 항상 두 대의 서버 모두에 액세스 할 수 있도록하려면 가장 쉬운 방법은 서비스 포트를 변경하고 하나는 포트 80에서 수신하고 다른 하나는 8080 또는 원하는 포트. 서비스의 99 %는 원하는 포트에서 호스트 / 듣기를 허용합니다. 포트를 지정하지 않으면 서비스 기본값으로 폴백됩니다. 다른 고급 작업 방법이 있지만 이것이 가장 간단한 방법이며 고급 방법은 네트워킹 학교로 돌아 가야하는 다른 사람을 "포트 포워딩"으로 간주하거나 호출하지 않습니다.


1
"저도 그렇게 할 수있는 라우터 / 관리 스위치를 보지 못했습니다 ..."-소비자 용 Technicolor TC7200.U 라우터를 사용하면 동일한 포트에 대해 다른 IP 주소에 전달 구성을 추가 할 수 있습니다. 그래도 실제로 전달되는지 확실하지 않습니다.
Jonathan Cross

-2

아니, 생각 해봐 패킷이 외부 주소와 UDP 포트 80에 도착하면 (단 하나의 외부 IP 주소 만 가정 할 경우) 라우터는 두 개의 내부 IP 주소 중 어느 것이 전달되어야하는지 어떻게 알 수 있습니까?

두 개의 서로 다른 서비스를 호스팅하려면 각각에 대해 별도의 포트가 필요합니다.

라우터는 주소를 전달하는 방법을 어떻게 알고 있습니까? NAT 때문에.

도메인을 구입하면 해당 도메인 이름을 컴퓨터 이름 및 NETBIOS 이름으로 설정할 수 있습니다.

예를 들어 서로 다른 내부이지만 동일한 외부 포트에있는 웹 사이트를 호스팅하는 두 대의 컴퓨터는 도메인 이름을 지정해야합니다. 그렇지 않으면 라우터가 연결하고 누군가가 연결을 시도 할 때마다 내부 IP를 두 도메인에 추가하여 내부 DNS 서버를 설정해야합니다. 도메인 이름 (공용 IP 주소 아님) 라우터 NAT가 그에 따라 연결을 전달합니다.

정확히 동일한 포트를 동일한 네트워크의 여러 IP로 전달할 수는 없지만 나가는 네트워크 트래픽에 대해 이야기 할 때 내부 포트가 다른 한 동일한 외부 포트를 사용할 수 있습니다.


다른 답변을 복사하지 마십시오.
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.