본문 바로가기

정보보안

OSI 7계층

반응형

네트워크를 공부하면서 가장 기본적인 내용이자 늘 헷갈리는 그것 OSI 7 계층에 대해 좀 더 쉽게 알아보도록 하겠습니다. 위키피디아를 보게 되면 설명이 나와있지만 정말 이해가 안 되는 설명이 아닐까라 생각합니다. 위키피디아에 나오는 설명을 바탕으로 조금 더 쉽게 이해하고자 합니다. 

 

 

 

 

이메일을 송신하고 수신하는 과정을 예를 들어 설명해 보겠습니다. 송신자 A는 크롬을 켜 구글의 본인 계정으로 접속해 수신자 B에게 몇백자의 메시지가 포함된 약 500byte 크기의 메일을 전송했습니다. 이 데이터는 7 계층 이서 1 계층으로 각 단계를 거쳐 수신자에게 전송되며 다시 1 계층에서 7 계층의 단계를 거쳐 최종적으로 수신자는 이메일을 확인할 수 있게 됩니다. 

 

이 과정을 위키피디아의 내용을 토대로 살펴 보겠습니다. 

계층 7: 응용 계층

응용 프로세스와 직접 관계하여 (크롬이라는 웹클라이언트에 접속해) 일반적인 응용 서비스를 수행한다. (HTTP - 웹 상에서 데이터 전송을 위한 프로토콜 , SMTP - 메일을 송수신하기 위한 프로토콜)

 

네트워크 소프트웨어 UI 부분 - 우리는 웹에 접속하기 위해 익스플로러, 크롬, 사파리 등의 응용 프로그램을 이용합니다. 이러한 응용 프로그램은 UI(유저 인터페이스) 로서 사용자에게 다양한 편의를 제공합니다. 

사용자의 입출력(I/O) 부분 - 메일의 내용을 쓰거나 주소창에 "google.com"을 입력하는 것 마우스로 버튼을 클릭해 해당 링크로 접속케 하는 행위입니다. 

 

정리하자면 전송된 메일이나 사진 동영상등이 크롬이나 사파리 등 응용프로그램을 통해 사용자가 눈으로 확인할 수 있는 과정이며 이 데이터들은 해당되는 프로토콜(HTTP, FTP, SMTP 등)에 의해 처리됩니다. 

 

이제 송신 된 메일의 데이터는 7 계층에서 관련 정보를 포함하고 있는 헤더를 포함해 6 계층으로 내려가겠습니다. 

 

계층 6: 표현 계층.

코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담 을 응용 계층으로부터 덜어 준다. 예를 들어 리포트를 작성하고 워드 파일을 교수님이나 친구에게 보냈는데 워드 파일 안 내용이 쀍?? 쀎?? 쀓??? 이렇게 나타나는 경우를 볼 수 있습니다. 다른 응용 프로그램을 쓰거나 또는 버전의 차이로 인해 이런 일이 발생할 수 있는데 이런 사태가 발생하지 않는 역할을 합니다. 

 

송신자가 수신자에게 "안녕하세요. 반갑습니다" 라는 메시지를 보낼 때 이 문자는 어떻게 수신자에게 전송될까요? 'ㅇ' 보내지고 'ㅏ' 보내고 'ㄴ' 보내고 이렇게 모음 자음 하나씩 보내게 되진 않습니다. 약 20 byte 크기의 이 문장은 암호화, 압축이 되어 보내지게 되고 수신자는 다시 복호화 또는 압축을 풀어야 송신자가 보내온 그 문장이 나타나게 됩니다. 

 

정리하자면 송신자가 보낸 텍스트, 사진, 파일등이 송수신자 간 서로 다른 환경을 거치더라도 왜곡되지 않고 제대로 나타낼 수 있는 역할을 합니다. 

 

계층 5: 세션 계층

양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다. - TCP/IP 로 연결된 양 끝단의 통신 방법 예를 들어 송신하면서 동시에 수신받을 수 있거나 송신 중에는 수신을 받지 못하거나 하는 (동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신)  또는 언제까지 연결을 지속할지 연결이 예기치 않게 끊겼을 때 다시 복구하는 과정에 대한 역할을 하게 됩니다. 

 

