기술 면접 준비(5)

신성훈·2024년 7월 24일
0

TIL

목록 보기
64/162
post-thumbnail

1. TCP/UDP에 대해서 설명해주세요.

TCP와 UDP는 전송 계층의 주요 프로토콜로, 각각 다른 특성을 가지고 있습니다.
가장 큰 차이점은 신뢰성인데, 이는 다음과 같은 프로세스 때문에 발생합니다

  1. 연결 설정
    TCP는 3-way handshaking을 통해 연결을 설정합니다.

클라이언트가 서버에 SYN 패킷을 보냅니다.
서버는 SYN-ACK 패킷으로 응답합니다.
클라이언트가 ACK 패킷을 보내 연결을 확립합니다.
이 과정을 통해 TCP는 데이터 전송 전에 안정적인 연결을 보장합니다.

반면 UDP는 연결 설정 과정 없이 바로 데이터를 전송합니다.

  1. 데이터 전송 및 확인
    TCP는 각 패킷에 대해 확인 응답(ACK)을 요구합니다.
    수신자가 ACK를 보내지 않으면 송신자는 해당 패킷을 재전송합니다. 또한 순서 번호를 사용해 패킷의 순서를 보장합니다.

UDP는 이러한 확인 과정 없이 데이터를 일방적으로 전송합니다.

  1. 흐름 제어와 혼잡 제어
    TCP는 수신자의 처리 능력에 맞춰 데이터 전송 속도를 조절하는 흐름 제어와,
    네트워크 상황에 따라 전송 속도를 조절하는 혼잡 제어 메커니즘을 가지고 있습니다.

UDP는 이러한 제어 메커니즘이 없습니다.

이러한 차이로 인해 TCP는 신뢰성 있는 데이터 전송을 보장하지만 상대적으로 느리고, UDP는 빠르지만 데이터 손실 가능성이 있습니다.
따라서 애플리케이션의 요구사항에 따라 적절한 프로토콜을 선택해야 합니다.

2. http, https 차이점에 대해 설명해주세요

HTTP(Hypertext Transfer Protocol)와 HTTPS(Hypertext Transfer Protocol Secure)는 웹 브라우저와 웹 서버 간의 통신을 위한 프로토콜입니다.

  1. 정의:

HTTP: 웹상에서 클라이언트와 서버 간에 데이터를 주고받기 위한 프로토콜입니다.
HTTPS: HTTP에 데이터 암호화가 추가된 프로토콜입니다.

  1. 주요 차이점:
  • 보안: HTTP는 데이터를 평문으로 전송하여 보안에 취약한 반면, HTTPS는 SSL/TLS 프로토콜을 사용하여 데이터를 암호화하므로 보안성이 높습니다.
  • 포트: HTTP는 기본적으로 80번 포트를, HTTPS는 443번 포트를 사용합니다.
  • URL 구조: HTTP는 'http://'로, HTTPS는 'https://'로 시작합니다.
  • 속도: HTTPS는 암호화/복호화 과정으로 인해 HTTP보다 약간 느릴 수 있습니다.
  1. SSL 인증서를 통한 데이터 조작 여부 판단:
    HTTPS에서 사용되는 SSL 인증서는 두 가지 중요한 역할을 합니다:
  • a) 서버 인증:
    SSL 인증서는 해당 웹사이트가 신뢰할 수 있는 기관에 의해 검증되었음을 보증합니다.
    이를 통해 사용자는 접속한 사이트가 의도한 정확한 사이트인지 확인할 수 있습니다.
  • b) 데이터 무결성 검증:
    SSL/TLS 프로토콜은 전송되는 데이터에 대해 메시지 인증 코드(MAC)를 생성합니다.
    수신자는 이 MAC을 통해 전송 중 데이터가 변조되었는지 확인할 수 있습니다.
    만약 데이터가 조작되었다면, MAC 검증 과정에서 불일치가 발생하여 데이터 조작 여부를 판단할 수 있습니다.

이러한 메커니즘을 통해 HTTPS는 데이터의 기밀성, 무결성, 인증까지 보장하여 안전한 웹 통신을 가능하게 합니다.

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글