2013년 10월 24일 목요일

IPv6개요, IPv4에서 변경된 부분, IPv6로의 전이

IPv6의 동기와 개요
    • 상대적으로 작은 32비트의 주소 공간
    • 클래스 기반의 주소 할당 방식 때문에 주소 부족
      • CIDR과 IP NAT 기술로 부족현상을 조금 지연
  • IPv6 표준
    • 주요 기능은 1998년에 발표된 RFC 2460에서 RFC 2467까지에 이르는 일련의 RFC로 정의
    • RFC 2060
      • 주 IPv6 표준
      • 인터넷 프로토콜, 버전 6 명세
      • IPv6의 동작을 돕는 두 프로토콜
        • 인접 노드 발견 프로토콜(ND)
        • 인터넷 제어 메시지 프로토콜 버전 6 (ICMPv6)
    • RFC2373
      • IP 버전 6 주소지정 구조(IP Version 6 Addressing Architecture)
    • RFC 2374
      • IPv6 집선 가능한 전역 유니캐스트 주소지정 포맷
      • An IPv6 Aggregatable Global Unicast Address Format
  • IPv6 설계 목표
    • 더 넓은 주소 공간
    • 더 효율적인 주소관리
    • 주소 부족을 해결하기 위한 보조 방식의 제거
      • IPv6는 NAT나 그와 유사한 방식을 사용하지 않으며, 모든 TCP/IP 장비들이 공인 주소를 가질 수 있도록 한다.
    • 쉬운 TCP/IP 관리
    • 현대적인 라우팅 방식
    • 더 나은 멀티캐스팅 지원
    • 더 나은 보안 지원
    • 더 나은 이동성 지원

IPv6의 중요 변경 사항과 추가 사항
  • IPv6로 오면서 IPv4와 달라진 부분
    • 더 큰 주소 공간: 32비트 -> 128비트
    • 계층적 주소 공간
    • 유니캐스트 주소의 계층적 할당
    • 유니캐스트 이외의 주소에 대한 더 나은 지원
      • 애니캐스트(이 그룹 멤버 중에서 가장 가까운 멤버에게 전달) 추가
    • 자동 구성과 주소 재지정
    • 새 데이터그램 포맷
    • 서비스 품질 보장(QoS) 지원
    • 보안 지원
    • 단편화와 재조합 과정 개선
    • 현대화된 라우팅 지원
    • 전이 기능
    • 다른 프로토콜의 변경

IPv4에서 IPv6로의 전이
  • IPv4에서 IPv6로의 전이 방법
    • 이중 스택 장비
    • IPv4/IPv6 변환
    • IPv4 터널링

2013년 10월 23일 수요일

IP 라우팅과 멀티캐스팅

IP 데이터그램 전달
  • 직접 데이터그램 전달
    • 데이터그램이 동일한 물리 네트워크의 두 장비 간에 송수신될 때는 출발지 장비에서 목적지 장비로 직접 전달된다.
  • 간전 데이터그램 전달(라우팅)
    • 두 장비가 동일한 물리 네트워크에 있지 않을 경우의 데이터그램 전달
  • 데이터그램 라우팅과 주소지정의 관계

IP 라우팅 개념과 다음 홉 라우팅 과정
  • 다음 홉 라우팅(next-hop routing)
    • 데이터그램은 목적지 장비가 있는 물리 네트워크에 도달할 때까지 한 라우터에서 다음 라우터로 전달된다.
  • IP 데이터그램 간접 전달은 다음 홉 라우팅이라는 과정을 통해 수행된다.
  • 여기서 각 메시지는 목적지 네트워크에 도달할때까지 한 라우터에서 다른 라우터로 전달된다.
  • 이 방법의 주요 장점은 각 라우터가 모든 목적지 네트워크로의 정확한 경로를 아는 것이 아니라 주어진 데이터그램의 다음 이웃 라우터만을 알면 된다는 것이다.


IP 경로와 라우팅 테이블
  • 라우터는 내부 라우팅 테이블을 통해 데이터그램을 어떻게 라우팅할지 결정한다.
  • 이 테이블은 데이터그램이 특정 네트워크에 도달하기 위해 어떤 라우터를 이용해야 하는지를 알려주는 항목을 포함한다.
  • 라우팅 가능한 프로토콜과 라우팅 프로토콜은 서로 다르다.
  • IP는 라우팅 가능한 프로토콜인데, 그것은 IP 메시지(데이터그램)가 라우팅 가능하다는 것을 의미한다.
  • 라우팅 프로토콜의 예로 라우팅 정보 프로토콜(RIP, Routing Information Protocol)과 경계 경로 프로토콜(BGP, Border Gateway Protocol) 등이 있는데 이들은 라우터 간에 라우팅 정보를 교환하는 데 쓰인다.

서브넷 또는 CIDR 환경에서의 IP 라우팅


IP 멀티캐스팅
    • 멀티캐스팅 - 한 장비가 여러 수신자에게 메시지를 보내는 기능
  • 멀티캐스트 주소지정
    • 클래스 D 블록이 멀티캐스트 주소로 예약
  • 멀티캐스트 그룹관리
    • 장비는 동적으로 그룹에 참여하거나 탈퇴할 수 있어야 함
    • 그룹 정보는 IP 인터네트워크로 전파되어야 함
    • 인터넷 그룹 관리 프로토콜(IGMP)
      • Internet Group Management Protocol
      • 인터넷의 장비와 라우터들이 서로 그룹과 그룹 가입 정보를 교환할 수 있도록 하는 메시지 포맷을 정의
  • 멀티캐스트 데이터그램 처리와 라우팅
  • IP 멀티캐스팅은 한 장비가 사설 인터네트워크나 전역 인터넷을 통해 여러 장비로 정보를 보낼 수 있도록 하는 특수 애플리케이션을 개발할 수 있도록 한다.
  • IP 멀티캐스팅은 기존의 유니캐스트 IP보다 복잡하며, 주소지정과 라우팅 부분에서 특수한 주의를 필요로 한다.

