[Network] CS 스터디 6주차
IP 주소는 무엇이며, 어떤 기능을 하고 있나요?
- 정의
- 32비트(IPv4) 또는 128비트(IPv6) 숫자로 구성된 고유 식별자입니다.
- IP 주소의 기능
- 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용됩니다.
- 인터넷상에서 데이터 패킷의 발신지와 수신지를 식별하는 역할을 합니다.
IPv6는 IPv4의 주소 고갈 문제를 해결하기 위해 만들어졌지만, 아직도 수많은 기기가 IPv4를 사용하고 있습니다. 고갈 문제를 어떻게 해결할 수 있을까요?
- 네트워크 주소 변환(NAT) 활용
- 여러 기기가 하나의 공용 IPv4 주소를 공유할 수 있게 합니다.
- 사설 네트워크에서 많은 기기를 연결하면서도 공용 IP 주소 사용을 최소화할 수 있습니다.
- Carrier-Grade NAT(CGNAT)
- ISP(ex. KT)의 인프라 작업으로 NAT를 구현하여 더 많은 고객에게 제한된 IPv4 주소로 서비스를 제공합니다.
- IPv4 주소 재할당 및 회수
- 사용되지 않거나 비효율적으로 할당된 IPv4 주소를 회수하여 재분배합니다.
- 정기적인 IP 주소 검사를 통해 주소 공간을 최대한 활용합니다.
- 듀얼 스택 네트워킹
- IPv4와 IPv6를 동시에 운영하여 효율적인 전환을 가능하게 합니다.
- 기존 IPv4 시스템과의 호환성을 유지하면서 IPv6로의 이전을 준비할 수 있습니다.
IPv4와 IPv6의 차이에 대해 설명해 주세요.
- 길이
- IPv4: 32비트 주소 체계 (예: 192.168.0.1)
- IPv6: 128비트 주소 체계 (예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334)
- 이로 인해 IPv6는 IPv4에 비해 훨씬 더 많은 고유 주소를 제공할 수 있습니다.
- 표기법
- IPv4: 점으로 구분된 10진수
- IPv6: 콜론으로 구분된 16진수
- 헤더 구조
- IPv4: 가변 길이 헤더
- IPv6: 고정 길이 헤더로 단순화되어 처리 효율성 향상
- 보안
- 자동 구성
- IPv6는 Stateless 자동 구성 기능 제공
- IPv6 노드(호스트 또는 라우터)가 인터페이스에 대해 IPv6 주소를 자동으로 구성하기 위해 사용하는 프로세스
- IPv6는 Stateless 자동 구성 기능 제공
- 멀티캐스트
- IPv6에서 멀티캐스트가 기본 지원되어 네트워크 효율성 향상
- 대역폭 절약, 네트워크 부하 감소, 확장성 개선됨 등으로 효율성을 향상시킴
- IPv6에서 멀티캐스트가 기본 지원되어 네트워크 효율성 향상
- NAT (Network Address Translation)
- IPv4: NAT 사용이 일반적
- IPv6: 충분한 주소 공간으로 NAT 필요성 감소
수많은 사람들이 유동 IP를 사용하고 있지만, 수많은 공유기에서는 고정 주소를 제공하는 기능이 이미 존재합니다. 어떻게 가능한 걸까요?
지금부터 말씀드릴 것들 덕분에, 공유기는 유동 IP 환경에서도 내부 네트워크의 장치들에게 고정 IP 주소를 제공할 수 있습니다.
- 내부 네트워크와 외부 네트워크의 분리
- 공유기는 내부 네트워크(LAN)와 외부 인터넷(WAN)을 분리하는 역할을 합니다. 이를 통해 내부 네트워크에서는 독립적인 IP 주소 체계를 사용할 수 있습니다.
- DHCP 서버 기능
- 대부분의 공유기에는 DHCP(Dynamic Host Configuration Protocol) 서버 기능이 내장되어 있습니다.
- DHCP 서버: 내부 네트워크의 장치들에게 IP 주소를 자동으로 할당
- 대부분의 공유기에는 DHCP(Dynamic Host Configuration Protocol) 서버 기능이 내장되어 있습니다.
- MAC 주소 기반 IP 할당
- 공유기는 각 장치의 고유한 MAC 주소를 인식할 수 있습니다.
- DHCP 서버 설정에서 특정 MAC 주소에 항상 같은 IP 주소를 할당하도록 설정할 수 있습니다.
- 수동 IP 할당 기능
- 많은 공유기에서 수동으로 특정 장치에 고정 IP를 할당할 수 있는 기능이 있습니다. 이를 통해 원하는 장치에 항상 같은 내부 IP 주소를 부여할 수 있습니다.
- 내부 네트워크와 외부 IP의 독립성
- 공유기가 제공하는 고정 IP는 내부 네트워크에서만 유효합니다. 외부에서 볼 때는 여전히 ISP가 할당한 유동 IP를 사용하게 됩니다. 이를 통해 내부에서는 안정적인 IP 환경을 유지하면서도 외부와의 연결은 유동 IP로 이루어집니다.
IPv4를 사용하는 장비와 IPv6를 사용하는 장비는 같은 네트워크 내에서 통신이 가능한가요? 가능하다면 어떤 방법을 사용하나요?
네 가능합니다. 다음과 같은 방법을 사용합니다.
- 듀얼 스택(Dual Stack)
- 듀얼 스택은 가장 기본적이고 직접적인 IPv4와 IPv6 공존 전략입니다.
- 네트워크의 모든 장비가 IPv4와 IPv6 프로토콜 스택을 동시에 실행할 수 있도록 구성됩니다.
- 각 장비는 IPv4와 IPv6 주소를 모두 가지게 됩니다.
- DNS 응답에 따라 IPv4 또는 IPv6 통신을 선택적으로 사용합니다.
- 장점
- 비용 효율적이고 구현이 간단합니다.
- 프로토콜 간 변환이 필요 없어 처리 효율이 높고 정보 손실이 없습니다.
- 향후 IPv6로의 완전한 전환이 용이합니다.
- 터널링(Tunneling)
- 터널링은 IPv4 네트워크를 통해 IPv6 패킷을 전송하는 방식입니다.
- IPv6 패킷을 IPv4 패킷 내에 캡슐화하여 전송합니다.
- 기존 IPv4 인프라를 활용하여 IPv6 통신이 가능합니다.
- NAT-PT(Network Address Translation-Protocol Translation)
- NAT-PT는 IPv4와 IPv6 네트워크 간의 주소 및 프로토콜 변환을 수행합니다.
- NAT-PT 장치가 한 버전의 IP 헤더를 제거하고 다른 버전의 IP 헤더를 추가합니다.
- 이를 통해 서로 다른 IP 버전을 사용하는 장비들이 통신할 수 있게 됩니다.
IP가 송신자와 수신자를 정확하게 전송되는 것을 보장해 주나요?
IP는 송신자와 수신자 간의 정확한 데이터 전송을 완전히 보장하지 않습니다.
- IP의 특성
- 기본적으로 비신뢰적인 프로토콜이기 때문에, 패킷이 목적지에 도달할 것이라고 보장하지 않습니다.
- 패킷을 최선을 다해 전달하려고 시도하지만, 전달 성공을 보장하지는 않습니다.
- 데이터 전송 전에 송신자와 수신자 간의 연결을 설정하지 않습니다.
- IP의 한계
- 패킷 손실 가능성: 네트워크 혼잡 또는 오류로 인해 패킷이 손실될 수 있습니다.
- 순서 보장 없음: 패킷들이 목적지에 도착하는 순서가 보장되지 않습니다.
- 중복 패킷 발생: 동일한 패킷이 중복해서 전달될 수 있습니다.
- 신뢰성 확보 방법
- IP의 이러한 한계를 극복하고 신뢰성 있는 통신을 위해서는 상위 계층 프로토콜인 TCP(Transmission Control Protocol)가 사용됩니다.
- TCP
- 연결 지향적(Connection-oriented) 통신
- 데이터의 순서 보장
- 오류 검출 및 재전송
- 흐름 제어 및 혼잡 제어
- TCP
- IP의 이러한 한계를 극복하고 신뢰성 있는 통신을 위해서는 상위 계층 프로토콜인 TCP(Transmission Control Protocol)가 사용됩니다.
따라서 IP 자체는 정확한 전송을 보장하지 않지만, TCP와 같은 상위 계층 프로토콜과 결합하여 신뢰성 있는 통신을 구현할 수 있습니다.
IPv4에서 수행하는 Checksum과 TCP에서 수행하는 Checksum은 어떤 차이가 있나요?
- Checksum
- 정의
- 데이터가 전송되거나 저장될 때 변경되지 않았는지 확인하는 값입니다.
- 즉, 데이터의 지문이라고 볼 수 있습니다.
- 작동 원리
- 데이터 요약: 긴 데이터를 간단한 숫자로 요약합니다.
- 전송: 원본 데이터와 함께 이 요약된 숫자(체크섬)를 보냅니다.
- 검증: 받는 쪽에서 같은 방법으로 체크섬을 계산하고 비교합니다.
- 용도
- 데이터 전송 오류 감지: 네트워크를 통해 데이터를 주고받을 때 사용됩니다.
- 파일 무결성 확인: 다운로드한 파일이 손상되지 않았는지 확인할 때 사용됩니다.
- 데이터 저장 오류 감지: 하드 디스크나 메모리에 저장된 데이터의 오류를 확인할 때 사용됩니다.
- 정의
- 적용 범위
- IPv4 Checksum: IPv4 헤더에만 적용됩니다.
- TCP Checksum: TCP 헤더, 페이로드(Payload), 그리고 의사 헤더(pseudo-header)를 포함합니다.
- 페이로드(Payload): 사용에 있어서 전송되는 데이터 자체를 의미
- 의사 헤더(pseudo-header)
- 네트워크 프로토콜에서 사용되는 가상의 헤더로, 주로 Checksum 계산에 활용됨
- 실제 데이터 전송 시에는 포함되지 않고, 오직 Checksum 계산을 위해 임시로 생성되는 헤더
- 출발지 IP 주소, 목적지 IP 주소, 프로토콜 번호, TCP 길이 등이 포함됨
- 목적
- IPv4 Checksum: IPv4 헤더의 무결성만을 검증합니다.
- TCP Checksum: TCP 세그먼트 전체(헤더와 데이터)의 무결성을 검증합니다.
- 필수 여부
- IPv4 Checksum: IPv4에서는 필수입니다.
- TCP Checksum: TCP에서는 필수이지만, UDP의 경우 IPv4에서는 선택적이고 IPv6에서는 필수입니다.
- 재계산 필요성 (데이터 무결성을 위한 중요한 과정)
- IPv4 Checksum: 라우터에서 TTL 필드를 변경할 때마다 재계산이 필요합니다.
- TTL 필드: IP 패킷 헤더에 있는 8비트 필드로, 패킷의 수명을 제어함
- TCP Checksum: 엔드 포인트에서만 계산되므로 중간 노드에서 재계산할 필요가 없습니다.
- IPv4 Checksum: 라우터에서 TTL 필드를 변경할 때마다 재계산이 필요합니다.
TTL(Hop Limit)이란 무엇인가요?
TTL(Time to Live) 또는 Hop Limit은 네트워크에서 데이터 패킷의 수명을 제한합니다.
- 정의
- TTL은 데이터 패킷이 네트워크에 존재할 수 있는 최대 시간 또는 홉 수(Hop Limit)를 나타냅니다.
- 패킷이 네트워크에서 무한히 순환하는 것을 방지하여 네트워크 혼잡을 줄이고 효율적인 패킷 전달을 보장합니다.
- IPv4에서는 TTL, IPv6에서는 Hop Limit이라고 불립니다.
- 작동 방식
- 패킷의 헤더에 8비트 필드로 포함되어 있으며, 최대값은 255입니다.
- 라우터를 통과할 때마다 TTL 값이 1씩 감소합니다.
- 장점
- 네트워크 성능 향상: 불필요한 트래픽 감소
- 라우팅 루프 방지: 패킷의 무한 순환 방지
IP 주소와 MAC 주소의 차이에 대해 설명해 주세요.
- 정의
- IP 주소: 네트워크 상에서 장치를 식별하고 위치를 지정하는 논리적 주소입니다.
- MAC 주소: 네트워크 인터페이스 카드(NIC)에 할당된 고유한 물리적 주소입니다.
- 할당 방식
- IP 주소: 네트워크 관리자나 ISP에 의해 동적 또는 정적으로 할당됩니다.
- MAC 주소: 제조사에 의해 하드웨어에 영구적으로 할당되며, 변경이 어렵습니다.
- 구조
- IP 주소: IPv4의 경우 32비트, IPv6의 경우 128비트로 구성됩니다.
- MAC 주소: 48비트로 구성되며, 16진수로 표현됩니다.
- 사용 계층
- IP 주소: OSI 모델의 네트워크 계층(3계층)에서 사용됩니다.
- MAC 주소: OSI 모델의 데이터 링크 계층(2계층)에서 사용됩니다.
- 유일성
- IP 주소: 전체 인터넷 상에서 유일해야 하지만, Private IP의 경우 로컬 네트워크 내에서만 유일합니다.
- Private IP(사설 IP)
- 공유기가 노트북, 스마트 TV, 휴대폰 등 홈 네트워크에 연결된 장치에 할당한 내부 IP 주소를 의미합니다.
- 로컬 네트워크에서 할당되며 다른 네트워크의 IP 주소와 중복될 수 있습니다.
- Private IP(사설 IP)
- MAC 주소: 전 세계적으로 유일해야 합니다.
- IP 주소: 전체 인터넷 상에서 유일해야 하지만, Private IP의 경우 로컬 네트워크 내에서만 유일합니다.
- 변경 가능성
- IP 주소: 필요에 따라 변경이 가능합니다.
- MAC 주소: 일반적으로 변경이 불가능하지만, 일부 경우 소프트웨어적으로 변경이 가능합니다.
- 주요 역할
- IP 주소: 네트워크 간 라우팅을 위해 사용됩니다.
- MAC 주소: 같은 네트워크 내에서 장치를 식별하고 통신하는 데 사용됩니다.
Leave a comment