네트워크
- 개념
- 컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계
- 네트워크는
통신
을 위해 필요한 개념 -> 통신 기능이 제대로 동작하기 위해서는 참여자들 사이의 약속된 통신 방법이 있어야 함
- 역할 및 기능
- 애플리케이션 목적에 맞는 통신 방법 제공
- 신뢰할 수 있는 데이터 전송 방법 제공
- 네트워크 간의 최적의 통신 경로 결정
- 목적지로 데이터 전송
- 노드 사이의 데이터 전송
- 네트워크 프로토콜
- 네트워크 통신을 하기 위해서 통신에 참여하는 주제들이 따라야 하는 형식, 절차, 규약
- 네트워크 상에서 통신을 하기 위해서는 네트워크 프로토콜에 따라야 한다
OSI 7계층
개념
- 네트워크의 기능들이 계층별로 동작하는 개념에 의해 모델링된 개념
- 범용적인 네트워크 구조를 모델링한 것
- 각 레이어에 맞게 프로토콜이 세분화되어서 구현된다
- 각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용하여 동작 ex) L7계층은 L6계층의 기능을 사용해서 자신의 기능을 구현
1. L7 : Application Layer (응용 계층)
- 애플리케이션에
- HTTP :어플리케이션끼리 통신을 통해 웹 페이지를 보여주고 싶을 경우 HTTP 프로토콜을 사용하여 통신
- DNS : 도메인 네임을 IP로 바꾸고 싶을 때 DNS 프로토콜 사용
- SMTP : 이메일 주고 받는 기능 구현시 사용
- FTP : 파일을 서버에 업로드 및 다운로드 하는 애플리케이션이 필요한 경우 FTP 프로토콜 사용
- L7은 통신 방법을 결정하는 계층이기 때문에 실제로 데이터가 어떻게 오고 가게 만들지는 이 계층의 관심사가 아니다
2. L6 : Presentation Layer (표현 계층)
- 애플리케이션 간의 통신에서 메세지 포맷 관리
- 인코딩했다면 디코딩해주고
- 암호화했다면 복호화해주고
- 압축했다면 압축 해제해주는 역할
3. L5 : Session Layer (세션 계층)
- 애플리케이션 간의 통신에서 세션을 관리
- RPC (Remote Procedure Call)
응용 계층 + 표현 계층 + 세션 계층 => 애플리케이션을 관리
4. L4 : Transport Layer (전송 계층)
- 애플리케이션이 어떤 식으로 통신을 할 것인지를 담당
- 실제로 목적지 애플리케이션으로 데이터 전송이 일어나는 계층
- 어떻게 데이터를 보낼 것인가와 관련해서 2가지 중요한 프로토콜이 있음
- TCP : 안정적이고 신뢰할 수 있는 방식으로 데이터 전송을 보장하는 프로토콜
- UDP : 필수 기능만 제공
5. L3 : Network Layer (네트워크 계층)
- 호스트 간의 통신을 담당 (IP주소로 동작)
- 목적지 호스트로 데이터 전송
- 네트워크 간의 최적의 경로 결정
6. L2 : Data Link Layer (데이터 링크 계층)
- 직접 연결된 노드 간의 통신 담당
- 여기서 장치와 장치 사이의 데이터를 주고 받을 때는 IP주소 기반이 아니라, MAC주소를 기반으로 통신한다
- 이떄, IP주소를 MAC주소로 변환해주는 프로토콜이 ARP
- MAC주소를 바탕으로 하나의 노드에서 다음 노드로 데이터 전송
7. L1 : Physical Layer
- 물리적인 매개체(케이블, 무선신호 등)를 통해서 실제로 데이터를 bit 단위로 전송하는 역할 수행
통신 과정