블로그 이미지
22Hz 22Hz

카테고리

분류 전체보기 (109)
모의해킹 침해대응 전문가 과정 (99)
리눅스 설정 (10)
Total
Today
Yesterday

달력

« » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

===================================================메 모===================================================

핑 국내(~100), 해외(~400)
http://ddooooki.tistory.com/18
http://blog.naver.com/janghyun0402/220276058775
http://blog.naver.com/93hyuna/220481116045
http://eunguru.tistory.com/172

=================================================강의/실습=================================================

9 인터넷 계층(Internet Layer)

(1). IP 프로토콜(Internet Protocol)
 
인터넷상에서 라우팅을 효율적으로 하기 위하여 물리적인 네트웍 주소와 일치하는 개념으로 부여된 32 비트의 주소가 IP 주소이다. IP 주소를 이용하면 네트웍상의 유일한 호스트를 식별하는 것뿐만 아니라, 호스트가 있는 네트웍를 식별할 수 있다. IP 주소는 클래스로 나뉘어 있으며 하나의 네트웍에서 모든 호스트는 동일한 prefix를 공유한다.
 
다음은 ifconfig 명령어를 사용하여 IP를 확인하는 예이다. IP와 관련한 값인 넷마스크(Netmask)와 브로드캐스트(Broadcast)주소도 확인 할 수 있다.

(2). ICMP(Internet Control Messages Protocol)
 
ICMP는 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 에러를 알려주는 프로토콜로서 RFC 792에 정의되어있다. ICMP는 IP 데이터그램을 사용하지만, 메시지는 TCP/IP 소프트웨어에 의해 처리되며, 응용프로그램 사용자에게 직접 분명하게 보이지는 않는다. 일례로서, ping 명령어는 인터넷 접속을 테스트하기 위해 ICMP를 사용한다.

ICMP 프로토콜을 사용하는 대표적인 명령어는 다음과 같다.
● ping CMD(Packet INternet Groper)
● traceroute CMD

ICMP Message Type
● 오류보고 메시지(Error Reporting Messages)
 Type 3 : 목적지 도달 불가
 Type 4 : 발신지 억제
 Type 5 : 경로 재지정
 Type 11: 시간 초과
 Type 12: 매개변수 문제

● 질의 메시지(Query Messages)
 Type 8 : Echo Request
 Type 0 : Echo Reply
 Type 9 : Router 광고
 Type 10: Router 요청
 Type 13: Timestamp Request
 Type 14: Timestamp Reply
 Type 15: IP 정보 요구(구형)
 Type 16: IP 정보 응답(구형)
 Type 17: 주소마스크 요구
 Type 18: 주소마스크 응답

(3) ICMP 헤더 분석

                                                           +-----------------+
                    +-------------------------+                 |                 |
                    |         ICMP            |                 | ICMP/IGMP       |
         +----------+-----------+-------------+                 |                 |
         |IP Header |                         |                 |     IP          |
         +----------+-----------+-------------+                 |                 |
                                                                |       ARP/RARP  |
                                                                |                 |
                                                                +-----------------+
+--------+----------+-----------+-------------+--------+        |                 |
| Ether  |IP Header |         ICMP            |   CRC  |        |Network Interface|
| Header |          |                         |        |        |                 |
+--------+----------+-----------+-------------+--------+   +-----------------+

[그림] ICMP Encapsulation in IP Datagram


 +------------+------------+---------------------------------+
 |   Type     |    Code    |    Checksum             |
 +-----------------------------------------------------------+
 |                Type 별로 다른 부분                 |
 +-----------------------------------------------------------+
 |                          데이터                         |
 +-----------------------------------------------------------+

[그림] ICMP Header

     1Bytes       1Bytes                  2Bytes
 |<---------->|<---------->|<------------------------------->|
 +------------+------------+---------------------------------+
 |   Type=8   |   Code=0   |    Checksum                    |
 +-----------------------------------------------------------+
 |       Identifier        |    Sequence Number               |
 +-----------------------------------------------------------+
 |                          데이터                           |
 +-----------------------------------------------------------+

[그림] ICMP Echo Request

     1Bytes       1Bytes                  2Bytes
 |<---------->|<---------->|<------------------------------->|
 +------------+------------+---------------------------------+
 |   Type=0   |   Code=0   |    Checksum                    |
 +-----------------------------------------------------------+
 |       Identifier        |    Sequence Number              |
 +-----------------------------------------------------------+
 |                          데이터                          |
 +-----------------------------------------------------------+

[그림] ICMP Echo Reply

 

 

 

ICMP 패킷을 캡쳐하고 분석하기

 


목차
---------------------
1.  선수지식
2.  실습
---------------------

 


1.  선수지식

■ ping 명령어 사용법

 (linux)
 # ping <IP>
 # ping -c 4 <IP>
 # ping --help
  vfr4be34

 (windows)
 c:\> ping <IP>     (c:\> ping -n 4 <IP>)
 c:\> ping -t <IP> 
 c:\> ping /?

