프로토콜이란?
프로토콜(Protocol)은 네트워크 통신에서 데이터를 주고받기 위한 약속과 규칙을 의미합니다.
- 쉽게 말해, 언어의 문법과 같은 역할을 하며, 서로 다른 장치가 통신을 이해할 수 있도록 도와줍니다.
- 예: HTTP에서는 데이터를 요청할 때 "GIVE A"나 "SEND A"가 아닌, 정해진 형식인 **GET A**를 사용해야 합니다.
이번 학습에서는 프로토콜의 기본 개념부터 HTTP/HTTPS에 대해 다룹니다.
1. OSI 7계층과 프로토콜
OSI 7계층은 네트워크 통신을 7단계로 나누어 각 계층이 독립적으로 작동하면서 데이터를 전송하는 구조입니다.
- 1계층 (물리 계층): 전기적 신호나 물리적 매체를 통해 데이터 전송.
- 2계층 (데이터 링크 계층): 프레임 단위로 데이터 전송, MAC 주소를 사용.
- 3계층 (네트워크 계층): 패킷을 전달하며, IP 주소를 기반으로 경로를 설정.
- 4계층 (전송 계층): 데이터 전송의 신뢰성 확보, TCP/UDP 사용.
- 5계층 (세션 계층): 통신 세션(연결) 생성 및 관리.
- 6계층 (표현 계층): 데이터 암호화, 압축, 변환.
- 7계층 (응용 계층): 사용자가 접근하는 서비스 (HTTP, FTP 등).
2. TCP와 UDP
- TCP (Transmission Control Protocol): 연결 지향 프로토콜로, 데이터의 신뢰성을 보장하며 순서대로 전달.
- UDP (User Datagram Protocol): 비연결형 프로토콜로, 빠르지만 신뢰성은 보장하지 않음.
비교:
- TCP는 파일 전송, 웹 브라우징 등 신뢰가 중요한 작업에 사용.
- UDP는 스트리밍, 온라인 게임처럼 빠른 속도가 필요한 작업에 사용.
3. TCP와 IP의 연계
- TCP는 데이터 전송의 신뢰성과 순서를 보장.
- IP (Internet Protocol)는 데이터의 주소 지정과 전달을 담당.
- 이 둘이 결합된 TCP/IP는 인터넷 통신의 기본 프로토콜입니다.
4. 3 Way-Handshake (TCP 연결 과정)
TCP에서 클라이언트와 서버가 통신을 시작하기 위해 3단계를 거칩니다.
- SYN: 클라이언트가 서버에 연결 요청.
- SYN-ACK: 서버가 요청을 확인하고 응답.
- ACK: 클라이언트가 응답을 확인하고 연결 완료.
5. 4 Way-Handshake (TCP 연결 종료)
TCP 연결을 종료할 때 4단계를 거칩니다.
- FIN: 클라이언트가 연결 종료 요청.
- ACK: 서버가 요청 확인.
- FIN: 서버가 연결 종료 요청.
- ACK: 클라이언트가 요청 확인 후 종료.
6. IPv4와 IPv6
- IPv4: 32비트 주소 체계로 최대 약 43억 개의 주소 제공.
- IPv6: 128비트 주소 체계로 사실상 무한한 주소 제공.
- IPv4 주소 고갈 문제를 해결하기 위해 등장.
7. DNS (Domain Name System)
- DNS는 도메인 이름(예: www.example.com)을 IP 주소로 변환해주는 시스템.
- 사용자가 기억하기 쉬운 도메인 이름을 통해 서버에 접속 가능.
8. 포트 (Port)
- 포트 번호는 서버에서 여러 서비스(예: 웹, 이메일 등)를 구분하기 위한 번호.
- 예: HTTP(80), HTTPS(443), FTP(21).
9. 포트포워딩
- 포트포워딩은 특정 포트로 들어오는 데이터를 내부 네트워크의 특정 장치로 전달하는 기술.
- 주로 원격 접속, 서버 운영 등에 사용.
'Education > KnockOn Bootcamp 3rd' 카테고리의 다른 글
[1주차 TIL] KnockOn Bootcamp 프록시 (0) | 2024.12.07 |
---|---|
[1주차 TIL] KnockOn Bootcamp 패킷 (1) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp 쿠키와 세션 (0) | 2024.12.07 |
[1주차 TIL] KnockOn Bootcamp HTTP/HTTPS (1) | 2024.12.06 |
[1주차 TIL] KnockOn Bootcamp 웹이란? (0) | 2024.12.04 |