20160520 네트워크이론
===================================================메 모===================================================
핑 국내(~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와 비슷)
'모의해킹 침해대응 전문가 과정' 카테고리의 다른 글
20160524 네트워크이론/정보수집단계 (0) | 2016.05.26 |
---|---|
20160523 네트워크이론 (0) | 2016.05.26 |
20160519 네트워크이론 (0) | 2016.05.20 |
20160518 네트워크이론 (0) | 2016.05.19 |
20160517 실습환경구축 (0) | 2016.05.19 |