본문 바로가기

CS지식/네트워크

[CS지식 - 네트워크] OSI 7계층

1. OSI 7계층

  • 네트워크에서 통신이 일어나는 과정을 7단계로 나눈것
  • 개방형 시스템 상호 연결 모델의 표준
  • 실제 인터넷에서 사용되는 TCP/IP는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것
  • 탄생 배경
    - 초기 여러 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성x
    - 모든 시스템들의 상호 연결에 있어 문제가 없도록 표준을 정한것이 OSI 7계층
  • 계층을 나눈 이유
    - 통신이 일어나는 과정을 단계별로 파악 할 수 있기 때문
      ▶ 흐름을 한눈에 알아보기 쉽고, 이해하기 쉬움
      특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고 이상이 생긴 단계만 고칠 수 있기 때문

2. OSI 7계층 단계

프로토콜을 포함한 OSI 7계층

  1. OSI 7계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 나뉨
  2. 전송 시 7계층에서 1계층으로 각각의 층마다 인식 할 수 있어야 하는데 헤더를 붙임(캡슐화)
  3. 수신시 1계층에서 7계층으로 헤더를 떼어냄(디캡슐화)
  4. 출발지에서 데이터가 전송될때 헤더가 추가되는데 2계층에서만 오류제어를 위해 꼬리부분에 추가됨
  5. 물리계층에서 1,0의 신호가 되어 전송매체(동축케이블, 광섬유 등)을 통해 전송

 

2-1. 물리계층(Physical Layer)

  • 7계층 중 최하위 계층
  • 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송
  • 데이터는 0과 1의 비트열
    ▶ 전기적으로 On, Off의 전기적 신호 상태로 이루어져  해당 계층은 데이터만 전달
          (어떤 데이터인지, 어떤 에러가 있는지 신경x)
    ▶ 알고리즘x, 오류제어 기능x
  • 장비 : 케이블, 리피터, 허브

2-2. 데이터링크 계층(Data-Link Layer)

  • 물리적인 연결을 통하여 인접한 두 장치간의 신뢰성 있는 정보 전송을 담당(Point -To -Point)
  • 안전한 정보의 전달(오류나 재전송하는 기능 존재)
    ▶CRC기반의 오류 제어와 흐름제어 필요
  • MAC주소를 통해 통신
    ▶주소값은 물리적으로 할당받는데, 이는 네트워크 카드가 만들어질 때부터 MAC address가 정해져 있다는 뜻
       (주소체계는 계층이 없는 단일 구조, ex)이더넷)
    ▶브릿지나 스위치를 통해 MAC주소를 가지고 물리계층에서 받은 정보 전달
  • 전송 데이터 단위 : Frame
  • 장비 : 브릿지, 스위치

2-3.  네트워크 계층(Network Layer)

  • 여러개의 노드를 거칠때마다 경로를 찾아주는 역할
    ▶ 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공
  • 기능
    - 라우팅 기능을 가지고 있음(최적 경로 설정 가능)
     **라우팅 : 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능 
    - 세그멘테이션(segmentation / desegmentation)
    - 오류제어
    - 인터네트워킹(Internetworking)
  • 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층
  • 컴퓨터에게 데이터를 전송할 주소를 가지고 있어 통신가능
     ex) IP주소가 네트워크 계층의 헤더
  • 데이터 단위 : Packet
  • 장비 : 라우터, L3 스위치

2-3-1. IP계층

  • TCP/IP 상에서 IP계층 : 네트워크 주소( IP주소 정의), IP패킷의 전달 및 라우팅을 담당하는 계층
  • OSI 7계층모델의 관점에서 보면 IP계층은 네트워크 계층에 해당
    ▶패킷을 목적지까지 전달하는 역할 및 그에 수반되는 기타 역할
  • 주요 역할
    - 그 하위계층인 데이터 링크 계층의 하드웨어적인 특성에 관계없이 독립적인 역할 수행
  • 프로토콜
    - 패킷의 전달을 책임지는 IP
    - 패킷 전달 에러의 보고 및 진단을 위한 ICMP
    - 복잡한 네트워크에서 인터네트워킹을 위한 경로를 찾게해주는 라우팅 프로토콜

