Protocol stack은 네트워크에서 데이터 통신을 위해 사용하는 여러 프로토콜들이 계층화된 구조로 쌓여 있는 것을 의미합니다. 이 스택 구조에서 각 계층은 특정 기능을 담당하며, 인접한 위아래 계층과 통신하여 그 계층의 서비스를 이용합니다.
📍중요 개념
- 계층화
각 계층은 특정 통신 기능 담당. 상위 계층은 하위 계층이 제공하는 서비스 이용
인접 계층과만 통신 가능
- 상호 독립적
각 계층은 독립적으로 동작. 특정 계층의 변화가 다른 계층에 영향 X
- 캡슐화
상위 계층에서 하위 계층으로 데이터를 전달할 때, 각 계층은 데이터를 캡슐화한 후 자신만의 헤더(Header) 추가
헤더는 계층 간 통신에서 필요한 정보를 담고 있으며, 목적지에 도착한 후 역순으로 캡슐화된 헤더 제거
각 계층에서 데이터 단위 명칭이 다르기에, 캡슐화 과정을 통해 데이터를 안전하고 효율적으로 전송
- 프로토콜⭐
각 계층은 특정 기능을 수행하기 위한 프로토콜 보유
프로토콜은 송수신자 간의 데이터 형식, 통신 규칙, 오류 처리 방식 등을 정의
이제 5 계층에 대해 알아보겠습니다. Application Layer부터 아래로 내려갈게요!
----🐢
Application Layer (프로그램에서 사용하는 프로토콜)
데이터 단위 : 메시지(Message)
📌특징
- Network Application / Application Layer Protocol 지원
- 최종 사용자가 네트워크를 통해 직접 데이터를 주고받는 계층
- 사용자 인터페이스를 제공하여 응용 프로그램과 네트워크 간 상호작용 가능
- 응용 프로그램에 의해 처리되는 데이터의 형식을 정의하며, 웹 브라우징, 이메일 송수신, 파일 전송 등의 기능을 담당
응용 프로토콜(데이터를 주고받는 형식과 절차 정의)
HTTP: 웹 브라우저와 서버 간의 통신 처리 / DNS: 도메인 이름을 IP 주소로 변환
SMTP: 이메일 송신을 위한 프로토콜 / IMAP: 이메일 수신을 위한 프로토콜
---🐢-
Transport Layer
데이터 단위 : 세그먼트(Segment)
📌특징
- 프로세스-프로세스 간 데이터 전달 / end-to-end 통신 담당
- 데이터(message)를 작은 세그먼트로 분할하여 전송
- 포트 번호 사용: 송수신할 때의 순서가 달라질 수 있고, 중간에 누락된 게 있으면 재전송해야 해서
프로토콜
TCP(Transmission Control Protocol) : 연결 기반 서비스( coonection-oriented service), 오류 검출, 재전송, Flow control, congestion-control
UDP(User Datagram Protocol): 비연결형 서비스(connectionsless service), Flow/ congestion-control X
--🐢--
Network Layer (경로에 대한 프로토콜)
데이터 단위 : 데이터그램(Datagram) = Packet
📌특징
- src부터 dst까지 데이터그램을 라우팅 담당
- 논리적 주소(IP주소)를 통해 패킷을 적절한 경로로 전송
: 헤더에 목적지까지 가기 위한 정보(IP주소) 추가
- 패킷 생성
- 인터넷 상 모든 통신은 해당 계층에서 라우팅됨
프로토콜
IP protocol: datagram 필드 정의, 해당 필드에 대한 엔드 시스템과 라우터의 작동법 정의
Routing protocol: src-dst datagram 경로 결정
-🐢---
Link Layer
데이터 단위 : 프레임(Frame)
📌특징
- 노드(인접한 네트워크 요소) 간 신뢰성 있는 데이터 전송 담당
- 오류 검출 및 처리(재전송 요청)
- 상위 계층에서 받은 데이터를 프레임으로 캡슐화
- 연결(흐름) 제어
프로토콜
Ethernet / PPP / Wi-Fi (IEEE 802.11)
🐢----
Physical Layer(신호에 대한 프로토콜)
데이터 단위 : 비트(bits)
📌특징
- 데이터는 0과 1의 비트 스트림으로 전송
- 송신자는 비트로 된 데이터를 전기적 또는 광학적 신호로 변환하여 전송(신호 인코딩)
: 수신자의 경우 이를 다시 비트로 변환
- 전송은 물리적 매체를 통함
요약하자면 비트 단위로 신호 전송
'컴퓨터네트워크' 카테고리의 다른 글
Application Layer(1) (0) | 2024.09.28 |
---|---|
Queueing delay (0) | 2024.09.27 |
패킷 스위칭과 서킷 스위칭 (1) | 2024.09.20 |
Network Delay (1) | 2024.09.20 |
인터넷/네트워크 구조(기초) (0) | 2024.09.13 |