IP Address 1. IP Address 의이해 TCP/IP 를사용하는모든 Computer 들은 IP Address 를가지고있다. 이 IP Address 는각각의 Computer 를 Network 에서유일하게구분해줄수있는고유번호를의미한다. 굳이 TCP/IP 를전혀모

Similar documents
TCP.IP.ppt

Microsoft PowerPoint - 06-IPAddress [호환 모드]

Network seminar.key

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

슬라이드 제목 없음

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

bn2019_2

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

Chapter11OSPF

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

C# Programming Guide - Types

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

슬라이드 1

SMB_ICMP_UDP(huichang).PDF

BGP AS AS BGP AS BGP AS 65250

歯I-3_무선통신기반차세대망-조동호.PDF

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

UDP Flooding Attack 공격과 방어

Subnet Address Internet Network G Network Network class B networ

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

歯최덕재.PDF


Microsoft Word - NAT_1_.doc

BY-FDP-4-70.hwp

Microsoft PowerPoint - 26.pptx

버퍼오버플로우-왕기초편 3.c언어에서버퍼사용하기 버퍼는 임시기억공간 이라는포괄적인개념이기때문에여러곳에존재할수있습니다. 즉, CPU 에도버퍼가존재할수있으며, 하드디스크에도존재할수있고, CD- ROM 이나프린터에도존재할수있습니다. 그리고앞의예제에서보신바와같이일반프로그램에도

금오공대 컴퓨터공학전공 강의자료

歯김병철.PDF

Microsoft PowerPoint - Java7.pptx

VPN.hwp

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

1217 WebTrafMon II

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint 프레젠테이션

Microsoft Word - ZIO-AP1500N-Manual.doc

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

Cisco SDN 3.0 DDoS DDoS Cisco DDoS Real Demo 2008 Cisco Systems, Inc. All rights reserved. 2

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

ISP and CodeVisionAVR C Compiler.hwp

Microsoft Word - How to make a ZigBee Network_kr

MVVM 패턴의 이해

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

152*220

슬라이드 1

SRC PLUS 제어기 MANUAL

Microsoft PowerPoint - o8.pptx

희망브리지

Assign an IP Address and Access the Video Stream - Installation Guide

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

hd1300_k_v1r2_Final_.PDF

제20회_해킹방지워크샵_(이재석)

10X56_NWG_KOR.indd

특허청구의 범위 청구항 1 회선 아이디 접속 시스템에 있어서, 온라인을 통해 실제 사용자 고유정보의 발급이 가능한 아이디 발급 사이트를 제공하기 위한 아이디 발급 수단; 오프라인을 통한 사용자의 회선 아이디 청약에 따라 가상의 사용자 고유정보 및 가인증 정보를 생성하고

Microsoft Word doc

Sena Device Server Serial/IP TM Version

Microsoft Word - logic2005.doc


Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2


Microsoft PowerPoint Predicates and Quantifiers.ppt

중간고사

놀이동산미아찾기시스템

歯홍원기.PDF


歯주간-wrv7n15.PDF

Windows 네트워크 사용 설명서

OCW_C언어 기초

ARMBOOT 1

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - IPv6-세미나.ppt

Microsoft PowerPoint - IPv6-세미나.ppt

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

PCServerMgmt7

PowerPoint Template


Backup Exec

ARP(Address Resolution Protocol) ARP - Layer 2 계층, Ethernet 환경에서 Destination IP 에대한 MAC Address 변환동작을담당한다. - 논리주소 (IP) 를물리주소 (MAC) 로변환시켜주는프로토콜이다. - 서로

개요 IPv6 개요 IPv6 주소 IPv4와공존 IPv6 전환기술 (Transition Technologies)

IITA hwp

목차 소프트웨어 라이센스 계약 3 무선 연결 사용 시 참고 사항 4 보안 관련 참고 사항 6 Wireless Manager mobile edition 5.5 로 수행 가능한 작업 7 컴퓨터 확인 10 컴퓨터를 연결하기 위해 필요한 환경 10 소프트웨어 설치 / 제거 1

6강.hwp

VZ94-한글매뉴얼


View Licenses and Services (customer)

Microsoft Word - 4장_처짐각법.doc

PowerPoint 프레젠테이션

일반적인 네트워크의 구성은 다음과 같다

OSI 참조 모델과 TCP/IP

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

untitled

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Visual Basic 반복문

<C2F7BCBCB4EBC0CEC5CDB3DDC1D6BCD2C0DABFF8B1E2BCFAB5BFC7E2BAB8B0EDBCAD BFACB0A3BAB8B0EDBCAD292E687770>

歯이시홍).PDF

Transcription:

