[CS]OSI 7Layer

김지환·2022년 11월 14일
0

OSI ( Open Systems Interconnection Model ) 7 Layer 란?

네트워크 시스템의 동작을 묘사한 개념적인 프레임워크 모델이다.
현대의 인터넷은 OSI를 기반으로 하는 것이 아니라 더 단순한 TCP/IP 모델을 기반으로 한다. 그러나 OSI 7계층 모델은 네트워크가 작동하는 방식을 시각화하여 이해하기 쉽게하고, 문제해결에 도움을 주기에 아직까지도 많이 사용되고 있다.

Application Layer

응용 프로그램 계층은 웹 브라우저 및 전자 메일 클라이언트와 같은 최종 사용자 소프트웨어에서 사용된다. 소프트웨어가 정보를 보내고 받고 사용자에게 의미 있는 데이터를 제공할 수 있는 프로토콜을 제공한다. 애플리케이션 계층 프로토콜의 몇 가지 예로는 HTTP(Hypertext Transfer Protocol), FTP(File Transfer Protocol), POP(Post Office Protocol), SMTP(Simple Mail Transfer Protocol), DNS(Domain Name System) 등이 있다.

Presentation Layer

프레젠테이션 계층은 애플리케이션 계층을 위한 데이터를 준비한다. 두 장치가 다른 쪽 끝에서 올바르게 수신되도록 데이터를 인코딩, 암호화 및 압축하는 방법을 정의한다. 프레젠테이션 레이어는 애플리케이션 레이어에 의해 전송되는 모든 데이터를 가져와서 세션 레이어를 통해 전송될 수 있도록 준비한다.

Session Layer

세션 계층은 장치 간에 세션이라고 불리는 통신 채널을 만든다. 데이터 전송 중에는 세션을 열고 기능을 유지하며 통신이 종료되면 세션을 닫는 역할을 한다.

세션 계층은 데이터 전송 중에 체크포인트를 설정할 수도 있다. 세션이 중단된 경우 장치는 마지막 체크포인트에서 데이터 전송을 재개할 수 있다.

Transport Layer

전송 계층은 세션 계층에서 전송된 데이터를 가져와서 전송 끝의 "세그먼트"로 분할한다. 수신측에서 세그먼트를 재구성하여 세션 계층에서 사용할 수 있는 데이터로 되돌리는 역할을 한다. 전송 계층은 수신 장치의 연결 속도와 일치하는 속도로 데이터를 전송하는 흐름 제어를 수행하고, 오류 제어를 수행하여 데이터가 잘못 수신되었는지 확인하고, 잘못 수신되지 않은 경우 다시 요청한다.

Network Layer

네트워크 계층에는 두 가지 주요 기능이 있다.

하나는 세그먼트를 네트워크 패킷으로 분할하고 수신측에서 패킷을 재구성하는 것이다.

다른 하나는 물리적 네트워크를 통해 최적의 경로를 검색하여 패킷을 라우팅하는 것이다. 네트워크 계층은 네트워크 주소(일반적으로 인터넷 프로토콜 주소)를 사용하여 패킷을 대상 노드로 라우트한다.

데이터 링크 계층은 네트워크에서 물리적으로 연결된 두 노드 간의 연결을 설정하고 종료한다. 패킷을 프레임으로 분할하여 소스에서 대상으로 보낸다. 이 계층은 네트워크 프로토콜을 식별하고 오류 검사를 수행하고 프레임을 동기화하는 LLC(논리 링크 제어)와 MAC 주소를 사용하여 장치를 연결하고 데이터를 송수신할 수 있는 권한을 정의하는 MAC(미디어 액세스 제어)의 두 부분으로 구성된다.

Physical Layer

물리적 계층은 네트워크 노드 간의 물리적 케이블 또는 무선 연결을 담당한다. 장치를 연결하는 커넥터, 전기 케이블 또는 무선 기술을 정의하고 비트레이트 제어를 하면서 단순히 0과 1의 연속인 원시 데이터의 전송을 담당한다.

OSI VS TCP

전송 제어 프로토콜/인터넷 프로토콜(TCP/IP)은 OSI 모델보다 오래되었으며 미국 국방부(DoD)에 의해 만들어졌다. 모델 간의 주요 차이점은 TCP/IP가 더 단순하다는 것. TCP/IP 모델은 OSI 모델을 합쳐서 표현했기 때문.

  • OSI 5, 6, 7 계층이 TCP/IP에서 하나의 애플리케이션 계층으로 결합됨
  • OSI 1, 2 계층은 TCP/IP에서 하나의 네트워크 액세스 계층으로 결합된다.

OSI 계층은 굉장히 일반적인 network를 다루는데 초점이 맞춰져 있고 TCP/IP 모델은 좀 더 특정한 network 환경의 문제를 해결하려는데 집중돼있다.

Reference

https://github.com/gyoogle/tech-interview-for-developer
https://www.imperva.com/learn/application-security/osi-model/

profile
Developer

0개의 댓글