■ traceroute 명령어 사용법
 (linux)   # traceroute <IP>
                   # traceroute --help
 (windows) c:\> tracert <IP>
                   c:\> tracert /?

 

2. 실습

● ICMP 패킷을 캡쳐하고 분석해 보자.


■ 사용하는 시스템
- linux200
- win2008


(linux200)

# wireshark &        (Display Filter : icmp)
# ping -c 4 192.168.20.201  


(windows2008)

wireshark 실행한다.  (Display Filter : icmp)

c:\> ping 192.168.20.200   (ping -n 4 192.168.20.200)

 

 

 

 

Visualroute 사용하기

 


■ 사용시스템
- windows2008


■ 프로그램 다운로드
-> http://www.visualroute.com 사이트에서 visualroute 프로그램을 받는다.
-> VisualRoute 2010 v14.0L
   - All Editions
   - VisualRoute Lite Edition
   - VisualRoute Server
-> (주의) JAVA가 필요한 경우 설치하여야 visualroute 프로그램이 정상 동작한다.

■ 프로그램 설치
- 특별한 옵셥 없이 설치한다.

■ 다음 사이트를 대상으로 visualroute 수행해 본다.
www.google.co.kr
www.google.com
www.naver.com
www.daum.net
www.yahoo.co.kr
www.yahoo.com

 

 


(win2008)
---------------------------------------------------------------------------------------
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Administrator>nslookup
기본 서버:  ns1.example.com
Address:  192.168.20.200

> server 168.126.63.1
기본 서버:  kns.kornet.net
Address:  168.126.63.1

> set q=NS
> kornet.net
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
kornet.net      nameserver = ns2.kornet.net
kornet.net      nameserver = ns.kornet.net

ns.kornet.net   internet address = 211.216.50.150
ns2.kornet.net  internet address = 211.216.50.160
> set q=MX
> kornet.net
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
kornet.net      MX preference = 0, mail exchanger = mx.kornet.net

kornet.net      nameserver = ns.kornet.net
kornet.net      nameserver = ns2.kornet.net
mx.kornet.net   internet address = 211.48.62.135
ns.kornet.net   internet address = 211.216.50.150
ns2.kornet.net  internet address = 211.216.50.160
> set q=A
> www.kornet.net
서버:    kns.kornet.net
Address:  168.126.63.1

권한 없는 응답:
이름:    www.kornet.net
Address:  14.63.240.234

>
---------------------------------------------------------------------------------------


[참고] ICMP(RFC 792)
- http://www.ietf.org/rfc/rfc0792.txt


[실습] IP 헤더 분석을 캡쳐하고 분석
-> ICMP Echo Request 패킷을 가지고 작업한다.
[참고] IP Header 해석

■ Version(4 bits)  
● IPv4 -> 4, IPv6 -> 6
● IANA 버전 관리 - Version Numbers

■ IP Header Length(4 bits)
● IP 헤더의 길이는 20 bytes ~ 60bytes 이다.

■ Type Of Service(8 bits)
● IP Datagram이 라우터에서 어떻게 처리되어야 하는지를 정의
● 요구되는 서비스 품질을 나타냄, 현재 대부분의 시스템에서는 이 필드를 무시.
● OSPF는 이 값을 바탕으로 경로 선택이 가능하게 함.
(예) TOS(Type Of Service) 예
 -------------------------------------------------
 IP:         ...0 .... = normal delay
 IP:         .... 0... = normal throughput
 IP:         .... .0.. = normal reliability
 IP:         .... ..0. = not ECN capable transport
 -------------------------------------------------

 ------------------------------------------------
         Priability - Current, Not used
         Delay      - 1 : Minimum delay (최소 지연)
         Throughput - 1 : Maximum throughput (최대 처리율)
         Reliablity - 1 : Maximum reliablity (최대 신뢰성)
         Transport  - 1 : Mimimum cost (최소 비용)
         congestion experienced - Current, Not used
 ------------------------------------------------

● (예) TOS(Type Of Service) 필드 권장
--------------------------------------------------------------------------------
Application               Min Delay   Max Throughput   Max Reliablity  Max Cost
--------------------------------------------------------------------------------
telnet/rlogin                1              0                0            0
--------------------------------------------------------------------------------
FTP    Control               1              0                0            0
       Data                  0              1                0            0
       Big Data              0              1                0            0
--------------------------------------------------------------------------------
TFTP                         1              0                0            0
--------------------------------------------------------------------------------
SMTP   Command Phase         1              0                0            0
       Data Phase            0              1                0            0
--------------------------------------------------------------------------------
DNS    UDP lookup            1              0                0            0
       TCP lookup            0              0                0            0
       Zone Transmission     0              1                0            0
--------------------------------------------------------------------------------
ICMP   Error                 0              0                0            0
       Searching             0              0                0            0
--------------------------------------------------------------------------------
SNMP                         0              0                1            0
BOOTP                        0              0                0            0
NNTP                         0              0                0            1
--------------------------------------------------------------------------------

■ 전체길이(Total Length, 16 bits)
● IP 헤더와 IP 데이터를 포함한 패킷의 전체 길이(예: 84bytes)
● 최대값은 65,535(2^16 -1)