서로 연결된 기기간 서로의 약속을 정하는 과정입니다. 연결을 얼마나 지속할 건지 만약 장애가 오거나 한쪽에서 응답이 없을 경우에는 어떻게 할건지 또는 통신방법(동시 송수신 방식, 반이중 방식 등)을 정하게 됩니다. 

 

계층 4: 전송 계층

양 끝단(End to end)의 사용자들이 신뢰성있는 데이터를 주고받을 수 있도록 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다. 시퀀스 넘버 기반의 오류 제어 방식을 사용한다. 

 

7 계층 응용 프로그램 크롬을 통해 보내진 이메일이 6 계층에서 압축되고 코딩되어 5 계층에서 수신자와의 연결을 설정했습니다. 이 4 계층에서는 수신자가 데이터를 전달받게 될 때 연결의 일시적 장애 또는 예상치 못한 문제로 데이터중 일부가 훼손되거나 수신받지 못할 경우 해당 데이터를 다시 한번 송신해 주어 오류 없는 완벽한 데이터를 받을 수 있도록 보장해주는 역할을 합니다. 

 

계층 3: 네트워크 계층

여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다. 

 

 

출발지에서 목적지까지의 최적의 경로를 찾는 역할이 3 계층의 기능입니다. 그와 동시에 서비스품질을 충족시키기 위한 기능을 합니다. 예를 들어 최적의 경로를 찾았지만 그 경로에서 트래픽의 부하가 생길시 흐름제어를 통해 최적의 상태를 유지시켜 줍니다. 

 

간단히 말해 가장 빠르고 가장 효율적인 경로를 탐색하는 것이 3계층의 역할입니다. 그리고 IP 주소를 부여하는 것 역시 3계층의 기능입니다. IP 주소는 인터넷이 가능한 장비의 주소로서 이 주소를 알아야 데이터가 어디로 가야 할지를 알 수 있습니다. 

 

 

계층 2: 데이터 링크 계층

데이터 링크 계층(Data link layer)은 포인트 투 포인트(Point to Point) 간 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 

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

3 계층에서 IP 주소를 알더라도 MAC 주소를 모르면 데이터를 전송할 수 없습니다. 그렇기 때문에 모든 랜카드는 고유의 MAC 주소를 가지고 있으며 IP 주소와 대응되는 물리적 MAC 주소를 통해 목적지를 알 수 있습니다. 그리고 2 계층에서는 1 계층의 비트의 전송에 대한 에러를 점검해 재전송하고 트래픽의 원활한 흐름을 제어합니다. 

 

계층 1: 물리 계층

물리 계층(Physical layer)은 네트워크의 기본 네트워크 하드웨어 전송 기술을 이룬다. 네트워크의 높은 수준의 기능의 논리 데이터 구조를 기초로 하는 필수 계층이다. 다양한 특징의 하드웨어 기술이 접목되어 있기에 OSI 아키텍처에서 가장 복잡한 계층으로 간주된다.

 

단말장치에 케이블을 꽂아 이 케이블을 통해 데이터를 전송하는 기능입니다. 

 

다시 한번 정리하자면

7 계층 - 송신자가 응용 프로그램 크롬을 통해 이메일을 수신자에게 보냅니다. 

6 계층 - 이메일 안의 텍스트나 사진, 파일들이 압축되거나 암호화됩니다. 

5 계층 - 송신자와 수신자 간 연결을 설정합니다. (서로 연결에 대한 정책과 방법을 합의합니다.)

4 계층 - 데이터를 전송하며 전송 또는 수신이 안되거나 훼손된 데이터를 다시 송신해 오류 없는 완벽한 데이터를 받을 수 있게 해 줍니다. 

3 계층 - 출발지와 목적지의 주소를 부여하고 최적의 경로를 찾습니다.

2 계층 - IP 주소를 통해 목적지 또는 출발지의 물리적 주소를 찾습니다. 데이터의 전송의 에러를 검출합니다.

1 계층 - 데이터가 주고받을 수 있도록 출발지와 목적지간 케이블선을 연결합니다. 

 

반응형