IP Address 1. IP Address 의이해 TCP/IP 를사용하는모든 Computer 들은 IP Address 를가지고있다. 이 IP Address 는각각의 Computer 를 Network 에서유일하게구분해줄수있는고유번호를의미한다. 굳이 TCP/IP 를전혀모르더라도 TCP/IP 를사용하고있는 Computer 는 IP Address 를가지고있어야만한다. TCP/IP 를사용하기위해서는 IP Address, Subnet Mask, Default Gateway 등의정보들이구성이되어있어야하는데 Network 관리자라면당연히이들의역할들에대한명확한이해를해야할것이다. IP Address = Network ID + Host ID IP Address 는 Network ID 와 Host ID 로구성되어있다. 전체 IP Address 를따로따로관리하기보다는 Network ID 라는이름으로 Group 을만들어서 Network ID 단위로 IP Address 를관리하면그만큼효율적으로 IP Address 를관리하고무엇보다도보다원활한 Routing 이가능해질수있다. 같은 Network 에존재하는 Computer 들은반드시같은 "Network ID" 를사용해야하고, 다른 Network 에존재하는 Computer 는반드시다른 "Network ID" 를사용해야한다. 예를들면 192.168.5.0 이라는 Network ID 를할당한 Segment 에 A 와 B 가있다면이들둘의통신을위해서는 A 와 B 는동일하게 192.168.5.0 Network ID 를사용하는 Host ID 가할당되어야만한다. A 에게 192.168.5.1 을할당하고, B 에게 192.168.5.20 을할당했다면둘은통신이되겠지만, 만일 B 에게 192.168.6.20 을할당했다면둘은통신을할수가없게된다. 물리적으로같은 Network 에서로다른 Network ID 가할당되었기때문이다. 2. IP Addressing 1 처음에 32 개의 bit 를사용하여 IP Address 를만들었다. 0 아니면 1 인값이 32 개가나란히늘어서있는것이 IP Address 를구성하고있다는의미이다. [ 그림 1] 에서는 192.168.5.2 라는 IP Address 를예제로보여주고있다. [ 그림 1. IP Address 표기 ] 32 bit 이니결국 4 Byte 이다. 현재우리가사용하는 IP Address 의버전은 "4" 이고, 32bit 즉 4 Byte 체계의 IP Address 를사용하고있다. 이러한 32 bit 숫자를 System 의 IP Address 로사용한다면어려울수밖에없다. 그렇기에보다편한표기법을채택하고있는데, 일단 8 bit 씩나눠서구분을한다. 8bit 면 1 Byte 이니구분하기가한결용이해진다. 이렇게나뉜하나하나의단위를 "8" 을나타내는 "Octet" 라고부른다. 32 bit 를 8 bit 씩나누니 4 개의 Octet 가생겼다. 이들 Octet 와 Octet 를구분하기쉽게하기위해 dot(.) 를구분자로

사용하였다. 마지막으로각각의 Octet 단위별로 2 진수를 10 진수로변환하여놓은것이바로우리가사용하고있는 IP Address 임을알수있다. 아래의 [ 그림 2] 를보자. 3 단계로나눠서보면, 맨위의그림은 32 개의자리수를가진빈상자가있다. 여기에 0, 1 둘중의한가지숫자를채울수가있을것이다. 첫번째의 Octet 만가지고계산을해보자. 8bit 자리에넣을수있는가장큰숫자는당연히여덟개의 bit 전체가 "1" 로만들어지는숫자가된다. "11111111" 을십진수로계산하면 "255" 라는결과를얻을수있다. 이렇게왜 IP Address 로할당할수있는최대숫자가 999 가아닌 255 가되는지를알수가있다. [ 그림 2. 현재 IP Address 체계에서의가장큰수 ] 위에서우리는 IP Address 가 32 개의 bit 로이루어진값이라는사실을알게되었다. 현재 IP Address 는 IANA(Internet Assigned Numbers Authority) 라는기관에서관리되고있다. IANA 는전체 IP Address 를관리하며 ISP 들에게 IP 를발급하고, 일반사용자들은그러한 ISP 로부터 IP 를할당받아서 Host 에게할당하고 Internet 에 Access 하게되는것이다. 당연히 IP Address 를무작정관리하지는않는다. 이 IP Address 는 Class 라는개념에근거하여관리된다. Network ID 2 [Class 로나뉜 IP Address] 위의그림을보자. 4 개의 Octet 중에서첫번째 Octet 을 Network ID 로할당하고, 나머지세개의 Octet 을 Host ID 용으로할당한것을 Class "A" 라고등급을주었다. 두개의 Octet 을 Network ID, 두개의 Octet 을 Host ID 용으로사용하는것을 Class "B" 라고한다. 마지막세개의 Octet 을 Network ID 로사용하고, 하나의 Octet 을 Host ID 로사용하는것을 Class "C" 라고등급을매겼다. A Class 에서 C Class 로갈수록 Network ID 로사용할 bit 는늘어나고, Host ID 로사용할 bit 는줄어들게된다. 그것은 C Class 로갈수록여러개의 Network 를가질수있지만, 한 Network 에서사용할수있는 Host 의숫자는줄어든다는것을의미한다. A Class 는 32 bit 중첫번째 bit 가 "0" 으로결정되어있다. B Class 는처음두개의 bit 가 "10" 으로결정되어있으며, C Class 는처음세개의 bit 가 "110" 으로결정되어있다.

