인터넷 통신의 계층 간 상호작용을 설명하는 모델에는 여러 종류가 있다. 초기 인터넷 호스트 요구사항을 정의한
RFC 1122에선 링크 계층(링크 네트워크 인터페이스 계층), IP계층, 전송계층, 응용계층 이렇게 네 개의 계층으로 구분한다.
한편, [OSI7 계층] 이라 하여 OSI 모델에서는 7개의 계층으로 구분한다.
각 계층에서는 저마다 자기 윗단 계층을 지원하기 위해 수행해야 하는 역할이 있다.
- 윗단 계층에서 데이터 블록을 수신한다.
- 계층 헤더를 추가해 패킷을 꾸린다.
- 데이터를 아랫단 계층으로 전달해 송신 과정을 계속해 나간다.
- 아랫단 계층에서 수신된 데이터를 받는다.
- 헤더를 제거하여 수신된 데이터의 패킷을 푼다.
- 수신된 데이터를 윗단 계층으로 전달해 수신처리를 계속해 나간다.
<통신 과정에서 각 계층을 지나는 데이터는 패킷 단위로 작게 쪼개지고 목적지 정보와 같은 부가 정보가 헤더의 형태로 덧붙여지게 된다>
<계층의 역할>
애플리케이션 계층(서버,클라이언트) - 웹 서비스, 이메일과 같은 서비스를 사용자에게 제공
트랜스포트 계층(TCP,UDP) - 애플리케이션 계층과 인터넷 계층 사이에서 데이터가 올바르게 전달되도록 중계한다.
인턴넷 계층(IP 어드레스, IPv4, IPv6, 라우팅) - 목적지의 IP 어드레스로 데이터를 전달한다.
네트워크 인터페이스 계층(무선랜, 이더넷) - 네트워크 어댑터와 같은 하드웨어를 통해 데이터를 전달한다.
4개의 계층 중 서비스의 내용을 결정하는 것은 애플리케이션 계층뿐이다.
나머지 3개의 계층은 데이터를 전달하는 통신 기능을 담당
그렇지만 각 계층이 어떤 식으로 역할을 수행해야 하는지 정해져 있는 것은 아니다.
각 계층마다 다양한 프로토콜이 있어 그중 하나로 역할을 수행하는데, 개중엔 TCP/IP 처럼 오래된 것도 있고
어떤 것은 최근 발명된 것도 있다. 객체 지향 개념에 익숙하다면 계층을 인터페이스라 여기고
프로토콜 집합은 그 인터페이스를 구체화한 구현물이라 생각해도 좋다.
송신지 --->
애플리케이션 계층 - 상대에게 보낼 데이터
트랜스포트 계층 - 전송하기에 적합한 크기로 작게 쪼갠 후, 목적지의 프로그램을 식별할 수 있는 정보를 덧붙힌다.
인턴넷 계층 - 수신 측의 컴퓨터를 식별할 수 있는 정보를 덧붙힌다.
네트워크 인터페이스 계층 - 하드웨어에 신호를 전달하는 데 필요한 정보를 덧붙힌다.
---> 수신지
네트워크 인터페이스 계층 - 헤더나 트레일러를 떼어네고 인터넷 계층으로 전달한다.
인턴넷 계층 - 자신이 수신해야 하는 데이터라고 판단되면 이 데이터를 트랜스포트 계층으로 전달한다.
트랜스포트 계층 - 모든 데이터가 수신된 것을 확인하고 데이터들이 결합되면 목적지의 프로그램에게 전달한다.
애플리케이션 계층 - 수신된 데이터
'Programming > 네트워크' 카테고리의 다른 글
OSI 참조 모델 (0) | 2018.08.14 |
---|---|
기본 용어 정리 (0) | 2018.08.14 |