라우팅(Routing)
- 라우팅 테이블
- 데이터그램을 보낼 다음 라우터를 나타냄, 정적 또는 동적일 수 있음
- ES(End System) 및 라우터는 라우팅 테이블을 유지함
- 소스 라우팅 : 소스가 따라야 할 경로를 지정함, 보안 및 우선 순위를 위해 유용할 수 있음
- 라우트 기록 : 각 라우터는 데이터그램의 주소 목록에 자신의 인터넷 주소를 추가함, 테스트 및 디버깅 목적으로 유용함.
데이터그램 생명주기
- 무한 순환의 문제
- 동적 또는 대체 라우팅을 사용할 때 데이터그램이 네트워크를 계속해서 반복적으로 순환할 수 있습니다. 이는 네트워크의 혼잡을 일으키고 자원을 낭비하게 됩니다.
- 자원 소모 방지 방법
- 데이터그램이 무한히 순환하지 않도록 수명(Lifetime)을 설정합니다.
- 데이터그램은 TTL(Time to Live) 또는 수명 값을 포함하며, 이 값은 각 라우터를 통과할 때마다 감소합니다.
- 수명 만료 시 처리
- 데이터그램의 TTL 값이 0이 되면, 더 이상 전달되지 않고 폐기됩니다.
- 이를 통해 데이터그램이 무한히 순환하는 것을 방지하고 네트워크 자원을 효율적으로 관리합니다.
쉽게 예를 들어 설명
- 데이터그램은 네트워크에서 "배달기사"와 같다고 볼 수 있습니다.
- 배달기사는 목적지까지 가기 위해 정해진 시간제한(TTL)이 있습니다.
- 시간제한이 다 되면, 더 이상 목적지로 가지 않고 "배달 실패"로 처리되어 폐기됩니다.
- 이렇게 하면 잘못된 경로에서 무한히 배회하지 않고 자원을 절약할 수 있습니다.
단편화와 재조립(Fragmentation and Re-assembly)
단편화 (Fragmentation)
단편화는 데이터를 나누어 전송하는 과정으로, 네트워크가 처리할 수 있는 최대 크기(MTU, Maximum Transmission Unit)를 초과하는 데이터를 나눌 필요가 있을 때 발생합니다.
- 이유:
- 네트워크마다 처리할 수 있는 데이터 크기(MTU)가 다름.
- 데이터를 나누어 전송하면 큰 데이터로 인한 혼잡을 줄이고, 재전송 시에도 작은 단위로 효율적으로 처리 가능.
- 네트워크 자원을 공평하게 공유하기 위해 데이터 크기를 제한.
단편화된 데이터는 각 단편이 독립적으로 전송되며, 단편마다 헤더 정보가 추가되어 데이터의 위치와 관계를 식별합니다.
재조립 (Re-assembly)
단편화된 데이터는 목적지에 도달한 후 원래의 데이터로 재조립됩니다.
- 목적지에서 재조립:
- 대부분의 경우, 데이터는 목적지에서만 재조립되며, 중간 라우터는 재조립을 수행하지 않음.
- 목적지에서 모든 단편이 도착하면 순서대로 원본 데이터로 합쳐짐.
- 중간 재조립:
- 드물게, 특정 환경에서는 중간 라우터에서 재조립이 이루어질 수도 있음.
- 하지만 단편이 모두 동일한 라우터를 통과해야 하며, 이는 네트워크 복잡성을 증가시킴.
IP 프로토콜에서의 단편화와 재조립
IP 프로토콜은 데이터를 전송할 때 다음과 같은 헤더 필드를 사용하여 단편화를 관리합니다:
- 데이터 단위 식별자 (Data Unit Identifier, ID) : 데이터그램을 고유하게 식별하여 단편들을 서로 구분.
- 데이터 길이 (Data length) : 단편의 크기를 나타냄 (옥텟 단위).
- 오프셋 (Offset) : 원본 데이터그램에서 단편의 위치를 나타냄 (64비트 단위).
- 더 많은 플래그 (More flag) : 단편이 더 있는지 여부를 표시, 마지막 단편인 경우 플래그가 꺼짐
오류 제어 (Error Control)
- 폐기된 데이터그램의 식별 필요
- 네트워크에서 문제가 발생한 데이터그램(패킷)을 식별해야 함.
- 데이터그램이 폐기되는 주요 이유
- 수명 만료 (Lifetime expiration): 데이터그램의 TTL(Time to Live)이 0이 되어 전송이 중단됨.
- 혼잡 (Congestion): 네트워크가 과부하 상태로 데이터를 더 이상 처리할 수 없음.
- FCS 오류 (Frame Check Sequence error): 데이터 전송 중 오류가 발생하여 데이터 무결성이 손상됨.
흐름 제어 (Flow Control)
- 라우터의 처리 속도 조절 : 네트워크 혼잡을 방지하기 위해 라우터가 데이터를 받는 속도를 제한함.
- 흐름 제어 패킷 사용 : 데이터를 천천히 보내달라는 요청을 발송하여, 데이터 흐름을 줄이고 네트워크가 안정적으로 작동하도록 함.
IP 서비스(IP Services)
1. 기본 동작 (Primitives)
- IP 프로토콜이 수행해야 할 기능을 지정하는 요소
- 구현 방식에 따라 기본 동작의 형태가 달라질 수 있음
- 주요 동작:
- Send-request: 데이터 유닛 전송 요청
- Deliver-notify: 데이터 유닛 도착 알림
2. 매개변수 (Parameters)
- 데이터와 제어 정보를 전달하는 데 사용됨
- IP 서비스의 동작을 구체적으로 설정하거나 조정하는 역할을 함
핵심 요약
IP 서비스는 데이터를 전송하고 도착을 알리는 기능(Primitives)을 제공하며, 데이터를 처리하거나 제어 정보를 전달하기 위한 매개변수(Parameters)를 사용해 유연성과 효율성을 보장합니다.
인터넷 제어 메시지 프로토콜(ICMP)
ICMP는 네트워크 문제를 감지하고 해결하기 위한 도구로, RFC 792에서 정의된 프로토콜입니다.
ICMP의 역할
- 메시지 전송: 라우터와 호스트 간에 문제 상황을 전달하는 수단
- 피드백 제공:
- 문제 발생 상황:
- 데이터그램이 목적지에 도달할 수 없는 경우
- 라우터가 데이터를 전달할 충분한 버퍼 용량이 없을 때
- 라우터가 더 짧은 경로로 데이터를 전달할 수 있는 경우
- 문제 발생 상황:
- IP 데이터그램에 캡슐화:
- ICMP 메시지는 IP 데이터그램 내부에 포함되어 전송됩니다.
- 그러나 이 방식으로 인해 완벽히 신뢰할 수 없는 특성이 있습니다.
핵심 요약
ICMP는 네트워크 문제를 감지하고 피드백을 제공하여 데이터그램 전송 상태를 알리고 조정하는 데 사용됩니다. 일반적인 메시지 유형은 네트워크 문제 해결과 성능 확인에 필수적입니다.
IPv6의 주요 향상점
1. 확장된 주소 공간
IPv6는 128비트 주소 공간을 제공하여, IPv4에 비해 훨씬 더 많은 네트워크와 장치를 지원할 수 있습니다. 이를 통해 IP 주소 부족 문제를 해결하고, 더 많은 장치와 인터넷 서비스를 원활히 연결할 수 있습니다.
2. 향상된 옵션 메커니즘
IPv6는 옵션 처리를 간소화하여 대부분의 옵션 정보를 중간 라우터가 확인하지 않도록 설계되었습니다. 이는 네트워크 성능을 향상시키고, 데이터 전달 속도를 개선합니다.
3. 동적 주소 할당 및 유연성
IPv6는 동적으로 주소를 할당하며, 주소 지정 유연성을 높였습니다. 특히, **애니캐스트(Anycast)**와 **멀티캐스트(Multicast)**를 지원하여 특정 네트워크 환경에서 효율적인 데이터 전달을 가능하게 합니다.
IPv6의 주요 메커니즘
1. 플로우 레이블 (Flow Label)
IPv6는 플로우 레이블 기능을 통해 패킷 흐름을 구분하고 특별히 처리할 수 있도록 합니다. 예를 들어, 같은 흐름으로 묶인 패킷은 송수신 주소와 플로우 레이블을 기반으로 식별되며, 이를 통해 라우터는 동일한 속성으로 패킷을 처리하거나 필요한 경우 특별한 처리를 적용할 수 있습니다.
이는 대역폭 예약, QoS(서비스 품질) 보장과 같은 응용에서 유용하게 사용됩니다. 또한 모든 정보를 헤더에 포함시키는 대신, 간소화된 플로우 처리 방식으로 네트워크 성능을 최적화합니다.
IPv6 주소의 특징
IPv6 주소는 128비트 길이로 설계되었으며, 하나의 네트워크 인터페이스에 여러 개의 유니캐스트 주소를 할당할 수 있습니다. IPv6 주소는 3가지 유형으로 분류됩니다:
- 유니캐스트(Unicast): 단일 대상 인터페이스를 식별.
- 애니캐스트(Anycast): 가장 가까운 인터페이스 세트 중 하나를 식별.
- 멀티캐스트(Multicast): 인터페이스 세트 전체를 식별.
{ Fragmentation Header, Routing Header, Destination Options Header }
IPv6에서 Fragmentation Header, Routing Header, 그리고 Destination Options Header는 서로 연관된 확장 헤더 기능으로 패킷 전송 과정에서 다양한 역할을 수행합니다.
Fragmentation Header
- IPv6에서는 단편화(fragmentation)가 오직 송신(source)에서만 허용됩니다.
- 중간 라우터에서는 단편화가 이루어지지 않으며, 대신 경로 탐색(Path Discovery)을 통해 네트워크의 최소 MTU(Maximum Transmission Unit)를 발견합니다.
- 데이터그램 크기를 MTU에 맞추어야 하며, 이를 초과할 경우 패킷 크기는 1280 옥텟으로 제한됩니다.
Routing Header
- IPv6 패킷이 목적지에 도달하는 동안 방문해야 할 중간 노드들의 목록을 포함합니다.
- 라우팅 헤더는 다음과 같은 정보를 포함합니다:
- 다음 헤더(Next header)
- 헤더 확장 길이(Header extension length)
- 라우팅 유형(Routing type)
- 남은 세그먼트(Segments left)
Destination Options Header
- 목적지 노드에서만 사용되는 선택적 정보(optional information)를 포함합니다.
- 이 헤더의 포맷은 Hop-by-Hop Header와 동일합니다.
- 목적지에서 패킷 처리를 위한 추가적인 데이터를 제공합니다.
연관성
- Fragmentation Header는 패킷 크기를 네트워크의 MTU에 맞추는 역할을 하고, Routing Header는 데이터 전송 경로를 지정하며, Destination Options Header는 목적지에서 특정 작업을 수행하기 위한 추가 정보를 제공합니다.
- 이 모든 헤더는 IPv6 패킷의 전송 및 처리 과정에서 상호 보완적으로 작동합니다.
Virtual Private Network (VPN)
VPN은 보안되지 않은 네트워크(예: 인터넷)를 통해 여러 컴퓨터를 안전하게 연결하는 기술입니다.
주요 특징
- 보안 연결 : 기업 LAN을 인터넷을 통해 연결할 때 사용되며, 데이터 암호화 및 특수 프로토콜을 사용하여 보안을 제공합니다.
- 위협 방지 : 도청(eavesdropping) 및 비인가 사용자 접근(entry point for unauthorized users)을 방지합니다.
- 표준화 : 독점 솔루션의 문제를 해결하기 위해 IPSec 표준이 개발되었습니다.
IPv6의 확장 헤더는 효율적이고 유연한 데이터 전송을 지원하며, 각 기능이 통합적으로 작동합니다. 한편, VPN은 IPv6과 별도로 보안 네트워크 연결을 제공하며, 암호화와 프로토콜을 통해 데이터를 안전하게 보호합니다.
IPsec의 역할
IPsec는 데이터 전송 과정에서 신뢰성을 보장하고, 네트워크 통신의 무결성을 보호합니다. 특히, VPN과의 결합을 통해 기업의 원격 액세스와 민감한 데이터 보호를 강화하며, 전 세계적으로 안전한 인터넷 사용을 지원합니다.
IPsec의 기능
- Authentication Header (AH): 인증만 제공하는 헤더.
- Encapsulating Security Payload (ESP): 인증과 암호화를 결합하여 제공.
- 키 교환 기능: 수동 또는 자동화된 방식으로 암호화 키를 교환.
- VPN과의 연계: VPN은 주로 IPsec의 ESP와 AH 기능을 결합하여 보안을 강화.
'Computer Science > 데이터 통신' 카테고리의 다른 글
Chapter 19. Routing (0) | 2024.12.10 |
---|---|
Chapter 11. 로컬 영역 네트워크(LAN) (0) | 2024.12.01 |
Chapter 10. 셀룰러 무선 네트워크 (2) | 2024.12.01 |
Chapter 09. WAN 기술과 프로토콜 (0) | 2024.11.23 |
Chapter 08. 멀티플렉싱 (0) | 2024.11.23 |