2013년 10월 16일 수요일

IP 데이터그램 크기, 단편화, 재조합

IP 데이터그램 크기, MTU, 단편화 개요
  • IP 데이터그램 크기와 하부 네트워크 프레임 크기
    • 장비가 다른 장비와 연결하기 위해 사용하는 네트워크
      • 근거리(LAN) 연결(이더넷이나 토큰링 등)
      • 무선 LAN(WLAN) 링크(802.11)
      • 전화 접속 연결
      • 디지털 가입자 회선(DSL, Digital Subscriber Line) 연결
      • T1 링크
      • 기타 원거리(WAN) 등
      • 광섬유 분산 데이터 인터페이스(FDDI, Fiber Distributed Data Interface) 네트워크
        • 데이터 필드의 최대 데이터 크기 : 약 4,470바이트
    • 일반 이더넷 프레임
      • 페이로드의 크기를 1,500바이트로 제한
  • MTU와 데이터그램 단편화
    • MTU, maximum transmission unit 또는 maximum transfer unit
      • 물리 네트워크로 전달될 수 있는 최대 IP 데이터그램의 크기
      • 큰 MTU를 가진 네트워크에서 온 데이터그램이 작은 MTU를 가진 네트워크로 전달되려면 작은 MTU에 맞게 단편화돼야 한다.
  • 다중 단계 단편화
    • 중간 라우터는 이미 단편화된 IP 메시지를 다시 단편화할 수 있지만, 단편들을 재조합하지는 않는다.
    • 재조합은 수신 장비에서 일어난다.
  • 인터넷 최소 MTU
    • 576바이트 (RFC 791에서 지정)
    • 512바이트의 데이터 블록 + 표준 IP 헤더와 옵션
  • MTU 경로 발견
    • 종단 장비들은 TCP/IP의 ICMP에 내장된 에러 보고 방식을 이용하는 MTU 경로 발견(path discovery)을 통해 전체 경로의 MTU를 파악할 수 있다.

IP 메시지 단편화 과정
  • 하나의 메시지가 여러 조각으로 단편화되면 발생하는 문제
    • 순서와 위치 지정
    • 단편화 메시지 분리
    • 재조합 종료
  • IP 단편화 과정

  • 단편화 관련 IP 데이터그램 헤더 필드
    • 전체 길이
      • 각 단편의 길이를 나타낸다
    • 식별자
    • MF(More Fragments)
      • 맨 마지막 단편만 0으로, 나머지는 1로 설정
    • 단편화 오프셋
      • 13비트이므로 0에서 8,191까지 값을 가짐
      • 단편은 8바이트 단위로 지정
      • 위의 그림에서 셋째 단편의 오프셋은 820(6,560/8)이다.

IP 메시지 재조합

  • 재조합은 메시지의 최종 목적지 장비에서만 일어남
    • 단편이 다양한 경로를 거칠 수 있기 때문에 라우터가 모든 단편을 모은다는 것을 보장할 수 없음
    • 라우터가 단편 모으기 하면 비효율적임
  • 재조합 과정
    • 단편 인식과 단편화된 메시지 식별
    • 버퍼 초기화
    • 타이머 초기화
    • 단편 수신과 처리



2013년 10월 7일 월요일

인터넷 프로토콜 데이터그램 캡슐화와 포매팅

IP 데이터그램 캡슐화

  • 상위 계층 메시지는 TCP나 UDP 메시지로 패키징되고 그것은 다시 IP 데이터그램의 페이로드가 된다.
  • IP 데이터그램은 2계층으로 전달되어 LAN, WAN, WLAN 프레임으로 캡슐화된다.
  • 그리고 물리 계층에서 비트로 변환되어 전송된다.


IP 데이터그램 일반 포맷

  • 인터넷 프로토콜 버전 4 (IPv4) 데이터그램 포맷
필드 이름 크기(바이트) 설명
버전 1/2(4비트) 데이터그램을 만드는 데 쓰인 IP 버전을 나타낸다.
IHL 1/2(4비트) IP 헤더 길이를 32비트 워드 단위로 지정한다.
TOS 1 서비스 품질 기능(예: IP 데이터그램에 우선 순위를 줘서 전송)을 제공하기 위한 정보를 전달하는 필드.
TL 2 IP 데이터그램의 전체 길이를 바이트 단위로 지정한다.
식별자 2 이 필드는 특정 메시지에 속한 각 단편과 연관된 16비트 값을 포함한다.
플래그 3/8(3비트) 3개의 제어 플래그, 2개는 단편화 관리용, 1개는 예약
단편화 오프셋 1 5/8(13비트) 메시지 단편화가 일어날 때 이 필드는 전체 메시지 안에서 이 데이터의 위치, 또는 오프셋을 8바이트(64비트) 단위로 나타낸다.
TTL 1 이 필드는 데이터그램이 네트워크에서 얼마나 오래 살아남을 수 있는지를 라우터 홉 수로 나타낸다.
프로토콜 1 데이터그램에서 운반하는 상위 계층 프로토콜을 식별한다.
헤더 체크섬 2 전송 중 오류를 방지하기 위해 헤더에 대한 체크섬을 계산한다.
출발지 주소 4 데이터그램을 처음 송신한 장비의 32비트 IP 주소다.
목적지 주소 4 데이터그램의 목적지 장비의 32비트 IP 주소다.
옵션 가변적 일부 IP 데이터그램에서 표준 헤더 뒤에 올 수 있는 하나 이상의 옵션 유형
패딩 가변적 하나 이상의 옵션이 IP 헤더에 포함됐는데 그 옵션 비트 수가 32의 배수가 아닐 경우에는 헤더 길이를 32비트(4바이트)의 배수로 맞추기 위해 0비트 패딩이 추가됨
데이터 가변적 데이터그램에서 전송할 데이터로 전체 상위 계층 메시지이거나 아니면 단편화된 메시지의 일부


  • IPv4 플래그 하위 필드