이것을기본으로해서각 Class 마다 Network 가결정되는방법은다음과같다. 1 A Class : 첫번째 Octet 8 bit 중첫번째자리수가 "0" 으로예약되어있기에건드릴수가없다. 나머지 7 bit 를통해서만들수있는경우의수를계산하면가장작은수는 7 bit 전체가 0 일경우이고, 가장큰수는 7 bit 전체가 1 인경우를생각할수있다. 00000000 ( 가장작은수 )-> 0, This Network 00000001 ( 유효한가장작은수 ) -> 1 00000010...... 01111110 ( 유효한가장큰수 ) -> 126 01111111 ( 가장큰수 ) -> 127, Loop back Address 하지만이모든수를쓸수있는것은아니다. 8 bit 전체가 0 인값, 즉 Network ID 가 0 인주소값은 "This Network" 임을의미한다. 이주소는자신의 IP Address 를찾으려는경우에사용되며, Routing 의경우에는 Network 의경로를알수없는전체 Network(The Default Route) 를의미하기도한다. 가장큰수인 01111111(127 10 ) 역시사용할수없다. 이주소는 Loop back Address 용으로예약 (TCP/IP 의 Test 용도로사용 ) 되어있어서 Host 에할당할수없기때문이다. 결론적으로 A Class 에서사용될수있는첫번째 Octet 의값은 1 부터 126 까지가된다. 3 2 B Class : 첫번째 Octet 8 bit 중두개의자리수가 "10" 으로예약되었기에건드리지않고, 나머지 6 bit 를가지고생성할수있는가장작은수와가장큰수를계산해보면범위를구할수있다. 10000000 ( 가장작은수 ) -> 128... 10111111 ( 가장큰수 ) -> 191 3 C Class : 첫번째 Octet 8 bit 중세개의자리수가 "110" 으로예약되었기에건드리지않고, 나머지 5 bit 를가지고생성할수있는가장작은수와가장큰수를계산해보면범위를구할수있다. 11000000 ( 가장작은수 ) -> 192... 11011111 ( 가장큰수 ) -> 223 지금까지각 Class 마다첫번째 Octet 에사용되는주소의범위를구해보았다. 이상한생각이들것이다. 최대숫자는 255 이었는데그럼나머지 224 부터 255 까지는어떻게된거지? 첫번째 Octet 의 4 자리가 "1110" 으로예약된경우를 D Class 라고분류하며이것은 Multicast Address 용도로사용된다. 범위는 224~239 까지이다. 5 자리가 "11110" 으로예약된경우를 E Class 라고분류하며이것은연구목적으로사용되고있다. 범위는 240~247 까지이다. 나머지범위는예약된주소로남겨져있으며,

첫번째 Octet 의전체 bit 가 1 인경우, 즉 11111111 인 255 10 는모든 Network 를의미하는 Broadcast 용도로사용된다. Special Addresses (reserved for 'unconnected' Networks Networks that use IP but are not connected to the Internet) 이러한 Address 들을우리는 Private IP Address 라부르고, 흔히 Virtual IP Address 라부르기도한다. Private Network 는이러한 Private IP Address Space 를사용하는 Network 을가리키는말이다. IP Address 와 Top-level Domain 을관리하는 IANA 가지정한 Current IANA Private Internet Addresses 는다음과같다. 1 A Class Network : 10.0.0.0 16 B Class Networks : 172.16.0.0 ~ 172.31.0.0 256 C Class Networks : 192.168.0.0 ~ 192.168.255.0 우리가 Home Network 를구성할때주로이 256 개의 C Class Network 중하나를사용하게된다. Host ID 이번엔각 Network ID 별로 Host ID 를계산해보자. A Class 의경우, 8 bit 가 Network ID, 24bit 가 Host ID 로사용된다. Network ID 는 1 부터 126 까지가사용되며, Host ID 는나머지 24bit 를통해서모든경우의수를계산하면되는것이다. 첫번째 Octet 이 123 으로시작하는 Network ID 를예를들어서 Host ID 의범위를계산해본다. 4 그림에서 Network ID 부분이 123 이고 Host ID 는나머지 24 bit 로생성이되게되는데, 24 bit 로만들수있는가장작은수는당연히전체 bit 가 0 인경우이다. 첫번째그림이다. 그러나이러한경우는 Host 의 IP 로는사용하지못한다. 이것은 123 Network 자신을의미한다. 123 Network 를일컬을때 123.0.0.0 이라고표기를한다. 경우의수중에서가장큰수는 24 bit 전체가 1 인경우이다. 이것도역시 Host 의 IP 로는사용될수없다. 이것은 123.0.0.0 Network 의 Broadcast ID 로사용이된다. 그런이유로사용될수있는 Host ID 의범위는 123.0.0.1 ~ 123.255.255.254 까지가된다. 개수를계산하자면 24 개의 bit 가 0,1 둘중의하나의자리를사용할수있는경우의수인 2 24 이다. 이중에서 Host bit 전체가 0 인경우와전체가 1 인경우를제외해야하므로실제 Host ID 의개수는 2 24-2 다.

