TCP/IP - 01 - 05 프로토콜의 계층화와 OSI 참조 모델

SSAD·2023년 2월 25일
0

TCP/IP

목록 보기
6/12


01 프로토콜의 계층화

  • OSI 참조 모델은 통신에 필요한 기능을 7개의 계층으로 나누고 기능을 분할함

  • 복잡해 지기 쉬운 네트워크 프로토콜을 단순화하기 위한 것

  • 각 계층은 하위층으로부터 특정 서비스를 받아 상위층에 특정 서비스를 제공

  • 상위층하위층 사이에서
    서비스를 주고 받을 때의 약속을 '인터페이스' 라고 함

  • 통신 상대같은 계층서비스를 주고 받을때의 약속
    '프로토콜'이라고 함

  • 프로토콜의 계층화는 소프트웨어를 개발할 때의 모듈화와 비슷

모듈화

  • 어떤 기계를 실행하는 덩어리를 모듈이라고 하고,
    그것을 개발할 때의 부품으로써 이용하는 것
  • OSI 참조 모델의 경우
    제 1층에서 제 7층까지 7개의 모듈을 만들어 각각을 서로 연결하여 통신하는것이 이상적

  • 계층화하면 각 계층을 독립적으로 취급할 수 있다는 장점

  • 시스템의 한 계층을 변경하더라도 시스템 전체에 영향을 미치지 않기 떄문에
    확장성이나 유연성이 뛰어난 시스템을 구축할 수 있음

  • 통신 기능이 분할되어 있기 때문에
    각 계층의 프로토콜을 설치하기 쉽고 책임이 명확해짐

  • 지나치게 모듈화하면 처리가 어려워지고,
    각 모듈에서 비슷한 처리를 해야 한다는 단점 이 있음



02 OSI 참조 모델


7계층의 OSI 참조 모델

7 애플리케이션층
6 프리젠테이션층
5 세션층
4 트랜스포트층
3 네트워크층
2 데이터 링크층
1 물리층


  • OSI 참조 모델에서는 각 계층에서 무엇을 할 것이라는 "역할"을 정의

  • 각 계층의 "역할"을 정의하고 잇는 것이 "프로토콜"

  • "프로토콜"이라는 약속, 그 내용은 "사양"

  • 프로토콜의 "사양"에 준거한 제품 및 통신 수단을 이용

  • OSI 참조 모델은 어디까지나 "모델"로,
    각 계층의 대표적인 역할을 정한 것일 뿐
    프로토콜이나 인터페이스의 상세 내용을 정해 놓은 것은 아님

  • OSI 참조 모델은 프로토콜을 설계하거나 학습할 때의 "가이드라인"인 것

  • 상세 내용을 알고 싶은 경우는 개별 프로토콜의 사양서를 읽을 필요가 있음

  • 대부분의 통신 프로토콜은 이 OSI 참조 모델에 적용시켜봄으로써
    전체 통신 기능 중에서 해당 프로토콜이 어디에 위치하는지
    대표적인 역할은 무엇인지를 알 수 있음


OSI 프로토콜과 OSI 참조 모델

OSI 프로토콜

  • 서로 다른 컴퓨터 간에 통신을 하기 위해 ISO와 ITU-T가 표준화했던 네트워크 아키텍처
  • OSI에서는 통신의 기능을 7개의 계층으로 분류하는데, 이것이 바로 OSI 참조 모델
  • OSI에서는 이 OSI 참조 모델을 바탕으로
    각 계층의 프로토콜과 계층 간의 인터페이스에 대한 표준을 정해 놓음
    이것이 OSI 프로토콜


03 OSI 참조 모델 각 계층의 역할


7 계층 : 애플리케이션층

  • 이용되는 애플리케이션 중에서 통신과 관련된 부분을 정해 놓고 있음

  • 파일 전송이나 전자메일, 원격 로그인(가상 단말) 등을 실현하기 위한 프로토콜

프로토콜 : DNS, FTP, HTTP

기능

  • 특정 애플리케이션에 특화된 프로토콜

