본문 바로가기
Study/Network

[Network] OSI 7계층이란?

by 검프 2021. 5. 24.

OSI(Open Systems Interconnection Reference Model) 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말해요.

계층이 나눠진 이유는?

통신이 일어나는 과정을 단계적으로 파악하기 위함이에요.

또한, 7단계 중 특정한 곳의 에러가 다른 단계로 번지지 않게 하기 위함이에요.

얼마나 중요한가?

최근에는 TCP/IP Model이 시장 점유에서 이겨, 그 중요성이 떨어지고 있어요.

하지만 이론적인 가치가 충분히 있고, 새로운 model이 나오더라도, OSI 7 Layer과 대비할 수 있기 때문에 여전히 중요해요.

TCP/IP 모델의 과정은 이전 포스트에서 다뤘어요.

https://user-images.githubusercontent.com/48986787/119008905-8ffba500-b9cd-11eb-9cb5-0d2df016e66b.png


1. 물리(Physical) 계층

https://user-images.githubusercontent.com/48986787/119014451-f33c0600-b9d2-11eb-9151-28926d7e6dfe.png

네트워크 노드 간의 물리적 케이블 또는 무선 연결을 담당해요

encoding: 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려보내요

decoding: 아날로그 신호가 들어오면 0과 1의 나열로 해석해요

물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈이에요(함수)

하드웨어에서 구현

인터넷 케이블, 무선 주파수링크, 핀 배치, 전압, 물리 요건

PHY 칩(모듈 구현)


2. 데이터 링크(Data Link) 계층

https://user-images.githubusercontent.com/48986787/119015527-f1267700-b9d3-11eb-8724-902f1b33c9c4.png

장치간 신호를 전달하는 물리계층을 이용하여 연결된 네트워크 노드간에 데이터를 전송해요

framing이라는 기술을 사용하여 프레임(Frames, 1111 ~ 0000)으로 감싸요.

같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해서 필요한 모듈이에요(함수)

물리적 주소인 mac주소를 통해 통신을 하게돼요.

2개의 부계층

네트워크 프로토콜을 식별하고 오류 검사를 수행하고, 프레임을 동기화하는 LLC(논리적 연결 제어, Logical Link Control),

MAC(매체 접근 제어,Media Access Control)주소를 사용하여 데이터 전송 및 수신 권한을 정의하는 MAC의 두 부계층으로 구성돼요

하드웨어에서 구현

랜카드, 스위치


3. 네트워크(Network) 계층

https://user-images.githubusercontent.com/48986787/119018102-b07c2d00-b9d6-11eb-833d-2847554731a6.png

데이터 링크에서 받은 프레임 내부에 포함된 IP주소를 기반으로 원하는 목적지로 전달하는 역할을 해요.

데이터를 패킷(Packets, 출발지, 목적지 IP, 기타)으로 감싸요.

논리적 주소인 IP주소를 통해 길을찾고(routing) 자신의 다음 라우터에게 데이터를 넘겨줘요(forwarding)

즉, 라우터의 기능 대부분이 여기 네트워크 계층에 자리잡아요. 다른 여러 라우터를 통한 라우팅을 비롯한 패킷 포워딩을 담당해요.

소프트웨어적으로 구현

운영체제의 커널


4. 전송(Transport) 계층

https://user-images.githubusercontent.com/48986787/119350344-2d125280-bcda-11eb-9170-306c8cd14870.png

Port번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스에 까지 데이터가 도달하게 하는 모듈(함수)에요.

데이터를 세그먼트(Segment, 출발지, 목적지 PORT, 전송 제어, 순서 검증 정보)로 감싸요

TCP의 예를 들면,

데이터 전달 보증, 순서를 보장 할 수 있는 이유는 3Way handshake과정이 있기 때문이에요.

TCP 3 way handshake는 실제로 연결된게 아니에요. 연결이 됐나보다~처럼 논리적으로 연결이 된 것이에요.(물리적으로 연결된 랜선이랑은 느낌이 다름)

소프트웨어적으로 구현

운영체제의 커널


5. 세션(Session) 계층

이 이상의 계층에서는 모두 Data로 표현해요

2대기의 기기, 컴퓨터 또는 서버 간에 "대화"가 필요하면 세션(session)이라는 통신 채널을 만들어야해요.

세션을 열고, 데이터가 전송되는 동안 세션이 열려 있고, 작동하는지 확인하며, 통신이 종료되면 세션을 닫는 역할을해요.

채크포인트를 두어, 연결이 손실되는 경우 마지막 체크 포인트에서 연결 복구를 시도해요

즉, 동기화 기능을 제공해요


6. 표현(Presentation) 계층

애플리케이션 계층에 대한 데이터를 준비해요. 다른 장치가 올바르게 수신되도록 데이터를 인코딩, 암호화 및 압축하는 방식을 정의해요.

또한, 반대로 세션 계층에 대한 데이터를 준비해요.

즉, 응용 계층의 데이터 표현에서 독립적인 부분을 나타내요.

일반적으로 응용프로그램 형식을 준비 또는 네트워크 형식으로 변환하거나

네트워크 형식을 응용프로그램 형식으로 변환하는 것을 나타내요..

다시 말해 이 계층은 응용프로그램이나 네트워크를 위해 데이터를 표현해요.


7. 응용(Application Layer) 계층

사용자에게 보여지는 부분이에요.

구글 크롬, 사파리 등의 웹브라우저와 줌, 스카이프 등의 응용프로그램이 대표적이에요.

이때 각 응용프로그램(프로세스)은 PORT번호를 부여받아요


결론

네트워크 시스템은 소프트웨어 아키텍처인 Layered 아키텍처를 따라요.

즉, 네트워크 시스템은 하나의 커다란 소프트웨어라 볼 수 있어요.

결론적으로, OSI 7 Layer 모델은 거대한 네트워크 소프트웨어의 구조를 설명하는 것이에요.

Refer

https://daystudy.tistory.com/733

https://velog.io/@xldksps4/OSI-7계층

https://www.youtube.com/watch?v=1pfTxp25MA8&t=712s

댓글