✅ Chapter 2. 프로토콜 아키텍처, TCP/IP, 그리고 인터넷 기반 애플리케이션
📌 학습 목표
- **Protocol architecture(프로토콜 아키텍처)**의 정의와 필요성, 이점 설명
- TCP/IP 구조와 각 계층의 동작 방식 설명
- 표준화된 아키텍처 개발 동기, 표준 기반 제품의 장점 설명
- **Internetworking(인터네트워킹)**의 필요성 설명
"통신을 완전히 파괴하려면 송신자와 수신자 사이에 공통된 규칙이 전혀 없어야 한다 — 문자나 구문조차도."
— Colin Cherry, 『On Human Communication』
✅ 프로토콜이란?
- 프로토콜이란 같은 계층에 있는 두 기능이 통신할 수 있도록 해주는 규칙 또는 관례의 집합
- 즉, 프로토콜은 메시지의 형식(format)과 순서(order), 그리고 **행동(action)**을 정의함
프로토콜의 핵심 요소
- Syntax(구문): 데이터 블록의 형식
- Semantics(의미): 오류 처리나 제어 정보를 위한 의미
- Timing(타이밍): 속도 조절과 순서 제어
✅ 왜 프로토콜 아키텍처가 필요한가?
데이터를 전송하려면 다음과 같은 여러 작업이 필요하다:
- 송신자가 통신 경로를 활성화하거나 목적지 정보를 네트워크에 알림
- 목적지가 데이터 수신 준비가 되었는지 확인
- 송신측 파일 전송 애플리케이션이 수신측 파일 저장 프로그램 상태 확인
- 시스템 간 데이터 형식이 다르면 포맷 변환 수행 필요
✅ Protocol Architecture(프로토콜 아키텍처)의 구조
- 하드웨어와 소프트웨어의 계층 구조
- 데이터 교환 지원
- 각 기능을 서브태스크 모듈로 분리하여 독립적으로 구현
- 수직 스택 구조
- 각 계층은 일부 기능 수행
- 아래 계층에 의존하고, 위 계층에 서비스 제공
- 하나의 계층 변경이 다른 계층에 영향 X
예: TCP/IP 프로토콜 스위트, OSI 모델
✅ OSI vs TCP/IP 비교 모델
해당 슬라이드는 도식이므로 생략 없이 구성 시 PPT로 재정리 가능
✅ 물리 계층 (Physical Layer)
- 데이터 전송 장치와 전송 매체 간의 물리적 인터페이스
- 다음과 같은 요소들과 관련됨:
- 전송 매체 특성
- 신호의 형태
- 데이터 전송 속도
✅ 데이터 링크 계층 (Data Link Layer)
- 종단 시스템과 네트워크 간 데이터 교환 담당
- 다음과 같은 요소 포함:
- Next-hop 주소 제공
- 우선순위 등 특정 서비스 호출
- 동일 네트워크에 연결된 두 엔터티 간 데이터 교환
- 네트워크 종류에 따라 사용되는 소프트웨어가 다름
- 상위 계층은 네트워크 종류에 영향받지 않음
✅ 네트워크 계층 (Network Layer, 호스트 간 통신)
- 여러 개의 상호 연결된 네트워크를 통해 데이터가 이동할 수 있도록 절차 구현
- **IP(Internet Protocol)**를 이용한 라우팅 기능 제공
- 종단 시스템과 라우터에서 구현됨
- 라우터는 두 네트워크를 연결하고 데이터 중계
✅ 전송 계층 (Transport Layer, 프로세스 간 통신)
- 모든 애플리케이션이 공통적으로 사용하는 계층
- TCP(Transmission Control Protocol):
- 상위 프로세스 탐색
- 신뢰성 있는 end-to-end 데이터 전달
- 전송 순서 보장
- UDP(User Datagram Protocol):
- 상위 프로세스 탐색
- 오류 검출 (정정은 없음)
✅ 애플리케이션 계층 (Application Layer)
전통적인 인터넷 애플리케이션
- SMTP(Simple Mail Transfer Protocol): 메시지 전송
- FTP(File Transfer Protocol): 텍스트/바이너리 파일 전송
- SSH(Secure Shell): 보안 원격 접속
멀티미디어 기술
- 압축: JPG(정지 이미지), MPG(비디오)
- 네트워킹 기술: 고용량 멀티미디어 전송 지원
- 프로토콜: RTP, SIP
- QoS(Quality of Service): 지연, 우선순위 제어
✅ 2단계 주소 지정
- 네트워크 계층(L3): 각 호스트 → 고유한 IP 주소 필요
- 전송 계층(L4): 호스트 내 각 프로세스 → 고유한 포트(port) 필요
TCP/UDP는 포트 기반으로 프로세스를 식별하여 데이터를 정확히 전달
✅ TCP/IP 프로토콜 아키텍처
- ARPANET 개발 과정에서 탄생
- 인터넷 표준 프로토콜 집합
- 다양한 프로토콜 모음으로 구성됨
✅ TCP/IP의 계층 및 예시 프로토콜
계층예시
Application | SMTP, FTP, SSH, HTTP |
Transport | TCP, UDP |
Network | IP(v4/v6), ICMP, OSPF, RIP |
Data Link | Ethernet, WiFi, Frame Relay |
Physical | Twisted pair(트위스티드 페어), Optical fiber(광섬유), 위성, 마이크로파 |
✅ PDU(Protocol Data Unit, 프로토콜 데이터 단위)
- PDU = 상위 계층의 데이터 + 현재 계층의 제어 헤더
- 피어 프로토콜과의 통신에 사용됨
✅ TCP 동작 원리 (L4)
- 연결 지향 프로토콜, 신뢰성 있는 전송
- 3-way handshake로 연결 수립: SYN → SYN-ACK → ACK
- TCP 세그먼트에는 송수신 포트 번호 포함 → 연결 식별
✅ TCP 연결 중 기능
- 손실/손상된 세그먼트 복구 → 순서 유지 & 무손실 전송
- 흐름 제어 → 수신 버퍼 오버플로 방지
- 혼잡 제어 → 라우터 오버플로 방지
✅ UDP (User Datagram Protocol)
- 비신뢰성 전송, 순서/중복 보장 없음
- 오버헤드 최소, 포트 기반 주소 지정 추가
- 사용 예: SNMP, DNS, HTTP 스트리밍
- 오류 검출은 있지만 정정 기능 없음
✅ IPv4 vs IPv6
항목 | IPv4 |
IPv6 |
주소 길이 | 32비트 | 128비트 |
체크섬 | 있음 | 없음 |
분할(Fragmentation) | 있음 | 없음 |
QoS 지원 | 제한적 | Flow label 기반 시도했으나 실패 |
설계 동기 | 주소 고갈로 인한 대응 필요 |
✅ 표준화된 프로토콜 아키텍처 구성 요소
- 프로토콜 사양: 서로 다른 시스템 간의 동일 계층 통신을 위한 규칙
- 서비스 정의: 어떤 기능을 제공하는지 설명
- 주소 지정: 상위 계층 엔터티에 서비스 제공 → SAP(Service Access Point) 사용
✅ 서비스 원시어(Service Primitives)와 파라미터
- 인접 계층 간 서비스는 **원시어(Primitives)**와 **파라미터(Parameters)**로 표현됨
- Primitives: 수행할 함수 명시
- Parameters: 데이터와 제어 정보 전달
이 과정을 도식화한 것이 Time Sequence Diagram
✅ 요약 Summary
- 프로토콜 아키텍처의 필요성과 개념 설명
- 단순 프로토콜 구조
- TCP/IP 아키텍처 및 동작 방식
- 표준화된 프로토콜 아키텍처의 중요성
'CS > 정보통신공학' 카테고리의 다른 글
[정보통신공학] 숙영리 정리본_중간고사 ch01, 02, 04, 06, 07 (0) | 2025.04.11 |
---|---|
[정보통신공학] Ch07. Data Link Control Protocols (1) | 2025.04.11 |
[정보통신공학] Ch06. Error Detection and Correction (4) | 2025.04.11 |
[정보통신공학] Ch04. Transmission Media (0) | 2025.04.11 |
[정보통신공학] Ch01. Data Communications, Data Networks, and the Internet (0) | 2025.04.11 |