하위 필드 이름 크기(바이트) 설명
예약 1/8(1비트) 쓰이지 않음
DF 1/8(1비트) 1로 설정 : 데이터그램을 단편화하지 말라는 것을 나타냄
링크의 최대 전송 단위(MTU)를 검사하는 데 쓰임
MF 1/8(1비트) 0으로 설정: 메시지의 마지막 단편이라는 것을 나타냄
1로 설정: 단편화된 메시지의 일부분이 아직 남아 있다는 것을 나타냄


  • IPv4 프로토콜 하위 필드

값(16진수) 값(10진수) 프로토콜
00 0 예약
01 1 ICMP
02 2 IGMP
03 3 GGP
04 4 IP-in-IP 캡슐화
06 6 TCP
08 8 EGP
11 17 UDP
32 50 보안 페이로드 캡슐화(ESP) 확장 헤더
33 51 인증 헤더(AH) 확장 헤더

  • IPv4 데이터그램 포맷

  • IP 데이터그램 TTL(Time to Live) 필드
    • 데이터그램이 무한히 인터넷을 방황하지 않도록 하기 위함
    • 데이터그램의 최대 홉 수를 나타냄
    • 라우터는 데이터그램을 처리할 때마다 TTL 필드를 1만큼 감소
    • TTL 값이 0이되면 데이터그램은 버려지며 최초 송신자에게 ICMP(Internet Control Message Protocol) 시간 초과(Time Exceeded) 메시지가 전송됨
  • IP 데이터그램 서비스 유형(TOS, Type of Service) 필드
    • 원래 IP 데이터그램 전달을 위한 특정 서비스 품질(QoS, quality-of-service) 기능을 제공하기 위해 고안된 1바이트
    • 거의 사용되지 않음
    • RFC 2474는 TOS 필드의 처음 6비트를 차등화 서비스(DS, Differentiated Services)라는 기술을 지원하도록 재정의
    • DS에서 TOS 피드의 값은 코드포인트(codepoint)라고 불림

IP 데이터그램 옵션과 옵션 포맷
  • 모든 IP 데이터그램은 표준 20바이트 헤더를 포함함
  • IP 헤더에서 옵션 필드의 전체 길이는 가변적
  • IPv4 옵션 포맷
하위 필드 이름 크기(바이트) 설명
옵션 유형 1 옵션 유형 하위 필드는 3개의 하위 필드로 다시 세분화 됨
옵션 길이 0 또는 1 가별 길이 옵션의 경우, 전체 옵션의 길이를 바이트로 나타냄
옵션 데이터 0 또는 가변적 가변 길이 옵션의 경우, 옵션의 일부로 전달할 데이터를 포함함


  • IPv4 옵션: 옵션 유형 하위 필드

하위 필드 이름 크기(바이트) 설명
복사 플래그 1/8(1비트) 데이터그램이 단편화될 때 옵션을 모든 단편에 복사해야 할 경우 1로 설정
옵션 클래스 2/8(2비트) 옵션이 속한 일반 범주를 명시하는 4개 값 중 하나를 지정. 실제로 쓰이는 값은 0(제어옵션)과 2(디버깅과 측정)의 두가지다.
옵션 번호 5/8(5비트) 옵션의 종류를 지정한다. 두 옵션 클래스 각각에 대하여 32개의 서로 다른 값을 지정할 수 있다.


  • 널리 쓰이는 IPv4 옵션
옵션 클래스 옵션 번호 길이(바이트) 옵션 이름 설명
0 0 1 옵션 목록 끝 옵션 목록의 끝을 표시하는 데 쓰이는, 단지 하나의 0바이트를 포함하는 옵션
0 1 1 동작 없음 필요할 경우 특정 옵션을 32비트 경계에 정렬하기 위해 내부적으로 패딩하는 데 쓰이는 "더미 옵션"
0 2 11 보안 군대에서 IP 데이터그램의 보안 등급을 지정하는 데 쓰이는 옵션
0 3 가변적 Loose 소스 라우팅 IP 데이터그램 소스 라우팅에 쓰이는 두 옵션 중 하나
0 7 가변적 경로 기록 데이터그램의 경로를 헤더 자체에 기록하는 데 쓰인다.
0 9 가변적 Strict 소스 라우팅 IP 데이터그램 소스 라우팅에 쓰이는 두 옵션 중 하나
2 4 가변적 시간 경로 기록 옵션과 유사하게 동작하지만 각 장비가 IP 주소 대신 시간 정보를 기록한다.
2 18 12 Traceroute RFC 1393에서 설명하는 traceroute 유틸리티의 개선된 버전에서 쓰인다.
    • 소스 라우팅 (RFC 791 참고)
      • 일반적으로 라우팅은 라우터의 몫
      • 데이터그램 최초 송신 장비가 경로를 지정하는 경우 소스라우팅
      • 2개의 IP 옵션이 소스 라우팅 지원
      • 옵션은 IP 주소 목록을 포함
      • strict 소스 라우팅
        • 옵션에 지정된 경로가 순서대로 정확히 사용되어야 함
        • 다른 라우터는 데이터그램을 절대로 처리하면 안됨
      • loose 소스 라우팅
        • 중간에 거쳐가야 할 IP 주소 목록을 지정
        • 목록에 있는 장비 사이에 다른 홉이 들어올 수 있도록 함

2013년 10월 6일 일요일

IP 클래스 비사용 주소지정 - 클래스 비사용 도메인 간 라우팅/슈퍼네팅

