목차
- ARP
- 홉바이홉 통신
- 라우팅 테이블
- 게이트웨이
- IP 주소 체계
- 클래스 기반 할당
- DHCP
- NAT
1. ARP
ARP(Addreess Resolution Protocol)는 주로 하드웨어 통신에서 사용됩니다.
IP 주소를 물리적 네트워크 주소(MAC 주소)로 변환해 주는 역할을 수행하며, 동일 네트워크 내에서 IP 패킷을 전송할 때 사용됩니다.
IP 주소는 소프트웨어 계층에서, MAC 주소는 하드웨어 계층에서 사용되므로 ARP는 물리적 네트워크에서 중요한 역할을 합니다.
ARP는 로컬 네트워크 내에서만 사용되며, 라우팅과 같은 상위 계층 통신에서는 사용되지 않습니다.
ARP 통신 순서
1. 요청(ARP Request) : 송신자는 IP 주소를 기반으로 MAC 주소를 알아내기 위해 네트워크에 ARP 요청을 브로드캐스트로 보냅니다.
2. 응답(ARP Reply) : 요청을 받은 네트워크 내의 장치 중 해당 IP 주소를 가진 장치가 자신의 MAC 주소를 응답으로 전송합니다.
3. 데이터 전송 : 송신자는 MAC 주소를 확인한 후 데이터 프레임을 해당 MAC 주소로 전송.
RARP 통신 순서
1. 요청(RARP Request) : 하드웨어 주소(MAC)를 알고 있지만 IP 주소를 모르는 장치가 RARP 요청을 브로드캐스트로 보냄.
2. 응답(RARP Reply) : RARP 서버가 해당 MAC 주소에 맞는 IP 주소를 찾아 응답을 보냄.
3. IP 설정 : IP 주소를 받은 장치는 네트워크에서 통신을 시작.
2. 홉바이홉 통신
홉바이홉 통신은 네트워크를 거쳐 목적지에 도달할 때까지 각 라우터가 패킷을 처리하는 방식입니다.
홉바이홉 통신에서는 라우팅 프로토콜과 라우팅 테이블을 통해 최적의 패킷 경로 확인이 이루어집니다.
각 라우터는 라우팅 테이블을 가지며, 라우팅 테이블은 네트워크 목적지에 대한 경로 정보를 담고 있습니다.
최적의 경로는 라우터가 거리 벡터 라우팅 또는 링크 상태 라우팅을 통해 결정하며, 패킷의 목적지까지 가장 짧고 효율적인 경로를 찾습니다. 라우팅 프로토콜은 네트워크 상태에 따라 테이블을 동적으로 업데이트합니다.
홉바이홉 통신 실행 순서
1. 출발지에서 패킷 생성 : 패킷이 전송되면, 출발지 라우터는 목적지 IP 주소를 읽고, 해당 정보를 이용해 라우팅 테이블을 참조합니다.
2. 라우팅 테이블 확인 : 라우터는 라우팅 프로토콜(RIP, OSPF 등)을 통해 테이블을 동적으로 관리하며, 최적의 경로를 결정합니다. 라우팅 테이블에는 목적지까지의 경로와 각 경유지(다음 홉)의 정보가 있습니다.
3. 다음 홉으로 전송 : 패킷은 라우터에서 다음 홉으로 전송됩니다. 이 과정은 각 홉에서 반복되며, 각 라우터는 최적 경로를 다시 확인해 패킷을 전달합니다.
4. 목적지 도달 : 패킷은 최종적으로 목적지 라우터에 도달하여 해당 네트워크로 전송됩니다.
2.1 라우팅 테이블
라우팅 테이블은 라우터나 네트워크 장치에서 패킷을 어느 경로로 전송할지 결정하기 위한 정보가 저장된 테이블입니다.
라우팅 테이블에는 목적지 네트워크 주소와 그 네트워크로 도달할 수 있는 다음 홉(Next Hop), 네트워크 인터페이스 등의 정보가 포함되어 있습니다.
라우팅 테이블을 구성하는 방법
- 정적 라우팅 : 관리자가 직접 라우팅 테이블에 항목을 수동으로 입력.
- 동적 라우팅 : RIP, OSPF 같은 라우팅 프로토콜이 라우팅 테이블을 자동으로 업데이트.
라우팅 테이블의 주요 항목
1. 목적지 네트워크 주소 : 패킷이 도달해야 할 최종 네트워크.
2. 서브넷 마스크 : 네트워크 부분과 호스트 부분을 구분하는 값. (https://rezerocodinglife.tistory.com/47)를 참조해 주세요!
3. 게이트웨이(Next Hop) : 패킷이 다음에 전달될 라우터의 IP 주소.
4. 인터페이스 : 패킷을 전송할 네트워크 인터페이스(포트).
2.2 게이트웨이
게이트웨이는 서로 다른 네트워크 간의 트래픽을 중계하는 장치입니다.
한 네트워크에서 다른 네트워크로 패킷을 전달하는 역할을 수행합니다.
게이트웨이는 데이터가 외부로 나가거나 외부에서 들어올 때 출입구 역할을 합니다.
LAN과 WAN 같은 네트워크 간, 또는 사설 네트워크와 인터넷 간의 통신을 가능하게 합니다.
데이터 패킷의 포맷 변환, 주소 변환, 보안 확인 등의 기능도 수행하여 다양한 네트워크 프로토콜 간의 호환성을 제공합니다.
게이트웨이의 역할
• 프로토콜 변환 : 서로 다른 네트워크 간의 통신을 가능하게 함.
• 주소 변환 : 내부 네트워크의 사설 IP 주소를 외부 네트워크에서 사용하는 공인 IP로 변환.
• 보안 관리 : 네트워크 간의 트래픽을 제어하고 필터링함.
3. IP 주소 체계
IP 주소는 IPv4와 IPv6로 나뉘며 IPv4는 32비트를 8비트 단위로 점을 찍어 표기하고, IPv6는 64비트를 16비트 단위로 점을 찍어 표기합니다.
IPv4는 32비트 주소 체계를 사용하여 약 43억 개의 주소를 제공합니다. 주소는 4개의 8비트 옥텟으로 구성되어 있으며, 점으로 구분됩니다(예: 192.168.1.1). 그러나 인터넷 사용의 급증으로 IPv4 주소는 거의 고갈되었습니다.
IPv6는 이를 해결하기 위해 개발된 차세대 IP 주소 체계로, 128비트 주소를 사용해 사실상 무한대의 주소를 제공합니다. 주소는 16진수로 표현되며, 콜론으로 구분됩니다.(예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334)
IPv4 vs IPv6
IPv4 | IPv6 | |
주소 크기 | 32비트 | 64비트 |
주소 형식 | 10진수, 점 표기법 | 16진수, 콜론 표기법 |
주소 개수 | 2^32 | 2^32 |
3.1 클래스 기반 할당 방식(Classful Addressing)
클래스 기반 할당 방식은 IP 주소를 A, B, C, D, E 5가지 클래스로 나누어 네트워크에 할당하는 방식입니다.
클래스 구분
클래스 | 네트위크 범위 | 호스트 범위 | 비트 패턴 | 사용 목적 |
A | 1.0.0.0 ~ 126.0.0.0 | 0.0.0.0 ~ 255.255.255 | 0xxxxxxx | 대규모 네트워크 |
B | 128.0.0.0 ~ 191.255.0.0 | 0.0.0 ~ 255.255 | 10xxxxxx | 중규모 네트워크 |
C | 192.0.0.0 ~ 223.255.255.0 | 0.0 ~ 255 | 110xxxxx | 소규모 네트워크 |
D | 224.0.0.0 ~ 239.255.255.255 | N/A | 1110xxxx | 멀티캐스트 |
E | 240.0.0.0 ~ 255.255.255.255 | N/A | 1111xxxx | 예비용 |
네트워크에서 가장 마지막 주소, 즉 x.255.255.255는 브로드캐스트 주소입니다.
이 주소는 특정 네트워크에서 모든 장치로 데이터를 전송할 때 사용됩니다.
문제점
고정된 크기의 네트워크로 인해 비효율적이 될 수 있습니다.
예를 들어, 중소 네트워크에서 A 클래스처럼 큰 네트워크 주소를 사용할 경우 자원 낭비가 발생할 수 있음.
이 문제를 해결하기 위해 DHCP, IPv6, CIDR, NAT과 같은 방법이 도입되었습니다.
CIDR은 (https://rezerocodinglife.tistory.com/47)를 참고해 주세요!
3.2 DHCP
DHCP(Dynamic Host Configuration Protocol)는 네트워크 장치에 자동으로 IP 주소를 할당하는 프로토콜입니다.
네트워크에 연결된 장치(클라이언트)가 DHCP 서버에 연결 요청을 보내면, 서버는 사용 가능한 IP 주소를 할당하고, 서브넷 마스크, 게이트웨이, DNS 서버 등 네트워크 설정 정보를 제공합니다.
IP 주소는 동적으로 할당되며, 임시로 사용할 수 있는 Lease Time이 설정됩니다.
DHCP 동작 과정
1. DHCP Discover : 클라이언트가 네트워크에 연결될 때, DHCP 서버를 찾기 위해 브로드캐스트 메시지를 전송합니다.
2. DHCP Offer : DHCP 서버는 사용 가능한 IP 주소를 클라이언트에게 제안합니다.
3. DHCP Request : 클라이언트는 특정 IP 주소를 요청하는 메시지를 서버에 보냅니다.
4. DHCP Acknowledgment : 서버는 요청된 IP 주소와 관련 설정 정보를 승인하고 클라이언트에게 전달합니다.
3.3 NAT
NAT(Network Address Translation)은 내부 네트워크의 사설 IP 주소를 공인 IP 주소로 변환하여, 여러 장치가 하나의 공인 IP를 사용해 인터넷에 접속할 수 있도록 하는 기술입니다.
IPv4 주소 부족 문제를 해결하며, 보안 기능도 함께 제공됩니다.
외부에서 내부 네트워크로의 직접적인 접근을 차단할 수 있기 때문에 네트워크 보안을 강화하는 효과도 있습니다.
NAT의 주요 유형
1. Static NAT : 내부의 사설 IP 주소 하나를 특정 공인 IP 주소로 1:1로 매핑합니다.
2. Dynamic NAT : 사설 IP 주소를 다수의 공인 IP 주소 중 하나에 동적으로 매핑합니다.
3. PAT(Port Address Translation) : 여러 사설 IP 주소가 하나의 공인 IP 주소를 사용하며, 각각의 연결을 구분하기 위해 포트 번호를 사용합니다.
'CS' 카테고리의 다른 글
디자인 패턴 (4) | 2024.10.28 |
---|---|
메모리 구조 (Stack, Heap) (1) | 2024.09.29 |
메모리 (0) | 2024.09.29 |
운영체제 (System Call, Modebit, Trap, Interrupt, DMA Controller) (2) | 2024.09.29 |