각 Class 별 Network ID 와 Host ID 를정리해보면 3. Subnet Mask, Default Gateway 예제는 131.107.0.0 과 131.108.0.0 이라는두개의 Network 로구성된환경이다. 이들 Network 에는 A,B,C 라는 Computer 가있고각각적절한 IP Address, Subnet Mask, Default Gateway 가할당되어있다. 5 [2 개의 Network ID] 예제에서 131.107.0.0 Network 에있는 "B" 는 "C" 와통신을하고자한다. 통신의종류는너무나도다양하다. 간단하게 B 에서 "ping 131.108.0.2" 라는명령을날릴경우도있을것이고, C 가제공하는 Web Service 에 B 가 Web Browser 를띄우고 "http://131.108.0.2" 를입력한경우도있을수있다. 어떠한종류의작업이건결국은 IP Address 를이용한통신을하는것이기에 B 는 C 의 IP Address 를 Destination 으로하는 Message 를날려보내야만한다. Computer 는 TCP/IP 통신을할때자신과같은 Network 에속한 Computer 와는직접통신을하고, 다른 Network 에속한 Computer 와통신을할때는 'Router" 를이용해야한다. 이러한이유로 B 가 C 에게 Message 를보내고자할때첫번째해야할일은 "C" 라는 Computer 가자신과같은 Network 에있는지 (Local Communication?), 아니면다른 Network 에있는지 (Remote Communication?) 를결정하는것이다. 이것을구분하는방법으로 IP Address 를이용하는데 IP Address 중에서 Network ID 부분을가려낸다음 Network ID 를서로비교해보면될일이다. 자신의 Network ID 와상대방 Computer 의 Network ID 가같다면당연히같은 Network 임을의미하고, Network ID 가서로다르다면서로다른 Network 에존재한다는것을나타내기때문이다. 문제는 IP Address 중에서도대체얼마만큼이 Network ID 가차지하는부분인지를알방법이필요하다는것이다. 그것을가리켜주는것이바로 Subnet Mask 의역할이다.

Subnet Mask Subnet Mask 는 IP Address 중에서 Network ID 부분을가려내는역할을담당한다. Subnet Mask 를잘못입력하는것은통신불가능이라는문제점을야기시킬수있다. 아래의 [ 그림 16] 에서는 B 의 Network ID 와 C 의 Network ID 를계산하는방법을그림으로표현하였다. B 는통신을하고자할때가장먼저자신의 Subnet Mask 를이용해서자신의 IP Address 와상대방의 IP Address 로부터 Network ID 를계산해내게된다. 6 [ 그림 16. 목적지 Computer 가 Local 인지 Remote 인지결정하는방법 ] [ 그림 16] 의 "(1)B 의 Network ID 계산 " 을보면, 131.107.3.100 을이진수로전환했다. 자신의 Subnet Mask 인 255.255.0.0 역시이진수로전환을한다음 Logical AND 연산을이용해서두수를결합시켰다. 값을계산해보면세번째의그림인 Network ID 결과값을얻을수있다. 이것을가만히살펴보면 Network ID 결과값중에서두개의 Octet 은 IP Address 의두개의 Octet 과일치함을알수있다. Subnet Mask 의두개의 Octet 이 11111111.11111111 이므로당연히 IP Address 쪽의수를따라가게된것이다. 세, 네번째 Octet 은 00000000.00000000 이라는결과를보여주는데, Subnet Mask 의세, 네번째 Octet 이 00000000.00000000 이므로결과값역시 00000000.00000000 이나온것이다. 10000011.01101011.00000000.00000000 이라는결과값을십진수로전환하면 131.107.0.0 이라는 Network ID 가계산된다. 우리는전체적인그림을보니까당연해보이지만 Host 입장에서는 IP Address 만가지고 Destination Computer 가도대체어느위치에존재하는지심지어는자신이어느위치에존재하는지도알턱이없다. 이들이알고있는것이라고는단지 IP Address, Subnet Mask 등의숫자몇개가고작인것이다. 같은방법으로 (2) 에서는 C 의 Network ID 를계산했다. 그다음에 B 는자신의 Network ID 와상대방인 C 의 Network ID 를비교한다. 이결과값이일치한다면이들둘은같은 Network ID 를사용하고있다는것을 (Local) 의미하며, 다르다면다른 Network ID 를사용하고있다는 (Remote) 것을의미한다. 결과값이같다면직접 Local 에서통신을시도할것이지만, 다르다면 Local Router 의도움을받아야 C 와통신을할수가있게된다. 예제에서는 131.107.0.0 과 131.108.0.0 이라는서로다른결과를보여준다. 서로다른 Physical Network 에있다는결과가나왔다. 제대로계산이나온것이다.

< 참고 > 십진수와이진수의전환 [ 그림 17. 십진수변환표 ] 를외워두면편하다. 익숙해지면전자계산기가없이도 10 진수와 2 진수의계산이자유롭다. 예를들어서 11110011 을십진수로바꾸려면전체가 1 인경우 255 에서세, 네번째자리수가 0 이므로거기에해당하는십진수인 8 과 4 를빼면된다. 결국 255-8-4=243 이답이다. 거꾸로계산할때도마찬가지이다. 203 을이진수로전환하려면첫번째자리수부터 203 이될때까지계속채워나간다. 11 이면 128+64 이니합이 192 가되고, 6 번째자리까지 1 을채우면 111 이되어합이 224 로써 203 을넘으니안된다. 192 에서 203 이되려면 11 이더필요하다. 11 에해당하는 2 진수는 1011 이다. 결국답은 11001011 이되는것이다. 이진수를십진수로전환하는법계산기프로그램을열고, 보기메뉴에서 " 공학용 " 으로바꾼다. 왼쪽위에 Hex, Dec, Oct, Bin 이라는버튼이있는데각각 16,10,8,2 진수를의미한다. 이진수 11001011 을십진수로전환하고싶다면먼저 Bin 을선택하고 11001011 를입력한후, Dec 버튼을선택하면된다. 7 Subnet Mask 가잘못입력된다면통신이실패한다고말을했는데한가지상황을가정해보자. A 와 B 는같은 Network 에있으면같은 Network ID 인 131.107.0.0 을사용하고있다. 만일 B 의 Subnet Mask 를 255.255.0.0 이아닌 255.255.255.0 을할당했을때결과를살펴보자. B 는일단 A 가 Local 에있는지 Remote 에있는지를알아내고자시도를할것이고자신의 Subnet Mask 인 255.255.255.0 을통해서자신의 IP 와상대방의 IP 중에서 Network ID 를계산해낼것이다. 결과값을계산해보면, B 는 131.107.3.0 이라는결과가나오고, A 는 131.107.4.0 이라는결과가나온다. 이것은 B 와 A 가서로다른 Network 에있음을보여준다. 결국실제로는물리적으로같은 Network 에있지만서로다른 Network ID 를가졌으므로 B 는직접 Local 통신을시도하지않고 Router 에게 Packet Transmission 을요청하게된다. 이 Packet 은 131.107.4.0 Network 를찾아서외부로나가게되고, 결국통신은실패하게된다. 이렇듯잘못된 Subnet Mask 를부여했을때에도 B 는 C 와는통신하는것이가능하다. 계산해보면 Network ID 가다른것으로결과가다르게나오기때문이다.

