[Network] OSI 7 계층

ds-k.fe·2021년 7월 11일
0

OSI 7 계층

네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것

OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구에서 개발한 모델로서, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다.
출처 : 위키백과

목적

통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다. 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고 이상이 생긴 단계만 고칠 수 있기 때문이다.

1. 물리 계층

이 계층에서는 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 된다.
전기적 신호가 물리적인 장치에 의해 왔다갔다 하는 계층을 뜻한다.
ex) 케이블, 허브 등을 통해 데이터를 전송

2. 데이터 링크 계층

인터넷을 통해, 컴퓨터들이 계층구조를 이루며 연결되어 있다. 1계층과 달리 여러 대의 컴퓨터가 서로 데이터를 주고받기 위해서 필요한 모듈이 데이터 링크 계층이라고 할 수 있다.
물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 맥 주소를 가지고 물리계층에서 받은 정보를 전달한다.

맥 주소(MAC Address) : 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별자
프레이밍(Framing) : 데이터 통신이 일어날 때, 앞 뒤에 송신자와 수신자의 특정한 비트열을 붙여서 데이터 통신을 도움
이더넷(Ethernet) : 랜에서 데이터를 정상으로 주고받기 위한 규칙
이더넷 헤더의 구성:
목적지 MAC 주소(6바이트) + 출발지 MAC 주소(6바이트) + 이더넷 유형(2바이트)

ex) 랜 카드

3. 네트워크 계층

이 계층에서 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)이다. 여기에 사용되는 프로토콜의 종류도 다양하고, 라우팅하는 기술도 다양하다.
이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다.
즉, inter-network 속에서 어딘가에 있는 목적지 컴퓨터로 데이터를 전송하기 위해, IP 주소를 이용해서 길을 찾고(routing), 자신 다음의 라우터에게 데이터를 넘겨주는 것(forwarding)

IP주소 + 데이터 = 패킷

구현 위치) 운영체제의 커널에 소프트웨어적으로 구현

4. 전송 계층

3단계의 계층을 통해, 전세계의 데이터를 받을 수 있게 되었다. 이 때, 받은 데이터를 어떤 프로세스에 전달해야할지를 알 수 있게 하도록, 송신자가 데이터를 보낼 때 데이터를 받을 수신자 컴퓨터에서 있는 프로세스의 포트 번호를 붙여서 보낸다.
즉, PORT번호를 사용하여 도착지 컴퓨터의 최종 도착지인 프로세스까지 데이터가 도달하게 하는 모듈

PORT 번호 : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야 하는 정수 값

구현 위치) 운영체제의 커널에 소프트웨어적으로 구현

5. 세션 계층

통신장치 간 상호작용 및 동기화를 제공한다. 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리한다.

6. 표현 계층

인코딩 및 데이터의 형식 차이를 조절, 전송하는 데이터의 인코딩, 디코딩, 암호화, 코드 변화를 수행하는 계층이다.

7. 응용 계층

응용 프로그램에서 서비스를 수행하며 사용자와 가장 밀접한 계층이다. 즉, 응용 프로세스 간의 정보 교환을 하는 계층이다.

OSI 모델 vs TCP/IP 모델

  • 현대의 인터넷은 OSI 모델이 아니라 TCP/IP 모델을 따르고 있다.
  • TCP/IP 모델도 OSI 모델과 마찬가지로 네트워크 시스템에 대한 모델

TCP/IP의 응용 계층

OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당한다. 대표적인 TCP/IP 응용 계층 프로토콜에는 HTTP가 있다. 즉, 서버 컴퓨터에서 전송을 한다고 하면 서버가 HTTP 인코더를 통과하면 status code를 포함한 여러가지 정보를 담아서 변경되고, 그것이 하위 계층을 통과하면서 전달 가능한 아날로그 신호로 변환되고, 그것을 클라이언트 컴퓨터에서 디코딩해서 데이터를 전송받는 것이다.

암기법 ...?

0개의 댓글