■ 분할 식별자(Fragement Identification, 16 bits)
● 데이터그램의 분할과 재조립을 위해서 사용된다.
● 각 조각이 동일한 데이터그램에 속하며 같은 일련번호를 공유한다.

■ 분할 플래그(Fragmentation Flag, 3 bits)
● 분할 여부를 식별할 때 사용한다.
● 3비트 필드 중 - 첫 비트는 사용하지 않고, 따라서 항상 0- 두번째 비트가 1이면 분할 불가능, 0이면 분할 가능을 나타낸다.       1로 세팅되면 목적지 컴퓨터가 조각들을 다시 모을 능력이 없기 때문에 라우터로 하여금      데이터그램을 단편화하지 말라는 뜻이고      0으로 세팅되면 라우터에서 분열(조각,단편)이 가능함을 뜻한다.- 세번째 비트가 1이면 마지막 조각이 아니고 0이면 마지막 조각임을 나타냄.      현재 조각이 마지막이면 0이고,      더 많은 조각이 뒤에 계속 있으면 1이다.

■ 분할 옵션(Fregmentation Offset, 3 bits)
● 조각나기 전 원래의 데이터그램의 8 바이트 단위의 위치이다.
● 최초 분열 조각으로부터 어떤 곳에 붙여야 하는 위치를 나타낸다.
● 분할 데이터그램 중 데이터그램의 시작 번호를 명시한다.

(예) 4000Bytes 데이터를 MSS 값이 1480Bytes인 데이터그램의 분할.
 ----------------------------------------
 Identification = 24058
 IP:   Flags = 0x4
 IP:         .1.. .... = do not fragment
 IP:         ..0. .... = last fragment
 IP:   Fragment offset = 0 bytes
 ----------------------------------------

 ---------------------
 0                        ID          : 1111
                          Flag        : X01 (분할가능,마지막조각아님)
 1479                     Frag. Offset: 0
 ---------------------
 1480                     ID          : 1111
                          Flag        : X01 (분할가능,마지막조각아님)
 2959                     Frag. Offset: 1480
 ----------------------
 2960                     ID          : 1111
                          Flag        : X10 (분할불가능,마지막조각)
 3999                     Frag. Offset: 2960
 ----------------------
 
        [그림] 4000 bytes 패킷 분할

■ TTL(Time to Live, 8 bits)
● IP Datagram이 네트워크상에서 살아 있을 수 있는 시간을 정의하는 필드이다.
● 라인상에 체류할 수 있는 시간을 홉카운트(Hop Count)로 나타내는 필드이다.
● 라우터를 지날 때마다 1씩 감소하고 0이면 페기한다.

■ 프로토콜(Protocol Identifier, 8 bits)
● IP 상위 계층의 프로토콜 식별자
● IANA 프로토콜 번호 관리(프로토콜 번호: 프로토콜 종류)
           00: Reserved, 01: ICMP, 02: IGMP, 04: IPv4(IP-in-IP Encapsulation),
           06: TCP, 08: EGP, 17: UDP,
           50: ESP(Encapsulatiing Security Payload) Extension Header
           88: EIGRP, 89: OSPFIGP, 179: BGP

■ 검사합(Checksum, 16 bits)
● 헤더에 대한 오류 검출
● 에러확인을 위한 16비트 필드

■ 출발지 IP 주소(Source IP Address, 32 bits)

■ 목적지 IP 주소(Destination IP Address, 32 bits)

■ IP 헤더 옵션(선택 옵션)
● 가변 길이 bits
● IANA IP OPTIONS NUMBERS

■ 패딩(Padding)
● 가변 길이 bits
● 필요한 경우에만 사용
● 옵션을 사용하다 보면 헤더가 32비트의 정수배로 되지 않는 경우가 있다.
● 이런 경우 자리 우기(Padding)을 통해 정수 배로 설정한다.


[참고] MTU(Maximum Transfer Unit, 최대전송단위)


■ 최대 전송 단위(MTU)
어떤 데이터링크 또는 네트워크에서 하나의 프레임 또는 패킷에 담아 운반할 수 있는 최대 크기(size)

-----------------------------------------
캡슐종류           MTU(bytes)
-----------------------------------------
Hyperchannel       65,535
Loopback   16436 (운영체제에 따라 조금씩 상이하다.)
IEEE 802.3 Ethernet 1492
DIX Ethernet              1,500
Token Ring(16M)            17,914
Token Ring(4M)            4,464
802.4 Token Bus           8166
FDDI                      4,352
IPoA                      9180
SMDS                      9,180
X.25 및 ISDN              576
PPP                       1500 (다른 MTU 지정도 가능 (EX)296)
ATM   63
-----------------------------------------

(Linux) CentOS 5.10
# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D1:CC:21 
          inet addr:192.168.20.200  Bcast:192.168.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2761 errors:0 dropped:0 overruns:0 frame:0
          TX packets:618 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:253435 (247.4 KiB)  TX bytes:51184 (49.9 KiB)
          Interrupt:67 Base address:0x2024

 

(4). IP 주소(Introducing IP Address Types)