하지만만일 B 의 Subnet Mask 가 255.0.0.0 이할당되어있다면어떻게될까? 이번에는같은 Network 의 A 와는통신할수있지만 C 와는통신하는것이불가능해진다. Network ID 를계산해내면문제점을파악할수있을것이다. 이렇듯 Subnet Mask 도 IP Address 못지않은중요한역할을담당하고있는데이러한 Subnet Mask 는어떻게할당되는것일까? 이것도기본적인원칙이있다. SubnetMask 결정방법 IP Address 중 Network ID 부분은 1 로기록하고, Host ID 부분은 0 으로기록한다. 앞에서각 Class 별로 Network ID 가사용하는 Octet 을이야기한바있다. 거기에따른 Subnet Mask 를정리하면다음과같다. [Default Subnet Mask] 각각 8 bit, 16 bit, 24 bit 등으로고정된길이만큼 Network ID 가사용되는것이아닌, Class 개념을무시한 IP Address 관리방법이있다. 이것을 CIDR(Classless Inter Domian Routing) 이라고한다. 8 Default Gateway Host 가 TCP/IP 통신을할때가장먼저 Destination Host 가자신과같은 Local 에있는지 Remote 에있는지를판단한다고했다. 이때 Remote 에있는결과가나오면 Computer 는 Default Gateway 를이용해서통신을하게된다. 결국 Default Gateway 를정리하면 " 자신의 Network 에있는 Router 의 Local Interface 의 IP Address" 라고할수있다. Router 도역시자신의 Network 에있는하나의 Host 처럼생각하면된다. 하는일이다를뿐이지통신에있어서는차이가없다. 만일 Destination Host 가 Local 에있다면어떻게되는가? 그때는 Default Gateway 는쓰임새가없다. Default Gateway 가없어도 Local Network 와의통신에는아무런문제가없다. 4. CIDR (Subnetting, Supernetting), VLSM CIDR - Subnetting 회사에서는이번에 ISP 로부터 Internet Service 를받게되고, 207.46.230.0 이라는 C Class Network ID 를할당받았다. 당신은이 Network ID 를이용해서회사의 Client 들에게 IP Address 를할당하는작업을해야한다. C Class Network ID 하나를가지고지원되는 Host 의수는최대 254 까지이다. 회사의전체 Host 숫자가 210 대이므로 C Class 하나만가지면충분히지원할수있지만이들전체를하나의 Network 에물려놓기는어려운일이다. 바로 Broadcast 통신이문제가되는데이러한 Broadcast 통신을줄이는방법으로 OSI 3 Layer 장비인 Router 를통하여 Network 를여러개의 Broadcast Domain 으로 Segment 하는방법을사용한다. Network 를여러개로나누면각각의 Network 에서발생되는 Broadcast Packet 은해당 Network 에한정되기때문에그만큼효율적인 Network 의사용이가능해지는것이다. 당신의회사역시 Network 를 4 개로나눠서한 Segment 에 Host 의숫자를 60 대미만으로지정하고자한다. 여기에서당장에혼란이생긴다. 앞에서서로다른 Physical Network 에서는반드시서로다른 Network ID 를사용해야하는데당신은 ISP 로부터하나의 C Class Network ID 를할당받았을뿐이다. 이

