미식가의 개발 일기

[네트워크] 네트워크 프로토콜(OSI 7 계층, TCP/IP 4 계층, HTTP/HTTPS, TCP/UDP, DNS, DHCP, ICMP, NAT, ARP) 본문

CS

[네트워크] 네트워크 프로토콜(OSI 7 계층, TCP/IP 4 계층, HTTP/HTTPS, TCP/UDP, DNS, DHCP, ICMP, NAT, ARP)

대체불가 핫걸 2025. 3. 30. 15:05
네트워크 프로토콜이란?
네트워크에서 데이터를 주고받는 규칙

 

※ 네트워크에 대한 자세한 설명은 아래 포스팅을 참고해 주세요!

 

[네트워크] 네트워크란?(네트워크 구조, 종류, 메세지 전송 방식)

1️⃣ 네트워크란?두 개 이상의 장치가 데이터를 주고받을 수 있도록 연결되어 있는 시스템  (장치: 컴퓨터, 스마트폰, 서버 등) 2️⃣ 네트워크의 구조  💡호스트: IP주소를 가지며 네트워크

irreplaceablehotgirl.tistory.com

 

0️⃣ OSI 7 계층 / TCP/IP 4 계층

💡 OSI 7 계층

네트워크 통신을 7개의 계층으로 나누어 설명하는 개념적 모델입니다.
이름 역할
7 응용 계층 사용자와 네트워크 간 인터페이스 제공 (HTTP, FTP, DNS, SMTP, POP3, IMAP)
6 표현 계층 데이터 형식 변환, 압축, 암호화 (SSL/TLS, JPEG,  PNG)
5 세션 계층 연결 및 세션 관리 (RPC, NetBIOS)
4 전송 계층 데이터 전송 및 오류 검출, 흐름 제어 (TCP, UDP)
3 네트워크 계층 IP 주소를 기반으로 패킷을 목적지까지 전달 (IP, ICMP, ARP)
2 데이터 링크 계층 MAC 주소 기반 통신, 오류 감지 (ARP, Ethernet, Switch)
1 물리 계층 실제 데이터 > 전기 신호, 빛 신호로 변환하여 전송 (LAN 케이블, 광섬유)

 

💡 TCP/IP 4 계층

실제 인터넷에서 사용되는 프로토콜 모델로, OSI 7 계층을 4계층으로 단순화한 것입니다.
계층 이름 OSI 대응 계층 역할
4 응용 계층 OSI 7, 6, 5 계층 HTTP, FTP, DNS 등 응용 프로그램 서비스 제공
3 전송 계층 OSI 4 계층 TCP, UDP를 통해 데이터 전송
2 인터넷 계층 OSI 3 계층 IP 주소를 기반으로 패킷을 라우팅
1 네트워크 액세스 계층
OSI 2, 1 계층 물리적 데이터 전송, MAC 주소 기반 통신

 

1️⃣ HTTP vs HTTPS

💡 HTTP(HyperText Transfer Protocol)

출처: https://innovationm.co/wp-content/uploads/2016/10/HTTP-Protocol-624x248.png

웹에서 데이터를 주고받을 때 사용하는 프로토콜로, 주로 브라우저와 서버 간의 통신을 담당합니다.

클라이언트(사용자)가 웹사이트를 방문하면 서버에서 HTML, CSS, JS 등의 데이터를 전송하는 방식입니다.

하지만 HTTP는 데이터를 평문(Plain Text)으로 전송하기 때문에 중간에서 데이터를 가로채는 공격에 취약합니다.

장점 단점 포트 번호
빠름 평문 전송 > 보안 취약 > 무결성 보장 X 80

 

💡 HTTPS (HyperText Transfer Protocol Secure)

출처: https://isomer-user-content.by.gov.sg/36/8eaf89e8-9c52-43b4-aefb-0beff8c5d23f/HTTPS.png

 

HTTP에 SSL/TLS(보안 프로토콜)를 추가하여 데이터를 암호화한 프로토콜입니다.

이를 통해 사용자의 민감한 정보(로그인 정보, 카드 정보 등)를 보호할 수 있으며 웹사이트의 신뢰도를 높일 수 있습니다.

장점 단점 포트 번호
암호화 > 보안 강화 > 무결성 보장 O 상대적으로 느림 443

 

2️⃣ TCP vs UDP

