책 '그림으로 배우는 네트워크 프로토콜 활용'을 읽고 정리한 내용입니다.
0. 들어가며
호스트: 네트워크 상의 IP 주소를 가진 컴퓨터
노드: 호스트에 네트워크 장치를 추가한 용어
스탠드 얼론: 한 대의 단말기가 독립적으로 존재, 작업자는 차례를 기다려 사용
TSS(time sharing system: 시분할 시스템): 한 대의 컴퓨터를 여러 사람이 사용, 로컬 단말기에서 원격으로 액세스 가능
ARPANET: 세계 최초의 패킷 교환 방식의 네트워크
패킷 교환 방식(Packet Switching): 전송할 데이터를 패킷 단위로 나누어 전송하고, 수신한 단말기에서 원래 데이터로 복원하는 방식
장점: 필요한만큼만 회선을 이용할 수 있고, 여러 사람이 회선을 공유할 수 있다.
회선 교환 방식: 컴퓨터끼리 통신할 때 먼저 컴퓨터 사이의 통신 경로를 확보하고, 통신이 종료될 때까지 그 경로를 전용으로 사용하는 방식
문제점: 하나의 회선을 여러 컴퓨터가 동시에 사용할 수 없다
1. 프로토콜(OSI, TCP/IP)
컴퓨터가 서로 통신하는 절차나 표준을 규정한 것
예시) HTTP(데이터형식), IP(논리적인 수단), 케이블(물리적인 수단)
프로토콜 스택(프로토콜 스위트): 다양한 프로토콜을 모아 계층 구조로 만든 것
OSI 참조 모델 7계층
1~4계층은 하위 계층, 5~7계층은 상위 게층
제7층: 응용 계층 - 각 애플리케이션이 어떻게 통신하는지 구체적으로 규정 (HTTP, SMTP, SSH)
제6층: 표현 계층 - 암호화나 압축, 문자 코드나 파일 형식 등 데이터 형식을 규정
제5층: 세션 계층 - 애플리케이션 간 통신의 시작, 유지, 종료 등을 규정
제4층: 전송 계층 - 노드 간의 통신 신뢰성을 확보하기 위한 기능을 규정, 상위 계층에 데이터를 전달하기 위한 포트 번호를 정의하고, 신뢰성을 확보하기 위한 메커니즘 정의
제3층: 네트워크 계층 - 다수의 네트워크 간 엔드 투 엔드 통신을 실현하는 기능을 규정, 통신을 전달하기 위해 필요한 주소 체계나 라우팅 등을 정의
제2층: 데이터링크 계층 - 직접 연결된 노드 간 통신을 실현하는 기능을 규정
제1층: 물리 계층 - 통신 데이터를 전기 신호나 광 신호로 변환하는 등 물리적인 수단을 규정, 데이터 링크 계층에서 받은 데이터를 전기 신호로 변환해 네트워크로 전송
TCP/IP 모델 4계층
제4층: 응용 계층 - 각 애플리케이션이 어떻게 통신하는지 구체적으로 규정
제3층: 전송 계층 - 노드 간 통신의 신뢰성에 관한 기능 규정
제2층: 인터넷 계층 - 복수의 네트워크 간에서 엔드 투 엔드 통신을 실현하는 기능을 규정
제1층: 링크 계층(네트워크 인터페이스 계층) - 직접 연결된 노드 사이의 통신을 실현하는 기능 및 통신 데이터를 전기 신호나 광신호로 변환하는 등 물리적인 수단을 규정
OSI 참조 모델과 TCP/IP 모델의 대응
OSI 참조 모델의 제7층(응용 계층), 제6층(표현 계층), 제5층(세션 계층) = TCP/IP 모델의 제4층(응용 계층)
OSI 참조 모델의 제4층(전송 계층) = TCP/IP 모델의 제3층(전송 계층)
OSI 참조 모델의 제3층(네트워크 계층) = TCP/IP 모델의 제2층(인터넷 계층)
OSI 참조 모델의 제2층(데이터 링크 계층), 제1층(물리 계층) = TCP/IP 모델의 제1층(링크 계층, 네트워크 인터페이스 계층)
계층별 통신의 흐름
응용 계층 프로토콜에서 전달된 데이터에 각 계층에서 통신에 필요한 정보를 덧붙여 위에서 아래로 차례차례 전달
- 응용 계층: 응용 계층에서 데이터를 생성해 전송
- 전송 계층: 목적지 포트 번호 / 출발지 포트 번호 추가
- 인터넷 계층: 목적지 IP 주소 / 출발지 IP 주소 추가
- 링크 계층: 목적지 MAC 주소 / 출발지 MAC 주소 추가, 전기 신호로 변환
캡슐화와 비캡슐화
캡슐화: 데이터를 프로토콜 스택의 위에서 아래로 전달하면서 계층별로 필요한 데이터를 덧붙이는 것
헤더: 캡슐화할 때 각 계층에서 덧붙이는 데이터
페이로드: 상위 계층에서 전달받은 상태의 데이터
PDU(Protocol Data Unit): 페이로드에 계층별 헤더를 부여한 상태
비캡슐화: 각 계층마다 필요한 정보가 헤더로 추가되어 있으므로, 추가된 정보를 확인하고 헤더를 제거하는 과정, 확인한 내용에 따라 데이터를 상위 계층 프로토콜로 전달하고, 최종적으로 응용 계층 프로토콜에 도달
2. 네트워크 장치
리피터: OSI 참조 모델의 물리 계층에서 동작하는 장치, 신호의 전송 거리를 늘리는 역할
전기 신호를 증폭하고 파형을 복구해서 전송함으로써 전송 거리를 늘림
리피터 허브: 여러 개의 포트를 가진 리피터. 하나의 포트에서 수신한 전기 신호를 증폭해 다른 모든 포트로 전송
L2(레이어 2) 스위치 및 브리지: 전달된 전기 신호를 데이터 링크 계층의 프레임으로 변환하고, 프레임 헤더에 포함된 MAC 주소 정보를 목적지로 판단해 전송
- 수신한 프레임에 포함한 출발지 MAC 주소를 이용해 MAC 주소 테이블을 작성하고 목적지 정보를 관리
- OSI 참조 모델의 데이터 링크 계층에 해당
라우터: 여러 네트워크를 연결해서 다른 네트워크에 있는 단말기와 통신할 수 있게 해줌
- 수신한 패킷의 헤더를 확인하고, 목적지 IP 주소를 자신의 라우팅 테이블에서 검색한 후 적절한 목적지로 전송
- 라우팅: IP 주소를 기반으로 패킷을 전송하는 것
- OSI 참조 모델에서 네트워크 계층의 기능을 가진 장치
L3 스위치: 라우터처럼 서로 다른 네트워크를 연결하는 라우팅 기능 수행
- L2 스위치와 마찬가지로 인터페이스 수가 많음
- WAN 기능 없음
- OSI 참조 모델에서 네트워크 계층의 기능을 가진 장치
방화벽: 네트워크의 경계에 설치해 외부에서 침입해 오는 통신을 차단하거나 내부에서 외부로 향하는 허가되지 않은 통신을 차단하는 보안 장치
- 패킷의 출발지 및 목적지 IP 주소와 포트 번호를 보고 통신을 허용하거나 차단
- 스테이트풀 인스펙션: 내부에서 외부로 나간 통신에 대해 동적으로 응답을 허가하는 기능