OSI 참조 모델
포스트
취소

OSI 참조 모델

OSI 참조 모델 (Open System Interconnection)

  • 국제표준화기구가 서로 다른 컴퓨터가 네트워크 구조에 상관없이 통신할 수 있도록 정의한 계층형 모델
  • 총 7개의 계층으로 이루어져 있다.
  • OSI 참조 모델은 프로토콜이 아니라 유연하면서 안전하고 상호 연동이 가능한 네트워크 구조를 설계하고 이해하는 모델이다.
  • OSI 참조 모델에서 각 계층은 상위 계층의 요구에 따라 서비스를 제공하고, 하위 계층은 필요한 서비스를 요구할 수 있다.
  • OSI 참조 모델의 계층 구조
    • 응용 계층 (7계층)
    • 표현 계층 (6계층)
    • 세션 계층 (5계층)
    • 전송 계층 (4계층)
    • 네트워크 계층 (3계층)
    • 데이터 링크 계층 (2계층)
    • 물리 계층 (1계층)

OSI 참조 모델의 데이터 전송

  • OSI 참조 모델은 각각 특정 기능을 수행하는 7개의 계층으로 이루어져 있다.
  • 각 계층은 헤더와 데이터 단위로 정의된다.
  • 헤더에는 각 계층의 기능과 관련된 정보가 포함된다.
  • 송신 측이 헤더를 생성해서 추가하면 수신 측의 해당 계층이 이 헤더를 생성한다.
  • 데이터 단위는 헤더를 추가한 데이터를 전송하는 기본 단위이다.
  • 상위 계층이나 하위 계층 사이에 주고받는 데이터의 단위를 서비스 데이터 단위(Service Data Unit, SDU)라고 부른다.
  • 같은 계층 사이에 주고받는 데이터의 단위를 프로토콜 데이터 단위(Protocol Data Unit, PDU)라고 부른다.
  • 데이터 단위는 상위 계층이 전소앟려는 데이터인 SDU에 제어 정보인 PCI(Protocol Control Information)을 추가한 것이다.
    • 즉, PDU는 PCI와 SDU를 합친 것으로 생각하면 된다.
    • 제어 정보에는 흐름 제어 정보, 오류 제어 정보, 주소 정보 등이 포함된다.
  • 데이터 단위는 다음 계층에 데이터 정보를 전송할 때 사용된다.
  • 일반적으로 데이터 단위를 패킷이라고 한다.
  • OSI 참조 모델에서는 데이터가 응용 계층(7계층)에서 하위 계층으로 순차적으로 전송된다.
  • 물리 계층과 응용 계층을 제외한 나머지 계층에서는 데이터의 시작과 끝 부분에 헤더나 트레일러 형태로 정보를 추가한다.
    • 시작 부분에 추가되는 헤더는 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층의 데이터에 추가된다.
    • 끝 부분에 추가되는 트레일러는 데이터 링크 계층의 데이터에만 추가된다.
  • 송신 측에서 데이터를 전송하는 방식
    1. 응용 계층에서 표현 계층에 데이터를 전송한다.
    2. 표현 계층에서 데이터에 표현 계층에 대한 헤더를 추가한 뒤 세션 계층에 전송한다.
    3. 세션 계층에서 데이터에 세션 계층에 대한 헤더를 추가한 뒤 전송 계층에 전송한다.
    4. 전송 계층에서 데이터에 전송 계층에 대한 헤더를 추가한 뒤 네트워크 계층에 전송한다.
    5. 네트워크 계층에서 데이터에 네트워크 계층에 대한 헤더를 추가한 뒤 데이터 링크 계층에 전송한다.
    6. 데이터 링크 계층에서 데이터에 데이터 링크 계층에 대한 헤더와 트레일러를 추가한 뒤 물리 계층에 전송한다.
    7. 물리 계층에서 데이터를 전자적 신호로 변환하여 전송 매체를 통해 수신 측으로 전송한다.
  • 수신 측에 데이터가 도착하면 전기적 신호로 변환되었던 데이터가 수신 측의 물리 계층으로 전송되어 디지털 형태로 복원된다.
  • 수신된 데이터가 상위 계층에 전송되면 각 계층은
    송신 측의 각 계층에서 추가된 헤더와 트레일러를 제거 한 후 각 계층에서 해야할 일을 수행한다.
  • 최종적으로 수신 측의 응용 계층에 데이터가 전송되면 데이터를 적절한 형태로 변환하여 수신자에게 전송한다.
  • 실제로 서로 다른 시스템 간에 데이터를 전송하는 경우에는 수많은 중간 노드를 거치게 된다.
    • 다만 중간 노드의 경우에는 OSI 참조 모델의 7계층을 모두 사용하는 것이 아닌 1~3 계층만 사용한다.

