프로토콜(Protocol)
서로 다른 시스템(혹은 계층) 간 통신을 위해 지켜야 할 규칙(rule)이나 관례(convention)의 집합
피어 계층(peer layer)끼리 통신을 위해선 같은 프로토콜을 사용해야 됨
주요 특징
- Syntax(구문)
데이터 블록의 형식(format) 정의
예) header, trailer, headlen
- Semantics(의미)
조정(coordination) 및 오류 처리(error handling)를 위한 제어 정보
예) 패킷 속 제어 비트, 시퀀스 번호, ACK
- Timing
속도 조절 및 순서 제어(sequencing)
예) 데이터 전송 속도, 간격, 순서 등
Protocol Architecture
프로토콜(약속)을 layer로 나누고, 각각의 계층이 특정 역할을 수행하도록 만든 구조
logic(전체 통신 과정)을 하위 작업(subtask) 모듈로 분할
쌓여 있는 구조, 즉 stack에서 각 계층은 고유의 기능을 수행
상위 계층은 하위 계층이 제공하는 기능(primitive functions)을 사용
하위 계층은 상위 계층에 서비스 제공
한 계층의 변화가 다른 계층의 변경을 요구하지 않음
관련 agent: application, computer(device), network
✨ 데이터 전송 전 수행해야 하는 과제
1. src가 직접 통신 경로를 활성화하거나, 네트워크에 원하는 dst system의 identity 알리기
2. 송신 측(src)은 dst system이 데이터를 받을 준비가 되어 있는지 확인
3. 송신 측 파일 전송 애플리케이션이 수신 측에 있는 파일 관리 프로그램이 해당 사용자 파일을 받아서 저장할 준비가 되어 있는지 확인
4. 파일 형식 변환(Format Translation) 필요(두 시스템 간 파일 형식 다를 경우)
Communication Layers
통신 작업은 크게 세 개의 독립적인 계층으로 구분
- Application Layer
애플리케이션을 지원하기 위한 로직 포함
예) HTTP, SMTP 등 상위 프로토콜
- Transport Layer
모든 애플리케이션이 공통으로 사용할 수 있는 전송 메커니즘 제공
예) TCP, UDP
- Network Access Layer
컴퓨터와 그 컴퓨터가 연결된 네트워크 간 데이터 교환 담당
예) Ethernet, Wi-Fi 등
프로토콜 아키텍처와 네트워크
데이터를 보내기 전 port #, IP address를 지정
필드 내용을 프로토콜을 통해 해석
헤더: control info / 데이터와는 관계 X / 반드시 필요(어디로 보낼지)
TCP/IP Protocol Architecture
TCP/IP 프로토콜 스위트(suite)라고도 불림
인터넷 표준 프로토콜들의 집합
OSI 7계층과 달리 일반적으로 5계층으로 표현
# Internet 계층을 Network 계층, Network Access 계층을 data link 계층으로 부르기도 함
Physical Layer
컴퓨터와 네트워크 간 물리적 인터페이스를 다룸
- 전송 매체(Transmission Medium)
- Signal의 형태(아날로그/디지털, 전기적/광학적)
- Data rate(데이터 전송 속도)
Network Access/Data Link Layer
end system과 네트워크 간 데이터 교환 담당
로컬 네트워크 상 데이터 프레임 전송
에러 검출 및 수정
같은 네트워크에 연결된 두 end system(host) 간에 네트워크 액세스 및 데이터 라우팅을 담당
핵심 키워드: Multiplexing / Channel; 데이터를 전송하기 위한 논리적 or 물리적 경로
Internet Layer(= Network Layer)
서로 다른 네트워크들이 연결(interconnect)되어 있는 환경에서 데이터가 목적지까지 이동하기 위한 절차를 구현하는 계층
IP 프로토콜을 사용해 라우팅 기능 제공, 주소 지정(addressing)
네트워크 간 데이터 전송 경로 결정, 데이터그램(패킷) 전달
end system 및 router에 의해 구현
🔥라우터는 3계층 장비: physical/network access/internet 계층 모두 포함
Transport Layer
End-to-End 데이터 전송 담당, 세그먼트 전송
신뢰성, 흐름 제어, 오류 제어 등을 수행
TCP: 연결 지향(connection oriented) / 신뢰성 보장
UDP: best effort, 비연결 지향, 빠른 전송 가능, 단순 구조
Application Layer
사용자 애플리케이션이 네트워크 서비스를 이용할 수 있도록 logic 제공
실제로 우리가 사용하는 프로그램들이 위치
애플리케이션마다 해당 애플리케이션에 특화된 별도의 모듈(프로토콜) 필요
SMTP, FTP, SSH(Secure Shell), HTTP 등
# SMTP, FTP, SSH은 TCP 위에 정의되는 app 계층
TCP/IP 주소 지정
TCP/IP는 두 단계의 주소 지정이 필요
1. 서브네트워크에 있는 각 호스트는 고유한 전역 인터넷(IP) 주소를 가져야 함
2. 호스트 내에서 각 프로세스는 호스트 내에서 고유한 주소를 가져야 (예: port #)
IP 주소만으로는 어떤 호스트인지는 알 수 있지만, 그 호스트 내부에서 어떤 애플리케이션과 통신해야 하는지는 알 수 없으므로
TCP/UDP
TCP
대부분의 애플리케이션을 위한 transport 계층 프로토콜
애플리케이션 간 데이터 전송을 위한 신뢰할 수 있는 연결을 제공
segment는 기본 프로토콜 단위
연결되어 있는 동안 엔티티 간 세그먼트 추적
오버헤드 크고 느릴 수 있음
UDP
TCP의 대안
전달 보장, 순서 유지, 중복 방지 등을 보장 X (신뢰성 X)
SNMP(Simple Network Management Protocol) 등 간단한 메시지 전송에 사용
IP에 포트 주소 지정 기능을 추가하여, 여러 프로세스와 통신 가능
데이터 무결성 확인을 위해 Checksum 포함
오버헤드 작고 빠름
Standardization; 표준화
세 가지 핵심 요소
- 프로토콜 명세(Protocol specification)
교환되는 프로토콜 데이터 단위(PDU)의 형식(syntax, format), 모든 필드의 의미(semantic), 그리고 허용 가능한 PDU의 순서(timing)가 포함
- 서비스 정의(Service definition)
제공되는 서비스가 무엇인지에 대한 기능적 설명
어떻게 제공되는지에 대한 설명은 포함 X
- 주소 지정(Addressing)
각 계층이 통신하는 상대를 구분하기 위한 주소 체계 필요
각 계층은 상위 계층의 엔티티에게 서비스 제공
이러한 엔티티들은 포트 또는 SAP(Service Access Point)를 통해 참조됨
Service Primitives and Parameters
- Primitive
수행해야 할 기능 저장
요청, 응답, 알림 등 기능 명령어, 즉 함수 정의
- Parameter
데이터와 control information을 전달하는 데 사용
즉 함수(명령어)에 전달되는 실제 데이터
Media / Multimedia
- Media
정보의 형태(form)
text, (still) image, video, audio를 포함
- Multimedia
컴퓨터를 매개로 하여 텍스트, 그래픽, 음성, 비디오를 포함하는 인간-컴퓨터 상호작용
Multimedia Technologies
Compression(압축)
- Still image(정지 이미지) 용 JPG
이미지 파일(computation 정보)을 손실 압축 방식으로 줄여, Storage(저장 공간)과 자원(bandwidth 등)을 절약
- video(streaming video) 용 MPG
프레임 간의 중복 정보를 줄여 높은 압축률로 Storage, computation 부담 낮춤
Communications/Networking
대용량 멀티미디어 트래픽을 지원할 수 있는 전송 및 네트워킹 기술 필요
bandwidth, source 등이 고려 대상 / multiplexing
# 많은 유저들에게 똑같은 시간에 똑같은 대역폭으로 통신할 수 있다면 효율적이라 볼 수 있고, 아니면 자원 낭비
Protocol
- RTP(Real-time Transport Protocol)
오디오, 비디오 같은 실시간 데이터 전송 위한 프로토콜
- SIP(Session Initiation Protocol)
멀티미디어 세션(영상 통화, 화상 회의 등)을 설정, 변경, 종료하기 위한 신호 프로토콜
QoS(Quality of Service)
멀티미디어 서비스는 실시간성이 중심(real-time service)
Priority(우선순위), Delay constraints(지연 제약), Delay variability(Jitter) constraints, latency, bandwidth 등을 고려
'데이터통신' 카테고리의 다른 글
Modulation (0) | 2025.04.11 |
---|---|
Signal Encoding Techniques (0) | 2025.04.09 |
Transmission Media (0) | 2025.04.04 |
Data Transmission (0) | 2025.04.02 |
데이터 네트워크와 인터넷 (0) | 2025.03.24 |