본문 바로가기
내일배움캠프 스프링3기

2024-01-11 TIL

by 김공돌 2024. 1. 11.

9. TCP/UDP에 대해서 설명해주세요.
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 네트워크 통신을 위한 프로토콜
TCP (Transmission Control Protocol):
1. 신뢰성 있는 연결 지향 프로토콜: TCP는 연결을 설정하고, 데이터 전송 후에 연결을 해제하는 신뢰성 있는 프로토콜

2. 3-way Handshaking: TCP 연결 설정에는 3-way Handshaking이 사용됨. 클라이언트가 서버에 연결을 요청하고, 서버가 수락하며 연결을 설정하는 과정
3. 신뢰성 있는 데이터 전송: 데이터 전송 시, 데이터의 정확성과 순서를 보장하며 오류가 발생할 경우 재전송을 통해 복구함.
4. 흐름 제어와 혼잡 제어: 네트워크 상황에 따라 데이터의 흐름과 혼잡을 제어하여 효율적인 전송을 지원함.

UDP (User Datagram Protocol):
비연결형 프로토콜: UDP는 연결 설정 과정이 없이 데이터를 즉시 전송하는 비연결형 프로토콜 

1. 신뢰성 없는 데이터 전송: 데이터를 전송할 때 오류 검출은 제공하지만, 오류가 발생하면 복구하지 않음. 또한, 순서가 보장되지 않음.
2. 데이터 전송 속도가 빠름: 연결 설정 및 관리를 하지 않기 때문에 전송 속도가 빠르며, 오버헤드가 적음
3. 흐름 제어와 혼잡 제어가 없음: TCP에서 제공하는 흐름 제어와 혼잡 제어가 없기 때문에 빠른 전송을 위해 사용됨.

3-way Handshaking:
TCP에서 클라이언트와 서버 간에 연결을 설정하기 위해 사용되는 과정 . 

3-way Handshaking의 단계 :
1. SYN (Synchronize): 클라이언트가 서버에게 연결을 요청하는 메시지를 보냄.
2. SYN + ACK (Synchronize Acknowledgment): 서버는 클라이언트의 요청을 받아들이고, 클라이언트에게 연결 수락 및 응답을 보냄.
3 ACK (Acknowledgment): 클라이언트는 서버의 응답을 받고, 서버와의 연결이 성공적으로 설정되었다는 확인 응답을 보냄.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

10. http, https 차이점에 대해 설명해주세요
HTTP (Hypertext Transfer Protocol):
1. HTTP는 웹 상에서 데이터를 주고받기 위한 프로토콜입니다. 주로 웹 브라우저와 웹 서버 간에 데이터를 전송하는 데 사용.
2. HTTP는 기본적으로 텍스트 기반의 프로토콜이며, 보안 기능을 제공하지 않음. 
3. 데이터 전송 시 평문 텍스트로 전송되기 때문에, 도청이나 데이터 변조와 같은 보안 문제가 발생할 수 있음

HTTPS (Hypertext Transfer Protocol Secure):
1. HTTPS는 HTTP의 보안 버전으로, SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화하는 보안 기능을 제공.
2. HTTPS는 웹 브라우저와 웹 서버 간의 통신을 암호화하여 도청, 데이터 변조, 중간자 공격과 같은 보안 문제를 방지.


주요 차이점:
보안 (암호화):
HTTP: 평문으로 데이터를 전송하므로 보안 기능이 없습니다.
HTTPS: SSL 또는 TLS 프로토콜을 사용하여 데이터를 암호화하여 안전하게 전송합니다.

포트:
HTTP: 기본 포트는 80입니다.
HTTPS: 기본 포트는 443입니다.

URL 표시:
HTTP: http://
HTTPS: https://

인증서 (SSL/TLS 인증서):
HTTP: SSL 인증서를 사용하지 않음.
HTTPS: SSL 인증서를 사용하여 웹 서버의 신뢰성을 증명하고, 사용자는 안전한 사이트에 접속했다는 것을 확인 가능.

속도:
HTTP: 암호화되지 않은 데이터를 전송하므로 속도가 빠름
HTTPS: 데이터를 암호화하고 전송하므로 약간의 성능 저하가 있을 수 있음.

사용 용도:
HTTP: 주로 정보를 조회하는 경우, 보안이 크게 중요하지 않을 때 사용.
HTTPS: 사용자의 개인정보나 결제 정보와 같이 민감한 정보를 주고받아야 할 때 사용.


'내일배움캠프 스프링3기' 카테고리의 다른 글

2024-01-16 TIL  (1) 2024.01.16
2024-01-15 TIL  (0) 2024.01.15
2024-01-10 TIL  (0) 2024.01.10
2024-01-08 TIL  (1) 2024.01.08
2024-01-05 TIL  (1) 2024.01.05