관리 메뉴

공부 기록장 💻

[네트워크] OSI 모델 본문

# CS Study/Network

[네트워크] OSI 모델

dream_for 2022. 8. 22. 10:47

OSI 참조 모델

OSI 참조 모델의 배경

  • ISO에서 1980년 말 경, 네트워크를 이용해 서로 다른 기종의 통신 시스템 간 상호 접속을 할 수 있도록 정보교환을 위해 필요한 최소환의 네트워크 구조를 제공하는 OSI 기본 참조 모델을 제안, 83년 국제 표준(ISO 7498)로 제정됨
  • ISO에서 개방형 시스템 간 상호 접속(OSI: Open Systems Interconnection)을 위해 표준화된 네트워크 구조를 제공하는 기본 참조 모델을 제정하여, 이기종 간 상호접속을 위한 가이드라인을 제시하고자 함

 

OSI 참조 모델의 기본 목표

  1. 시스템 간 통신을 위한 표준 제공, 통신을 방해하는 기술적인 문제들을 제거
  2. 단일 시스템 간의 정보교환을 하기 위한 상호접속점 정의
  3. 제품들 간의 번거로운 변환 없이 통신할 수 있는 능력 향상하기 위해 선택사항을 감소
  4. OSI 참조모델 표준이 모든 요구를 만족시키지 못할 경우 다른 방법을 사용하는 것에 대한 충분한 이유를 제공하고자 함
  • Open System(개방형 시스템
    • 과거의 네트워크 환경은 폐쇄형 시스템(Closed System)으로, 네트워크를 구성한 제조업체마다 자신만의 고유한 프로토콜을 이용해 한정된 범위 내에서만 통신이 이루어졌다.
    • 컴퓨터 사용이 일반회되고 네트워크 간 정보 교류가 활발해짐에 따라 제조업체에 무관하게 서로 통신할 수 있도록 개방형 시스템의 필요성이 대두됨

 


계층 구조

  • ISO에서 제정한 7계층 구조 → 비슷한 기능을 갖는 모듈을 동일 계층으로 분할함과 동시에 Divide and Conquer 개념 도입을 통해 각 계층 간의 독립성을 유지할 수 있도록 하여 서로의 모듈에 미치는 영향을 최소화하는 목적을 둠
    1. 물리 계층(Physical Layer) - 물리적 링크를 설정, 유지, 해제
    2. 데이터 링크 계층(Data Link Layer) - 비트 도기 및 식별, 흐름제어, 오류제어 (MAC 주소)
    3. 네트워크 계층(Network Layer) - 논리적 링크 설정, 패킷 단편화, 라우팅 (IP 주소)
    4. 전송 계층(Transport Layer) - 메시지의 종단 간 전달, 흐름제어, 오류제어 (포트번호)
    5. 세션 계층(Session Layer) - 세션의 설정, 유지, 종료
    6. 표현 계층(Expression Layer) - 전송 데이터의 구문과 의미에 대한 처리 담당
    7. 응용 계층(Application Layer)- 응용프로세스에게 네트워크 접근 수단 제공
  • PDU(Protocol Data Unit)
    • 네트워크 구조에서 정보를 실어 나르는 기본 단위
    • 상위 계층에서 전송을 원하는 SDU(Service Data Unit)에 제어 정보인 PCI(Protocol Control Information)을 덧붙임
      • PDU = SDU + PCI
      • PCI : 각 계층마다 별도로 정의
        • 대표적으로 송수신측의 주소 정보, 에러 제어 정보, 흐름 제어 정보

 

 

동등(peer-to-peer) 계층 간의 통신

  • N번째 계층에서 다른 시스템의 N번째 계층과 통신하기 위해서 상위계층의 메시지와 더불어 프로토콜 제어 정보 (PCI: Protocol Control Information)이용
  • 동등 프로세스: 임의 계층에서 상대편 동일 계층의 모듈과 통신하는 프로세스
  • ex) 2계층은 3계층에서 받은 데이터에 2계층의 헤더와 트레일러를 붙이고 1계층으로 내려 보냄
    • 각 계층은 헤더와 트레일러 형식으로 해당 계층에 필요한 정보를 전달
  • 캡슐화 과정(Encapsulation)

 

