OSI 7 Layer Model

lsjoon·2024년 2월 29일

Network

목록 보기
8/8
post-thumbnail

OSI 7계층 모델


"provides a common basis for the coordination of standards development for the purpose of systems interconnection."
- Wikipedia

국제 표준화 기구(ISO)의 참조 모델(Reference Model)

- 네트워크 프로토콜이 서로 통신할 때 사용되는 일반적인 프레임워크

배경

- 각 제조업체와 기관이 다양한 네트워크 장비와 프로토콜을 개발하여 사용하기 시작
- 다양한 컴퓨터 네트워킹 방법이 출현하기 시작하면서 이들간의 상호 운용과 통합에 어려움을 느낌
      = 네트워크 통신에 대한 표준화의 필요성이 대두

- 기술 변화의 속도가 너무 빨라서, 현재의 기준으로 표준화된 절차를 만들기 보다는 새로운 시스템이 수렴할 수 있는 표준을 정의할 필요가 생김
      = 표준 자체는 아니지만, 미래의 표준을 정의할 수 있는 프레임워크


원리


계층

시스템이나 프로세스를 기능적으로 분할하는 것

특징

- 추상화 : 각 계층은 자신의 인터페이스를 통해 상위 계층과만 상호 작용, 나의 상세 정보는 숨길 수 있음
- 유연성 : 각 계층은 독립적으로 개발되거나 수정될 수 있으므로 전체 시스템을 쉽게 확장하거나 변경 가능. 오류 수정도 쉬워짐
- 모듈화 : 시스템을 독립적인 모듈로 분할함으로써 시스템의 복잡성 감소 및 관리가 용이
- 상호 운용성 : 각 계층은 명확하게 정의된 인터페이스를 통해 상호 작용

계층 모델 (Layer Model)

복잡한 시스템이나 프로세스를 각각의 계층으로 나누어 구조화하는 방법

  • 각 계층은 특정 기능을 수행
  • 다른 계층과 특정한 방식으로 상호 작용
  • 일반적으로 위에서 아래로 순차적으로 쌓임
  • 상위 계층은 하위 계층을 기반으로 작동

단점

- 오버헤드 : 각 레이어 사이의 통신 및 데이터 처리 과정은 오버헤드를 야기
- 복잡성 : 시스템을 더 세분화하고 모듈화하기 위해 초기 설계 및 구현이 복잡함

구현


7개계층(Layer)으로 구성 ( 응용 계층부터 탑-다운 )

  • 각 계층은 계층에 속한 네트워크 프로토콜을 통해 데이터를 처리함
  • 각 계층의 프로토콜은 미리 정의한 헤더에 담긴정보를 통해 특정 기능을 수행할 수 있도록 함
  • 네트워크 안에선 스위치(Switch)를 통해 트래픽의 방향을 전환
    = 방향 전환의 근거는 각 계층의 헤더가 됨 ( 각 계층의 숫자(n)를 따서 L(n) 스위치라고 칭함)

헤더
데이터 패킷(IP 패킷보다 큰 개념)에 포함되는 메타데이터를 담고 있는 부분
헤더는 프로토콜마다 다양한 형식길이를 가짐

프로토콜
의례, 관습
프로그래밍의 프로토콜 : 원활한 데이터 통신을 위한 상호간의 합의(약속)


계층 별 특징


응용 계층 (L7 : Application)


네트워크의 최종 목적인 응용 프로그램 간의 데이터 통신을 담당

- 사용자의 요구에 따라 다양한 서비스를 제공
- 각 서비스들은 처리할 데이터에 맞는 적절한 프로토콜을 선택하고 데이터 형식을 정의하며, 사용하기 쉽도록 구성된 사용자 인터페이스를 제공

  • 주요 프로토콜
    HTTP, FTP, SMTP, POP3, IMAP, Telnet ...

  • 서비스 목록
    웹 브라우저 : HTTP 를 통해 데이터를 요청(웹서버와 통신)하는 것을 돕는 소프트웨어
          - Google Chrome, Mozilla, FireFox, Microsot Edge
    이메일 클라이언트 : SMTP(이메일 전송), POP3 또는 IMAP(이메일 수신) 를 통해 이메일을 송수신하는 것을 돕기 위한 소프트웨어
          - Gmail, Apple Mail, Microsoft Outlook ...
    FTP 클라이언트: FTP(파일 전송 프로토콜) 를 통해 파일을 원격 서버로 전송하거나 다운로드
          - FileZilla, Cyberduck ...
    게임 클라이언트: 다양한 네트워크 프로토콜을 통해 온라인 게임을 플레이하고 플레이어들과 상호 작용
          - Steam, Battle.net, Xbox Live ...


표현 계층 (L6 : Presentation)


응용 계층에서 내려보낸 데이터에 추가적인 작업을 진행