출처: https://learn-security.net/wp-content/uploads/2023/10/tcp-udp-2.jpg

💡 TCP(Transmission Control Protocol)

신뢰성을 보장하는 연결형 프로토콜로, 상대적으로 느린 속도를 가집니다. (웹 브라우징, 이메일 등)
3-way Handshake 과정을 통해 신뢰할 수 있는 연결을 확립합니다. 

 

💡 UDP(User Datagram Protocol)

비연결형 프로토콜로 빠른 전송이 가능하지만, 신뢰성을 보장하지 않습니다. (실시간 스트리밍, 온라인 게임) 

 

3️⃣ DNS

Domain Name System의 약자로 도메인 이름을 IP 주소로 변환하는 시스템입니다.

출처: https://kinsta.com/wp-content/uploads/2018/05/what-is-dns.png

 

4️⃣ DHCP

Dynamic Host Configuration Protocol의 약자로 네트워크에서 IP 주소를 자동으로 할당하고 관리하는 프로토콜입니다.

 

5️⃣ ICMP(Ping)

출처: https://tecadmin.net/wp-content/uploads/2023/06/ICMP-Echo-Request-and-Reply.png

인터넷 제어 메시지 프로토콜로, 네트워크 장치들 간에 오류 메시지나 진단 정보를 주고받는 데 사용합니다. 
  • Ping: 네트워크 연결을 테스트하는 가장 기본적인 ICMP 프로토콜 응용 프로그램(Echo Request는 핑 요청, Echo Reply는 핑 응답) 

 

6️⃣ ARP

주소 해석 프로토콜로, IP 주소를 MAC 주소로 변환하는 데 사용합니다. 

 

출처: https://image.slidesharecdn.com/addressresolutionprotocol-121115085659-phpapp01/95/address-resolution-protocol-1-638.jpg?cb=1352969854

 

IP 주소는 네트워크 계층에서 목적지 장치를 찾고, MAC 주소그 장치와 실제로 통신하는 데 사용됩니다.

출발지는 목적지의 IP 주소를 알고 있으므로 ARP를 통해 목적지의 MAC 주소를 찾고, 그 후 물리적인 MAC 주소를 사용하여 목적지 장치에게 전달됩니다. 

 

7️⃣ NAT

사설 IP를 공인 IP로 변환하는 기술로 IPv4 주소 부족 문제를 해결하는 데 사용합니다. 

 

💡 사설 IP vs 공인 IP

사설 IP ISP(인터넷 서비스 제공업체)가 관리하는 전 세계에서 유일한 IP주소로 인터넷에서 직접 접근 가능 
공인 IP 로컬 네트워크(가정, 회사 등)에서만 사용되는 IP주소, 인터넷에 직접 접근이 불가능하며
하나의 공인 IP를 여러 장치가 공유

 

💡  IPv4 주소는 왜 부족할까?

IPv4는 32비트 주소 체계를 사용하며 2의 32제곱으로 약 43억 개의 IP 주소를 제공할 수 있습니다.

하지만 이 중 이 중 일부는 사용이 불가하고 실제 사용 가능한 주소는 약 37억 개 정도인데 이렇게 IP 주소의 개수는 한정되어 있지만, 인터넷 사용자는 계속해서 증가하고 있습니다.

또, 초장기에는 IP 주소를 넉넉하게 할당하여 많은 IP가 낭비되어 IP 주소 부족 문제가 가속화 되었습니다.

따라서 NAT를 사용해 공인 IP로 여러 기기를 인터넷에 연결하여 IP 주소 부족 문제를 완화하고 있습니다.

128비트 주소를 가지는 IPv6를 사용하면 2의 128제곱의 IP 주소를 제공받아 무한한 IP 주소를 사용할 수 있지만 도입 속도가 느려 IPv4 주소 부족 문제가 계속해서 발생 중입니다.

 

8️⃣ 캡슐화/비캡슐화

출처: https://arkit.co.in/wp-content/uploads/2015/12/Network-Protocols.png

💡 캡슐화(Encapsulation)

데이터를 네트워크를 통해 전송할 때, 각 계층에 맞는 정보를 덧붙여주는 과정으로 자신의 역할에 맞는 헤더를 추가

 

💡 비캡슐화(Decapsulation)

각 계층이 추가했던 헤더를 제거하면서, 원래의 데이터를 상위 계층으로 전달하는 과정

 

반응형