안녕하세요!

FE 개발자 유진주입니다.

CS/네트워크

[컴퓨터네트워크] Chapter1.4 프로토콜 계층 구조

ypearl 2023. 10. 10. 22:46

1.4 프로토콜 계층 구조

  • 통신 프로토콜과 계층 구조
  • 계층 구조 모델: TCP/IP와 OSI
  • 캡슐화(Encapsulation)
    : 상위 계층에 있는 프로토콜이 하위계층을 이용하기 위해, 하위 계층의 어떠한 필요한 정보를 추가해서 하위 계층 프로토콜이 상위 계층 프로토콜을 감싸는 방식으로 교환하는 정보를 만드는 방법.

 

 통신 프로토콜과 계층 구조

  • 통신 프로토콜 정의
    - 통신 장치들간에 교환될 메시지의 형식 정의 (Syntax)
    - 메시지 교환 순서 정의 (Timing)
    - 메시지를 교환할 때 수행해야 할 행위를 정의(Semantics)
  • 프로토콜 구조: 계층 구조

- 계층 구조의 예)

  • 계층 구조의 장점
    - 새로운 프로토콜 정의 용이
    - 특정 통신 기능 또는 서비스 수정 용이 (유지보수)
    - 전체 시스템 이해 용이
  • 계층 구조의 단점
    - 최적 시스템 구현의 어려움 (프로토콜 단위 사용, 계층 간 서비스 인터페이스 구현)

 

프로토콜

- 특정 통신 서비스를 위한 정보 교환 규칙 정의

- 유사한 통신 서비스를 위해 유사한 프로토콜 다수 정의 가능

- 물리 매체 프로토콜: UTP, 광케이블, 무선 채널

- 인터넷 응용 프로토콜: HTTP(웹 서비스), SMTP(이메일 서비스)

 

계층

- 유사한 프로토콜들의 집합

- 1개의 계층에 다수의 프로토콜 존재 가능

 

 

계층 구조 모델

  • TCP / IP 계층 구조
    - 인터넷의 프로토콜 구조
    - 5 계층 구조
  • OSI (Open System Interconnection) 구조
    - ISO(International Standardization Organization)에서 정의
    - 7 계층 구조
    - 실제 사용되지 않고 참조 모델로 활용

 

TCP / IP 와 OSI 구조

  • Layer1: physical
    - 정보를 전달하는 물리 매체를 정의
  • Layer2: link
    - 물리 매체를 이용해 통신 장치들 간 패킷을 전송하는 절차를 정의
    - 하위 계층 종류에 따라 여러 가지가 존재
  • Layer3: network
    - 링크들 간의 패킷을 교환하는 기능을 정의
  • Layer4: transport
    - 정보가 목적지(최종 사용자에게)까지 안전하게(손실없이) 전달될 수 있도록 하는 규칙
  • Layer5: application
    - 최종 사용자가 필요로 하는 정보를 교환하는 규칙

 

- 응용 계층(Application layer)

  • 인터넷 최초 사용자 서비스를 위한 정보(메시지) 교환 규칙 정의
  • 사용자 서비스 종류에 따라 서로 다른 응용 프로토콜 정의
  • 웹 서비스: HTTP(Hyper Text Transfer Protocol)
  • 이메일 서비스: SMTP(Simple Mail Transfer Protocol)
  • 파일 전송 서비스: FTP(File Transfer Protocol)
  • 도메인 네임 서비스: DNS(Domain Name System)

- 트랜스포트 계층(Transport layer)

  • 응용 계층 프로토콜 간에 메시지를 작은 전송단위(Segment)로 나누고
    전송하는 규칙 정의
  • 응용 프로토콜 지정(End-point, Port 번호), 오류 제어(Error control),
    흐름 제어(Flow control), 혼잡 제어(Congestion control)
  • TCP(Transmission Control Protocol), UDP(User Datagram Protocol)

- 네트워크 계층(Network layer)

  • 네트워크 상에서 최적 경로를 찾고,
  • 출발지 트랜스포트 프로토콜의 전송단위(Segment)를
    네트워크 전달 단위인 데이터그램(Datagram)으로 변환하고,
  • 목적지 트랜스포트 프로토콜까지 데이터그램을 교환하고 전달.
  • 데이터그램 전달 프로토콜: IP
  • 최적 경로 찾기 프로토콜: Routing Protocol

- 링크 계층(Link layer)

*여러 개의 링크를 통해서 반복적으로 전달

  • 네트워크 경로를 구성하는 각 링크 상에서,
  • 네트워크 전송단위(데이터그램)을 프레임(Frame)으로 변환하고,
  • 링크의 끝까지 전송하는 규칙 정의.
  • 링크의 유형에 따라 다양한 링크 프로토콜 정의
  • 유선 LAN: Ethernet, 무선 LAN: WiFi, 전용회선: PPP 

ㄴ 링크 계층은 Ethernet이더라도,
그 아래 실제 물리 케이블(물리 계층)은 TP, 광케이블, 동축케이블로 정의될 수 있다.

- 물리 계층(Physical layer)

  • 디지털 비트와 물리적인 신호의 변환과 물리 매체 접속 규격 정의
  • 물리 매체의 유형에 따라 다양한 물리 프로토콜 정의
  • Ethernet 링크를 위해 UTP, 광케이블 물리 프로토콜 정의
  • WiFi 채널의 디지털 비트와 물리 신호의 변환 방법에 따라
    다양한 물리 프로토콜 정의

+

- OSI 프리젠테이션 계층(Presentation layer)

  • 응용 프로토콜이 교환하는 정보의 의미를 동일하게 해석하도록 표현하는 규칙 정의
  • 데이터 표현, 압축(Compression) 방식, 암호(Encryption) 방식
  • TCP/IP 구조에서는 필요한 경우 응용 프로토콜에서 정의

- OSI 세션 계층(Session layer)

  • 점검 점 입력으로(Checkpointing) 교환되는 정보를 구분하고(Delimiting),
    교환 정보를 상호 동기화하며(Synchronization), 복구할 수 있는(Recovery) 규칙 정의
  • TCP/IP 구조에서는 필요한 경우 응용 프로토콜에서 정의

*TCP/IP 입장에서, 프리젠테이션 계층과 세션 계층의 통신 서비스는

 모든 응용에서 반드시 필요한 것은 아니다!

 

- 프로토콜 교환 정보

  • 데이터 정보(Data information): 사용자가 통신 상대방 사용자에게 전송을 의뢰한 정보
  • 제어 정보(Control information): 프로토콜의 규칙을 수행하기 위해 상대방 프로토콜에게 제공하는 정보

*캡슐화(Encapsulation)

: 상위 계층에서 전달을 요청한 데이터 정보 앞에

  프로토콜 수칙을 수행하기 위해 필요한 제어 정보를 추가해

  상대방 프로토콜에게 전달하는 것

 

캡슐화(Encapsulation)

- 프로토콜 제어 정보와 데이터

예) TCP를 통해 url 정보 전달

  • 계층별 프로토콜 교환정보 이름
  • 호스트, 라우터, 스위치와 계층구조