본문 바로가기

Programming/프로그래밍 내용 정리

[네트워크] OSI7계층이 뭔가요?

 

🎈 OSI (Open Systems Interconnection Reference Model) 7계층이란?

 

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

 

국제표준기구 (ISO)에서 발표한 것으로 

'인터넷 연결을 할 때 이렇게 설계를 하면 통신이 정상적으로 작동을 할것이다'라는 권고안이다.

 

 

🎈 왜 나눌까?

 

통신이 일어나는 과정을 단계별로 알 수 있고,

특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문이다.

 

 


1.  물리계층 (physical layer)

 

0과 1로 되어있는 데이터를 전기신호로 바꿔주는 계층이다.

물리계층에서는 0과1로 데이터가 구성이 되고, 통신단위는 'bit'이다.

 

이 계층에서는 단지 데이터를 전달만 할 뿐

전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다.

 

이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있다.

 

 

 

물리계층으로 송수신되는 정보의 오류와 흐름을 관리하여

안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 

 

아파트의 호수에 해당하는 MAC(media access control)이라는 고유주소를 통해 통신한다.

 

이 계층에서 전송되는 단위를 프레임이라고 하고,

대표적인 장비로는 브리지, 스위치 등이 있다.

 

 

3. 네트워크 계층 (network layer)

 

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 담당한다.

이 때 사용되는 것이 IP이다.

 

라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해준다.

 

네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 

오류 제어, 인터네트워킹(Internetworking) 등을 수행한다. 

 

데이터 전송 단위는 Datagram(Packet)이다.

 

 

4. 전송 계층 (transport layer)

 

통신을 활성화하기 위한 계층이다.

보통 TCP 프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 

포트는 전송할 대상이 누구인지 파악하는 것이다.

데이터 전송 단위는 Segment이다.

 

  • TCP : 신뢰성, 연결지향적
  • UDP : 비신뢰성, 비연결성, 실시간

 

5. 세션 계층 (session layer)

 

데이터가 통신하기 위한 논리적 연결을 담당한다.
연결을 생성(created), 유지(establish), 종료(close)를 관리하는 층이다.

 

연결 방식에는 한쪽만 전달이 가능한 단방향, 

무전기와 같이 한쪽이 연락을 할 때는 상대방이 연락을 할 수 없는 반이중, 

전화와 같이 동시에 전달이 가능한 전이중이 있다.

 

TCP/IP 세션을 만들고 없애는 역할을 한다.

 

 

6. 표현 계층 (presentation layer)

 

응용계층에서 내린 명령, 발송한 데이터 등을 어떻게 표현할지 정해주는 계층이다.

 

  • 암호화: 암호가 설정되어있으면 이 자료는 암호를 해석해야한다 알려줌
  • 인코딩: 언어가 중국어로 작성이 되었으면 영어가 아니라 중국어로 읽어야 함을 알려줌
  • 압축 : 해당 자료가 압축이 되어있다면 압축해제가 필요함을 알려줌

 

비유하면 편지를 발송할 때 상대방에게 이 편지가 영어인지, 중국어인지 혹은 암호로적힌 것인지 등을 알려주는 계층이다.

 

 

7.  응용 계층 (application layer)

 

우리가 사용하는 프로그램들을 '응용프로그램'이라고 한다.

응용계층은 우리가 사용하는 웹 브라우저, 어플 등등에서 하는 활동이다.

 

편지를 발송하는 과정 중 편지를 작성하는 과정을 응용계층에서 담당한다고 볼 수 있다.