상하 계층 간의 통신

  • 송신 장치의 응용 계층으로부터 물리계층까지 데이터가 각 계층을 따라 전달되고 전달된 데이터는 수신 장치의 물리계층으로부터 응용 계층까지 거슬러 올라감
  • 서로 인접한 상하 계층간의 독립성 보장을 위해선, 각 계층의 인터페이스는 인접한 계층에 제공해야 하는 정보와 서비스를 명확하게 정의해야 함

  • PDU: 계층마다 SDUPCI를 덧붙임 → 데이터에 계층 고유의 헤더를 붙이는 것
  • IDU: 다음 계층에서해야 할 기능을 포함하는 ICI를 덧붙여 다음 계층으로 전달
  • SDU: N+1 에서 N, N-1로 투명하게 전달되는 상위 계층 데이터
  • PCI: 네트워크의 동등 계층으로 보내지는 정보 - 해당 계층에 어떤 서비스 기능을 수행하도록 지시하는 헤더
    • 어떤 서비스 기능을 수행하도록 지시하는 역할
    • 순서번호검사(SEQUENCE NUMBER), 에러 검사(error check), 압축 지시
  • PDU:** PCI + SDU
  • ICI: 서비스 기능을 호출하기 위해 N, N-1 계층 사이에 전달되는 임시 매개 변수
    • 다음 계층에서 수행되어야 하는 명령들을 제공
  • IDU: 계층 경계를 통과하여 전달되는 정보의 전체 단위

 

 

 


1. 물리 계층

  • 가장 하위 계층 - 상위 계층에서 내려온 데이터를 상대방까지 보낼 수 있도록 송신지와 목적지 간의 물리적 링크를 설정, 유지, 헤제하기 위한 물리적, 전기적, 기능적, 절차적인 특성을 규정
    1. 물리적 특성: DTE와 DCE 사이의 물리적 연결에 관한 사항 (커넥터, 핀배치 접속 규격 등)
    2. 전기적 특성: 전압 레벨, 전압 변화의 타이밍 결정
      • DTE와 DCE 모두 같은 코드를 사용해야 하고, 같은 전압 레벨 사용, 같은 길이의 신호 시간을 사용해야 함 → 거리와 데이터 전송속도가 결정됨
    3. 기능적 특성: 물리적으로 접속되는 두 장치 (DTE, DCE) 간의 상호작용에 쓰이는 각 회선에 의미를 부여 (데이터, 제어, 타이밍, 전기적 접지 등)
    4. 절차적 특성: 인터페이스의 기능적인 특징을 사용해 데이터 전송을 위한 사건의 순서 결정

 

역할

  • 데이터 링크 계층으로부터 한 단위의 데이터를 받아 통신 링크를 따라 전송 될 수 있는 형태로 변환
  • 비트의 흐름을 전자기, 광신호로 변환
  • 매체를 통해 신호를 전송하는 역할
  • PDU: Bits

 

고려 사항들

  • 신호: 단극형, 극형, 양극형과 같은 신호의 종류 결정
  • 부호화: 비트(0, 1)을 표현하는 신호 시스템을 결정
  • 회선구성: 두 개 이상의 장치들에 대한 물리적 연결방법을 제공
    • 점대점 방식
    • 다중점 방식
    • 전송회선의 공유 여부 및 사용 권한 설정
  • 접속형태: 트리형, 버스형, 링형, 성형, 메쉬형 등의 네트워크 토폴로지 - 네트워크 장치들의 배열 형태, 데이터 흐름에 관한 요소
  • 인터페이스: 두 장치 간에 공유하는 정보형태 결정
  • 전송매체: 데이터 전송을 위한 물리적 환경을 결정
    • 트위스티드 페어 케이블, 동축케이블, 광케이블 등의 유선 매체
    • 전자기 신호를 전송하는 무선매체

 


