OSI 7 계층

HYOSEONG KIM·2021년 6월 22일
0

network

목록 보기
1/5

프로토콜?

상호 통신을 위해서는 같은 방법을 사용해서 통신을 해야 합니다. 그러나, 통신을 하는 서버나 클라이언트는 각기 다른 하드웨어와 운영체제를 사용하고 있기 때문에 통신을 위한 모든 요소에 규칙이 필요하게 되는데 이러한 통신에 필요한 규칙들을 프로토콜이라 합니다.

TCP/IP?

케이블 규격, IP 주소 지정 방법, 서버 및 클라이언트를 찾기 위한 방법과 통신하기 위한 방법, 순서 등과 같이 인터넷과 관련된 프로토콜을 모은 것을 TCP/IP라고 합니다.

OSI 7 계층?

하나의 프로토콜로 인터넷을 관리하게 되면, 유지보수가 어렵게 됩니다. 한 부분의 사양이 변경된다면 전체의 사양을 변경해야 하기 때문입니다.

그리고 설계 또한 어렵습니다. 서비스를 개발할 때, 전체 단계를 모두 고려해야 하기 때문에 서버 또는 클라이언트가 어떤 방식으로 도착지를 찾을 지, 어떤 방법, 순서로 도착할 지, 확실하게 메시지가 전달되고 있는지에 대해 고려하여야 합니다.

이에 따라 응용 - 표현 - 세션 - 전달 - 네트워크 - 링크 - 물리, 7단계로 프로토콜을 계층화한 것이 OSI 7 계층입니다.

OSI 7 계층

1. 응용 (application) 계층

데이터 형식은 message로, 가장 상단에 위치하여 네트워크를 이용하는 프로그램입니다. HTTP 뿐 아니라, FTP, DNS 등의 공통 애플리케이션이 준비되어 있습니다.

2. 표현 (presentation) 계층

애플리케이션을 통해 데이터를 주고 받는데 그 데이터가 암호화,압축이 필요하다면 프레젠테이션 계층이 수행합니다. 이로 인해 응용 계층에서의 데이터 형식 차이를 다루는 부담을 덜어줍니다.

3. 세션 (session) 계층

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

4. 전송 (transport) 계층

프로세스 간 데이터를 구별하여, 해당 프로세스로 데이터를 전송하는 역할을 합니다. 응용 계층의 message 앞에 데이터를 붙여 datagram을 만듭니다. TCP와 UDP 2가지 프로토콜이 있습니다.

TCP와 UDP 프로토콜은 다시 다뤄보아야 하겠다..

5. 네트워크 (network) 계층

대표적으로 라우터가 있습니다. 링크 계층을 통해 router로 전송되었다면, link 계층에서 붙인 데이터를 떼내어 packet의 정보를 보고, 데이터를 전송하게 됩니다.
라우터 큐가 꽉 차서 더 이상 데이터를 받을 수 없게 된다면, 패킷 드롭이 발생하게 됩니다. 그러면 일반적으로 호스트에게 재전송 요청을 하지 않습니다. 그러면 클라이언트가 일정 시간이 지나 데이터가 오지 않음을 인지하였을 때 재전송 요청을 하게 되는데, 이에 따라 상당한 네트워크 지연이 발생하게 됩니다.

네트워크에 접속하는 하드웨어적인 면을 다룹니다. 대표적으로 스위치가 있습니다. 물리 계층의 데이터를 인접 기기로 전송한다는 점에서 네트워크 계층과 차이가 있습니다.
네트워크 계층의 packet 앞에 데이터를 붙여 frame을 만듭니다. frame은 물리 계층을 통해 인접 기기로 전송되다가 네트워크 계층의 router로 향하게 됩니다.

7. 물리 (physical) 계층

데이터 형식은 bit로, 대표적으로 케이블, 허브 등이 있습니다. 전기 신호만을 전송하는 역할을 합니다.

캡슐화?

각 계층을 거칠 때는 해당 계층에 필요한 정보를 추가하고, 수신측에서는 각 계층에서 사용한 헤더를 삭제하는데 이렇게 정보를 감싸는 것을 캡슐화라고 합니다.

응용 계층 (+HTTP 데이터) -> HTTP 메시지
-> 전달 계층 (+TCP 헤더) -> TCP 세그먼트
-> 네트워크 계층 (+IP 헤더) -> IP 패킷
-> 링크 계층 (+Ethernet 헤더) -> 네트워크 프레임

profile
20210622 ~

0개의 댓글