프로토콜 아키텍처, TCP/IP 및 인터넷 기반 애플리케이션
프로토콜 아키텍처는 네트워크 통신을 위해 여러 계층으로 나누어 데이터를 처리하는 구조
프로토콜 아키텍처의 필요성 (데이터 통신에 아래의 내용은 반드시 수행되어야 함)
- 출발지는 통신 경로를 활성화하거나 네트워크에 목적지를 알립니다.
- 출발지는 목적지가 데이터를 받을 준비가 되었는지 확인해야 합니다.
- 파일 전송 애플리케이션은 목적지의 파일 관리 프로그램이 파일을 수락하고 저장할 준비가 되었는지 확인해야 합니다.
- 시스템 간의 형식이 다를 경우 형식 변환 기능이 필요할 수 있습니다.
프로토콜 아키텍처의 기능
논리를 작은 하위 작업 모듈로 분리하여 각각 개별적으로 구현됩니다.
모듈은 수직 스택 형태로 배열됩니다.
- 스택의 각 계층은 특정 기능의 부분 집합을 수행합니다.
- 각 계층은 하위 계층의 기본 기능에 의존합니다.
- 각 계층은 상위 계층에 서비스를 제공합니다.
- 한 계층에서의 변화는 다른 계층에 영향을 주지 않도록 설계됩니다.
프로토콜의 주요 기능
- Syntax (구문) : 데이터 블록의 형식
- Semantics (의미) : 조정 및 오류 처리에 대한 제어 정보
- Timing (타이밍) : 속도 일치 및 순서 지정
간단한 프로토콜 (A Simple Protocol)
- 관련 요소: 애플리케이션, 컴퓨터, 네트워크가 포함됩니다.
- 애플리케이션의 예: 파일 전송과 이메일
- 이러한 애플리케이션은 동시에 여러 애플리케이션을 지원하는 컴퓨터에서 실행됩니다.
통신 계층 (Communication Layers)
> 통신 작업은 3 개의 독립적인 계층으로 구성됨
1. Network access layer (네트워크 계층) : 데이터 교환을 담당
2. Transport layer (전송 계층) : 신뢰할 수 있는 데이터 전송을 제공
3. Application layer (응용 계층) : 응용 프로그램을 지원하는 로직 포함
네트워크 접근 계층 (Network Access Layer)
: 연결된 네트워크와 종단 시스템 간의 데이터 교환을 다루고 다음과 같은 문제들을 다룹니다.
- 목적지 주소 제공
- 우선순위와 같은 특정 서비스 호출
- 같은 네트워크에 연결된 두 종단 시스템 간의 데이터 접근 및 라우팅
전송 계층 (Transport Layer)
- 데이터의 신뢰성 있는 전달에 중점을 두고 응용 프로그램의 특성에 의존하지 않습니다.
- 모든 응용 프로그램이 공유하는 공통 계층입니다.
응용 계층 (Application Layer)
- 사용자 응용 프로그램에 필요한 로직을 포함하고 각 응용 프로그램 유형마다 별도의 모듈을 필요로 합니다.
> 컴퓨터 A,B,C는 각각 응용 계층, 전송 계층, 네트워크 접근 계층으로 구성되어 있고 각 계층은 데이터 교환을 위해 특정 프로토콜을 사용합니다.
응용 계층 프로토콜 : 응용 프로그램 간 데이터 전송
전송 계층 프로토콜 : 데이터의 신뢰성 전달을 위한 응용 계층과 네트워크 접근 계층의 중간 역할 담당
네트워크 접근 프로토콜 : 네트워크를 통해 데이터를 전송 및 물리적 네트워크 상에서의 통신을 관리
여기서, 컴퓨터들은 통신 네트워크를 통해 서로 연결되고 각 컴퓨터가 연결될 때는 네트워크 주소와 포트 or 서비스 접근 지점(SAP)를 통해 데이터를 주고 받습니다.
Addressing (주소 지정) - 아래 2가지가 필요
- 네트워크 내 각각의 컴퓨터는 고유한 네트워크 주소를 가지고 있음
- 각 응용 프로그램은 컴퓨터 내 고유한 주소를 가지고 있음(SAP)
프로토콜 데이터 단위 (PDU)
: 데이터와 제어 정보의 조합을 프로토콜 데이터 단위(PDU)
- 제어 정보는 PDU 헤더에 포함되고 컴퓨터의 상대 전송 프로토콜에 사용
(헤더는 출발지 및 목적지 포트, 순서 번호 및 오류 검출 코드를 포함)
TCP/IP 프로토콜 아키텍처
- ARPANET에서 프로토콜 연구 및 개발의 결과, TCP/IP 스위트로 불림
- TCP/IP는 많은 인터넷 표준 프로토콜로 구성됨
호스트-호스트(전송) 계층: 이 계층은 종단 간의 통신을 제공하는 계층으로, 신뢰성 있는 서비스 또는 신뢰성 없는 전달 서비스를 제공할 수 있습니다.
TCP(Transmission Control Protocol): 가장 많이 사용되는 프로토콜로, 이 계층에서 신뢰성 있는 통신을 제공하는 기능을 담당합니다.
TCP/IP 프로토콜 아키텍처 계층 (상단부 -> 하단부 순서로 나열, 5개의 계층으로 구성됨- 하나의 건물)
1. Application Layer (응용 계층) : 사용자에게 서비스를 제공하는 응용 프로그램과 프로토콜이 위치
ex) HTTP, FTP, SMTP, DNS 등
2. Transport Layer (전송 계층) : 통신 호스트 간 신뢰적 데이터 전송을 제공하며 데이터 세그먼트화와 재조립 담당
ex) TCP, UDP
3. Internet Layer (인터넷 계층) : 패킷의 주소와 경로 설정을 담당하며 데이터가 다양한 네트워크를 거쳐 목적지까지 전달되도록 관리
ex) IP, ICMP, ARP
4. Network Access / Data Link Layer (네트워크 접근 / 데이터 링크 계층) : 데이터 링크와 물리 계층을 포함하며 실제 네트워크 하드웨어를 통해 데이터를 전송함
ex) Ethernet, WiFi, PPP(Point to Point Protocol)
5. Physical Layer (물리 계층) : 비트 스트림 전송을 담당하며 매체, 신호 인코딩 기법, 데이터 전송 속도 등 대역폭 및 물리적 연결의 세부 사항을 지정
ex) 트위스트 페어 케이블, 광섬유, 위성, 지상 전자파
물리 계층 (Physical Layer)
- 컴퓨터와 네트워크 간 물리적 인터페이스를 다룸
- 주요 관심 사항은 다음과 같습니다:
- 전송 매체의 특성
- 신호의 특성
- 데이터 전송 속도
네트워크 액세스/데이터 링크 계층(Network Access/Data Link Layer)
- 종단 시스템과 그 시스템이 연결된 네트워크 간 데이터 교환을 담당
- 목적지 주소 제공, 우선순위와 같은 특정 서비스 호출, 같은 네트워크 상 두 종단 시스템 간 데이터 접근 및 라우팅
인터넷 계층 (Internet Layer)
- 여러 연결된 네트워크를 통해 데이터가 이동하기에 필요한 절차를 구현, 인터넷 프로토콜(IP)를 사용하여 라우팅 제공
- 종단 시스템과 라우터에서 구현됨
전송 계층 (Transport Layer)
- 신뢰적 데이터 전송에 중점을 두며 모든 응용 프로그램이 공유하는 공통 계층
- 일반적으로 TCP(전송 제어 프로토콜)가 사용됨
TCP/IP 주소 요구 사항
- 서브 네트워크의 각 호스트는 고유한 글로벌 인터넷 주소를 가져야 함
- 호스트 내 각 프로세스는 해당 호스트 내 고유한 포트 번호를 가져야 함
TCP
- TCP는 대부분의 응용 프로그램에서 사용하는 전송 계층 프로토콜로, 응용 프로그램 간 신뢰성 있는 데이터를 전송할 수 있도록 연결을 제공합니다.
- TCP 세그먼트는 기본 프로토콜 단위이고 각 연결 동안 엔티티 간의 세그먼트를 추적합니다.
UDP
- TCP의 대안으로 전송 보장, 순서 유지 및 중복 방지 등 신뢰적 기능을 제공하지 않습니다.
- IP에 포트 주소 지정 기능을 추가하고 SNMP(간단한 네트워크 관리 프로토콜)과 함께 사용됩니다.
IPv6
- 기존 IP(IPv4)에 비해 개선된 기능을 제공하고 더 높은 속도와 그래픽 및 비디오 데이터의 혼합을 처리하도록 설계됨
- IPv6는 128비트의 출발지 및 목적지 주소 필드를 포함합니다.
OSI 표준화
- 표준화 프레임워크를 목적으로 개발되었으며, 하위 계층에 더 많은 세부사항을 두고 각 계층은 상위 계층에 서비스를 제공
- 3가지 주요 요소 : 프로토콜 명세, 서비스 정의, 주소 지정
Primitive Types
- REQUEST : 서비스를 요청할 때 사용됨
- INDICATION : 서비스 제공자가 절차가 시작되었거나 특정 작업을 알릴 때 사용됨
- RESPONSE : 이전에 서비스 제공자의 INDICATION에 호출된 절차를 완료 및 확인하는 것
- CONFIRM : 서비스 사용자의 REQUEST에 의해 호출된 절차를 완료 및 확인하는 것
{ 서비스 프리미티브와 매개변수 }
- 인접한 계층 간 서비스를 정의하고 수행된 기능을 지정하기 위한 프리미티브를 사용합니다.
- 데이터와 제어 정보를 전달하기 위한 매개 변수를 사용합니다.
인터넷 애플리케이션
: FTP(파일 전송 프로토콜) + SMTP(간단한 메일 전송 프로토콜) + SSH (보안 셸) => TCP
멀티미디어 용어
미디어 : 텍스트, 정적 이미지, 오디오, 비디오등 정보의 형태를 나타냄
멀티미디어 : 텍스트, 그래픽, 음성, 비디오를 포함한 인간 및 컴퓨터 상호작용 의미 & 멀티미디어 콘텐츠 저장 장치
스트리밍 미디어 : 비디오 클립, 오디오 같은 멀티미디어 파일, 미디어 콘텐츠는 서버에서 전송될 때 전체 파일이 다운로드 될 때까지 기다릴 필요가 없음
- Audio: 소리와 음성 통신을 포함
- Image: 사진이나 그림 전달
- Video: 시간에 따른 연속 이미지 전달
- Text: 입력하고 읽을 수 있는 정보
멀티미디어 애플리케이션을 지원하는 관련 기술들:
- 압축(Compression):
- 정지 이미지(JPG)
- 비디오(MPG)
- 통신/네트워킹(Communications/Networking):
- 대용량 멀티미디어 트래픽을 지원할 수 있는 전송 및 네트워킹 기술을 지칭합니다.
- 프로토콜(Protocols):
- RTP (Real-time Transport Protocol)
- SIP (Session Initiation Protocol)
- 서비스 품질(QoS, Quality of Service):
- 우선순위, 지연 제약, 지연 변동성 제약 및 유사한 요구 사항을 처리할 수 있습니다.
탄력적 및 비탄력적 트래픽
- 탄력적 트래픽 :
- 인터넷 환경에서 지연 및 처리량 변화에 적응 가능
- 전통적인 데이터 스타일의 TCP/IP 트래픽이 이에 해당
- 비탄력적 트래픽 :
- 지연과 처리량 변화에 쉽게 적응하지 못함
- 음성 및 비디오 같은 실시간 트래픽이 여기에 포함
{ 요약 }
- 프로토콜 아키텍처의 필요성과 핵심 요소
- TCP/IP 프로토콜 아키텍처
- OSI 모델 및 프로토콜 아키텍처 표준화
- 전통적 응용 및 멀티미디어 프로그램의 필요성
'Computer Science > 데이터 통신' 카테고리의 다른 글
Chapter 06. (오류 탐지 및 수정) (0) | 2024.11.23 |
---|---|
데이터 통신 5주차 (신호 해석 기술) (0) | 2024.10.16 |
데이터 통신 4주차 (전송 매체) (3) | 2024.10.15 |
데이터 통신 (3주차) (데이터 통신) (0) | 2024.10.07 |
데이터 통신 (1주차) (데이터 통신, 데이터 네트워크, 인터넷) (0) | 2024.10.06 |