하나의 Network ID 를 4 개의 Segment 로분산하여할당할수는있지만, 그렇게했을때이들간에는서로통신을할수가없게된다. 같은 Network ID 를가지고물리적으로서로다른 Network 에위치해있으니통신이안되는것은당연한일이다. ISP 에추가로 C Class Network ID 3 개를요청했지만추가비용을요구한다. 거기다가가만히생각해보니, 각각 254 개를쓸수있는 C Class ID 를 3 개더받아서하나의 Network 당 60 개만사용한다고가정하니나머지 194 개씩의 IP 는버려질수밖에없는노릇이다. IP Address 의낭비가너무심하다는생각이든다. 이것이 Class 체계의 IP Address 가가지는맹점인것이다. 보다효율적인방법은없을까? 물론있다. CIDR(Classless Inter Domain Routing) 이라는기법을이용하여 IP Address 를관리할수있다. 구현하는방법은의외로간단하다. CIDR 은 Subnetting 과 Supernetting 이라는두가지로구분해볼수있다. 위의예제의경우에는 Subnetting 이필요하다. 할당받은 C Class ID 는 Network ID 로 3 개의 Octet(24 bit) 을사용하고, Host ID 로 1 개의 Octet(8 bit) 가사용된다. 현재의상황은 Network ID 가더필요한상황이므로방법은 Host ID 가사용할 8 bit 중일부를 Network ID 용도로전환하면문제는간단해진다. [CIDR 기법 - Subnetting] 그림에서보듯이 Host ID 8 bit 중에서 3 bit 를 Network ID 용도로전환하여사용하려고한다. 이때이 3 bit 를 "Subnet ID" 라고부르게된다. 크게보자면 Network ID 에포함될수있다. 좀더단계적으로전체적인계산방법을알아보겠다. < Subnetting 계산방법 > (1) 회사에서필요로하는 Network 의수결정 Subnetting 을하기전가장먼저할일은회사에서필요로하는 Network 의수를파악하는일이다. 이때고려할사항은당장필요한것도중요하지만향후 1 년정도이내에 Network 의확장이고려된다면 Network 의여유가있을때그부분을미리고려하는것도필요한일이다. 위의예제상황에서는총 4 개의 Network 가필요하다고결정되었다. 9 (2) 필요한 Network ID 를만들기위해전환할 bit 수의결정 (1) 에서결정된 4 개의 Network 를지원하려면 Host ID 가사용하는 8 개의 bit 중에서몇개의 bit 를 Network ID 로전환시켜사용해야할까? 2 2= 4 라는결과가나오니 2 개의 bit 가있으면된다. ( 만일 6 개의 Network 가필요하다면 2 3 =6 이되니 3 개의 bit 가있으면된다 ) (3) Subnet Mask(User defined Subnet Mask) 계산다음으로해야할작업은변경된 Subnet Mask 를계산해야한다. C Class 의 Default Subnet Mask 는 255.255.255.0 이었다. 이것은 C Class IP Address 중에서 Network ID 부분은 1, Host ID 부분은 0 으로채운결과나온값이었는데, 지금은상황이조금달라졌다. Subnet ID 가할당됨으로써 Network ID 가변동이생겼으니 Subnet Mask 도달라져야한다. [User Defined Subnet Mask 계산방법 ] 네번째 Octet 의 Host ID 가 8 bit 에서 6 bit 로줄어들고상대적으로 Network ID 가 2bit 가늘어났다. 일반적인 Subnet Mask 는 255.255.255.0 이었지만 Host bit 중앞의두 bit 가 1 로바뀌었으므로다시

계산하면 User Defined Subnet Mask 는 255.255.255.192 가되는것이다. 여기서한가지고려해볼것이있는데, Subnet Mask 가바뀌었다는것이무엇을의미할까? 앞에서우리는 Host 가 TCP/IP 가통신하는절차를보았는데그때 Host 는자신의 Subnet Mask 를이용해서자신과 Destination Host 의 Network ID 를계산한다음에결과값을살펴서같으면 Lacal, 다르면 Remote 로판단한다고했다. 위에서계산된새로운 Subnet Mask 를이용하면하나의 C Class 인 207.46.230.0 을사용하더라도범위에따라서서로다른 Network ID 라는결과를얻을수가있게된다. 결국하나의 C Class ID 로써여러개의 Network ID 를가진효과를내게되는것이다. (4) Subnet ID 계산 Subnetting 된 Network ID(Subnet ID) 를계산해야한다. 207.46.230.0 Network ID 는건드릴수가없다. Host ID 8 bit 중에서앞의 2 bit 를 Subnet ID 로사용하고자하기때문에 [ 그림 21] 에서노란색부분인 Subnet ID 2bit 로써생성할수있는모든경우의수를구해본다. [ 그림 21] 에서보듯이 00, 01, 10, 11 이라는 4 가지경우의수가나오게된다. 이것을십진수로전환하면각각 0,64,128,192 가된다. 결국 Subnet ID 를정리하면다음과같다. - 207.46.230.0-207.46.230.64-207.46.230.128-207.46.230.192 10 [ 그림 21.Subnet ID 계산 ] (5) Subnet 별 Host ID 의범위계산이제 Subnetwork 별사용할 Host ID 의범위를구해야한다. 조금까다로울수도있다. (4) 에서구한 4 개의 Subnet ID 마다생성할수있는 Host ID 의범위를구하기위해 [ 그림 22] 를참고해보자. [ 그림 22] 의 1 번 Subnet 을예로들면, Subnetting 을하기전 Host IDt 는 8 bit 를사용할수있었지만 Subnetting 을하고앞의 2 bit 를 Subnet 용도로전환시켰기에남은것은 6 bit 가있다. Subnet ID 인처음의 00 은그대로두고나머지 6 bit 를이용해서생성할수있는가장작은수와큰수를각각구하면 Host ID 의범위가나오게된다. 여기서주의할것은 Host ID bit 전체가 0 이되는경우와전체가 1 이되는경우두가지를제외하여야한다는것이다. Host ID bit 전체가 0 이되는 Address 는해당 Network 자신을나타내고, 전체가 1 이되는 Address 는해당 Network 의 Broadcast ID 로사용되기때문에 Host 에게는할당할수가없다. 이것을십진수로전환해보면 1 과 62 가된다. 첫번째 Subnet ID 인 207.46.230.0 Network 에서쓸수있는 Host ID 의범위는 207.46.230.1 부터 207.46.230.62 까지로총 62 개의 Host ID 를사용할수있는것이다. (2 6-2=62 개 ) 같은방법으로 2~4 번째 Subnet ID 의 Host ID 의범위를구해보면다음과같다. - 207.46.230.65~207.46.230.126-207.46.230.129~207.46.230.190-207.46.230.193~207.46.230.254

