DAY35

yejichoi·2022년 12월 20일
0
post-thumbnail

1. Algorithm Study

2. Backend Class

Load Balancer(로드밸런서)

로드밸런서
: 서버에 가해지는 부하를 분산시켜주는 장치로써,
클라이언트와 서버 사이에 위치하여 서버의 트래픽을 관리

📌 DNS와 백엔드 서버 컴퓨터 가운데 로드밸런서를 두고 DNS A레코드에는 로드밸런서의 IP주소를 연결시켜주고 로드밸런서를 백엔드 서버 컴퓨터와 연결시켜서 부하를 분산

  • 로드밸런서를 기준으로 외부 트래픽이 접속하는 곳을 프론트 엔드, 외부 트래픽을 넘겨주는 곳을 백엔드

DNS & 로드밸런서 &인스턴스 연결

DNS를 거쳐 로드밸런서로 접속을 할 때에는 80번 포트로 접속이 되며

로드밸런서에서 인스턴스로 나갈때3000번 포트로 나감 → 3000번 포트를 지닌 플레이그라운드 접속이 가능

HTTP의 문제점

HTTP & HTTPS ?

HTTP로 요청했을 때에는 pcap 내 로그인한 유저의 정보(이메일, 패스워드)가 그대로 들어와서 확인을 할 수 있기 때문에 해킹의 위험이 존재

HTTPS로 요청했을 때에는 암호화가 되어 전달이 되기 때문에 pcap을 확인해 보아도 암호화된 문자열만 나타나지 해당 유저의 정보를 볼 수 없음

💡 와이어샤크
: 네트워크 간의 통신을 모니터링 해주는 도구로 오픈 소스 패킷 분석 프로그램
→ 데이터를 주고 받을 때 데이터가 담긴 pcap(Packet Capture)이 존재하는데, 이 pcap을 확인하는 도구

3-Way-Handshake

TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결을 설정하는 과정

  1. SYN(synchronize) : 클라이언트는 서버에게 접속을 요청하는 SYN 패킷을 보냄
  2. SYN - ACK : 서버는 SYN 요청을 받고 클라이언트에게 요청을 수락한다는 응답을 보냄
  3. ACK(acknowledgement) : 클라이언트는 서버에게 SYN-ACK를 잘 받았다고 ACK 패킷을 보냄 → 연결이 이루어지고 API 요청을 통해 데이터가 오고감

4-Way-Handshake

데이터 송-수신이 완료된 후, TCP의 연결을 해제하는 과정

  1. FIN(finish) : 클라이언트가 서버에게 연결을 종료하겠다는 FIN 패킷을 보냄
  2. ACK : 서버는 FIN을 받고, 확인했다고 알려주기 위해 ACK 패킷을 보낸 후, 자신의 통신이 끝날 때까지 기다림
  3. FIN : 서버의 통신이 끝났다면, 서버는 연결 종료에 합의한다는 의미로 클라이언트에게 FIN 패킷을 보냄
  4. 클라이언트는 확인했다는 의미로 패킷을 보냄 → 연결 종료

HTTP → HTTPS 리다이렉트

3. HW

0개의 댓글