두 대의 컴퓨터, 즉 두 대의 호스트가 패킷을 주고받는 과정을 세부적으로 살펴보는 미시적인 관점을 다룹니다.
패킷이 어떻게 이동하며, 네트워크에서 어떤 일들이 일어나는지를 설명합니다.
네트워크 통신을 이해하기 쉽게 택배에 비유할 수 있습니다.
네트워크에서 서로 통신하려면 언어가 통해야 합니다. 택배 송장의 주소를 택배 기사가 읽을 수 있어야 하며, 친구도 책의 내용을 이해할 수 있어야 하듯, 네트워크에서도 서로 이해할 수 있는 언어가 필요합니다.
프로토콜 | 계층 | 설명 | 예시 활용 사례 |
---|---|---|---|
IP (Internet Protocol) | 네트워크 계층 | 데이터가 어떤 경로로 전달될지 결정하는 프로토콜 | 데이터 전송을 위한 라우팅 |
TCP (Transmission Control Protocol) | 전송 계층 | 신뢰성 있는 연결 지향형 통신을 제공하며, 데이터의 순서 보장 | 파일 다운로드, 웹 브라우징 |
UDP (User Datagram Protocol) | 전송 계층 | 빠른 비연결형 통신을 제공하며, 데이터 전송의 신뢰성을 보장하지 않음 | 실시간 스트리밍, 온라인 게임 |
HTTP (Hypertext Transfer Protocol) | 응용 계층 | 웹 브라우저와 웹 서버 간에 데이터를 주고받기 위한 프로토콜 | 웹사이트 로딩 |
HTTPS (HTTP Secure) | 응용 계층 | SSL/TLS 암호화를 통해 HTTP 통신을 보안 | 보안 웹사이트 접속 (https://) |
FTP (File Transfer Protocol) | 응용 계층 | 파일 전송을 위한 프로토콜로, 파일 업로드와 다운로드에 사용됨 | 서버 간 파일 전송 |
SMTP (Simple Mail Transfer Protocol) | 응용 계층 | 이메일 발송을 위한 프로토콜 | 이메일 전송 |
IMAP (Internet Message Access Protocol) | 응용 계층 | 이메일을 서버에 저장하고 원격 액세스를 제공 | 이메일 클라이언트에서 메일 읽기 |
DNS (Domain Name System) | 응용 계층 | 도메인 이름(예: google.com)을 IP 주소로 변환 | 웹사이트 접속 시 도메인 해석 |
DHCP (Dynamic Host Configuration Protocol) | 응용 계층 | 장치에 자동으로 IP 주소를 할당 | 네트워크 연결 시 IP 주소 설정 |
각 프로토콜은 서로 다른 목적을 가지고 있으며, 그 목적에 맞는 특징이 있습니다.
네트워크 통신 과정을 계층적으로 나누는 네트워크 참조 모델을 설명합니다.
네트워크에서 데이터를 주고받는 모든 과정을 효율적으로 관리하기 위해 계층적 구조를 사용하는 것이 매우 중요합니다.
계층 번호 | 계층 이름 | 기능 | 예시 |
---|---|---|---|
1 | 물리 계층 | 비트 신호 전송, 물리적 장치 연결 | 케이블, 전송 속도 |
2 | 데이터 링크 계층 | 근거리 네트워크 간 데이터 전송 및 오류 검출 | MAC 주소, 스위치 |
3 | 네트워크 계층 | IP 주소를 사용한 경로 설정 및 데이터 전송 | 라우터, IP 프로토콜 |
4 | 전송 계층 | 데이터의 신뢰성 보장 (TCP/UDP) | TCP, 포트 번호 |
5 | 세션 계층 | 응용 간 연결 설정 및 관리 | 세션 관리 프로토콜 |
6 | 표현 계층 | 데이터 인코딩, 압축, 암호화 | SSL/TLS, 데이터 변환 |
7 | 응용 계층 | 사용자와 응용 프로그램이 직접 사용하는 계층 | HTTP, FTP, 이메일 |
계층 번호 | 계층 이름 | 기능 | 예시 |
---|---|---|---|
1 | 네트워크 액세스 계층 | 물리 및 데이터 링크 계층의 기능 | 이더넷, MAC 주소 |
2 | 인터넷 계층 | IP 주소를 사용한 경로 설정 및 데이터 전송 | IP 프로토콜, 라우팅 |
3 | 전송 계층 | 데이터의 신뢰성 보장 (TCP/UDP) | TCP, UDP, 포트 번호 |
4 | 응용 계층 | 세션, 표현, 응용 계층의 기능을 통합 | HTTP, FTP, DNS, 이메일 |
네트워크에서 패킷을 주고받는 과정에서 발생하는 캡슐화와 역캡슐화에 대해 살펴봅니다.
단계 | 계층 | 처리 내용 | 추가되는 헤더/정보 |
---|---|---|---|
1단계 | 응용 계층 | 데이터를 생성하여 전송 | 응용 계층 헤더 (HTTP, FTP 등) |
2단계 | 전송 계층 | 응용 계층 데이터를 받아 전송 프로토콜 처리 | TCP/UDP 헤더 (포트 번호, 순서 정보 등) |
3단계 | 네트워크 계층 | 전송 계층 데이터를 받아 IP 주소 추가 | IP 헤더 (송신자/수신자 IP 주소 등) |
4단계 | 데이터 링크 계층 | 네트워크 계층 데이터를 받아 프레임 생성 | 프레임 헤더와 트레일러 (MAC 주소 등) |
전송 과정 결과 | - | 캡슐화된 데이터가 비트 스트림으로 전송 | 네트워크 장치를 통해 전달됨 |
단계 | 계층 | 처리 내용 | 제거되는 헤더/정보 |
---|---|---|---|
1단계 | 데이터 링크 계층 | 프레임 헤더와 트레일러를 제거하여 데이터 추출 | 프레임 헤더와 트레일러 (MAC 주소 등) |
2단계 | 네트워크 계층 | IP 헤더를 제거하여 상위 계층 데이터 추출 | IP 헤더 (송신자/수신자 IP 주소 등) |
3단계 | 전송 계층 | TCP/UDP 헤더를 제거하여 응용 계층 데이터 추출 | TCP/UDP 헤더 (포트 번호, 순서 정보 등) |
4단계 | 응용 계층 | 최종적으로 원본 데이터를 복구 | 응용 계층 헤더 (HTTP, FTP 등) |
PDU(프로토콜 데이터 단위)는 네트워크 계층 간에 데이터를 주고받을 때 각 계층에서 사용하는 데이터 형식을 의미합니다. 각 계층은 데이터를 처리하면서 고유한 PDU 형식을 사용합니다.
계층 (OSI 모델) | PDU 명칭 | 설명 |
---|---|---|
물리 계층 | 비트(Bit) | 비트 단위로 전송되는 전기적 신호 |
데이터 링크 계층 | 프레임(Frame) | 네트워크 인터페이스에서 전송되는 데이터 단위 |
네트워크 계층 | 패킷(Packet) | 네트워크에서 라우팅되는 데이터 단위 |
전송 계층 | 세그먼트(Segment) (TCP) / 데이터그램(Datagram) (UDP) | 전송 계층에서 신뢰성 있는 데이터 전송을 위한 단위 |
세션, 표현, 응용 계층 | 메시지(Message) | 최종적으로 응용 프로그램 간에 전송되는 데이터 |
단계 | 과정 | 설명 |
---|---|---|
1단계 | 캡슐화 (Encapsulation) | 상위 계층에서 생성된 메시지에 각 계층별 헤더(필요시 트레일러 포함)를 추가하여 PDU를 생성 |
2단계 | 전송 (Transmission) | 캡슐화된 PDU가 네트워크를 통해 물리 계층의 비트 스트림 형태로 전송됨 |
3단계 | 역캡슐화 (Decapsulation) | 수신 측에서 각 계층별로 헤더와 트레일러를 제거하여 원래의 메시지를 복구 |
실무에서는 OSI 7계층과 TCP/IP 4계층이 반드시 정확히 일치하지 않으며, 계층 모델은 참조용으로만 사용됩니다. 실무에서 중요한 것은 프로토콜과 네트워크 장비의 동작 방식입니다.
용어 | 설명 | 예시 |
---|---|---|
처리율 (Throughput) | 단위 시간당 실제 전송된 정보량 | 1초당 50Mbps의 실제 데이터 전송량 |
대역폭 (Bandwidth) | 단위 시간당 최대 전송 가능한 정보량 | 네트워크의 최대 속도 100Mbps |
패킷 손실 (Packet Loss) | 네트워크에서 전송된 패킷 중 손실된 비율 | 손실률 5%: 전송된 100개의 패킷 중 5개 손실 |