[ 그림 22.Host ID 의범위계산 ] Subnetting 빠른계산방법 < 문제 >218.55.9.0 C Class Network ID 하나를할당받았다. 회사에서는 6 개의물리적인 Network 로나뉘어있다. 6 개의 Network 를지원하기위한 Subnet ID 와각 Subnet 별 Host ID 의범위를구하면? (1) 6 개의 Network 를지원하기위해필요한 bit 의개수산출 : 3 개 (2 3 ) (2) 사용자정의 Subnet Mask 를계산하면 : 아래의 [ 그림 23] 을참고한다. 255.255.255.224 가된다. 11 [ 그림 23] (3) Subnet ID 계산 : [ 그림 23] 에서두번째박스를살펴보면노란색부분이 Subnet ID 부분인데여기서가장낮은자리수를십진수로바꿔보면 32 가나온다. 이것은 32 씩증가하는 Subnet ID 임을보여준다. 즉 0.32.64.96...224 가바로 Subnet ID 가되는것이다. (4) Host ID 의범위 : 첫번째 Subnet 인 218.55.9.0 의경우는당연히가장빠른 Host 의 ID 는 1 부터시작한다. 다음번 Subnet ID 인 32 가되기전까지를쓸수있지만 31 은쓸수가없다. 31 은 218.55.9.0 Subnet 의 Broadcast ID 이기때문이다. 두번째 Subnet 인 218.55.9.32 의경우는역시가장빠른 Host 의

ID 는 32 의다음숫자인 33 부터시작을해서다음번 Subnet 인 64 가되기전인 63 까지이지만 63 은쓸수가없다. 218.55.9.32 Network 의 Broadcast ID 로 63 이쓰이기때문이다. 이런원칙으로계산을해보면 [ 그림 23] 안의표와같은결과를얻을수있다. CIDR 표기법 CIDR 은이진표기법을사용한다. 위의예제와같이 Subnetting 된상황이라면 207.46.230.2 라는 IP Address 를쓰는 Host 는다음과같이표기할수있다. 207.46.230.2 / 26 이것은 207.46.230.2 IP Address 중에서 26 bit 가 Network ID 임을가리켜준다. 결국 Subnet Mask 는 255.255.255.192 라는것을알수가있다. 지금까지 Subnetting 의개념과구현방법에대해서알아보았다. 가장많이접할수있는 Network ID 인 C Class 를통해서예제를만들어보았다. B Class 라면더더욱작업은쉬워진다. 위의방법을토대로하여 B Class 예제를하나쯤다루어보기바란다. CIDR - Supernetting Subnetting 과는반대의개념으로 Supernetting 을구현할수있다. 상대적으로중소규모의회사차원에서 Supernetting 이구현될필요는없다. 개념적인것을알아두는차원에서다루어보고자한다. 한회사가 192.168.1.0 부터 192.168.5.0 까지 5 개의 Network ID 를사용하고있다고가정한다. Internet 상에서 Network 가동작하기위해서는이하나의회사를위해서 Routing Table 이 5 개가추가되어야만할것이다. 보다효율적인 Network 를위해서 Routing Table 을최적화하기를원한다. 비록 C Class Network ID 가 5 개라고할지라도 Routing Table 에서는 5 개가아닌 1 개의 Routing 경로만으로이회사의 Network 를지원할수있다면그만큼 Internet 의 Router 들은성능의향상을가져올수있을것이다. 이런경우에 Supernetting 을이용하여 Routing Table 을최소화하는것이가능하다. 보다간단하게이해를돕자면위의회사에서 5 개의 Network ID 를사용하는데물리적으로하나의 Network 에이 5 개의서로다른 Network ID 를할당해서사용하고싶다는뜻이다. Network 를하나로통합하고싶다는것을의미한다. 어떻게하면될까? 역시 Subnet Mask 에달려있다는판단이선다. 비록서로다른 Network 이지만 Subnet Mask 를가지고계산을했을때같은 Network ID 라는결과가나오도록 Subnet Mask 를조절한다면이들은서로같은 Network 에있는셈이되니말이다. 이것을가리켜서 Supernetting 이라고부른다. Supernetting 된 Subnet Mask 를구하는방법은다음과같다. 12 255.255.248.0 을 Subnet Mask 로사용한다면 5 개 Network 의어떠한 Host ID 를사용하더라도하나의물리적인 Network 에서통신이가능해진다. 192.168.1.100 을쓰는 Host 와 192.168.4.200 을쓰는 Host 가물리적으로하나의 Segment 에물려있더라도 255.255.248.0 을사용하면통신이가능하다는것을말한다. 서로같은 Network ID 라는결과가나오기때문이다.