각 계층의 기능 이미지

  • 애플리케이션별 프로토콜
    • 전자메일 <-> 전자메일용 프로토콜
    • 원격 로그인 <-> 원격 로그인용 프로토콜
    • 파일 전송 <-> 파일 전송용 프로토콜

6 계층 : 프리젠테이션층

  • 애플리케이션이 취급하는 정보를 통신에 적합한 데이터 형식으로 만들거나
    하위층으로부터 올라온 데이터를 상위층이 처리할 수 있는 데이터 형식으로 변환하는 등
    데이터 형식과 관련된 책임을 지고 있음

  • 기기 고유의 데이터 표현 형식(데이터 포맷) 등을
    네트워크 공통의 데이터 형식으로 변환하는 역할

  • 동일한 비트열이라도 기기가 다르면 다른 의미로 해석될 가능성이 있는데
    이러한 무결성을 책임짐

프로토콜 : JPG, MPEG, SMB, AFP

기능

  • 기기 고유의 데이터 포맷과 네트워크 공통의 데이터 포맷 교환

각 계층의 기능 이미지

  • 문자열이나 이미지, 음성과 같은 정보 표현의 차이를 흡수함

5 계층 : 세션층

  • 커넥션의 확립과 끊기
    전송할 데이터의 분량을 설정하는 등과 같은 데이터 전송에 관련된 역할

프로토콜 : NetBIOS, SSH, TLS

기능

  • 통신의 관리
  • 커넥션(데이터가 흐르는 논리적인 통신로)의 확립/끊기
  • 트랜스포트층 이하의 층 관리

각 계층의 기능 이미지

  • 커넥션을 언제 확립하고, 언제 끊을 것인가?
  • 몇 개나 확립할 것인가?

4 계층: 트랜스포트층

  • 수신처 애플리케이션에게 데이터를 확실하게 보내는 역할

  • 통신을 수행하는 양쪽 노드에서만 처리되고 중간에 있는 라우터에서는 처리되지 않음

전송단위 : 세그먼트(Segment)

프로토콜 : TCP, UDP 등 장비 : 게이트웨이, L4 스위치

기능

  • 양끝 노드(네트워크로 연결된 종단 컴퓨터와 같은 기기를 가리킴)간의 데이터 전송 관리
  • 데이터 전송의 신뢰성을 제공(데이터를 상대에게 확실하게 보내는 역할)

각 계층의 기능 이미지

  • 데이터의 누락은 없는가?

3 계층 : 네트워크층

  • 데이터를 수신처까지 보내는 역할

  • 수신처는 여러 개의 네트워크가 라우터로 연결된 곳에 있는 경우도 있음

  • 이러한 경우를 처리하기 위한 주소 체계를 결정하거나
    어느 경로를 사용할 것인지 등과 같이 경로를 선택하는 역할

전송단위 : 패킷(Packet)

프로토콜 : IP, ICMP 등 장비 : 라우터, L3 스위치

기능

  • 주소 관리와 경로 선택

각 계층의 기능 이미지

  • 어떤 경로를 통해 상대에게 전달할 것인가?

2 계층 : 데이터 링크층

  • 물리층에서 직접적으로 연결된 노드 간, 통신이 가능하게 하는 역할

  • 0과 1로 된 숫자열을 의미가 있는 덩어리(프레임)로 나누어
    상대방에게 전달(프레임의 생성과 수신)

전송단위 : 프레임(Frame)

프로토콜 : 이더넷, MAC, PPP 등 장비 : 브릿지, 스위치

기능

  • 직접 연결된 기기 간의 데이터 프레임의 식별 및 전송

각 계층의 기능 이미지

  • 프레임과 비트열의 변환

1 계층 : 물리층

  • 비트열(0과 1로 된 숫자열)을 전압의 고저 또는 빛의 점멸로 변환
  • 전압의 고저 또는 빛의 점멸로 비트열로 변환

전송단위 : 비트(Bit)

프로토콜 : RS-232C 등 장비 : 허브, 리피터

기능

  • "0"과 "1"을 전압의 고저나 빛의 점멸로 변환
  • 커넥터나 케이블 모양을 규정

각 계층의 기능 이미지

  • 비트열과 신호의 변환
  • 커넥터나 케이블의 모양
profile
learn !

0개의 댓글