OSI 모델 OSI 모델의 개념과 필요성 OSI 모델의 데이터 전송 과정 OSI 모델 7계층 한빛미디어(주)
ISO와 OSI ISO 1947년에 설립된 국제 표준을 제정하는 다국적 기관 International Organization for Standardization 1947년에 설립된 국제 표준을 제정하는 다국적 기관 이기종 컴퓨터간의 통신기능을 7계층으로 구분하여 각 계층마다 표준화된 서비스와 프로토콜을 규정 OSI Open System Interconnection 이기종 컴퓨터 간의 통신 시 네트워크 구조에 상관없이(개방형) 통신을 할 수 있도록 국제 표준인 OSI(개방 시스템 상호연결) 모델을 제안 OSI 모델의 목적은 기본적인 하드웨어와 소프트웨어의 논리적인 변경 없이 시스템간의 통신을 개방하는 것 각각 특정 기능을 수행하는 7개의 서로 다른 계층으로 물리(1계층), 데이터 링크(2계층), 네트워크(3계층), 전송(4계층), 세션(5계층), 표현(6계층), 응용(7계층)으로 구성
계층의 구성 헤더 데이터 단위 각 계층의 헤더에는 각 계층의 기능과 관련된 정보가 포함됨 송신측은 헤더를 생성하여 추가하고, 수신측의 해당 계층이 이 헤더 사용 데이터 단위 데이터를 전송하기 위해서 데이터에 헤더와 트레일러를 붙여 전송하는 데이터를 전송하는 기본 단위 상위 계층에서 전송을 원하는 데이터인 SDU(Service Data Unit)에 제어 정보인 PCI(Protocol Control Information)을 추가한 것 제어 정보에는 흐름 제어 정보, 에러 제어 정보, 주소 정보 등이 포함 서비스 데이터 단위(SDU) 상위 계층 혹은 하위 계층 사이에 주고받는 것 프로토콜 데이터 단위(PDU) 같은 계층 사이에서 주고받는 것
OSI 모델의 데이터 전송 우편 배달 업무와의 비교 [그림 2-3] OSI 모델에서의 데이터 전송(송신측)
[그림 2-4] OSI 모델에서의 데이터 전송(수신측)
우편 배달 업무와의 비교 [그림 2-5] 이기종 시스템 간의 데이터 전송
물리 계층(Physical Layer) - 1 계층 정의 및 특성 두 시스템 간의 데이터 전송을 위해 링크를 활성화하고 관리하기 위한 기계적, 전기적, 기능적, 절차적 특성 등을 정의 허브, 라우터, 네트워크 카드, 케이블 등의 전송매체를 통해 비트(Bit)들을 전송 상위 계층인 데이터링크 계층에서 형성된 데이터 패킷을 전기신호 또는 광신호로 변환하여 송수신 OSI 모델의 최하위 계층에 속하며, 상위 계층에서 전송된 데이터를 물리 매체를 통해 다른 시스템에 전기적 신호를 전송 랜카드, 케이블, 허브, 라우터와 같은 물리적인 것과 데이터 전송을 위해 사용하는 전압이 물리 계층에 속함 [그림 2-6] 물리 계층
기계적 특성 전기적 특성 기능적 특성 절차적 특성 시스템과 주변장치를 연결하기 위한 정의 물리적 접속을 위한 커넥터의 모양, 내부의 핀 수, 각 핀의 위치 전기적 특성 두 시스템간 상호 접속 회로의 전기적인 특성을 정의 출력 전압, 전원 전압, 2진수의 논리적 표현 기능적 특성 상호 접속 회로의 기능을 정의 데이터, 제어, 타이밍, 접지 및 절차 정의 절차적 특성 데이터 전송을 위한 순서를 정의 동작 종료의 절차, 물리 연결의 활성화, 비활성화
데이터 단위 전송 송신측 : 데이터링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)를 받아 전기적 신호로 변환한 후 전송 매체를 통하여 수신측에게 보냄 수신측 : 송신측으로부터 받은 전기 신호를 0과 1로 구성된 비트열로 복원하여 수신측의 데이터링크 계층에 전송 우편 배달 업무와의 비교: 어떤 운송수단을 사용하는지 [그림 2-7] 물리 계층의 데이터 단위 전송
데이터 링크 계층(Data Link Layer) - 2 계층 정의 및 특성 물리적 링크를 통해 데이터를 신뢰성 있게 전송하는 계층 하위 계층에 속하며 물리 계층의 바로 위에 위치 네트워크를 통해서 데이터가 전송될 때 전송로 역할을 함 비트들을 프레임(Frame)이라는 논리적 단위로 구성 전송하려는 데이터에 인접하는 노드(시스템)의 주소가 더해짐 이 주소는 최종 수신지의 주소가 아니라 전송되는 다음 노드의 주소가 됨 시스템 간에 오류 없는 데이터 전송을 위하여 네트워크 계층에서 받은 데이터 단위(패킷)를 프레임으로 구성하여 물리 계층으로 전송 [그림 2-8] 데이터 링크 계층
데이터 단위 전송 네트워크 계층으로부터 데이터 단위를 받아서 주소와 제어정보 같은 의미 있는 비트들을 헤더와 트레일러에 추가 네트워크 계층으로부터 데이터 단위를 받아서 주소와 제어정보 같은 의미 있는 비트들을 헤더와 트레일러에 추가 이처럼 추가적인 정보를 가지고 있는 데이터를 프레임(Frame)이라고 함 우편 배달 업무와의 비교: 우편배달부의 업무 [그림 2-9] 데이터링크 계층의 데이터 단위 전송
네트워크 계층(Network Layer) - 3 계층 정의 및 특성 패킷을 송신측으로부터 수신측으로 전송 상위 계층에 연결하는 데 필요한 데이터 전송과 경로 선택 기능을 제공 라우팅 프로토콜을 사용하여 최적의 경로를 선택 데이터가 전송될 수신측의 주소를 찾고 수신된 데이터의 주소를 확인하여 내 것이면 전송 계층으로 전송 데이터를 패킷(Packet) 단위로 분할하여 전송한 후 재결합 데이터 링크 계층이 인접하는 두 개의 노드 간의 전송을 담당하는 반면, 네트워크 계층은 각 패킷이 송신지에서부터 최종 수신지까지 정확하게 전송되도록 경로를 책임짐 우편 배달 업무와의 비교: 송수신자의 주소 입력 [그림 2-10] 네트워크 계층
네트워크 계층 제공 서비스 스위칭 : 네트워크 전송을 위해 물리 링크들을 임시적으로 연결하여 보다 긴 링크를 만드는 것 라우팅 : 송신지에서 수신지로 패킷을 보낼 때 다양한 경로 중에서 가장 좋은 경로를 선택하는 것을 의미 데이터 단위 전송 [그림 2-11] 네트워크 계층의 데이터 단위 전송
전송 계층(Transport layer) - 4 계층 정의 및 특성 프로토콜(TCP, SPX 등)과 관련된 계층으로, 오류 복구, 흐름 제어 담당 두 시스템간의 신뢰성 있는 데이터 전송을 보장 시스템 종단 간에 투명한 데이터 전송을 양방향으로 행하는 계층 네이버의 웹 서버까지 많은 장비들을 통과할 때 실제 물리 계층, 데이터링크 계층, 네트워크 계층까지만 해당되고, 서버에 도착한 후로는 웹서버가 특정 경로로 통신을 함(TCP 80) 송신측 : 데이터를 패킷으로 분할 수신측: 다시 결합하여 순서대로 재조립 즉, 2개의 프로세스 간의 데이터 전송을 위해 세션 계층에서 받은 데이터를 패킷 단위로 분할하여 네트워크 계층으로 전송 우편 배달 업무와의 비교: 많은 이삿짐을 나누어 배달 [그림 2-12] 전송 계층
데이터 단위 전송 데이터 헤더에는 포트 주소 또는 소켓(Socket) 주소를 포함 헤더에는 순서 혹은 세그먼트 번호가 포함 전송 계층이 세션 계층으로부터 온 데이터를 수신할 때, 데이터를 전송할 수 있는 세그먼트로 나누고 수신측에서 수신자가 재조립할 수 있도록 순서를 헤더에 표시 네트워크 계층은 전송해야 하는 시스템에게 각 패킷을 전송하는 일을 하고, 전송 계층은 해당 시스템의 응용 프로그램에게 모든 데이터를 전송하는 역할을 함
[그림 2-13] 전송 계층의 데이터 단위 전송
세션 계층(Session Layer) - 5 계층 정의 및 특성 응용 프로그램 계층 간의 통신에 대한 제어 구조를 제공하기 위해 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료시켜주는 역할을 함 통신 장치들 간의 설정을 유지하며 동기화함. 데이터의 단위(메시지)를 전송 계층으로 전송할 순서를 결정하고, 데이터에 대한 점검 및 복구를 위해 동기를 위한 위치(Synchronization Point)를 제공 세션을 종료할 필요가 있을 때 적절한 시간을 수신자에게 알려준다. 우편 배달 업무와의 비교: 주요 고객에 대한 차별화된, 지속적인 서비스 [그림 2-14] 세션 계층
데이터 단위 전송 [그림 2-15] 세션 계층의 데이터 단위 전송
표현 계층(Presentation Layer) - 6 계층 정의 및 특성 송신측과 수신측 사이에서 표준화된 데이터의 형식에 대해 규정 이미지가 bmp인지, jpg인지, 압축이 되었는지 등의 표현과 관련된 구분 데이터 표현 차이를 해결하기 위해 서로 다른 형식을 변환해주거나 공통 형식을 제공하는 계층 송신측 :수신측에 맞는 형태로 변환(아스키 코드 => EBCDIC) 수신측 : 응용 계층에 맞는 형태로 변환 두 시스템 간에 서로 다르게 사용하는 문자 및 그래픽 문자 등을 위해 번역을 수행하여 전송 데이터를 서로 이해할 수 있도록 함 보안을 위하여 송신측에서 암호화하고 수신측에서 복호화하며, 전송률을 높이기 위하여 데이터를 압축 우편 배달 업무와의 비교: 배송을 위한 패키지 작업 [그림 2-16] 표현 계층
데이터 단위 전송 [그림 2-17] 표현 계층의 데이터 단위 전송
응용 계층(Application Layer) - 7 계층 정의 및 특성 파일 전송, DB, 원격 접속, 메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할을 담당, 여러 가지 서비스를 제공 전송에 사용되는 FTP, E-mail 전송에 사용되는 SMTP, POP3, 브라우저를 사용해서 웹 서버에 접속할 때 사용하는 HTTP 등 실제 응용 프로그램에서 사용하는 프로토콜들이 응용 계층에 해당 사용자로부터 정보를 입력받아 하위 계층으로 전달하고 하위 계층에서 전송한 데이터를 사용자에게 전달 OSI 모델의 최상위 계층에 속하며, 실제 통신의 최종 목표에 해당하는 가장 중요한 계층 응용 프로세스(사용자, 응용 프로그램)가 네트워크에 접근하는 수단을 제공하여 서로 간에 데이터를 교환할 수 있는 창구 역할을 함 우편 배달 업무와의 비교: 수신지의 누구에게 보내는지 [그림 2-18] 응용 계층
데이터 단위 전송 [그림 2-19] 응용 계층의 데이터 단위 전송