공부용 블로그

Protocol_6주차_OSI 7계층 본문

설계/Protocol

Protocol_6주차_OSI 7계층

tomato212 2018. 7. 10. 18:49

[OSI 7계층]


1. 정의


국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신계층으로 나누어 설명


2. 역사

1970년대 말에, 한 프로젝트가 국제 표준화 기구(ISO)에 의해 관리되고 있었고 다른 하나는 국제 전신 자문 위원회(International Telegraph and Telephone Consultative Committee)에 의해 관리되었다. 이 두 개의 국제 표준 기구들은 각각 비슷한 네트워킹 모델을 정의해놓은 문서를 만들었다.

1983년에 이 두 문서들은 개방형 시스템 상호 연결을 위한 기초 참조 모델(The Basic Reference Model for Open Systems Interconnection)이라는 이름의 표준을 만들기 위해 병합되었다. 이 표준은 보통 OSI 참조 모델(Open Systems Interconnection Reference Model)로 불렸다. 1984년에 ISO가 표준 ISO 7498라는 이름으로 출판하였고, CCITT(현재의 ITU-T)는 표준 X.200으로 출판하였다.

OSI는 기초 참조 모델로 불리는 추상형 네트워킹 모델(abstract model of networking), 그리고 특정한 프로토콜들의 집합, 이렇게 2가지 주된 구성 요소가 있다.

7계층 모델의 개념은 허니웰 인포메이션 서비스(Honeywell Information Services)의 찰스 바크만의 노고에 의해서 탄생하였다. 다양한 관점의 OSI 디자인은 ARPANET, NPLNET, EIN, CYCLADES 네트워크, 그리고 IFIP 2G6.1의 작업의 경험에서 발전하였다. 새로운 디자인이 ISO 7498 및 여러 부록을 통해 문서화되었다. 이 모델에서 네트워킹 시스템은 여러 계층으로 분리되었다. 각 레이어마다 하나 이상의 엔티티가 기능을 구현하고 있다. 각 엔티티는 자신 아래의 계층과만 통신하며 위의 계층에서 사용할 수 있는 기능을 제공하였다.



3. 목적

이 모델은 프로토콜을 기능별로 나눈 것이다. 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공한다. '프로토콜 스택' 혹은 '스택'은 이러한 계층들로 구성되는 프로토콜 시스템이 구현된 시스템을 가리키는데, 프로토콜 스택은 하드웨어나 소프트웨어 혹은 둘의 혼합으로 구현될 수 있다. 일반적으로 하위 계층들은 하드웨어로, 상위 계층들은 소프트웨어로 구현된다


4. OSI 계층 모델 설명

N-1 : 물리적 ...=>  N-7 : 응용계층


각 레벨 N 에서, 통신 장치 (계층 N 피어 ) 의 두 엔티티는 계층 N 프로토콜을 통해 프로토콜 데이터 단위 (PDU)를 교환 합니다 . 각 PDU에는 프로토콜 관련 머리글 또는 바닥 글과 함께 서비스 데이터 단위 (SDU) 라고하는 페이로드가 포함되어 있습니다 .

통신하는 두 OSI 호환 장치의 데이터 처리는 다음과 같이 수행됩니다.

  1. 전송되는 데이터는 전송 장치 (계층 N ) 의 최상위 계층 에서 프로토콜 데이터 유닛 ( PDU )으로 구성됩니다.
  2. PDU는 계층에 전달되는 N-1 , 그것이라고도 서비스 데이터 유닛 ( SDU를 ).
  3. 계층 N-1 에서 SDU 는 계층 N-1 PDU를 생성하는 머리글, 바닥 글 또는 둘 다로 연결 됩니다 그런 다음 레이어 N-2 로 전달됩니다 .
  4. 이 프로세스는 데이터가 수신 장치로 전송되는 최하위 레벨에 도달 할 때까지 계속됩니다.
  5. 수신 장치에서 데이터는 마지막 데이터가 소비되는 최상위 계층에 도달 할 때까지 각 계층의 머리글 또는 바닥 글에서 연속적으로 제거되는 동안 일련의 SDU 로 최하위 계층에서 최상위 계층으로 전달됩니다.


----------------------------------------------------------------------------------------------------------------------------------------------


(1) 물리적 계층

물리적 매체에서 구조화되지 않은 원시 데이터의 전송 및 수신을 담당합니다. 비트 전송률제어는 물리 계층에서 수행됩니다. 이 같은 전송 모드 정의 할 수 있습니다 단방향 , 반이중 및 전이중 . 가장 일반적인 버스 , 메시 또는  으로 네트워크 토폴로지 를 정의합니다 .

물리 계층은 일부 허브 , 케이블 링 및 중계기 와 같은 하위 수준 네트워킹 장비의 계층입니다 물리 계층은 프로토콜 또는 기타 상위 계층 항목과 관련이 없습니다. 이 계층의 하드웨어의 예로는 네트워크 어댑터, 중계기, 네트워크 허브, 모뎀 및 광섬유 미디어 변환기가 있습니다.


----------------------------------------------------------------------------------------------------------------------------------------------


(2) 데이터 링크