IP 클래스 비사용 주소지정과 슈퍼네팅 개요

  • 클래스 단위 주소지정의 주요 문제점
    • 세밀성이 떨어짐
    • 클래스 B는 많이 소요되나 클래스 C는 인기가 없음
    • 낭비되는 클래스 B 대신 클래스 C 10개를 사용하면 라우터가 10배의 항목을 관리 하게 됨
  • 해결책: 주소 클래스 제거
    • 네트워크 크기가 오직 3단계로 구분된다면 할당 효율 문제를 적절히 해결하는 것은 불가능
    • 클래스를 완전히 제거한 클래스 비사용 할당 방법 사용
    • 클래스 비사용 도메인간 라우팅(CIDR, Classless Inter-Domain Routing)
      • 주소지정과 라우팅 모두를 다룬다.
      • CIDR을 때때로 슈퍼네팅(supernetting)이라 부름
        • 서브네팅의 원리를 대형 네트워크에 적용
      • 가변 길이 서브넷 마스킹(Variable Length Subnet Masking)을 인터넷에 적용한 것
  • 클래스 비사용 주소지정과 라우팅의 주요 장점
    • CIDR은 클래스 단위 주소지정 방법에 비해 여러 장점이 있음
      • 효율적인 주소 공간 할당
      • 클래스 불균형 제거: 클래스 A, B, C 네트워크 존재 않음
      • 효율적인 라우팅 항목 관리
      • 별도의 서브네팅 방법이 필요 없음

IP 슈퍼네팅: CIDR 계층적 주소지정과 표기법
  • CIDR(슬래시) 표기법
    • CIDR에는 주소 클래스가 없기 때문에 주소만으로 네트워크 ID의 크기를 파악할 수 없다.
    • CIDR에서는 접두사(네트워크 ID)의 길이를 주소 뒤의 슬래시 다음에 표시한다.
    • 이것을 CIDR 표기법 또는 슬래시 표기법이라고 부른다.
  • 슈퍼네팅: 인터넷 서브네팅
    • 인터넷 할당번호 관리기관(IANA, Internet Assigned Numbers Authority)은 모든 사람에게 네트워크 ID를 나눠 줬으며 그것을 받은 사람은 호스트 ID를 부여함.
    • IANA/ICANN은 주소를 대형 블록으로 나눠 4개의 대륙별 인터넷 레지스트리(RIR, regional Internet registries)인 APNIC, ARIN, LACNIC, RIPE NCC에 분배
    • RIR은 주소 블록을 더욱 세분화하여 하위 수준의 국가 인터넷 레지스트리(NIR, national Internet registries), 지역 인터넷 레지스트리(LIR, local Internet registries)와 인터넷 서비스 제공자(ISP) 같은 개별 기관에 분배
  • 클래스 단위 주소지정과 클래스 비사용 주소지정의 공통점
    • 사설 주소 블록
      • 일부 주소 블록은 사설 네트워크 주소를 위해 예약
    • 특수 의미를 갖는 주소
      • 모두 1과 모두 0에 대한 의미는 그대로 유지
    • 루프백 주소
      • 네트워크 127.0.0.0 (127.0.0.0/8)은 루프백 기능으로 예약

IP 서브넷 주소지정 개념

※클래스 단위 주소지정에 근거를 두고 있는 서브네팅은 오늘날 진부한 기술로 취급 받고 있다. 서브넷과 서브넷 마스크의 개념은 아직까지 남아 있기는 하지만, 클래스 A, B, C 인터넷 주소 블록을 할당하고 그것을 서브넷으로 구분하는 방법은 더 이상 쓰이지 않는다.

IP 서브넷 주소지정 개요, 동기, 장점
    • 서브넷 주소지정은 IP 주소 해석 과정에 하나의 단계를 추가했다.
    • 그래서 네트워크, 네트워크가 포함하는 서브넷, 서브넷이 포함하는 여러 호스트의 3단계 계층 구조가 생성된다.
  • 장점
    • 물리 네트워크 구조에 더 잘 들어맞음
    • 유연성
    • 공중 인터넷에는 보이지 않음
    • 새로운 IP 주소를 요청할 필요가 없음
    • 라우팅 테이블 항목을 많이 넣을 필요가 없음
  • 서브넷 마스크
    • 32비트 구성
    • 서브넷 ID와 호스트 ID를 구분하기 위한 정보
  • 라우팅 정보 프로토콜(RIP, Routing Information Protocol)과 같은 라우팅 프로토콜 변경
  • 단점
    • 실제 동작 방법을 이해하기가 어렵다.

IP 서브네팅: 3단계 계층적 IP 서브넷 주소지정
  • 클래스 단위 네트워크는 호스트 ID를 서브넷 ID와 호스트 ID로 나눔으로써 서브넷으로 변환된다.
  • 이들 비트는 네트워크 내에서 개별 서브넷을 식별하는 데 쓰인다.
  • 호스트들은 이 서브넷에 할당된다.

IP 서브넷 마스크, 표기법, 서브넷 계산
  • 서브넷 마스크의 기능
    • IP 주소에 따라다니는 32비트 2진수
    • 네트워크 ID나 서브넷 ID에 해당하는 부분을 1로, 호스트 ID에 해당하는 부분을 0으로 설정하여 생성됨
    • 서브넷 마스크를 통해 TCP/IP 장비는 IP 주소의 어떤 비트가 네트워크 ID와 서브넷 ID에 속하는지, 그리고 어떤 비트가 호스트 ID에 속하는지를 알아냄
  • 서브넷 마스크 표기법
    • 클래스 B 네트워크에서 5비트 서브넷 ID와 11비트 호스트 ID의 경우 서브넷 마스크는 11111111 11111111 11111000 00000000(2)이 된다.
    • 이것을 부점 10진 표기법으로 255.255.248.0이 된다.
  • 서브넷 마스크 적용
    • 서브넷 마스크는 편의를 위해 부점 10진 표기법으로 표현되기도 한다. 그렇지만 컴퓨터는 서브넷 마스크를 2진수로 인식하며 마스크의 동작 방식과 서브넷 ID 비트의 수를 이해하기 위해 2진수로 표현되는 경우가 많다.
  • 서브넷 마스크 표기법 원리
    • 마스크를 하나의 숫자로 표현하는 방법이 지금은 많이 쓰임
    • IP 주소가 154.71.150.42이고 서브넷 마스크가 255.255.248.0이라 하는 대신 154.71.150.42/21 이라고 표현 할 수 있음
    • 이것을 슬래시 표기법 또는 클래스 비사용 도메인간 라우팅(CIDR, Classless Inter-Domain Routing) 표기법이라 부름
    • 이 표기법은 가변 길이 서브넷 마스킹(VLSM, Variable Length Subnet Masking) 환경에 더 자주 쓰임