Supernetting 의이해를돕기위하여위와같은설명을했으나내부적인 Network 에서는위와같은처리를할이유가없다. 이것은어디까지나 Internet 상에서 Network Route 를최소화하여전체적인 Network Traffic 을최소화하자는데의의가있다. ISP 와같은대형 Service Vendor 에서구현되는방식이라고이해하는편이좋다. VLSM (Variable Length Subnet Mask) 이회사는 192.168.200.0 C Class Network ID 를사용한다. 회사의 Network 는그림에서보듯이 6 개의 Network 로나뉘어있는데각 Network 마다서로다른 Node(Computer, Router 등하나의 Port 를차지하는모든 Device 를총칭 ) 를가지고있다. 이러한상황에서 Subnetting 을통해서 6 개의 Network 에서사용할수있는 ID 들을계산해보고자한다. [6 개로 Segment 된 192.168.200.0 Network] 13 위의상황을지금까지배웠던 Subnetting 의방법으로계산하려고하면뭔가맞지않는다는것을알수가있을것이다. 6 개의 Network 를지원해야하니, Host ID 8 bit 중 3 bit 를 Subnet bit 로써야할것이다. 거기까진좋은데 3 bit 를 Subnet bit 로사용했을경우 Host ID 로사용할 bit 가 5 bit 가되니 5 bit 를가지고만들수있는 Host ID 의수는 2 5-2=30 개가된다. 그러면 [ 그림 25] 에서 60 Node 가있는 Network 에는 IP Address 가부족하게된다. 60 개의 IP Address 를확보하려면적어도 6 bit 는필요하다.(2 6-2 =62 개 ) 8 bit 중나머지 2 개의 bit 로 Subnetting 을하면되는데문제는그럴경우 Subnet ID 가 4 개밖에나오지않는다는것이다. 이때 Network 의수를줄이거나, 추가로 C Class Network ID 를더확보하거나, 사설 Network 로가는방법이있을것이다. 그렇지만회사의전체 Host 수를더해봐도 194 대밖에되지않는데최대 254 개의 Host 를지원하는 C Class 하나로써이것을지원하지못한다는것은뭔가석연치않다. 이러한경우 Subnetting 을효율적으로운용하여문제를해결할수있다. 각각의 Network 에필요한만큼만 Host ID 를할당하는방법을사용하는데 [ 그림 26] 과같이계산할수있다.

[ 그림 26. VLSM 을이용한 Subnetting] 전체의 Subnet ID 를한꺼번에계산해서는안된다. 필요한부분마다각각계산을해나가는데필요한 Network ID 를지원하기위해필요한 bit 수를계산하는것이아니라필요한 Host ID 를지원하기위해필요한 bit 수를먼저계산한다. Host 의수가많이필요한 Subnet 부터먼저계산해나간다. (1) 60 개 Host 를지원하기위한 Subnetting - 60 개의 Host 를지원하기위해필요한 Host bit 수 = 6 개 (2 6-2=62) - Subnet Mask 는 11111111.11111111.11111111.11000000( 남은 2 bit 로 Subnetting) - Subnet ID 는 Subnet ID 중낮은자리수의십진수를구하면 -> 64 (64 씩증가하는 Subnet) - Host ID 의범위 2 개를구하면 -> 192.168.200.1~62, 192.168.200.65~126/26 (2) 30 개 Host 를지원하기위한 Subnetting - 30 개의 Host 를지원하기위해필요한 Host bit 수 = 5 개 (2 5-2=30) - Subnet Mask 는 11111111.11111111.11111111.11100000 ( 남은 3 bit 로 Subnetting) - Subnet ID 는 Subnet ID 중낮은자리수의십진수를구하면 -> 32 (32 씩증가하는 Subnet) - Host ID 의범위 2 개를구하면 -> 192.168.200.129~158, 192.168.200.161~190/27(1~127 까지는이미앞의 Network 에서사용되었음을유의한다.) 14 (3) 12 개 Host 를지원하기위한 Subnetting - 12 개의 Host 를지원하기위해필요한 Host bit 수 = 4 개 (2 4-2=14) - Subnet Mask 는 11111111.11111111.11111111.11110000 ( 남은 4 bit 로 Subnetting) - Subnet ID 는 Subnet ID 중낮은자리수의십진수를구하면 -> 16 (16 씩증가하는 Subnet) - Host ID 의범위 1 개를구하면 -> 192.168.200.193~206 / 28 (1~191 까지는이미사용.) (4) 2 개 Host 를지원하기위한 Subnetting - 2 개의 Host 를지원하기위해필요한 Host bit 수 = 2 개 (2 2-2=2) - Subnet Mask 는 11111111.11111111.11111111.11111100 ( 남은 6 bit 로 Subnetting) - Subnet ID 는 Subnet ID 중낮은자리수의십진수를구하면 -> 4 (4 씩증가하는 Subnet) - Host ID 의범위 1 개를구하면 -> 192.168.200.209~210 / 30 (1~207 까지는이미사용.) 위와같이계산을하여 [ 그림 26] 의결과를얻은것이다. 가만히살펴보면이들 Subnet 들은앞에서의일반적인 Subnetting 과는달리 Subnet 마다 Subnet Mask 가다르다는것을알수가있는데이러한기법을가리켜서 VLSM(Variable Length Subnet Mask) 이라고한다. 아직 Subnetting 이익숙하지않기때문에한꺼번에 4 개의 Subnetting 이부담스러울수있겠으나, 위와같은방법을이용하면보다효율적인 IP Address 관리가가능해진다. 전체 Host 에게 IP Address 를할당하고도아직 192.168.200.212~254 까지의여분이남아있다. 추가로 Network 가더생기더라도할당할수가있는것이다. 앞의 Subnetting 을완전히이해하고나면 VLSM 의필요성, 방법등을이해하기가쉬울것이다.