IPv4는 32bits 주소, 10진수 형태의 4개의 옥텟(Octet)을 사용하는 주소 체계이고, IPv6는 128bits 주소, 16진수 형태의 8개의 옥텟을 사용하는 주소 체계이다.
 
● IPv4: 32bits   (EX) 172.16.9.200               -> 10진수, 4 Octet
● IPv6: 128bits  (EX) FE80::0A00:20FF:FE80:4137  -> 16진수, 8 Octet
 
 
 
(3-1). IPv4 주소 체계(IPv4 structure)
IPv4는 Network 번호와 호스트 번호로 구분하고, 통신하는 종류에 따라서 유니캐스트 주소, 브로드캐스트 주소, 멀티 캐스트 주소로 구분한다.

통신 방법에 따른 주소 종류(Communication Type)
■ 유니캐스트 주소(Unicast Addr.)    : A/B/C Class
■ 브로드캐스트 주소(Broadcast Addr.)
■ 멀티캐스트 주소(Multicast Addr.)  : D Class


(3-2). 유니캐스트 주소(Unicast Addresses)
유니캐스트 주소는 네트워크 번호의 처음에 오는 비트(bit)에 따라서 A Class, B Class, C Class로 구분한다.
 
■ A 클래스(A Class)
■ B 클래스(B Class)
■ C 클래스(C Class)
 
 
 
(A). A 클래스 주소(A Class Addresses)

A Class 주소는 네트워크 번호가 8bits 이고, 호스트 번호가 24이다. 그리고 네트워크 번호의 첫번째 비트가 0으로 시작한다. A Class 주소에 한개에 물릴수 있는 호스트의 개수는 16,777,214개(2^24-2)이고, A Class 대역의 사설 IP 대역은 10.X.X.X 이다.

■ Host Addresses : 16,777,214(2^24 - 2)
■ A Class Private Address : 10.0.0.0 - 10.255.255.255 (Private Address?)
■ loopback inerface : 127.0.0.1(127.X.X.X)
EX) 10.102.2.113
 
[참고] 8bits (0-255)
128 64 32 16  8  4  2  1
  0  X  X  X  X  X  X  X
 

(B). B 클래스 주소(B Class Addresses)

B Class 주소는 네트워크 번호가 16bits 이고, 호스트 번호가 16bits이다. 그리고 네트워크 번호의 처음 2개의 비트가 10으로 시작한다. B Class 주소 한개에 물릴수 있는 호스트의 개수는 65,534개이다. B Class 대역의 사설 IP 대역은 17.16.X.X ~ 172.31.X.X 까지이다.

■ Host Addresses : 65,534(2^16 - 2) 
■ B Class Private Addr. : 172.16.0.0 - 172.31.255.255
EX) 129.150.254.2
 
[참고] 8bits (0-255)
128 64 32 16  8  4  2  1
  1  0  X  X  X  X  X  X

 

(C). C 클래스 주소(C Class Addresses)

C Class 주소는 네트워크 번호가 24bits 이고, 호스트 번호가 8bits이다. 네트워크 번호의 시작하는 3개의 비트가 110으로 시작한다. Class 주소 한개에 물릴수 있는 호스트 개수는 254개이다. Class 주소 대역의 사설 IP 대역은 192.168.X.X 이다.

■ Host Addresses : 254(2^8 - 2)
■ C Class Private Addr. : 192.168.0.0 - 192.168.255.255
EX) 192.9.227.13
 
[참고] 8bits (0-255)
128 64 32 16  8  4  2  1
  1  1  0  X  X  X  X  X
 

 
(3-3) Broadcast Addresses
네트워크 번호는 호스트 번호를 모두 '0'으로 처리하면 된다. 넷마스크는 네트워크 번호를 모두 '1'로 처리하고 호스트 번호를 모두 '0'으로 처리하면 된다. 브로드캐스트 주소는 호스트 번호를 모두 '1' 로 처리하면 된다.(EX) 128.50.255.255
 
----------------------------------------------
                  IP            Broadcast
----------------------------------------------
    A Class : 8.254.3.103       8.255.255.255
    B Class : 129.3.201.79      129.3.255.255
    C Class : 203.247.50.192    203.247.50.255
----------------------------------------------
 
[참고] Broadcast & Network Number & Netmask
● Broadcast Addr.     NetworkID + HostID(all ones)           EX) 203.247.50.255   
● Network Number      NetworkID + HostID(all zero)           EX) 203.247.50.0    
● Netmask             NetworkID(all ones) + HostID(all zero) EX) 255.255.255.0      
 
EX) B Class
● Network Number means?
● B Class : 172.16.0.0              => Network Number
● B Class : 255.255.0.0             => Netmask
● B Class : 172.16.255.255          => Broadcast Addr.
 
 
 

(3-4) 멀티캐스트 주소(Multicast Addresses)
멀티캐스트 주소는 네트워크 번호와 호스트 번호의 구분이 존재하지 않고, 주소에 시작하는 4개의 비트가 1110으로 시작한다.

(A). D Class Addresses.

 