네트워크 접속 계층

  • 실제로 OSI 참조 모델을 완벽하게 적용하기에는 어려운 부분이 많다.
  • 그래서 실제로는 OSI 참조 모델의 7계층을 4계층으로 단순화한 TCP/IP 모델을 많이 사용한다.
  • TCP/IP 모델의 계층 구조
    • 응용 계층 (4계층)
      • OSI 참조 모델의 5~7계층에 해당한다.
    • 전송 계층 (3계층)
      • OSI 참조 모델의 4계층에 해당한다.
    • 네트워크 계층 (2계층)
      • OSI 참조 모델의 3계층에 해당한다.
    • 네트워크 접속 계층 (1계층)
      • OSI 참조 모델의 1~2계층에 해당한다.

물리 계층

  • 두 시스템 간에 데이터를 전송하기 위해 링크를 활성화하고 관리하는 전기적·기계적·기능적·절차적 특성 등을 정의하는 계층
  • 허브, 라우터, LAN 카드, 케이블 등 전송 매체를 통해 비트를 전송한다.
  • 물리적인 네트워크 장치의 사용은 물리 계층에 의해 결정된다.
  • 상위 계층인 데이터 링크 계층에서 형성된 데이터 패킷을 전기 신호나 광신호로 바꾸어 송수신한다.

물리 계층의 기능

  • 회선 구성
    • 점대점, 다중점 등 2개 이상의 장치에 대한 회선 구성을 결정한다.
  • 데이터 전송 모드
    • 단방향, 양방향 등 연결된 시스템 간의 데이터 전송 모드를 결정한다.
  • 접속 형태
    • 성형, 버스형, 트리형 등 네트워크 접속 형태를 결정한다.
  • 전송 매체 유형
    • 허브, 케이블 등 데이터를 전송하는 물리적 장치를 결정한다.

물리 계층의 특성

기계적 특성
  • 시스템과 주변장치를 연결하기 위해 정의한다
  • 물리적 접속에 필요한 커넥터의 모양, 내부의 핀 수, 각 핀의 위치 등을 정의한다.
전기적 특성
  • 두 시스템 간 상호 접속 회로의 전기적 특성 등을 정의한다.
  • 출력 전압, 전력 전압, 2진수의 논리적 표현을 정의한다.
기능적 특성
  • 상호 접속 회로의 기능을 정의한다.
  • 데이터, 제어, 타이밍, 접지 및 절차를 정의한다.
  • CCITT 권고안 V.24에 정의되어 있다.
절차적 특성
  • 데이터 전송에 필요한 순서를 정의한다.
  • 동작 종료의 절차, 물리 연결의 활성화 및 비활성화를 정의한다.
  • CCITT 권고안 X.20, X.21에 정의되어 있다.

물리 계층의 데이터 단위

  • 송신 측의 물리 계층은 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)을 받아
    전기 신호로 변환한 후 전송 매체를 통해 수신 측에 보낸다.
  • 수신 측의 물리 계층은 수신한 전기 신호를 0과 1로 구성된 비트열로 복원하여 데이터 링크 계층에 전송한다.

물리 계층의 네트워크 접속 장치

리피터
  • 전기 신호를 복원하고 증폭하는 장치
  • 멀리 떨어져 있는 상대방과 통신할 수 있도록 파형을 정상으로 만든다.
  • 일대일 통신만 가능하다.
  • 최근에는 다른 네트워크 장치가 리피터의 기능을 지원하기 떄문에 잘 쓰이지 않는다.
허브
  • 여러 대의 컴퓨터를 연결해주는 장치
  • 리피터의 역할도 가능하기 떄문에 리피터 허브라고도 부른다.
    • 일그러진 전기 신호를 보구언하고 증폭한다,
    • 컴퓨터에서 보낸 전기 신호가 허브에 도착하는 동안 잡음의 영향으로 일그러지기도 한다.
    • 허브는 일그러진 파형을 정상으로 되돌리는 기능을 한다.
  • 통신하는 통로인 포트가 여러 개이다.
    • 여러 컴퓨터와 통신할 수 있게 해준다.
  • 특정 포트로부터 데이터를 받으면 그 데이터를 해당 포트를 제외한 나머지 포트로 전송한다.
  • 허브는 전기 신호를 모든 포트로 보낸다.
    • 이 때문에 더미 허브라고도 부른다.
    • 이를 해결하기 위해 데이터 링크 계층에서 스위치를 사용한다.