주소 클래스 A, B, C의 IP 기본 서브넷 마스크
    • 네트워크 ID 부분은 1, 서브넷 ID 부분은 없고, 호스트 ID 부분은 0
  • 클래스 A : 255.0.0.0
  • 클래스 B : 255.255.0.0
  • 클래스 C : 255.255.255.0

IP 커스텀 서브넷 마스크
    • 커스텀 서브네팅: 서브넷 ID와 호스트 ID를 구분하는 지점을 네트워크에 맞게 선택할 수 있는 서브네팅
  • 얼마나 많은 서브넷 비트를 사용할지 결정
    • 서브네팅의 근본적인 균형 관계는 서브넷 ID에 1비트를 추가할 때마다 서브넷의 수는 2배가 되지만 서브넷별 호스트의 수는 약 1/2로 줄어든다는 것임
  • 커스텀 서브넷 마스크 결정
    • 서브넷 구분 방법을 결정했으면, 네트워크의 기본 서브넷 마스크에서 서브넷 ID에 해당하는 비트 수 만큼 0을 1로 바꿔서 커스텀 서브넷 마스크를 얻을 수 있다.
  • 서브넷별 호스트 수와 네트워크별 서브넷 수에서 2를 뺌
    • 서브넷 ID에 7비트나 8비트를 사용할 수 없다. 호스트 ID - 2개이므로.

IP 서브넷 식별자, 서브넷 주소, 호스트 주소
  • 서브넷 식별자
    • 모두 0이나 모두 1로 되어 있는 서브넷 ID는 제외
  • 서브넷 주소
    • 서브넷의 식별자는 서브넷 ID이다. 서브넷 주소는 전체 네트워크 주소의 서브넷 비트를 서브넷 ID로 대체하여 얻을 수 있다.
  • 각 서브넷 내의 호스트 주소
    • 모두 0으이나 모두 1로 설정된 호스트 ID는 사용하지 않음
※서브넷 ID는 네트워크 전체에서 동일한 길이를 갖는다. 그래서 만약 호스트 수가 크게 다른 서브네트워크를 가지고 있을 경우 문제가 생길 수 있다.


IP 가변 길이 서브넷 마스킹

  • 가변 길이 서브넷 마스킹(VLSM, Variable Length Subnet Masking)
    • 기본 서브넷 주소지정 방법의 문제점을 해결하기 위한 방법
    • 네트워크를 서브넷으로 나눈 뒤, 그 서브넷을 다시 서브넷으로 나누는 것
    • 서브네팅을 여러 번 반복하여 네트워크를 크기가 다른 여러 서브네트워크 계층으로 구분하는 기법
  • VLSM을 이용한 다중 단계 서브네팅
    • VLSM에서는 이진 서브넷 마스크 대신 클래스 비사용 주소지정의 슬래시 표기법이 널리 쓰임
    • VLSM예제
  • VLSM을 사용하려면 VLSM 기능이 있는 라우팅 프로토콜을 지원하는 라우터가 필요하다.

2013년 10월 5일 토요일

클래스 단위 (전통적) 주소지정

IP 클래스 단위 주소지정 개요와 주소 클래스
  • IP 주소 클래스
    • A에서 E까지의 5개 클래스가 존재
IP 주소 클래스 전체 IP 주소 공간에서 차지하는 비율 네트워크 ID 비트의 수 호스트 ID 비트의 수 용도
클래스 A 1/2 8 24 인터넷에 연결할 호스트가 수백만 개 이상 존재하는 매우 큰 기관을 위한 유니캐스트 주소지정
클래스 B 1/4 16 16 인터넷에 연결할 호스트가 수천 개 정도 존재하는 중규모에서 대규모 기관을 위한 유니캐스트 주소지정
클래스 C 1/8 24 8 인터넷에 연결할 호스트가 약 250개를 넘지 않는 소규모 기관을 위한 유니캐스트 주소지정
클래스 D 1/16 없음 없음 IP 멀티캐스팅
클래스 E 1/16 없음 없음 테스트 용으로 예약됨
  • 클래스 단위 주소지정 방법의 원리
    • 단순성과 명확성
    • 타당한 유연성
    • 라우팅 용이성
    • 예약 주소

IP 클래스 단위 주소지정의 네트워크/호스트 식별과 주소 영역
  • 클래스 단위 주소지정의 클래스 결정 알고리즘
    1. 첫째 비트가 0이면 클래스 A 주소다. 1이면 다음으로..
    2. 둘째 비트가 0이면 클래스 B 주소다. 1이면 다음으로..
    3. 셋째 비트가 0이면 클래스 C 주소다. 1이면 다음으로..
    4. 넷째 비트가 0이면 클래스 D 주소다. 1이면 클래스 E 주소다.
  • 첫 옥텟 비트 패턴을 통해 주소 클래스 파악