2-3-2. IP프로토콜

  • TCP/IP 기반의 인터넷 망을 통해 데이터그램의 전달을 담당하는 프로토콜
  • 기능
    - IP계층에서 IP패킷의 라우팅 대상이 됨(Routing)
    - IP주소 지정(Addressing)
  • 특징
    - 신뢰성(에러제어), 흐름제어 기능x
       ▶신뢰성을 확보하려면 IP계층 위의 TCP와 같은 상위 트랜스포트 계층에 의존
    - Connectionless : 비연결성 데이터그램 방식으로 전달되는 프로토콜
    - Unreliable : 패킷의 완전한 전달(소실, 중복, 지연, 순서 바뀜 등이 없게함)을 보장x
    - IP패킷 헤더 내 수신 및 발신 주소를 포함 (ex. IPv4헤더, IPv6헤더,IP주소)
    - IP헤더 내 바이트 전달 순서 : 최상위 바이트(MSB)를 먼저 보냄(Big-endian)
    - 경우에 따라, 단편화 필요
    -TCP, UDP, ICMP, IGMP 등이 IP데이터그램에 실려서 전송

2-4. 전송계층(Transport Layer)

  • 통신을 활성화하기 위한 계층
    ▶TCP프로토콜 이용, 포트를 열어 응용프로그램들이 전송을 할 수 있게 함
  • 종단 간 신뢰성 있고 정확한 데이터 전송을 담당
  • 송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위해 오류검출 및 복구, 흐름제어, 중복 검사 수행
  • 데이터 전송을 위해 Port번호 사용(ex TCP, UDP)
  • 데이터 단위 : Segment

 

2-4-1. TCP 프로토콜

  • OSI계층관점에서 전송계층(4계층)해당
  • 양종단 호스트 내 프로세스 상호 간에 신뢰적인 연결지향성 서비스 제공
    ▶IP의 비신뢰적인 최선형 서비스에다가 신뢰적인 연결지향성 서비스 제공
    ▶신뢰적인 전송 보장함으로써 애플리케이션 구현이 쉬워짐
  • 특징
    - 신뢰성 있음(Reliable)
       ▶ 패킷 손실, 중복, 순서바뀜 등이 없도록 보장
       ▶ TCP하위계층인 IP계층의 신뢰성 없는 서비스에 대해 다방면으로 신뢰성 제공
    - 연결지향적(Connection-oriented)
       ▶ 느슨한 연결을 갖음
       ▶ 연결 관리를 위한 연결설정 및 연결 해제 필요(TCP연결설정, TCP연결종료)
            양단간 어플리케이션/ 프로세스는 TCP가 제공하는 연결성 회선을 통해 서로 통신

2-4-2. UDP 프로토콜

  • 전송계층의 통신 프로토콜 중의 하나
  • 신뢰성이 낮음, 완전성을 보증하지 않음
    ▶ 가상회선 확립 필요x, 유연하며 효율적 응용 데이터 전송에 사용
  • 특징
    - 비연결성, 신뢰성x, 순서화x 데이터그램 서비스제공
       ▶ 메시지가 도착했는지 확인x(확인응답x)
       ▶ 수신된 메시지의 순서를 맞추지 않음(순서제어x)
       ▶ 흐름 제어를 위한 피드백을 제공하지 않음(흐름제어x)
       ▶ 검사합을 제외한 특별한 오류 검출 및 제어 없음(오류제어 거의x)
       UDP를 사용하는 프로그램쪽에서는 오류제어기능을 스스로 갖추어야함
       ▶ 데이터그램 지향의 전송계층용 프로토콜(논리적인 가상회선 연결x)
    - 실시간 응용 및 멀티태스킹 가능
       ▶ 빠른 요청과 응답이 필요한 실시간 용용에 적합
       ▶ 다수 지점에 전송가능(1:n)
    - 헤더 단순
       ▶ UDP는 TCP처럼 16비트의 포트번호를 사용
       ▶ 헤더는 고정크기 8바이트(TCP는 20바이트)만 사용
       ▶ 헤더 처리에 많은 시간과 노력x

2-5. 세션계층(Session Layer)

  • 통신 장치 간 상호작용및 동기화제공
  • 세션 설정, 유지, 종료, 전송 중단 시 복구 
  • 동시 송수신방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께 체크 포인팅과 유효, 종료, 다시 시작과정 수행
     ▶ TCP/ IP세션을 만들고 없애는 책임
  • 통신을 하기위한 세션을 확립/ 유지/ 중단(운영체제가 해줌)

2-6. 표현계층(Presentation Layer)

  • 데이터를 어떻게 표현할지 정하는 역할
  • 기능
    - 코드 간의 번역 담당
      ex MIME인코딩이나 암호화 등의 동작들,
           인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔주는 것
           해당 데이터가 text인지, 그림인지, gif인지, jpg인지 구분하는 것

2-7. 응용계층(Application Layer)

  • 사용자와 가장 밀접한 계층으로 인터페이스 역할
  • 응용프로세스 간의 정보 교환 담당(ex 이메일, 인터넷, 동영상 플레이어)
  • 네트워크 소프트웨어 UI부분, 사용자의 입출력(I/O)부분

 

더보기