EX) 224.0.1.8
[참고] 8bits (0-255)
128 64 32 16  8  4  2  1
  1  1  1  0  X  X  X  X


[참고] Multicast Address를 사용하는 솔루션
멀티캐스트 주소는 화상회의 프로그램, 대학교 가상 대학 강의용 프로그램, 서버(NTP, DHCP등)나 라우터(라우터,게이트웨이)등에서 사용되고 있다.
● 화상회의
● 대학교용 교육용 프로그램(가상 대학 강의용 프로그램)
● NTP Server <-> NTP Client (NTP : Network Time Protocol)
● 기타


멀티캐스트 주소를 지원하기 위해서는 네트워크 인터페이스의 플래그 설정에 MULTIcast 포함되어 있어야 한다.

 

[참고] 예약된 주소
● A Class 중 첫번째 Octet이 0으로 시작하는 네트워크(0.0.0.0 ~ 0.255.255.255)
● A Class 중 Loopback 주소(127.0.0.0 ~ 127.255.255.255)
● D Class 중 멀티캐스트 예약
● E Class 중 연구용 예약
● 네트워크 대표 주소, 네트워크 ID(EX: 203.247.50.0)
● 네트워크를 대표하는 서브넷 브로드 캐스트 주소(EX: 203.247.50.255/24)
● 네트워크 전체 브로드 캐스트 주소(EX: 255.255.255.255)

 

 

 

(정리) IPv4
 
IPv4 : XXX.XXX.XXX.XXX (32bits 주소, 10진수, 4 octet)
       172.16 .9  .200 

■ 클래스별(Class) IP 대역
A Class : 1   ~ 127 (예) 10.10.10.21
B Class : 128 ~ 191 (예) 191.32.80.120
C Class : 192 ~ 223 (예) 203.211.5.3
D Class : 224 ~ 239 (예) 224.0.1.9
E Class : 240 ~ 254 
 
 
[참고] 8bits (0-255)
128 64 32 16 8  4  2  1
 1  0  0  0  0  0  0  0  : 128 (256 - 128 = 128)
 1  1  0  0  0  0  0  0  : 192 (256 - 192 = 64)
 1  1  1  0  0  0  0  0  : 224 (256 - 224 = 32)
 1  1  1  1  0  0  0  0  : 240 (256 - 240 = 16)
 1  1  1  1  1  0  0  0  : 248 (256 - 248 = 8)
 1  1  1  1  1  1  0  0  : 252 (256 - 252 = 4)


■ 사설 IP(Private Address)
A Class : 10.X.X.X
B Class : 172.16.X.X ~ 172.31.X.X
C Class : 192.168.X.X
-> 반드시 "192.168.X.X"만 사용해야 하는가?
   (예) 회사에 사설 아이피를 사용해서 10대의 컴퓨터를 가지고 사설 네트워크를 구축
-> 회사 네트워크 구축시 물리는 클라이언트의 수는 어떻게 되는가?
 
 
■ Network Number / Broadcast Addr. / Netmask
- Network Number           지정된 네트워크에 첫번째 IP(EX: 172.16.0.0)
- Broadcast Address        지정된 네트워크에 마지막 IP(EX: 172.16.255.255)
- Netmask                  네트워크를 구분하는 인자값 (EX: 255.255.0.0)
 
 
■ 참고 URL
(중요) IANA:  http://www.iana.org/numbers/
-> IP Address Allocations 관련한 많은 문서 확인

224.0.0.1  All Systems on this Subnet  [RFC1112][Jon_Postel]   
224.0.0.2  All Routers on this Subnet  [Jon_Postel]
224.0.1.1  NTP Network Time Protocol  [RFC1119][RFC5905][David_Mills]

(EX) # ping 224.0.0.1
     # ping 224.0.0.2

 

 

 


(4). 서브넷팅과 VLSM(Introducing Sunbnetting and VLSM)
- VLSM(Variable Length Subnet Mask, 가변 길이 서브넷 마스크)

■ Netmask -> Subnetmask -> VLSM

■ 넷마스크의 의미(Netmask Means)?
   기본 넷마스크(Default Netmask)
   ▪ A Class: 255.0.0.0
   ▪ B Class: 255.255.0.0
   ▪ C Class: 255.255.255.0


                   -> 172.16.0.0/255.255.0.0 (ISP(Internet Service Provider) 제공)
 
===== INTERNET ======    ==== ROUTER ====   
   Source/Dest              172.16.0.0/
     XXXX/172.16.9.200      255.255.0.0     Network ID : 172.16.0.0                           

                                          ---------+------------------+---------
                                                   |                  |
                                                   |                  |
=====================    ================        HOSTA              HOSTB
                                               172.16.0.0/       172.16.0.0/
                                               255.255.0.0       255.255.0.0
 
      172.16 .9.200                    # ifconfig eth0 172.16.9.200 netmask 255.255.255.0
AND   255.255.0.0                 
-----------------------           
      172.16 .0.0
 
 
EX) Bits AND Operation
 
A  B | S         110100         110100
-----+----  AND  000000    AND  111111
0  0 | 0    -------------  ------------
0  1 | 0         000000         110100
1  0 | 0
1  1 | 1
 

 


