네트워크 통신시 프록시 서버, 로드밸런서가 중간에 있는 경우 패킷 변화 및 tcp 연결 개수
첫번째 질문은 네트워크 통신시
클라이언트-> 공유기-> 포워드 프록시 서버-> 로드밸런서->웹 서버
이렇게 요청이 전달된다면 패킷은
1. 클라이언트 -> 공유기
출발지 mac : 클라이언트 mac
출발지 ip : 클라이언트 ip
출발지 port : 클라이언트 랜덤 port
도착지 mac : 공유기 mac
도착지 ip : 로드밸런서 ip? 포워드 프록시 서버 ip?
-> 만약 포워드 프록시 서버 ip라면 공유기에서 포워드 프록시 서버로 요청이 전달될 때 내가 서비스 받고자 하는 ip가 로드밸런서인지 대체 어떻게 아는지...
도착지 port : 80
2. 공유기 -> 포워드 프록시 서버
출발지 mac : 공유기 mac
출발지 ip : 공유기 ip
출발지 port : 공유기 랜덤 port
도착지 mac : 포워드 프록시 서버 mac
도착지 ip : 로드밸런서 ip? 포워드 프록시 서버 ip?
도착지 port : 80
3. 포워드 프록시 서버 -> 로드밸런서
출발지 mac : 포워드 프록시 서버 mac
출발지 ip : 공유기 ip? 포워드 프록시 서버 ip ?
출발지 port : 공유기 랜덤 port? 포워드 프록시 서버 랜덤 port?
도착지 mac : 로드밸런서 mac
도착지 ip : 로드밸런서 ip
도착지 port : 80
4. 로드밸런서 -> 웹서버
출발지 mac : 로드밸런서 mac
출발지 ip : 공유기 ip? 포워드 프록시 서버 ip ? 로드밸런서 ip?
출발지 port : 공유기 랜덤 port? 포워드 프록시 서버 랜덤 port? 로드밸런서 port?
도착지 mac : 웹서버 mac
도착지 ip : 웹서버 ip
도착지 port : 80
이렇게 정리해 봤는데 통신시 네트워크 장치를 지날 때 패킷이 정확히 어떻게 변화되는지 잘 모르겠습니다. 중간중간에 어떤 데이터가 되는건지 헷갈리는 부분이 있는데 그 부분을 알려주실 수 있을까요?
두번째 질문은 tcp connection은클라이언트 -> 공유기, 공유기 -> 프록시 서버, 프록시 서버 -> 로드밸런서 ,로드밸런서 -> 웹서버
이렇게 4개가 생기게 되는건지.. 모르겠습니다.
ip가 변경되는 순간에 tcp 연결을 해야된다거나 tcp connection이 생기는 기준이 있나요?
세번째 질문은 만약 tcp 연결이 저런식으로 생성된다면
프록시 서버 -> 로드밸런서, 로드밸런서 -> 웹서버
이 구간에서 우선 클라이언트 요청마다 새로운 프록시 서버 port로 요청되어 클라이언트를 식별하게되고, 이후에 로드밸런서가 웹서버에게 요청을 전달할 때 sticky session 옵션을 안하면 통신했던 웹서버로 계속 요청이 전달되지 않고 새로운 웹서버로도 통신할텐데 그럴 때마다 로드밸런서는 새로운 웹서버와 tcp 연결을 계속해서 새롭게 생성을 하는건가요?
Answer 2
0
첫 번째
1. 도착지 IP는 포워드 프록시 서버 IP 입니다. 언급한 구조라면 DNS 서버가 응답해주는 IP주소는 포워드 프록시 서버 IP입니다.
2. 포워드 프록시 서버 IP 입니다.
3. 출발지는 프록시 서버 IP + 포트이고 목적지는 로드밸런서 IP + 포트 입니다.
4. 출발지는 로드밸런서 IP + 포트이고 목적지는 여러 웹 서버 중 로드밸런서가 선택한 웹 서버의 IP와 포트 입니다.
두 번째
클라이언트와 공유기간에 TCP 연결이 생성되는 것은 아닙니다. 클라이언트의 TCP 연결은 프록시 서버와 이루어집니다. 그리고 프록시 서버, 로드밸런서, 웹 서버 셋은 소켓으로 통신합니다. 이 경우에만 TCP 연결이 생성됩니다.
세 번째
네. 설정에 따라 다를 수 있지만 로드밸런서는 새로운 웹서버와 계속 TCP 연결을 생성합니다. 그리고 HTTP 세션유지를 위해 특정 클라이언트와 부하분산을 위한 여러 웹 서버 중 특정 웹서버와 통신하도록 할 수도 있습니다. 그러나 분산된 여러 WAS간에 세션 클러스터링 설정이 되어 있다면 어떤 웹 서버와 로드밸런서가 연결되건 상관이 없습니다. 참고하시기 바랍니다. 😄
0
안녕하세요, 인프런 AI 인턴입니다. 김민정님!
네트워크 통신 시 여러 요소들 간의 패킷 전달 및 TCP 연결에 대해 헷갈리실 수 있는 부분을 정리해드리겠습니다.
첫 번째 질문: 패킷 전달 시 IP 및 포트 변화
각 네트워크 장치를 거칠 때 패킷의 IP와 포트 변화는 다음과 같습니다:
클라이언트 -> 공유기: 실제 공유기는 IP를 변환하지 않습니다. 패킷은 기존 IP와 포트를 그대로 두고, MAC 주소만 변환합니다.
공유기 -> 포워드 프록시 서버:
- 출발지 IP는 공유기의 외부 IP로 변환됩니다.
- 출발지 포트는 공유기의 NAT에 의해 랜덤 포트로 변환됩니다.
- 도착지 IP 및 포트는 포워드 프록시 서버의 IP 및 80이 됩니다 (HTTP).
- 출발지 IP는 공유기의 외부 IP로 변환됩니다.
포워드 프록시 서버 -> 로드밸런서:
- 출발지 IP와 포트는 포워드 프록시 서버의 새로운 IP와 포트로 설정됩니다.
- 도착지는 로드밸런서의 IP와 포트가 됩니다.
- 출발지 IP와 포트는 포워드 프록시 서버의 새로운 IP와 포트로 설정됩니다.
로드밸런서 -> 웹서버:
- 출발지 IP는 로드밸런서의 IP가 됩니다.
- 출발지 포트는 로드밸런서의 현재 사용하는 포트가 됩니다.
- 도착지는 웹서버의 IP와 포트가 됩니다.
- 출발지 IP는 로드밸런서의 IP가 됩니다.
두 번째 질문: TCP 연결 개수
각각의 통신 경로에서 별도의 TCP 연결이 생성됩니다:
- 클라이언트 -> 공유기
- 공유기 -> 포워드 프록시 서버
- 포워드 프록시 서버 -> 로드밸런서
- 로드밸런서 -> 웹서버
총 4개의 TCP 연결이 작동하게 됩니다. 각 영역마다 네트워크의 요청에 따라 별도의 연결이 설정됩니다.
세 번째 질문: Sticky Session 옵션 영향
로드밸런서와 웹서버 사이 통신에서는 일반적으로 “Sticky Session”이 없을 경우, 클라이언트의 각 요청은 웹서버 간의 라운드 로빈 또는 기타 알고리즘에 따라 새롭게 분배됩니다. 로드밸런서는 새로운 웹서버와의 통신을 위해 신규 TCP 연결을 생성하게 됩니다.
여기에서 관련한 네트워크 질문에 대한 내용을 참고하시면 더 도움이 될 것입니다.
지금까지의 설명이 김민정님에게 도움이 되길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
클라이언트에서 프록시 서버로 요청을 보낸다고 했는데 애초에 처음에 내가 서비스 받고자하는 ip는 로드밸런서 ip임에도 불구하고 프록시 서버로 목적지 ip로 설정한다면 대체 내가 서비스 받고자 하는 ip를 어떻게 아는건가요?
강의자료 pdf
0
7
1
'Inline 장비'는 보통 IP 주소가 존재하지 않나요?
0
31
0
VPN 사용시 packet의 encryption
0
36
1
vpn GtoG 질문
0
85
2
Program에 따라 NAT 설정은 누가 하는가?
0
121
2
out of path 구조에서 수집장치가 두 가지 있다고 하셨는데 나머지 한가지는 무엇인가요?
0
117
3
Sensor 역할을 하는 Out of Path 장치가 응답을 보낼 수 있나요?
0
127
2
기초편 이후로 선행되어야하는 지식
0
174
1
NAT Gateway NAT table 최대 row 수 제한 같은 부분이 있는지 질문 드립니다.
0
152
2
VPN Client 문의드립니다.
0
158
2
NAT 방식에 대한 질문
0
106
2
서울지사 DB Server 패킷 예시
0
161
2
TLS가 적용되는데 SPI는 어떻게 할 수 있나요?
0
200
2
웹서버의 정확한 인식이 궁금합니다.
0
143
1
GtoG 그림에서 질문드립니다.
0
192
4
Full Cone NAT 원격접속
0
144
2
연결 유지 상태에서의 이중화 노드 무중단 재기동 방법
0
170
1
홀펀칭 P2P에 관해 약간의 궁금한 점이 생겼습니다.
0
234
1
Out of Path 장치로 거짓 응답으로 보내는 경우
0
161
1
WAF
0
162
1
UPnP 질문입니다.
0
225
1
공유기에 암호가 걸려있을 때, iptime 설정 페이지 접속 질문
0
350
1
PN 내부에 있는 PC들의 인터넷 접근 관련 질문
0
208
1
공유기와 IP-TV에 부여된 Public/Private IP 주소 질문
0
188
1

