두 컴퓨터 A와 B가 동일한 모뎀에 연결되어 있거나 동일한 ISP에서 인터넷을 얻고 있다고 가정합니다. Google에서 검색 할 때 "내 IP 주소는 무엇입니까?" 그것은 컴퓨터 A와 B 14.141.56.230 모두에서 동일한 IP 주소를 보여줍니다. 내가 보낸 사람이 컴퓨터 A에 데이터를 보내고 싶다면 모뎀이나 라우터가이 패킷이 컴퓨터 B가 아니라 컴퓨터 B에 속한다는 것을 어떻게 인식 할 것인지, 둘 다 동일한 IP 주소를 가지고 있는지를 알고 싶습니다.보낸 사람이받는 사람에게 패킷을 전달하는 방법
답변
이것은 NAT의 역할입니다. 외부 서버는 A 또는 B에 직접 연결할 수 없습니다. A 또는 B는 먼저 서버에 연결해야하므로 NAT가 외부 서버가 수신 한 패킷을 처리하는 방법을 알고 있습니다.
특히 this 흥미 같아야
개인 (내부) 네트워크에있는 컴퓨터에서 외부 네트워크로 IPv4 패킷을 전송하고 NAT 장치의 소스 필드에 내부 IP 주소를 대체 NAT 장치의 외부 IP 주소가있는 패킷 헤더 (보낸 사람 주소). 그런 다음 PAT는 사용 가능한 포트 풀에서 포트 번호를 연결에 할당하고 소스 포트 필드에이 포트 번호를 삽입하고 (우체국 상자 번호와 유사) 패킷을 외부 네트워크로 전달할 수 있습니다. 그런 다음 NAT 장치는 내부 IP 주소, 원본 원본 포트 및 변환 된 원본 포트가 들어있는 변환 테이블에 항목을 만듭니다. 동일한 연결의 후속 패킷은 동일한 포트 번호로 변환됩니다.
A가 A의 라우터 R에 도달하면 R은 패킷의 소스 IP를 변경하고 포트 P를 할당 한 다음 E가이 포트 P를 A에 할당했다는 것을 기억합니다. E가 포트 P에서 R에 응답하면 라우터는 이것을 다시 역으로 변환하여 A로 패킷을 전달합니다.
이는 E가 A에게 직접 연결할 수 없음을 의미합니다 . A가 연결을 시작해야합니다. 이제 A와 E가 모두 NAT 뒤에있는 경우를 생각해보십시오. 둘 다 직접 연결을 시작할 필요가 있습니다. 해결책을 찾으려면 TCP hole punching을 조사해야합니다.
자세히 설명 드리겠습니다. – vivek
- 1. Socket.io가 보낸 사람에게 응답합니다.
- 2. LAN에있는 모든 사람에게 UDP 패킷을 보내시겠습니까?
- 3. 클라이언트가 "손상된"패킷을 받았을 때 이더넷의 CSMA/CD로 보낸 사람에게 알릴 수 있습니까?
- 4. 서블릿을 사용하여 보낸 사람에게 응답을 보냅니다.
- 5. 보낸 사람에게 Patterns.ask()로 외부 액세스
- 6. 요구 사항을 보낸 사람에게 예외 예외를 다시 보내는 방법?
- 7. 아웃 바운드 게이트웨이에서 보낸 사람에게 예외를 throw하는 방법
- 8. 보낸 사람에게 아무 것도 보내지 않는 액터를 테스트하는 방법
- 9. 메일 함으로 보낸 메시지 페이지에서받는 사람에게 액세스하는 방법
- 10. 보낸 사람이 브로드 캐스트 패킷을 받습니까?
- 11. 보낸 사람을 이벤트 처리기를 통해 전달하는 방법
- 12. 에코 Twimlet을 사용하여 다른 사람에게 SMS를 전달하는 방법
- 13. ios에서 MFMailComposer를 사용하여받는 사람에게 "To"받는 사람에게 파일을 보내지 않고받는 사람 "Cc"받는 사람에게 파일을 보내지 않는 방법은 무엇입니까?
- 14. 'so_mark'로 표시된 패킷을 필터링하는 방법
- 15. PPP 인터페이스에서 패킷을 전달하는 방법은 무엇입니까?
- 16. 패킷을 포착하고 http 요청을 지정된 http 프록시에 전달하는 방법
- 17. Chatterbot과 사람에게 보낸 채팅을 연결하는 개인 Facebook 앱 만들기
- 18. 처리 된 메시지의 결과를 실제 보낸 사람에게 어떻게 보냅니 까?
- 19. Akka 라운드 로빈 : 원격 경로에서 보낸 사람에게 응답 보내기
- 20. 받는 사람에게 반송 메일이 도착할 때 또는 보낸 사람
- 21. Postfix/Spamassassin : 보낸 사람에게 배달되지 않은 메일이 배달되었습니다.
- 22. 메시징 아키텍처를 사용하여 보낸 사람에게 메시지를 다시 보내는 방법은 무엇입니까?
- 23. 다른받는 사람에게 보낸 편지함에서 메일을 필터링하려면? 전망 인터롭에서
- 24. 배우가 보낸 사람에게 오류를 어떻게 알릴 수 있습니까?
- 25. 응용 프로그램이 소켓으로 패킷을 보낸 후에 UDP 패킷을 조작하는 방법이 있습니까?
- 26. UDP 패킷을 클라이언트에 보낼 때 서버는 방금 대신 보낸 패킷을 받습니까?
- 27. 라우터로 네트워킹 패킷을 끊는 중
- 28. Java UDP 멀티 캐스트, 패킷을 보낸 그룹 결정
- 29. RecvFrom()은 보낸 사람보다 큰 패킷을 반환합니다. NIC MTU
- 30. TCP 보낸 사람이 재전송 사이에 더 많은 데이터 패킷을 보냅니다.
서버 오류에서이 질문을해야 할 것 같습니다. 스택 오버플로는 프로그래밍 용입니다. – Jer
OSI는 모양이나 형태에 관계없이 사용하고 있지 않습니다. [태그 : osi] 따라서 njava 할 일이있다. – EJP