IP 주소 클래스 IP 주소의 첫째 옥텟 첫째 옥텟의 최소값 첫째 옥텟의 최대값 첫째 옥텟 값의 범위 네트워크 ID/호스트 ID에 속한 옥텟 수 이론적 IP 주소 범위
클래스 A 0xxx xxxx 0000 0001 0111 1110 1 ~ 126 1 / 3 1.0.0.0 ~
126.255.255.255
클래스 B 10xx xxxx 1000 0000 1011 1111 128 ~ 191 2 / 2 128.0.0.0 ~
191.255.255.255
클래스 C 110x xxxx 1100 0000 1101 1111 192 ~ 223 3 / 1 192.0.0.0 ~
223.255.255.255
클래스 D 1110 xxxx 1110 0000 1110 1111 224 ~ 239 - 224.0.0.0 ~
239.255.255.255
클래스 E 1111 xxxx 1111 0000 1111 1111 240 ~ 255 - 240.0.0.0 ~
255.255.255.255


IP 주소 클래스 A, B, C의 네트워크와 호스트 용량
IP 주소 클래스 네트워크 ID / 호스트 ID에 쓰이는 비트 수 IP 주소의 첫째 옥텟 클래스를 식별하는 데 쓰이는 네트워크 ID 비트 수 사용 가능한 네트워크 ID 비트 사용가능한 네트워크 ID의 수 네트워크 ID별 호스트 ID의 수
클래스 A 8 / 24 0xxx xxxx 1 8-1 = 7 2^7 - 2 = 126 2^24 - 2 = 16,277,214
클래스 B 16 / 16 10xx xxxx 2 16 - 2 = 14 2^14 = 16,384 2^16 - 2 = 65,534
클래스 C 24 / 8 110x xxxx 3 24 - 3 = 21 2^21 = 2,097,152 2^8 - 2 = 254


특수 의미를 갖는 IP 주소
  • 모두 0
    • 네트워크 ID나 호스트 ID 비트가 모두 0으로 치환된 주소는 "이것"이라는 의미를 갖는다.
    • 예로 네트워크 ID를 모두 0으로 치환하고 호스트 ID는 그대로 둔다면 "이 네트워크에서의 해당 호스트 ID를 갖는 장비"를 의미
  • 모두 1
    • 네트워크 ID나 호스트 ID 비트가 모두 1로 치환된 주소는 모든 주소, 즉 네트워크에 있는 모든 호스트를 가리키느 IP 주소를 의미
    • 브로트캐스트 주소로 쓰임
네트워크 ID 호스트 ID 특수 의미와 설명
네트워크 ID 모두 0 지정된 네트워크: 주소의 뒷부분에 0이 있는 것은 전체 네트워크를 가리킨다.
모두 0 호스트 ID 이 네트워크에서 지정된 호스트: 이것은 네트워크 ID를 알지 못하거나 명시적으로 표현할 필요가 없을 경우에 현재 또는 기본 네트워크의 호스트를 가리킨다.
모두 0 모두 0 자신: 자신의 IP 주소를 모르는 장비가 자신을 가리킬 때 사용한다. 가장 널리 쓰이는 곳은 장비가 DHCP와 같은 호스트 설정 프로토콜을 통해 자신의 주소를 파악하고자 시도할 때다. 다중 인터페이스 호스트의 어떤 주소도 쓰일 수 있다는 것을 가리킬 때 쓰이기도 한다.
네트워크 ID 모두1 지정된 네트워크의 모든 호스트: 로컬 네트워크의 모든 호스트에 브로트캐스팅하는 데 쓰인다.
모두 1 모두1 네트워크의 모든 호스트: 직접 연결된 네트워크에 있는 모든 호스트로의 전역 브로드캐스트를 나타낸다. 여기서 전역 인터넷의 모든 호스트로의 브로드캐스트를 의미하는 주소는 존재하지 않는다는 사실을 알아두자. 그렇게 하는 것은 매우 비효율적이고 비용이 많이 드는 일이기 때문이다.


IP 예약, 사설, 루프백 주소
  • 예약 주소
    • 일부 주소 블록은 특정한 용도는 정해지지 않았지만 예약 주소로 정해져 있다.
  • 사설, 비등록, 라우팅 불가 주소
    • RFC 1918은 사설 주소에만 사용할 수 있는, 라우팅이 불가능한 특수 주소 집합을 정의했다.
  • 루프백 주소
    • 127.0.0.0에서 127.255.255.255까지의 특수 범위는 루프백(loopback) 기능을 위해 예약 돼 있다.
    • 호스트가 127.x.x.x 루프백 주소로 보낸 IP 데이터그램은 데이터 링크 계층으로 전달되지 않고 출발지 장비의 IP 계층으로 되돌아온다.
범위 시작 주소 범위 끝 주소 대응하는 클래스 단위 주소 대응하는 클래스 비사용 주소 설명
0.0.0.0 0.255.255.255 클래스 A 네트워크 0.x.x.x 0 / 8 예약됨
10.0.0.0 10.255.255.255 클래스 A 네트워크 10.x.x.x 10 / 8 클래스 A 사설 주소 블록
127.0.0.0 127.255.255.255 클래스 A 네트워크 127.x.x.x 127 / 8 루프백 주소 블록
128.0.0.0 128.0.255.255 클래스 B 네트워크 128.0.x.x 128.0 / 16 예약됨
169.254.0.0 169.254.255.255 클래스 B 네트워크 169.254.x.x 169.254 / 16 자동 개인IP 주소할당(APIPA)을 위해 예약된 클래스 B 사설 주소 블록
172.16.0.0 172.31.255.255 172.16.x.x에서 172.31.x.x까지 16개의 연속된 클래스 B 네트워크 172.16 / 12 클래스 B 사설 주소 블록
191.255.0.0 191.255.255.255 클래스 B 네트워크 191.255.x.x 191.255 / 16 예약됨
192.0.0.0 192.0.0.255 클래스 C 네트워크 192.0.0.x 192.0.0 / 24 예약됨
192.168.0.0 192.168.255.255 192.168.0.x에서 192.168.255.x까지 256개의 연속된 클래스 C 네트워크 192.168 / 16 클래스 C 사설 주소 블록
223.255.255.0 223.255.255.255 클래스 C 네트워크 223.255.255.x 223.255.255 / 24 예약됨