(4-1). 서브넷팅(Subnetting)
 
(용어 정리)
---------------------------------------------
Supernet    <-    Network    ->    Subnetwork
Supernetting                       Subnetting
                  Netmask          Subnetmask
---------------------------------------------
(EX: CIDR)                         (EX: VLSM)


■ Subnetting 하는 이유
- 관리(성능, 부서별, 지역적 위치, 프로토콜별 등)
- 보안상(서버대역-사용자대역 분리, 접근 제어 등)

You can divide a network into subnetworks to:
■ Isolate network traffic within local subnets, therefore reducing
contention for network bandwidth
 (예: 100Mbps 대역폭의 네트워크 -> Collision Rate : 10% 이상)
■ Secure or limit access to a subnet
  (예: 회사 중역 대역 <-> 사원 대역, 서버 대역 <-> 사용자 대역)
■ Enable localization of specific network protocols to a subnet
  (예: TCP/IP 대역 <-> DNS 대역, Ethernet <-> FDDI 대역)
■ Allow the association of subnet with a specific geography or a department
  (예: 서울본사 <-> 대전지사,부산지사,  영업부서대역 <-> 개발부서대역)
■ Allow administrative work to be broken into logical units
  (예: VLAN)
 

■ 서브넷마스크(Subnetmask)
  if C class,
  - Subnet 2 : 255.255.255.128 (256 - 128 = 128)
  - Subnet 4 : 255.255.255.192 (256 - 192 = 64 )
  - Subnet 8 : 255.255.255.224 (256 - 224 = 32 )
  - Subnet 16: 255.255.255.240 (256 - 224 = 16 )
  - Subnet 32: 255.255.255.248 (256 - 248 = 8  )
  - Subnet 64: 255.255.255.252 (256 - 252 = 4  )
 
 
예) 203.247.50.0/255.255.255.0 네트워크 대역 할당 받음.
 
   203.247.50.      XXXXXXXX
===================================================
Network Number   |         Host Number            |
===================================================
 
===================================================
Network Number   | Subnet Number | Host Number    |
===================================================
 
EX) C Class (203.247.50.0/255.255.255.0) => 2 Subnet
 
1. 203.274.50.XXXXXXXX
 
2. 203.247.50.0XXXXXXX
   203.247.50.1XXXXXXX
 
Subnetmask : Network ID(-> 1 처리), Host ID(-> 0 처리)
 
3. 255.255.255.128  ====> 203.247.50.0/255.255.255.128, 203.247.50.128/255.255.255.128
EX) C Class (203.247.50.0/255.255.255.0) => 4 Subnet
 
1. 203.247.50.XXXXXXXX
 
2. 203.247.50.00XXXXXX
   203.247.50.01XXXXXX
   203.247.50.10XXXXXX
   203.247.50.11XXXXXX

3. 255.255.255.192
 
 
203.247.50.XXX
==========        ==========       ==========
0                 0                0
                                            -> 203.247.50.0 / 255.255.255.192
                                   63
                                   ==========
                                   64
                                            -> 203.247.50.64 / 255.255.255.192
 
                  127              127
                  ==========       ==========
                  128              128
                                            -> 203.247.50.128 / 255.255.255.192
                                   191
                                   ==========
                                   192
                                            -> 203.247.50.192 / 255.255.255.192
 
255               255              255
==========        ==========       ==========
 

   203.247.50.65/255.255.255.192
   = 203.247.50.65/26

   172.16.10.200/255.255.255.0
   = 172.16.10.200/24

 

[실습] Netmask를 설정/변경하기
- linux200, win2008 서버에서 실습

[참고] IPv6에 대해서
- firewall, win2008 서버에서 실습

 

IPv6(Internet Protocol Version 6)
 
● IP   = IPv4
● IPng = IPv6
 
● IPv6(Internet Protocol Version 6)
● IPng(Internet Protocol Next Generation)
 

IPv4 & IPv6 비교
---------------------------------------------------------------
IPv4 : 172.16.10.200             (32bits, 10진수, 4옥텟(octet))
IPv6 : FE80::AABB:CCDD:EEFF:GGHH (128bits,16진수, 8옥텟(octet))
 ---------------------------------------------------------------
 


(1). IPv6의 특징
 
(주의) 2011년 2월 3일 전세계 인터넷 주소 자원 관리 기관(IANA)의 전세계 IPv4 신규할당 중지 선언

● 주소 확장(Expanded addressing, from 32-bit addresses to 128-bit addresses)-> 340,282,366,920,938,463,463,347,607,431,768,211,456
● 헤더 단순화(Simplified header format, from 10 fields to 6 fields) -> 성능 향상   
● 확장헤더, 옵션 증가(Improved extension header and option support)- QoS(Quality of service -> extension headers, TOS -> QoS)- 인증, 개인 확장 헤더(Authentication and privacy headers)  -> 개인 확장 헤더 -> not yet implemented for IPv6 in the Solaris OE.

 

(2). IPv6 주소 체계(Address Types)