2. 데이터링크 계층

  • 이웃하고 있는 노드(컴퓨터, 라우터 등)뜰 간의 데이터 전송 담당
  • 상위 계층에서 내려온 3계층 데이터에 물리 주소와 다른 제어정보로 구성된 헤더를 앞부분, 뒷부분에는 트레일러(에러 검출 코드)를 덧붙임
  • PDU: Frame

 

역할

  • 데이터 동기 : 물리계층에서 전송되는 비트들의 경계 구분, 비트 식별
  • 노드 대 노드 전달: 이웃노드 간의 데이터 전송을 책임 (hop-by-hop 전송)
  • 주소지정: 헤더에 데이터를 마지막으로 보낸 송신자의 물리주소와 다음으로 수신할 물리주소 포함
  • 접근제어: 여러 시스템이 같은 링크에 연결되어 있을 때 특정 순간에 어느 시스템이 회선을 점유할지를 결정
  • 흐름제어: 수신측으로 전달되는 패킷의 양을 조절
    • 정지 대기 (stop-and-wait) 방식
    • 슬라이딩 윈도우 (sliding window) 방식
  • 에러제어: 에러 발생한 프레임을 검출하고 재전송/복원 방법을 포함
  • 동기화: 헤더는 프레임이 도착했음을 수신측에 알리기 위한 비트를 포함


3. 네트워크 계층

  • 네트워크의 연결을 관리, 유지, 헤제
  • 스위칭(switching): 네트워크 전송을 위해 물리 링크들을 임시적으로 연결해 더 긴 링크를 만드는 것
    • 패킷의 수신주소를 보자마자 정해진 방향으로 전송
    • ex) 전화 네트워크
  • 라우팅(routing) : 여러 경로를 이용할 수 있을 때, 패킷 전송을 위해 가장 좋은 경로를 선택
    • 각 패킷은 서로 다른 경로를 거쳐 전송 가능, 다시 모여 원래 순서대로 재결합
    • 라우팅 테이블을 찾아 알고리즘으로 최단 경로를 계산하여 전송 경로를 선택(스위칭보다는 동작 속도가 느림)

→ 논리 주소 : 최초 송신지와 최종 수신지의 주소 (전송 도중 변화 X)

 

 

역할

  • 패킷 전달
  • 논리 주소 지정: 송신지, 수신지의 네트워크(IP) 주소를 헤더에 포함하여 전송 (논리적 링크 구성)
  • 라우팅: 가장 적절한 전송경로 선택 (경로 배정 서비스)
  • 주소변환: 수신지의 네트워크(IP) 주소를 보고 다음으로 송신되는 노드의 물리주소를 찾음 (논리주소 → 물리주소)
  • 다중화: 하나의 데이터 회선을 사용해 동시에 많은 상위 프로토콜 간의 데이터 전송을 수행

데이터 전송

  • 서로 다른 네트워크에 속한 시스템 사이의 데이터 전송 과정
  • 논리주소(네트워크 주소) : 송신지로부터 목적지까지 변함없이 유지
  • 물리주소 : 한 시스템에서 다른 시스템으로 패킷이 이동될 때마다 변경

→ 라우터: 논리 주소를 기반으로 네트워크와 네트워크를 연결하여 물리주소 경로를 배정하는 기능 제공

 

 


4. 전송 계층

  • 전송계층을 기점으로, 하위계층(네트워크→데이터링크→물리 계층)과 상위계층(세션→표현→응용 계층)으로 네트워크 서비스와 사용자 서비스로 구별할 수 있다.
    • 네트워크 서비스: 내트워크 내에서 데이터 전달을 위한 경로 관리
    • 사용자 서비스: 이용자의 메시지 표현형식 등의 기능 제공
  • 두 서비스 간의 인터페이스 기능과 전체 메시지의 종단간(End-to-En) 전송 수행

 