데이터 링크 계층

  • 물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층
  • 네트워크를 통해 데이터를 전송할 떄 전송로 역할을 한다.
  • 비트를 프레임이라는 논리적 단위로 구성한다.
    • 전송하려는 데이터에 인접한 노드(시스템)의 주소가 더해진다.
    • 해당 주소는 최종 수신지의 주소가 아니라 전송되는 다음 노드의 주소다.
  • 물리 계층에서 발생하는 오류를 검출하고 복구하는 오류 제어 기능, 동기화, 흐름 제어 등을 담당한다.
  • 과도한 양의 데이터를 한 번에 전송하지 않도록 데이터 양을 조절한다.

데이터 링크 계층의 기능

  • 주소 지정
    • 데이터 링크 계층에서 추가된 시작과 끝 부분에는 가장 최근에 데이터가 지나온 노드(시스템)와
      다음에 접근할 노드의 물리 주소가 포함된다.
  • 순서 제어
    • 데이터를 순차적으로 전송하기 위해 프레임 번호 부여 기능을 수행한다.
    • 수신 노드에서 식별 번호를 추가하여 프레임의 순서를 제어한다.
  • 흐름 제어
    • 한 번에 전송할 수 있는 데이터의 양을 조절한다.
    • 연속으로 프레임을 전송할 때 수신 여부를 확인하는 기능을 수행한다.
  • 오류 처리
    • 오류 검출과 정정 기능을 수행한다.
    • 오류가 발생한 프레임의 재전송을 요구할 수 있다.
  • 프레임
    • 데이터를 전송할 떄 처리가 쉽도록 프레임 단위로 전송한다.
  • 동기화
    • 헤더에는 수신 측에 프레임이 도착했음을 알리는 비트가 있다.
    • 트레일러에는 프레임의 끝을 나타내는 비트와 오류를 제어하는 비트 등이 있다.
  • 데이터 링크 설정
    • 전송할 데이터의 앞에는 헤더를, 뒤에는 트레일러를 추가하여 물리 계층으로 전달한다.
    • 헤더와 트레일러에는 송신 측 주소와 수신 측 주소 등의 정보가 포함된다.
    • 수신 측의 데이터 링크 계층은 헤더와 트레일러를 삭제한 후 수신 측의 네트워크 계층으로 전달한다.

데이터 링크 계층의 특성

  • 시스템 간에 오류 없이 데이터를 전송하기 위해 네트워크 계층으로부터 받은 데이터 단위(패킷)를 프레임으로 구성하여 물리 계층으로 전송한다.
    • 네트워크 계층으로부터 데이터 단위를 받아 주소와 제어 정보같은 의미 있는 비트를 시작 부분(이더넷 헤더)와 끝 부분(트레일러)에 추가한다.
  • 데이터 링크 프레임의 헤더와 트레일러에는 송신지에서 수신지로 데이터를 전송하는 데 필요한 여러 가지 정보가 들어 있다.
    • 거쳐야 하는 곳의 물리 주소나 최종 수신지로 가기 위해 프레임이 거쳐야 하는 곳의 정보가 들어 있다.
  • 데이터 링크 계층의 프로토콜은 수신자가 제대로 수신할 수 있도록 전송을 제어하고, 전송 도중에 발생한 오류를 교정하는 일 등을 담당한다.
  • 시작과 끝 부분은 어느 부분에 해당하는지, 도착한 프레임이 손상되지 않고 잘 도착했는지 등의 정보도 전송한다.
  • 데이터 링크 계층에서 시작과 끝 부분은 송신 노드로 추가하고 수신 노드로 검사 및 해석한다.
  • 수신 노드가 프레임을 받으면 시작과 끝 부분을 삭제한 후 남은 데이터 단위를 네트워크 계층으로 보낸다.

데이터 링크 계층의 규칙

  • 데이터 링크 계층은 네트워크 접속 장치 간에 신호를 주고받는 규칙을 정하는 계층이다.
  • 가장 일반적으로 사용되는 규칙은 이더넷이다.
  • 이더넷은 허브와 같은 네트워크 접속 장치에 연결된 컴퓨터와 데이터를 전송받을 때 사용한다.
