본문 바로가기

CS

네트워크 기본 - OSI 모델과 TCP/IP 모델

- OSI(Open System Interconnection) 모델

네트워크는 컴퓨터와 컴퓨터를 연결하는 무수히 많은 선으로 이루어진 망(net)을 말한다. 이 망을 통해 원하는 데이터를 주고받는 것을 통신이라고 한다. 이 통신을 목적으로 네트워크라는 망으로 전세계가 연결되어 있는 것이다.

 

이렇게 통신을 위해 수없이 많은 컴퓨터들이 연결되어있는 가운데에서, 나의 컴퓨터가 어떤 다른 컴퓨터와 원하는대로 연결되어 정확히 데이터를 전달한다는건 매우 어렵고 복잡한 일이다.

 

국제 표준화 기구(ISO)는 이 어렵고 복잡한 일을 추상화하여 이해하기 쉽고 일관적으로 네트워크를 구현할 수 있도록 개념 모델을 만들었고, 이 것이 바로 OSI 모델이다.

 

OSI 모델은 아래와 같이 7계층으로 나뉘어 각각의 역할을 부여받는다.

 

7 application
6 presentation
5 session
4 transport
3 network
2 link
1 phsical

이렇게 만들어진 계층은 데이터를 보낼 때에는 위에서 아래로, 받을 때에는 아래에서 위로 순차적으로 진행된며 서로 독립적으로 동작한다. 때문에 계층을 나눔으로써 통신이 일어나는 과정을 단계적으로 파악할 수 있고, 통신에 어떤 문제가 발생했을 경우 발생한 계층에 집중하여 문제를 빠르게 해결할 수 있는 것이다.

 

사용자가 보내고자하는 데이터는 통신을 위해 계층들을 거치면서 데이터가 어떤 컴퓨터에서 어떤 컴퓨터로 전송되는지, 데이터의 특성이 무엇인지, 도착한  데이터가 몇번 포트로 제공되어야하는지 등의 정보가 추가된다. 이 정보는 세계적으로 약속된 프로토콜(protocol)에 따라 정해진 방식으로 추가된다.(한국의 1미터가 미국의 1미터와 같은 것처럼, 네트워크 통신 또한 세계적으로 통용되는 규칙을 정해놓고 이에 맞게 데이터를 전송한다. 이 규칙이 바로 프로토콜이다.)

 

그리고 이 프로토콜에 따라 네트워크 계층을 다시 추상화한 것을 TCP/IP 모델이라고 한다.

 

 

- TCP/IP 모델

  OSI 모델 TCP/IP 모델  관련 주요 프로토콜
7 application application HTTP,FTP 등
6 presentation
5 session
4 transport transprot TCP, UDP 등
3 network Internet IP 등
2 link Network Acess Ethenet 등 하드웨어 관련
1 phsical

이 표에서 보이는 것처럼 기존의 OSI 모델에서 프로토콜에따라 HTTP, FTP 등을 다루는 aplication 계층, TCP, UDP 등을 다루는 transport 계층, IP등을 다루는 Internet 계층, 그리고 이더넷과 네트워크 카드등 하드웨어적인 요소와 관련되는 Network Acess 계층으로 나뉜다.

 

하드웨어적인 부분을 잘 알면 좋겠지만 어플리케이션 개발자 입장에서 상대적으로 중요도가 떨어진다.

 

다음에는 상위 계층에 존재하는 HTTP, TCP/UDP 그리고 IP에 대해서 먼저 간단히 정리해보겠다.

 

 

'CS' 카테고리의 다른 글

Application Layer  (0) 2022.03.25
CPU 스케줄링  (0) 2022.03.11
스레드와 병행성  (0) 2022.03.11
프로세스란?  (0) 2022.03.11