- 송수신 간 시스템 차이를 고려, 호환성 보장을 위해 수신 데이터를 변환
- 네트워크 상에서 데이터의 표현 형식을 구분하여 전달
- 데이터 암호화압축(통신 효율 및 속도 증대) 등의 기능 수행

  • 가공 방식
    데이터의 표현 형식 정의 (MIME 인코딩)
    문자의 인코딩 형식 변환 (ASCII → UTF-8)
    데이터 암호화 (TLS/SSL Layer)
    데이터 압축 (HTTP gzip, deflate)

세션 계층 (L5 : Session)


응용 프로그램 간의 통신을 시작하고, 종료하는 일련의 과정을 담당
네트워크 세션을 관리 및 제어

- 사용자간의 통신 동기화오류 복구 명령 처리
- OS를 통해 통신 세션 구축, 유지(관리), 종료

세션
통신이 시작될 때부터 종료될 때까지의 시간

  • 세션 관리 방식
    효율적인 통신 지원 : 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 유지 및 전송이 끝난 뒤 즉시 종료
    체크 포인트: 데이터 전송 도중 연결이 끊어져도, 처음부터 보내는 것이 아니라 끊어진 지점부터 재전송
    다양한 통신 방식 지원 :
    - 전이중(Full Duplex) = 쌍방 동시 송수신
    - 반이중 (Half Duplex) = 상호 교대로 송신 및 수신
    - 단방향 (Simplex) = 일방적 데이터 송신


데이터 단위 도식

  • TCP/IP 기준, 헤더 포함

전송 계층 (L4 : Transport)


송수신되는 데이터를 관리
본격적으로 데이터에 헤더 추가

  • 데이터 단위
    TCP = 세그먼트(Segment)
    UDP = 유저 데이터그램(User Datagram)

  • 목적지 및 스위치
    응용 프로그램의 포트(Port) / 로드 밸런서(Load Balancer)

  • 주요 프로토콜
    TCP(Transmission Control Protocol)
    UDP(User Datagram Protocol)

  • 특징
    TCP : 통신 연결 유지, 데이터 분할(Segmentation), 데이터의 흐름 및 혼잡 제어, 오류 처리, 데이터 신뢰성 보장
    UDP : 헤더 경량화을 통한 사용법 단순화신속한 데이터 전송

자세한 내용은 링크 : TCP/UDP


네트워크 계층 (L3 : Network)


서로 다른 두 네트워크에 속한 호스트(Host) 간의 데이터를 IP Address를 기반으로 전송
데이터를 목적지(수신 호스트)까지 가장 안전하고 빠르게 전달

- IP : 네트워크 상의 통신 기기에게 고유하게 할당된 주소
- IP 패킷의 경로를 결정하는 것은 라우터(Router) = L3 스위치

  • 데이터 단위
    IP 패킷(Packet) 또는 데이터그램(Datagram)

  • 목적지 및 스위치
    IP / 라우터(Router)

  • 주요 프로토콜
    IP(Internet Protocol), ICMP(Internet Control Message Protocol), IGMP(Internet Group Message Protocol), IPsec ...

  • 특징
    라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹

  • IP Packet 헤더 정의

Totla Length(패킷의 전체 길이), Header Checksum(헤더 무결성 검사), Source Address & Dest Address (송수신 호스트 주소), Time To Live(활동 유효기간) ...



같은 네트워크에 속한 호스트 간의 데이터를 MAC을 기반으로 전송
물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리

- MAC : 네트워킹이 가능한 모든 호스트가 갖고 있는 랜카드(NIC, Network Interface Card)에 부여된 고유 번호

  • 데이터 단위
    프레임(Frame)

  • 목적지 및 스위치
    MAC / 이더넷 스위치(Ethernet Switch), 브리지(Bridge)

  • 주요 프로토콜
    이더넷(Ethernet), HDLC 및 ADCCP (p2p protocol), LLC 및 ALOHA (근거리 네트워크 프로토콜)

  • 특징
    에러 검출, 재전송, 흐름 제어

  • Frame 헤더 정의

Source MAC Address & Dest MAC Address(송수신 호스트 주소), Frame check sequence(헤더 무결성 검사)


물리 계층 (L1 : Physical)


각 계층을 거쳐 생성된 데이터 패킷을 전기 신호로 변환하여 전송
- 0과 1의 문자열인 비트 스트림(Bit Stream)으로 변환

  • 데이터 단위
    비트(Bit)

  • 통신 장비
    허브(Hub), 케이블(Cable), 리피터(Repeater)

  • 특징
    전송 중 신호의 강도, 주파수 등 물리적 특성 관리

최종 데이터 형식

profile
중요한 것은 꺾여도 그냥 하는 마음

0개의 댓글