IP 멀티캐스트 주소지정
  • 멀티캐스트 주소 유형과 범위
    • IP 멀티캐스트 주소 범위와 용도
범위 시작 주소 범위 끝 주소 설명
224.0.0.0 224.0.0.255 유명한 특수 멀티캐스트 주소로 예약됨
224.0.1.0 238.255.255.255 전역 범위(인터넷 전체) 멀티캐스트 주소
239.0.0.0 239.255.255.255 관리용(로컬) 멀티캐스트 주소
  • 유명 멀티캐스트 주소
    • 출발지 장비가 미리 정해진 그룹에 메시지를 보낼 때 쓰임
    • 유명 IP 멀티캐스트 주소
범위 시작 주소 설명
224.0.0.0 예약됨. 쓰이지 않음
224.0.0.1 서브넷의 모든 장비
224.0.0.2 서브넷의 모든 라우터
224.0.0.3 예약됨
224.0.0.4 DVMRP를 사용하는 모든 라우터
224.0.0.5 OSPF를 사용하는 모든 라우터
224.0.0.6 OSPF로 지정된 라우터
224.0.0.9 RIP-2로 지정된 라우터
224.0.0.11 모바일 에이전트(모바일 IP용)
224.0.0.12 DHCP 서버/중계 에이전트


클래스 단위 IP 주소지정의 문제점
  • 내부 주소 유연성 부족
  • 주소 공간의 비효율적 사용
  • 라우터 테이블 항목이 너무 커짐

2013년 10월 4일 금요일

IPv4 주소지정 개념과 이슈

IP 주소지정 개요와 기초

  • IP 주소의 기능
    • 네트워크 인터페이스 식별
    • 라우팅
  • 장비별 IP 주소의 수
    • 네트워크 계층에서 데이터를 받을 수 있는 모든 장비에는 IP주소(네트워크 인터페이스별로 하나)가 적어도 하나씩 있다.
    • 라우터나 다중 인터페이스 방식으로 구성될 경우 하나 이상의 IP 주소를 가질 수 있다.
    • 리피터(repeater), 브리지(bridge), 스위치(switch) 같은 하위 수준 네트워크 연결 장비는 2계층 주소에 근거하여 트래픽을 통과시키기 때문에 IP 주소가 없어도됨
  • 주소의 유일성과 네트워크의 한정성
    • 단일 인터네트워크에서 각 IP 주소는 유일해야 함
  • IP 주소와 데이터 링크 계층 주소 비교
  • 사설/공중 IP 네트워크 주소
    • 공중 네트워크에서 여러 기관들이 서로 중복하는 주소를 사용하지 않도록 하기 위해 공인 IP 등록/관리 기관을 만듦
  • IP 주소 설정과 주소지정 유형
    • 주소 설정은 정적 또는 동적 설정으로 구성될 수 있다.
    • 대형 네트워크에서 동적 설정 관리를 위한 프로토콜로 BOOTP와 DHCP가 있음
    • 주소지정 방법은 유니캐스트, 멀티캐스트, 브로드캐스트를 지원

IP 주소 크기, 주소 공간, 표기법
  • IP 주소 크기와 2진 표기법
    • 간단히 표현하면 IP 주소는 단지 32비트 이진수다.
  • IP 주소 부점 10진 표기법 (dotted decimal notation)
    • IP 주소는 일반적으로 8비트 옥텟을 10진수로 변환하고 마침표(.)로 구분한 형태료 표현
    • IP 주소의 최소값은 0.0.0.0 이고 최대값은 255.255.255.255 이다.
  • IP 주소 공간
    • IP 주소의 크기는 32비트이나 IP 주소의 구조와 할당 방법때문에 이 전체 공간의 모든 주소를 실제로 사용할 수 있는 것은 아님
    • 맨 처음 옥텟이 127로 시작하는 모든 IP 주소는 루프백(llpback)주소로 예약 됨
    • 클래스 비사용 도메인 간 라우팅(CIDR, Classless Inter-Domain Routing), 슈퍼네팅, NAT와 같은 기술은 기존 인터넷 IP 주소 공간을 좀 더 효율적으로 활용하기 위해 설계됨.

IP 기본 주소 구조와 주요 구성요소
  • 네트워크 ID와 호스트 ID
      • 32비트가 내부적으로 두 개의 구성 요소를 가진 구조로 돼 있음
    • 네트워크 식별자(네트워크 ID)
      • 맨 왼쪽 비트에서 부터 시작하는 특정 수의 비트
      • 네트워크 접두사(network prefix) 또는 접두사(prefix)라고 부르기도 함
    • 호스트 식별자(호스트 ID)
      • 나머지 비트는 네트워크 호스트를 식별하는 데 쓰임
    • IP 주소에 포함된 네트워크 ID는 라우터가 IP 데이터그램을 라우팅하는 데 쓰임
      • 라우터는 IP 주소의 네트워크 부분을 본 뒤 목적지 IP 주소가 출발지 IP 주소와 동일 네트워크에 있는지 판단
  • 네트워크 ID와 호스트 ID 구분 위치
    • IP 주소의 경우 네트워크를 식별하는 데 쓰이는 비트와 호스트를 식별하는데 쓰이는 비트를 구분하는 지점이 고정돼 있지 않다.
    • 호스트 ID 부분이 모두 1로 설정된 네트워크 ID는 그 네트워크로의 브로드캐스트 주소를 나타낸다.