▪ 128bits, 16진수, 8 octet (예: FE80::0A00:20FF:FEb5:4137)

IPv6 Address Type
▪ Unicast Addressing
▪ Multicast Addressing (+ IPv4 Broadcast Address)
▪ Anycast Addressing

 ■ IPv6 & IPv4 비교
 -----------------+------------------------------------
    IPv4          |      IPv6
 -----------------+------------------------------------
 Unicast Addr.    |   Unicast Addr.
 Multicast Addr.  |   Multicast Addr.(+ Broadcast Addr.)
 Broadcast Addr.  |   Anycast Addr.
 -----------------+------------------------------------
 

 
(3). IPv6 주소 표현 방법(RFC 2373) 
 
● Eight 16-bit hexadecimal numbers.(예) fe80:0000:0000:0000:0a00:20ff:feb5:4137
 
● Eight 16-bit hexadecimal numbers in which 0s (zeros) are represented by a single leading 0(예) fe80:0:0:0:0a00:20ff:feb5:4137
 
● IPv6 allows address compression. You can compress leading or embedded 0s (zeros) with a double colon (::). To compress an address, you can represent consecutive 16-bit 0 numbers with double colons (::). You can only do this once in any address.(예) fe80::0a00:20ff:feb5:4137
 

 

(4). IPv6 Autoconfiguration
 
▪ Stateful Autoconfiguration(DHCPv6)
▪ Stateless Autoconfiguration

 

(5). Format Prefixes

| <-----       64bits           ---->|<-----        64bits      ----->|
+------------------------------------+--------------------------------+
|  Prefix                            | Interface ID (EUI-64)         |
+------------------------------------+--------------------------------+
 
 ■ IPv6 & IPv4 비교
 ---------------------+----------------------------------
 IPv6                 |      IPv4
 ---------------------+----------------------------------
 Prefix/EUI-64        |      Network Number/Host Number
 Format Prefix        |      A/B/C/D Class Format Prefix
 ---------------------+----------------------------------
 
|<-----      Prefix(64bits)         ----->|<-----   EUI-64(64bits)   ----->|
+---------------+-------------------------+--------------------------------+
|  FE80         |                         | Interface ID                    |
+---------------+-------------------------+--------------------------------+
|  FEC0         |
|  2 or 3       |
|  FF           |


[표] Initial Allocation of Format Prefixes From RFC 2373
----------------------------------------------------------------------------------
종류                                         FP(Binary)        FP(Hexadecimal)  
----------------------------------------------------------------------------------
Link-local Unicast Address           1111 1110 10      FE8
Site-local Unicast Address           1111 1110 11      FEC
Aggregatable Global Unicast Address  001               2
----------------------------------------------------------------------------------
Multicast Address                    1111 1111         FF
----------------------------------------------------------------------------------

■ Link-Local Unicast Address
물리적으로 연결된 네트워크 안에서만 통신할 때 사용하는 주소(예: 사설IP)

■ Site-Local Unicast Address
인트라넷(Intranet)안에서만 통신할 때 사용하는 주소(예: 사설 Network 망)

■ Aggregable Gobal Unicast Address
인터넷상에서 통신할 때 사용하는 주소(예: 공인IP)

■ Multicast Address
다중 컴퓨터(지정된 그룹)과 한꺼번에 통신할 때 사용하는 주소(예: 224.0.0.1)

 


(6). Interface Identifier Calculation(EUI-64)
 
● EUI-64(End-Unit Identifier-64)
         MAC Addr(48bits) + ? -> EUI-64(64bits)
 
| <-----       64bits           ---->|<-----        64bits      ----->|
+------------------------------------+--------------------------------+
|  Prefix                            | Interface ID (EUI-64)          |
+------------------------------------+--------------------------------+
 
 
(a). Obtain the MAC address.
         08:00:20:b5:41:37
 
(b). Convert the address into the binary format.
          0    8    0    0    2    0    B    5    4    1    3    7
         0000 1000 0000 0000 0010 0000 1011 0101 0100 0001 0011 0111
        |<-----      CID        ----->|<-----        VID      ----->|
 
(c). Toggle bit 7, the universal/local bit, that is the seventh bit from the left.
          0    A    0    0    2    0    B    5    4    1    3    7
         0000 1010 0000 0000 0010 0000 1011 0101 0100 0001 0011 0111
        |<-----      CID       ----->|<-----        VID     ----->|
 
(d). Insert two additional octets, 0xFF and 0xFE, between the CID and the VID.
     This converts the MAC address to an interface identifier.
          0    A    0    0    2    0    F    F    F    E    B    5    4    1    3    7
         0000 1010 0000 0000 0010 0000 1111 1111 1111 1110 1011 0101 0100 0001 0011 0111
        |<-----      CID        ----->|                   |<-----       VID       ----->|
 
(e). Convert the binary address to hexadecimal format
         0a00:20ff:feb5:4137

 

(7). 유니캐스트 주소(Unicast Address Types)

(a). Link-Local Unicast Address Types
 
   10 bits           54 bits                       64 bits
