Network
:기기들이 데이터를 주고받기 위해 연결된 통신체계
- 기능
- 애플리케이션에 맞는 통신 방법 제공
- 신뢰할 수 있는 데이터 전송
- 네트워크 간 최적의 통신 경로 설정
- 목적지로 데이터 전송
- 노드 간 테이터 전송
- 기능을 기준으로 layer(계층별로)로 나눔
프로토콜
- 왜 생겼나?
- 통신 기능이 제대로 동작하기 위한 통신 약속이 필요해서
- 서로 다른 통신 방식으로 생기는 문제를 없애기 위해
- 정의
- 통신 참여를 위해 지켜야 하는 형식, 절차, 규약
- 하나의 프로토콜로 모든 네트워크 커버 가능?
- NOPE
- 그래서 모듈화!
- 필요한 기능에 맞춰서 프로토콜을 분리시켜 구현
layered architecture 계층 구조
- OSI model(7 layer)
: 범용적인 네트워크 구조
- TCP/IP (4 layer)
: 인터넷 특화된 네트워크 구조
OSI model
- 특징
- 각 레이어에 맞게 프로토콜이 세분화됨
- 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용
Application layer
- Application layer
: 애플리케이션 목적에 맞는 프로토콜 제공
- Presentation layer
: 애플리케이션 간의 통신에서 메시지 포맷 관리
- 인코딩 - 디코딩
- 암호화 - 복호화
- 압축 - 압축풀기
- Session layer
Transport layer
: 애플리케이션 간의 통신 담당
- 목적지(애플리케이션)까지 데이터 전송
- TCP: 안정적이고 신뢰할 수 있는 데이터 전송 보장
- UDP: 필수 기능만 제공
Network layer
: 호스트 간의 통신 담당(IP)
Data link layer
: 직접 연결된 노드 간의 통신 담당
Physical layer
: 물리적(전기)으로 데이터를 송수신
- 통신을 위해서 라우터를 거치게 됨
- 라우터는 전송받은 데이터의 network, data link, phyical 계층을 확인하며 다음 라우터로 보낼 준비를 함
- 위의 3계층을 풀었다 다시 싸맸다를 반복하면서 이동
- encapsulation(싸맸다) - decapsulation(풀었다)