OSI 7계층에 대해서 알아봅시다.
> personal/College

OSI 7계층에 대해서 알아봅시다.

728x90
반응형

OSI 7 계층이란, 네트워크 통신이 일어나는 과정을 7개의 단계로 나눈 것입니다.

 

OSI 7 계층을 나누는 이유?

통신 과정을 단계별로 파악할 수 있고, 무엇보다 사용자가 보기에 이해하기 쉬우며, 각 단계에서 문제가 생길 경우, 모든 계층을 건드리지 않고, 문제가 생긴 그 부분(계층)만 건드려서 고칠 수 있기 때문입니다.

 

사진 출처 - jaeri.tistory.com/2

1. 물리 계층

물리계층에서는, 전기/기계/기능 적인 특성을 통해, 케이블로 데이터를 전송하게 됩니다.

즉, 1과 0으로 통신을 하는 전기적인 상태라고 볼 수 있습니다.

 

여기서는 단순히 데이터를 전달하는 것만을 의미하며, 전송(또는 내가 전송받는)하는 데이터가 무엇이고, 오류가 있는지에 대해서 관여하지 않습니다.

 

단순히 전기적 신호로 변환해서 주고받는 기능만 수행합니다.

 

2. 데이터 링크 계층

데이터 링크 계층에서는, 1계층(물리계층)을 통해 송/수신된 정보의 오류와 흐름에 관여하여, 안전한 정보 전달을 수행할 수 있도록 하는 역할을 합니다.

또한, 물리 계층에서 발생할 수 있는 오류를 검출하고, 수정하는데 필요한 기능적, 절차적 수단을 제공합니다.

 

데이터 링크 계층에서의 전송 단위는 프레임 이라고 하며, MAC 주소를 사용합니다.

 

3. 네트워크 계층

네트워크 계층에서는 라우팅에 관여합니다.

라우팅이란, 데이터를 목적지까지 안전하고 빠르게 전달하는 기능을 말합니다.

이 계층에서는, 데이터를 전송할 경로를 선택하고, 해당 경로에 따라 패킷을 전달해 주는것(라우터 사용)이 이 계층의 역할이라고 할 수 있습니다.

 

데이터를 연결하는 다른 네트워크를 통해 데이터를 송/수신 하면서, 인터넷이 되도록 하는거라고 볼 수 있습니다.

여기서 사용되는게 논리적인 주소 IP입니다.

 

 

4. 전송 계층

전송 계층에서는, 통신을 활성화하기 위한 계층이라고 볼 수 있습니다.

대부분은 TCP(Transmission Control Protocol)를 사용하며, 포트를 개방하여 응용프로그램들이 송/수신을 할 수 있게 합니다.

 

TCP(혹은 UDP)로 데이터를 받아, 하나로 합쳐서 다음계층(세션계층)으로 전달합니다.

전송계층에서는 서로 연결되어있는 끝부분 사용자들(End to end)이 신뢰성있는 데이터 송/수신을 제공하며, 상위 계층에서의 데이터 전달 유효성/효율성을 고려하지 않도록 해줍니다. 시퀀스 넘버 기반으로 오류를 제어합니다.

 

여기서 간단하게 TCP와 UDP의 차이를 알아봅시다.

 

TCP(Transmission Control Protocol)

 - 패킷 손실, 중복, 순서바뀜이 없음을 보장합니다 (신뢰성)

 - TCP는 연결관리를 통해 연결설정이 필요합니다. 연결하기, 끊기가 가능하다는 말입니다. (연결성)

 

UDP(User Datagram Protocol)

 - 데이터를 전송했을때, 제대로 도착했는지, 순서가 올바른지, 중복인지 확인하지 않습니다. (신뢰성 X)

 - 논리적인 가상회선 연결이 필요 없습니다 (연결성 X)

 - 빠른 요청/응답이 필요할 경우 적합합니다.

 - 다수에게 연결할 수 있습니다.

 - 헤더가 단순하여, 헤더 처리에 많은 시간과 노력을 필요로 하지 않습니다.

5. 세션 계층

세션이란, 데이터가 통신하기 위한 논리적 연결을 말합니다.

물론 4계층(전송계층)에서도 연결 및 연결해제가 가능합니다. 따라서 어느 계층에서 통신이 끊어졌느냐를 판단하기에는 무리가 있습니다.

따라서, 세션 계층은 전송계층과 연관하여 보기 보다, 응용프로그램을 기준으로 판단해야합니다.

여기서, 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있습니다.

 

세션 계층에서는, 양 끝단의 응용프로그램이 통신을 관리하기 위한 방법을 제공합니다.

시 송수신(duplex), 반이중(half-duplex), 전이중(Full duplex)의 통신과 더불어 체크포인팅, 유휴상태, 종료, 다시시작 과정을 수행합니다.

여기서, TCP/IP 세션을 만들거나 없애는 것에 대해 책임을 지게 됩니다.

 

6. 표현 계층

표현 계층에서는, 데이터 표현이 상이한 응용 프로세스의 독립성을 제공, 암호화 합니다.

 

여기서는, 코드간의 번역을 담당하며, 사용자의 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어주게 됩니다. 인코딩/암호화 등이 여기서 이루어집니다.

 

파일 형식(GIF인지 PNG인지)을 구분하거나, 사용자의 명령어를 완성하고 결과를 표현하며 결과를 포장, 압축, 암호화 한다고 볼 수 있습니다.

 

7. 응용 계층

응용 계층은 7계층의 최종 목적지입니다.

HTTP, FTP, SMTP 등 다양한 프로토콜이 있습니다.

이러한 통신 패킷들은 위 프로토콜들 등에 의해 모두 처리가되며, 우리가 사용하는 브라우저, 메일같은 프로그램들은 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램이라고 할 수 있습니다.

 

모든 통신의 양 끝단은 위와 같은 '프로토콜' 이며, '응용 프로그램'이 아닙니다.

 

여기서는 응용프로세스와 직접 관여하여 일반적인 응용 서비스를 수행합니다.

 

 

 

 

 

 

참고한 자료 : http://www.ktword.co.kr/abbr_view.php?nav=2&id=849 / https://shlee0882.tistory.com/110

728x90
반응형