역할

  • 종단간 전송: 송신 컴퓨터의 응용 프로세스에서 최종 수신 컴퓨터의 응용 프로세스로의 전달
    • 네트워크 계층: 전달해야 할 컴퓨터에 각 패킷을 이웃하는 네트워크로 전달
    • 전체 메시즈를 수신 컴퓨터의 응용 프로세스에 전달
    • 헤더: 포트주소, 소켓주소 - 서비스 지점 주소 포함 (포트주소&순서번호)
  • 서비스 지점(포트) 주소 지정: 송신지 응용프로그램의 포트번호와 수신지 응용 프로세스의 포트번호 헤더에 넣어 전송
  • 분할/재조합 : 송신하려는 데이터를 전송 가능한 크기로 나누고(segmentation), 세그먼트에 순서번호(sequence number)을 첨부
  • 흐름제어: 종단과 종단간의 흐름제어
  • 오류제어: 오류 발생한 세그먼트 처리 담당
  • 연결제어: 양 끝단의 포트 사이에 메시지를 구성하는 전체 패킷들에 대한 송신지와 목적지 사이의 논리적인 통로인 연결을 설정하는 기능 수행

 

  • P: 송신측 응용 프로세스의 서비스 포트 주소
  • Q: 수신측 응용 프로세스의 서비트 주소
  • 송신 포트주소와 수신 포트주소 P, Q 그리고 순서번호를 추가하여 세그먼트 단위로 분할하고 네트워크 계층으로 내려 보냄

 


5. 세션 계층

  • 특정한 프로세들 사이에서 세션이라 불리는 가상연결을 확립, 유지, 동기화 기능 제공
    • 프로세스: 응용 프로그램
    • 두 프로세스가 대화하기 원할 때, 대화의 흐름이 원활이 이루어지도록 동기 기능 제공
      • 전이중, 반이중 전송과 같은 데이터 전송방향 결정

역할

  • 세션 관리: 프로세스 사이의 세션 연결 및 관리
  • 동기화: 데이터 단위를 전송계층으로 전송하기 위한 순서를 결정하고, 데이터에 대한 중간 점검 및 복구를 위한 동기점 제공
  • 대화 제어: 반이중 또는 전이중 대화 등을 결정
  • 원활한 종료: 적절한 시간을 수신측에 알려주어 세션을 끊음
  • 데이터 전송 방식: 두 장치 간의 연결 전송 방향을 정함 (단방향, 반이중, 전이중 등)
  • 표현계층으로부터 받은 데이터를 효율적인 세션 관리를 위해 짧은 데이터 단위로 나눈 후, 전송 계층으로 내려 보냄

 

 


6. 표현 계층

  • 송수신자가 공통으로 이해할 수 있도록 데이터 표현방식을 바꾸는 기능
  • PDU 필드 내의 비트들의 구조화 방식을 정의, 두 응용 프로그램의 구문 협상(ASCII, EBCDIC 코드), 데이터 형식 정의(정수, 실수, 8진수 등)

역할

  • 변환: 수신자가 해석 가능하도록 미리 정의된 형식으로 변환
  • 암호화: 암호화, 복호화로 데이터의 보안성 제공
  • 압축: 송신측에서는 데이터의 압축을 통해 전송률 증가, 수신측에서는 압축 해제
  • 보안: 패스워드, 로그인 코드로 보안 기능 수행

 


7. 응용 계층

  • 응용 프로세스가 네트워크 환경에 접근하는 수단을 제공
  • 네트워크 관리 기능, 범용 응용 서비스 기능 포함
    • X.400 : 전자우편에 관한 표준
    • X.500 : 디렉토리 서비스
    • FTAM: 이기종 컴퓨터 간 파일 전송, 파일 접근, 생성 삭제 등의 관리 기능

역할

  • 네트워크 가상 터미널: 로컬에서 원격 시스템으로 로그인 가능케함
  • 파일 접근, 전송 및 관리: 로컬에서 원격 시스템의 파일을 관리, 제어
  • 우편 서비스
  • 디렉토리 비스: 분산 DB 자원들과가 다양한 객체, 서비스 모델에 대한 접근 방법 제공
728x90
반응형

'# CS Study > Network' 카테고리의 다른 글

[네트워크] 컴퓨터 네트워크 개요  (0) 2022.08.22
Comments