IP 주소지정 범주와 IP 주소 부속물
    • 네트워크 ID는 라우팅에 쓰이고 호스트 ID는 네트워크에서의 각 네트워크 인터페이스를 유일하게 식별하는 데 쓰인다.
    • ID 구분 지점을 파악하려면 세 가지 IP 주소지정 방법인 클래스 단위, 서브넷, 클래스 비사용 방법을 알아야 한다.
  • 전통적 (클래스 단위) 주소지정
    • 세 가지 주요 주소 클래스인 A, B, C는 얼마나 많은 옥텟이 네트워크 ID와 호스트 ID에 할당됐는지로 구분된다.
    • 예를 들어 클래스 C 주소는 24비트를 네트워크 ID에, 8비트를 호스트 ID에 할당함
  • 서브넷을 이용하는 클래스 단위 주소지정
    • 네트워크 ID와 호스트 ID의 두 단계가 아닌 세 단계로 분리함
    • 클래스 A, B, C 호스트 ID의 일부 비트를 서브넷 식별자(서브넷 ID)로 이용, 여기서 네트워크 ID는 변하지 않음
    • C클래스의 호스트 8비트를 3비트의 서브넷 ID와 5비트의 호스트 ID로 나눌수 있음
  • 클래스 비사용 주소지정
    • 클래스를 전혀 사용하지 않음
    • 구분점은 네트워크 ID에 쓰이는 비트의 수(접두사 길이(prefix length)라고 부름)를 주소 뒤에 붙여서 표시
    • 예로 227.82.157.177이 처음 27비트를 네트워크 ID로 사용하는 네트워크에 속한 IP라면 그 네트워크를 227.82.157.160/27로 표현할 수 있음
  • 서브넷 마스크와 기본 게이트웨이
    • 게이트웨이 식별자는 특정 장비에 대한 기본 라우팅 기능을 제공하는 라우터의 IP 주소다.

IP 주소의 수와 멀티호밍
  • 호스트를 다중 인터페이스 구성으로 만드는 방법
    • 두 개 이상의 인터페이스를 동일한 네트워크에 연결
      • 동일한 네트워크 ID를 갖는 두개의 IP 주소
    • 두 개 이상의 서로 다른 네트워크에 인터페이스를 연결
      • 서로 다른 네트워크 ID를 가짐
    • 서브넷을 사용할 경우에도 동일한 서브넷에 연결하는지, 서로 다른 서브넷에 연결하는지와 같은 구분을 할 수 있다.
  • 멀티호밍(multihoming)
    • 예를 들어 집에 두 대의 PC가 네트워크로 연결돼 있고 전화선이 하나 있다고 할 때, 한 컴퓨터가 인터넷 서비스 제공자(ISP, Internet Service Provider)와 전화 접속을 하고 마이크로소프트의 인터넷 연결 공유(ICS, Internet Connection Sharing)와 같은 소프트웨어를 실행하면 다른 컴퓨터도 인터넷에 접속 할 수 있다.

IP 주소 관리와 할당 방법과 기관
  • 인터넷 할당 번호 관리기관(IANA, Internet Assigned Number Authority)
    • IP 주소 할당
    • 기타 중요 조정 작업(TCP/IP 프로토콜의 인자를 관리하는 등)을 수행
  • 인터넷 이름/번호 할당기관(ICANN, Internet Corporation for Assigned Names and Numbers)
    • IANA의 주소 할당 임무를 감독하며 DNS 네임 등록과 같은 다른 업무도 관리
  • 대륙별 인터넷 레지스트리(RIR, Regional Internet registries)
    • 오늘날 주소지정은 CIDR의 계층적 주소지정 방식을 사용하는 클래스 비사용 방법임
    • IANA는 주소를 직접 할당하지 않음
    • RIR에는 APNIC, ARIN, LACNIC, RIPE NCC가 있음





인터넷 프로토콜 버전, 개념, 개요

IP 개요와 주요 동작 특성

    • IP의 주요 기능 - 인터네트워크 데이터그램 전달 : IP의 전반적인 기능은 서로 연결되지 않은 네트워크 장비간에 데이터를 전달하는 것이다.
  • 전역 주소지정
  • 하위 프로토콜에 무관
  • 비연결형 전달
  • 신뢰성이 없는 전달
  • 비승인형 전달

IP 기능
  • 주소지정
    • 호스트 주소지정 방법 포함
  • 데이텨 캡슐화와 포매팅/패키징
  • 단편화와 재조합
  • 라우팅과 간접 전달
    • 간접적으로 전달하기 위해서는 라우터를 통해 라우팅해야 한다.
    • ICMP(Internet Control Message Protocol), RIP(Routing Information Protocol), BGP(Border Gateway Protocol) 등의 기타 프로토콜과 협력

IP 역사, 표준, 버전, 밀접히 연관된 프로토콜

  • IP 버전과 버전 번호
    • 인터넷 프로토콜(IP) 버전 4는 널리 쓰이기 시작한 맨 처음 IP 버전이며 현재도 널리 쓰이고 있다.
  • IP 관련 프로토콜
    • IP 네트워크 주소 변환(NAT, Network Address Translation)
      • 사설 네트워크가 외부 네트워크에 유연한 방법으로 인터페이스를 제시할 수 있도록 함
      • IP 주소를 공유할 수 있도록 하며 공중 네트워크에 있는 호스트가 사설 IP 주소르르 갖는 호스트에 접근하는 것을 어렵게 만들어 보안을 강화함
    • IP Security(IPsec)
      • IP를 이용하여 안전한 데이터 전송을 위한 방법을 제공하는 하위 프로토콜 모음을 정의
    • 모바일 IP
      • 한 네트워크에서 다른 네트워크로 자주 이동하는 컴퓨터에서 IP를 사용하는 것과 관련된 일부 문제점을 해결하기 위한 프로토콜
      • 장비의 IP 주소를 계속해서 재구성하지 않고도 모바일 호스트로 데이터가 자동 라우팅되도록 함