TIL

TIL 20241024 (모의면접 준비)

j-coder 2024. 10. 24. 21:00

1. 전송 계층 프로토콜

데이터 통신에서 송신자와 수신자 간의 데이터를 관리하는 역할을 하는 전송계층은 TCP와 UDP 프로토콜이 있다.

 

  • TCP(전송 제어 프로토콜)
    연결지향적이고 데이터의 신뢰성을 보장한다.
    데이터 전송 중 오류가 생기면 재전송을 해 오류를 수정한다
    흐름 제어 및 혼잡 제어 기능이 있다.
  • UDP(사용자 데이터그램 프로토콜)
    비연결 지향적이고 빠른 데이터 전송이 목적이다.
    오류 수정 기능이 없고 데이터에 순서가 없다.

 

1 - 1 IP의 한계 (UDP)

신뢰할 수 없는 통신과 비연결성 통신을 수행하는 한계가 있다.

신뢰성의 부족 비연결성 통신이여서 패킷이 목적지까지 제대로 전송되었는지 모른다.
혼잡 제어 부족 네트워크 혼잡상황에도 계속해서 패킷을 전송한다. (패킷 손실 가능)

 

 

1 - 2 오류 제어 & 흐름제어 (TCP)

ACK(Acknowledgment) : 데이터가 잘 전달된걸 확인하는 신호

오류 제어 중복된 ACK를 받았을때 데이터가 잘 전달되지 않았는지 확인을 하고 재전송을 하는 기능
흐름 제어 송신자가 수신자의 능력에 맞게 데이터 전송 속도를 조절하는 기능

 

 

 

2. 대칭키, 비대칭키 암호화

암호화는 데이터를 보호하기 위한 기술

대칭키 암호화

동일한 키를 사용하여 데이터를 암호화하고 복호화한다.
속도가 빠르지만 키 배포에 문제가 있다. (키가 유출되면 누구나 암호화된 내용을 복호화 가능)
ex) AES, DES

 

 

비대칭키 암호화

암호화와 복호화에 서로 다른 키를 사용한다.
모두가 가지고 있는 공개키와 개인이 가지고 있는 개인키가 있다.

공개키로 암호화 한 암호문은 개인키로 복호화 할 수 있고
개인키로 암호화 한 암호문은 공개키로 복호화 할 수 있다.

속도는 느리지만 키 배포 문제는 없다.

 

 

2 - 1 대칭키 / 비대칭키 혼합 사용

비대칭키로 대칭키를 안전하게 전송하고 데이터 전송은 대칭키로 하여 속도를 높인다.

 

 

2 - 2 HTTPS

HTTPS는 HTTP에 SSL / TLS 프로토콜을 추가하여 보안을 강화한 프로토콜

데이터 전송 시 대칭키 암호화를 사용해 빠른 속도를 유지하면서
비대칭키 암호화를 이용해 세션키를 안전하게 교환

 

 

 

3. 로드밸런싱

서버 간의 트래픽을 분산시켜 서버 하나에 집중되지 않게 각 서버의 과부하를 방지해주는 역할을 한다.

 

로드밸런서 : 클라이언트의 요청을 여러 서버에 분산하여 처리 ( 서버의 과후바를 방지하고 고가용성을 제공)

 

3 - 1 로드밸런싱 알고리즘

1. 라운드로빈 방식

서버에 들어온 요청을 순서대로 각 서버에 분배하는 방식 (서버와의 연결이 지속되지 않은 경우에 적합)

 

 

2. 가중 라운드로빈 방식

서버에 성능에 따라 가중치를 매겨서 높은 서버부터 요청을 분배한다. (각 서버의 트래픽양 조절)
주로 각 서버들의 트래픽 처리 능력이 다른 경우에 사용된다.

 

 

3. IP 해시 방식

클라이언트의 IP 주소를 특정 서버로 매핑하여 요청을 처리한다.
사용자가 항상 동일한 서버로 연결되게 도와준다.

 

 

4. 최소 연결 방식

요청이 들어왔을때 연결상태가 적은 서버부터 트래픽을 분배하는 방식
서버의 연결이 길어지거나 각 서버에 분배된 트래픽이 일정하지 않은 경우에 적합

 

 

5. 최소 리스폰타임

각 서버의 연결상태와 응답시간을 고려해 가장 응답시간이 짧은 서버부터 트래픽을 분배하는 방식
각 서버에 리소스와 성능 그리고 처리중인 데이터량 등이 다른 상황에 적합

 

 

 

3 - 2 헬스체크

각 서버의 서비스가 정상적으로 요청을 받을 수 있는지에 대한 상태를 체크하는 기능 (안전성 상승)
정상적으로 작동중인 서버에만 트래픽을 보낸다.

 

 

 

 

 

출처

 

https://velog.io/@beomdrive/%EB%A1%9C%EB%93%9C-%EB%B0%B8%EB%9F%B0%EC%8B%B1-%EA%B7%B8-%EC%86%8D%EC%9C%BC%EB%A1%9C

 

로드 밸런싱, 그 속으로

개념 정리 - 로드 밸런싱에 대해 알아봅니다.

velog.io

 

 

https://growth-coder.tistory.com/259

 

[보안] 대칭키, 비대칭키(공개키), 혼합

대칭키 방식 대칭키 방식이란 암호화와 복호화에 사용하는 키가 동일한 암호화 방식을 의미한다. 이전 포스팅에서 DES에 대한 내용을 공부했었는데 이 DES가 대칭키를 사용한 암호화 방식이다. ht

growth-coder.tistory.com

 

https://velog.io/@yso7748/%EC%A0%84%EC%86%A1-%EA%B3%84%EC%B8%B5-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-IP%EC%9D%98-%ED%95%9C%EA%B3%84%EC%99%80-%EC%98%A4%EB%A5%98%EC%A0%9C%EC%96%B4-%ED%9D%90%EB%A6%84%EC%A0%9C%EC%96%B4

 

전송 계층 프로토콜 - IP의 한계와 오류제어, 흐름제어

IP는 신뢰할 수 없는 통신과 비연결성 통신을 수행한다는 한계가 있습니다. 전송계층은 이런 한계를 극복하고 ,포트 번호를 통해 응용계층의 애플리케이션 프로세스들을 식별하는 역할을 수행

velog.io

 

https://velog.io/@dong5854/HTTPS%EC%99%80-SSL%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%8C%80%EC%B9%AD%ED%82%A4-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4

 

HTTPS와 SSL인증서 & 대칭키, 공개키(비대칭키)

HTTP는 Hyper-Text Transfer Protocol의 약자로, Hypertext인 HTML을 주고받기 위한 규약(protocol)이다.HTTPS에서 마지막의 S는 over Secure socket Layer의 약자로 HTTP에서 보안이 강화된 버전이다.HTT

velog.io