+---------------+-------------------------+--------------------------------+
| 1111111010    | All Zeros(0)            | Interface ID                   |
+---------------+-------------------------+--------------------------------+
 
(예) fe80::0a00:20ff:feb5:4137

 

(b). Site-Local Unicast Address Types
 
   10 bits           38 bits      16 bits           64 bits
+---------------+--------------+-----------+--------------------------------+
| 1111111011    | All Zeros(0) | Subnet ID | Interface ID                   |
+---------------+--------------+-----------+--------------------------------+
 
(예) fec0::0003:a00:20ff:feb5:4137
 
 
 
(c). Aggregatable Global Unicast Address Types
 
3 bits 13 bits        32 bits     16 bits           64 bits
+-----+----------+--------------+-----------+--------------------------------+
| 001 | TLA      | NLA          | SLA       | Interface ID                  |
+-----+----------+--------------+-----------+--------------------------------+
예)     한국       KT             DAUM
 
prefix                     The assigned prefix for aggregatable global addresses(001).
 
TLA                        The identifying number of the Internet authority
(Top-Level Aggregator)     that assigned the provider portion of the address,
                           for example, Internet Assigned Numbers Authority (IANA).
 
NLA
(Next Level Aggregator)    The address identifier that is assigned to a company or
                           organization by its ISP(Internet Service Provider).
 
SLA                        The subnet address assigned to networks in the company or
(Site-Level Aggregator)    organization.
 
Interface ID               The portion of the IP address that derives from the
                           MAC address, that is, the EUI-64 address.
 
[참고] 윈도우(Window 7) PC에서 확인
<CTRL + ESC> => "cmd" => <ENTER>
C:\> nslookup www.yahoo.com                     C:\> nslookup www.google.com


(8). 멀티캐스트 주소(Multicast Address Types)
 
     FP        Flags  Scope              Multicast Group ID

   8 bits      4 bits 4 bits                  112 bits
+-------------+-------------+------------------------------------------------+
| 11111111    | 000X | XXXX |                                              |
+-------------+-------------+------------------------------------------------+
 
(예) IPv4
224.0.0.1         네트워크(같은 서브넷)의 모든 시스템(호스트)
224.0.0.2         네트워크(같은 서브넷)의 모든 라우터
224.0.1.1 NTP 서버
 
■ NTP Server
FF01:0:0:0:0:0:0:101       Node-local NTP Server   (예: # ping FF01::101)
FF02:0:0:0:0:0:0:101       Link-local NTP Server   (예: # ping FF02::101)
FF05:0:0:0:0:0:0:101       Site-local NTP Server   (예: # ping FF05::101)
FF0E:0:0:0:0:0:0:101       Global NTP Server       (예: # ping FF0E::101)
 
■ Router
FF01:0:0:0:0:0:0:2         Node-local routers
FF02:0:0:0:0:0:0:2         Link-local routers
FF05:0:0:0:0:0:0:2         Site-local routers
FF02:0:0:0:0:0:0:9         Link-local RIP routers
 
■ System(Hosts)
FF01:0:0:0:0:0:0:1         Node-local systems
FF02:0:0:0:0:0:0:1         Link-local systems
 
[참고] IETF, IANA

 

[참고] IPv6 Multicast Address
(ㄱ) IANA (IPv6 Multicast Address Space)
http://www.iana.org/assignments/ipv6-multicast-addresses/

(ㄴ) IETF, RFC 문서
Refer to RFC 2373 for additional IPv6 multicast information.
http://www.ietf.org/rfc/rfc2373.txt?number=2373

(ㄷ) IETF 문서 (IPv6 의 아키텍쳐)
http://tools.ietf.org/html/rfc3513

 

 

 

 

■ IPv6 동작 원리

IP Autoconfiguration
- Statefull autoconfiguration(EX: DHCPv6)
- Stateless autoconfiguration


■ IP 자동 설정 과정(IP Autoconfiguration(Stateless Autoconfiguration))
■ 라우터에서 Prefix 변경(Router Prefix Modification)
■ IP 중첩 점검(IP Duplecated Address Detection)


[첫번째그림] IP Autoconfiguration(Stateless Autoconfiguration)
 
---------+---------------+-------------- Router
         |               |               - prefix1 (FEC0::9255:--)
       ClientA         ClientB           - prefix2 (2::9255:--)
 
①. EUI-64 생성
 

 
②. Link-Local Address 생성
 
 
 
③. Prefix 설정(Global Address 생성)
 
 

 
[두번째그림] Router Prefix Modification
 
---------+---------------+-------------- Router
         |               |               Prefix 1 -> Prefix 2
       ClientA         ClientB
 
①. 라우터 Prefix 변경
 
 
②. Unycast Address 설정
 
 
 

 
[세번째그림] IP Duplecated Address Detection
 
 
---------+---------------+-------------- Router
         |               |
       ClientA         ClientB
       in.ndpd         in.ndpd
       - IP1           - IP1 or IP2
 
 
①. NDP Messages 1(ARP Request와 비슷)
 
 
 
②. NDP Messages 2(ARP Reply와 비슷)


 

Posted by 22Hz
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함