이더넷 헤더
  • 이더넷 헤더는 수신지 MAC 주소 6바이트, 송신지 MAC 주소 6바이트, 유형 2바이트로 총 14바이트로 구성되어 있다.
  • 이더넷 유형은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타낸다.
    • 16진수 번호가 들어있다.
  • 이더넷 헤더 외에 데이터 뒤에 추가하는 트레일러는 FCS(Frame Check Sequence)라고 부른다.
    • 데이터 송신 도중에 오류가 발생하는지 확인하는 용도로 사용한다.
  • 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다.
이더넷 데이터 전송 규칙
  • 여러 컴퓨터가 동시에 데이터를 전송하먄 데이터가 충돌할 수 있다.
  • 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 발생하지 않는 구조로 되어 있다.
    • 데이터가 동시에 케이블을 지나갈 떄 충돌이 발생하지 않도록 데이터를 전송하는 시점을 늦춘다.
  • 이더넷에서 데이터의 충돌을 막기 위한 규칙으로는 CSMA/CD 방식을 사용하고 있다.
    • CS : 데이터를 전송하려는 컴퓨터가 케이블에 데이터 신호가 흐르고 있는지 확인하는 규칙
    • MA : 케이블에 데이터 신호가 흐르고 있지 않으면 데이터를 전송해도 된다는 규칙
    • CD : 충돌이 발생하는지 확인하는 규칙
  • 최근에는 효율이 좋지 않다는 이유로 CSMA/CD를 거의 사용하지 않는다.
  • 네트워크 충돌이 일어나지 않는 스위치를 사용하고 있다.
데이터 링크 계층의 데이터 전송 과정
  1. 데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 생성한다.
  2. 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송한다.
  3. 컴퓨터가 송신한 데이터를 허브에서 해당 컴퓨터와 관련된 포트로 수신한다.
  4. 허브가 수신한 데이터를 다른 포트로 전송한다.
  5. 각 컴퓨터는 프레임에 명시되어 있는 수신지 MAC 주소가 자신과 동일하다면 수신하고, 그렇지 않다면 데이터를 파기한다.
  6. 전기신호를 수신한 컴퓨터는
    물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고
    데이터 링크 게층에서는 이더넷 헤더와 트레일러를 제거한 후 데이터를 수신한다.

스위치

  • 데이터 충돌이 발생하지 않도록 중재하는 장치
  • 스위칭 허브 또는 레이어2 스위치라고 부른다.
  • 겉모습은 허브랑 비슷하지만 기능이 완전히 다르다.

허브의 경우

  • (더미) 허브는 회선 하나를 송수신에 사용하는 반이중 통신 방식이다.
  • 동시에 데이터를 전송할 떄 충돌한다.
  • 충돌이 발생할 떄 그 영향이 미치는 범위를 충돌 도메인이라고 한다.
  • 허브는 접속되어 있는 모든 컴퓨터가 하나의 충돌 도메인이 된다.

스위치의 경우

  • 데이터를 동시에 송수신할 수 있는 전이중 통신 방식이다.
  • 충돌이 발생하지 않고 충돌 도메인의 범위도 좁다.
    • 네트워크를 지연시키지 않기 위해서라도 충돌 도메인의 범위를 좁히는 것은 매우 중요하다.
  • 허브를 사용하면 충돌로 인해 네트워크 지연이 발생하기 때문에 최근에는 스위치를 사용한다.

MAC 주소 학습 기능

  • 스위치 내부에는 MAC 주소 테이블이 있다.
    • 브리지 테이블이라고도 부른다.
  • MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되어 있는 데이터베이스이다.
  • 컴퓨터에서 수신지 MAC 주소가 추가된 프레임이 전송되면 MAC 주소 테이블을 확인하여
    송신지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록한다.
    • 이 기능을 MAC 주소 학습 기능이라고 부른다.
    • 더미 허브에는 없는 기능이다.
  • 수신지의 MAC 주소가 MAC 주소 테이블에 저장되어 있지 않다면 송신 포트 이외의 모든 포트에 프레임이 전송된다.
    • 이러한 프레임 전송을 플러딩(flooding)이라고 한다.
  • 수신지의 MAC 주소가 MAC 주소 테이블에 저장되어 있다면 수신지에만 데이터가 전송된다.
    • 이처럼 MAC 주소를 기준으로 수신지를 선택하는 것을 MAC 주소 필터링이라고 한다.
    • 필터링을 통해 불필요한 데이터를 네트워크에 전송하지 않기 위한 기능이다.

출처

  • 네트워크 개론 3판 (전혜진 지음)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.