*이더넷의 구조


 이더넷은 OSI 7계층에서 1, 2계층인 물리계층, 데이터링크 계층에 해당된다. 데이터링크 계층은 2개의 서브레이어로 나뉘는데 상부의 LLC(Logical Link Control)와 하부의 MAC(Media Access Control)이다. 이더넷은 MAC과 물리계층을 규정하는 표준이며, LLC는 1, 2계층의 종류에 관계없이 3계층에 공통적인 논리 인터페이스를 제공하기 위해 존재한다.

 


 *데이터링크 계층

 - MAC : IEEE 802.3 표준에서 규정되며, 다중점에서의 매체접근을 제어한다. 이더넷에서는 CSMA/CD 방식을 사용한다. 그 외 토큰 버스(802.4)와 토큰 링(802.5) 방식에서는 토큰 통과(Token Passing) 방식이 사용된다.

 - LLC : IEEE 802.2 표준으로 규정되며, 하부의 MAC 부계층과 3계층(네트워크 계층)과의 접속을 담당한다. 링크를 통한 데이터 교환 절차를 규정하여 다양한 MAC 방식 간의 차이를 보완하는 역할을 한다. 또한 오류제어를 통해 신뢰성을 확보한다.



  • 물리 계층을 이용하여 장치간 데이터 전송
  • 링크의 확립/유지/단절 기능
주소 할당하여 올바른 장치로 전송되게 함
  • 물리 계층의 오류를 발견/수정 기능
  • OSI 7계층 중 2층

물리 계층(1층)과 네트워크 계층(3층) 사이

데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공한다. 주소 값은 물리적으로 할당 받는데, 이는 네트워크 카드가 만들어질 때부터 맥 주소(MAC address)가 정해져 있다는 뜻이다. 주소 체계는 계층이 없는 단일 구조이다. 데이터 링크 계층의 가장 잘 알려진 예는 이더넷이다. 이 외에도 HDLC나 ADCCP 같은 포인트 투 포인트(point-to-point) 프로토콜이나 패킷 스위칭 네트워크나 LLC, ALOHA 같은 근거리 네트워크용 프로토콜이 있다. 네트워크 브릿지나 스위치 등이 이 계층에서 동작하며, 직접 이어진 곳에만 연결할 수 있다.

  • 프레임에 주소부여(MAC - 물리적주소)
  • 에러검출/재전송/흐름제어

1 MAC[편집]

2 MAC 주소[편집]

  • 물리 네트워크 주소
  • NIC(랜카드:외부와 데이터를 주고 받을 수 있게 컴퓨터 내에 설치하는 확장카드)에 부여된 고유식별자[1]
  • NIC에 고유하게 부여되는 물리적 주소 체계
  • 편지를 주거나 받을 때 작성하는 집 주소
  • IP주소와 더불어 IP주소를 MAC으로 전환하는 절차 필요 (ARP)
  • 네트워크에 연결되는 모든 장비들을 48비트의 이 주소값을 가짐

3 예시[편집]

  • 00-70-69-47-2F-30
  • 00:70:69:47:2F:30
  • 0070.6947.2F30

----------------------------------------------------------------------------------------------------------------------------------------------


(3) 네트워크 계층


네트워크 계층(Network layer)은 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다. 네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행한다. 라우터가 이 계층에서 동작하고 이 계층에서 동작하는 스위치도 있다. 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층이다. 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다.

서브네트의 최상위 계층으로 경로를 설정하고, 청구 정보를 관리한다. 개방형 시스템들의 사이에서 네트워크 연결을 설정, 유지, 해제하는 기능을 부여하고, 전송 계층 사이에 네트워크 서비스 데이터 유닛(NSDU : Network Service Data Unit)을 교환하는 기능을 제공한다.


  • 주소부여(IP)
  • 경로설정(Route)

----------------------------------------------------------------------------------------------------------------------------------------------


(4) 전송 계층


전송 계층(Transport layer)은 양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다. 시퀀스 넘버 기반의 오류 제어 방식을 사용한다. 전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 연결 기반(connection oriented)이다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다. 가장 잘 알려진 전송 계층의 예는 TCP이다.

종단간(end-to-end) 통신을 다루는 최하위 계층으로 종단간 신뢰성 있고 효율적인 데이터를 전송하며, 기능은 오류검출 및 복구와 흐름제어, 중복검사 등을 수행한다.

  • 패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control)


전송 계층을 시각화하는 쉬운 방법은 우편 및 발송 된 발송물의 발송 및 분류를 다루는 우체국과이를 비교하는 것입니다. 우체국은 배달을 결정하기 위해 메일의 외부 봉투 만 검사합니다. 상위 계층은 수취인만 읽을 수있는 암호화 프리젠테이션 서비스와 같이 이중 엔벨로프와 동일한 기능을 수행 할 수 있습니다. 


----------------------------------------------------------------------------------------------------------------------------------------------


(5) 세션 계층


세션 계층(Session layer)은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다. 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다.

통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다.

  • 통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)

----------------------------------------------------------------------------------------------------------------------------------------------


(6) 표현 계층


표현 계층(Presentation layer)은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다. 예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것이 표현 계층의 몫이다.

  • 사용자의 명령어를 완성및 결과 표현.
  • 포장/압축/암호화


----------------------------------------------------------------------------------------------------------------------------------------------


(7) 응용 계층


응용 계층(Application layer)은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다. 응용 서비스의 예로, 가상 터미널(예를 들어, 텔넷), "Job transfer and Manipulation protocol" (JTM, 표준 ISO/IEC 8832) 등이 있다.

  • 네트워크 소프트웨어 UI 부분
  • 사용자의 입출력(I/O)부분

----------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------------------------