자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


[강좌] 네번째 강좌 IP프로토콜 [2]

 

강좌 : 김두수

회원님들.. 너무 강좌가 늦어져서..정말 죄송합니다.. 그래두.. 나름대루.. 이번 강좌는...
엉덩이에 땀띠나도록 앉아서.. 열심히 책도 참고하면서.. 준비 했습니다.. 이쁘게 봐주세염^^
아참.. 늦더위가 요즘 기승을 부리네요.. 아이참~~ ^^ 늦더위에 더위 조심하시구염~
그럼 4번째 강좌 시작 하도록 하겠습니다.

1. IP분류
2. IP라우팅
3. 서브넷 마스크
4. 그리고 IP버젼 6에 대해서 소개

(전 번 강좌에서 말한 챕터와 약간의 수정이 생겼습니다.)

♥ 1. IP의 분류 ♥
IP는 십진수로 "***.***.***.***" 이런 형식으로 표시를 합니다."." 을 분류된 한 옥텟은 8비트로
구성이 되어 있으며 한 옥텟당 2의 8승, 즉 255가지의 경우의 숫자가 들어 갈 수가 있습니다.
( 1비트 = "0"과 "1"의 둘중의 하나의 정보값이 들어 갈 수 있음. 한 비트당 들어갈 경우의 수는 "2"
한 옥텟이 8비트로 구성되어 있으므로 2*2*2*2*2*2*2*2 = 256 이해 가시죵 ? ^-^ )
IP는 네트워크 아이디와 호스트 아이디로 나뉘어 집니다. 우선 IP가 두개의 아이디로 나뉘어
진다는 것만 알구~ IP클래스를 설명 할때에 자세히 보겠습니다 ^-^
그러면 , IP클래스에 대해서 짚고 넘어 갈께요..

▶IP클래스
IP클래스는 A클래스 , B클래스, C클래스, D클래스 이렇게 나뉘어 집니다 (E클래스 아이피도 있지만거의 쓰이지 않는 개념이기 때문에 언급 안할께염^^)

클래스를 구별 하기 위해서는 아이피 중 제일 처음의 옥텟값을 보고 결정을 합니다.

A클래스 아이피일 경우에는 1~126.***.***.***
B클래스 아이피일 경우에는 127~192.***.***.***
C클래스 아이피일 경우에는 193~223.***.***.***
D클래스 아이피일 경우에는 240~247.***.***.***

아시겠죠 ? 예를 들어서 211.192.168.26 (임의의 IP임니당) 의 아이피일 경우에는 어떤 클래스에
속하는 아이피이겠어요 ? 그래요~ C클래스 IP가 맞아요^^ 앞의 첫 옥테 값이 211이니.. 193~223에 포함이 되니 당근 C클래스 아이피 이겠죠~ ? ^-^

그러면 위에서 잠깐 언급 드린 네트웍 아이디와 호스트 아이디란 무엇인가.. ^^
IPv4를 개발한 개발자들이 그냥 이유없이 나누지는 않았겠죠~ ? ^^
바로 다음 챕터에서 다룰 IP라우팅에서도 이 개념이 중요하니..꼭 이해 하시기 바랍니다

예를 들어서 설명 해볼께요.. 어느 회사의 이더넷망이 호스트가 컴퓨터가 20대로 이루어져 있다고 합시다. 그러면 그 이더넷망에서의 각 호스트는 인터넷 서비스를 받기 위해 그리고 호스트간의 연결을 위해 IP를 ISP(Internet Service Provider)로 부터 사왔습니다.

211.192.168.1
211.192.168.2
211.192.168.3
......
211.192.168.21

이렇게 얻어 왔다고 합시다.( 사실 이렇게 정확하게 호스트 갯수에 맞게 아이피를 따올수 없습니다. 요즘은 IP주소의 고갈화에 따라 서브넷팅이라는 방법으로 아이피를 자르기 때문입니다. 서브넷팅에 대해서는 후에 다루겠습니다 ^-^)

주의해서 보시면 아시겠지만~ 저 아이피들의 공통점이 있다는것을 눈치 빠르신 분들은 알아 채셨을 것입니다.
앞에 "211.192.168.***" 공통적으로 붙어 있죠 ?바로 이것이 네트웍 아이디라는 것입니다. 즉, 하나의 네트웍망에 묶여 있는 호스트 컴퓨터들은 공통적으로 이 네트웍 아이디를 사용하므로써 이 네트웍망에 묶여 있다는 것을 묵시적으로 알려주는 것입니다. 그러면 네트웍 아이디를 뺀 나머지가 호스트 아이디 이겠죠.. ?
즉, 호스트 아이디는 그 네트웍망에 물려 있는 호스트를 구별하기 위한 일종의 식별성이겠죠~^-^
첫번째 호스트에는 1, 두번째 호스트에는 2, ..... 스무번째 호스트에는 20 이런식으루요.. 이젠.. 잠시 정리 해볼까요.. ? 네트웍 아이디는 전 세계의 네트웍망을 구별하기 위한 아이디이고 호스트 아이디는 그 안의 호스트들을 구별하기 위한 아이디... ^-^ 이해가 가시죵~

그리고 각각의 클래스는 네트웍 아이디와 호스트 아이디가 차지 하는 비트의 수가 다릅니다.

A클래스 아이피는 첫번째 옥텟이 네트웍 아이디가 되고 나머지 3개의 옥텟은 호스트 아이디가 됩니다.
B클래스 아이피는 두번째 옥텟값까지 네트웍 아이디가 되고 나머지 2개의 옥텟은 호스트 아이디가 됩니다.
C클래스 아이피는 세번째 옥텟값까지 네트웍 아이디가 되고 나머지 2개의 옥텟은 호스트 아이디가 됩니다.

오호~~ 그러면.. A클래스가 좋은게 아닌가요~ ? 하시는 분들이 계실 것입니다. 왜냐하면.. A클래스 네트웍아이디 하나를 따오면 예를 들어 (10.0.0.0 ) 나머지 세개의 옥텟 256*256*256 개의 호스트를 구성할 수 있는네트웍 망이 될것이므로.. (왜 하나의 옥텟의 경우의 수가 256가지인지는 위에 언급 드렸죠~^^) 그래서 이 A클래스 아이피는 대기업이나 규모가 큰 대학 등에서.. 사용이 됩니다. (사실 초창기때에 거의 동이난 상태^^)

그럼 나머지 B클래스 아이피나 C클래스 아이피두 ... 아하~^^

B클래스 아이피는 네트웍 아이디를 2개의 옥텟으로 쓰면 나머지 256*256개의 호스트를 구성할 수 있는 네트웍망
을 구성할수가 있겠죠~ ? 하지만 이 B클래스 아이피 역시 큰 수의 호스트를 구성할수가 있기 때문에.. 이역시..대기업에서 주로 쓰는 아이피 입니다.

C클래스 아이피는 3개의 네트웍 아이디를 쓰면 나머지 하나의 옥텟. 256가지의 호스를 구성할 수가 있겠죠.. ?
이 아이피는 중 소기업에서 주로 사용되는 아이피 입니다. 집에서 쓰시는 것들이 이에 해당 하는 것입니다..

하지만.. 위에서 잠깐 언급드렸다 시피.. A클래스나 B클래스나 C클래스 네트웍 아이디를 따왔다 하더라도...서브넷팅이라는 것을 이용하여 호스트 아이디의 숫자를 줄입니다. 그래서 게임방에서 C클래스 아이피를 따왔다 하더라도 게임방의 호스트의 숫자의 범위에 맞도록 서브넷팅을 하여 호스트 아이디를 부여해주는 것입니다.
이제는 누가 회원님께 "IP가 뭐에요?" 하고 물어봐도.. 이야기 해줄수 있겠죠~ ?^-^

♥ 2. IP라우팅 ♥

1.1 개념
▶실제로 호스트 IP라우팅은 아주 간단한 개념입니다. 만일 목적지가 호스트에 연결되어 있던지,
공유된 네트워크 상이면 IP데이타 그램은 직접 목적지 호스트로 전송이 됩니다. 그렇지 않은 경우
에는 호스트의 메모리에 적재 되어있는 라우팅 테이블에 있는 정보를 검색하게 됩니다. 우선
IP주소가 자신의 것인지 ( Loopback ) 인지 아니면 IP브로드 캐스트의 주소인지를 확인하게
됩니다. 그렇지 않은 경우에는 디폴트 라우터로 패킷을 전송하게 되는 것입니다.

1.2 세부역활
▶IP라우팅은 hop-by-hop에 기초하여 수행을 합니다 ( hop 이란, 라우터와 라우터의 사이를 hop
이라 합니다 ) 그 이유는 IP라우팅 테이블만을 가지고는 목적지 호스트로 보내게 되는 완전한
경로를 알지 못하기 때문입니다. 단지 IP라우팅이 제공하는 것은 데이터그램을 전송할 다음 홉
라우터에 대한 IP주소 뿐입니다.( 라우팅 테이블의 일부 역활 ) 개념은 다음-홉 라우터는 발신
호스트 보다 조금더 목적지 호스트에 가깝게 위치 하고, 홉 라우터는 목적지 호스트와 직접
연결이 되어 있다고 간주하고 다음-홉 라우터로 패킷을 전송하는 것입니다.

1.3 행동
1.3.1 ▶라우팅 테이블을 검색해서 목적지 IP주소와 일치하는 엔트리가 있는지를 확인을 한다.
그래서 찾게 된다면 그 네트웍 ID의 주소의 정보를 가지고 있는 라우터나 그 네트웍 ID인
라우터로 패킷을 전송하게 되는 것입니다.

1.3.2 ▶라우팅 테이블을 검색해서 목적지 네트워크ID와 일치하는 엔트리를 찾습니다.만일찾게
된다면 지정한 다음-홉 라우터나 혹은 직접 연결되어 있는 이터페이스로 패킷을 전송
하게 되는 것입니다. 이렇게 네트워크와 일치하는 여부를 알기 위해서는 서브넷 마스크
(다음 챕터에서 다룹니당^^) 를 이용하여 검사를 하게 되는 것입니다.

1.3.3 ▶1단계와 2단계 두 과정 모두 해당 하지 않는 경우에는 데이터그램을 전송할 수가 없게
됩니다. 호스트에서 전송 할 수 없는 데이터그램이 생길 경우에는 "hots unreachable"
혹은 "network unreachable" 에러가 되돌아 오게 됩니다.


( 참고로 라우팅 테이블을 보기 위해서는 netstat -r ) ^-^

♥ 3. 서브넷 마스크 ♥
여러분들 중에 네트워크의 TCP/IP설정을 하실때에 보통, "255.255.255.0 " 이런것을 보셨지요 ?^^
서브넷 마스크는 위에서 언급한 IP라우팅에서 처럼 내가 어떤 호스트에게 파일을 전송하거나 할때에 이 IP가 내 네트웍에 존재하는 아이피 인지 아닌지를 구별을 한다음 행동을 취하는데......
그럼..어떻게 그것을 알 수가 있을까... ? 그 해답이 바로 서브넷 마스크가 있기에 가능한 것입니다. 즉, 서브넷 마스크로 아이피를 bit and 연산을 통하여 네트웍 아이디만 쏙~ 걸러내어.. 네트웍 아이디를 보고 아~~ 이 네트웍 아이디는 우리 네트웍 아이디 이므로 우리 이더넷망에 있겠구나~~ 아니면은.. 다른 네트웍에 존재하는 호스트 이구나~ 라는 것을 알 수가 있겠죠.. ?

예를 들어서 설명을 드릴께요...

제 PC의 아이피가 예를 들어 211.192.168.26 이라고 한다면 TCP/IP설정에 서브넷 마스크가
255.255.255.0 일 것입니다. C클래스 아이피이니 당연히 상위 3개의 옥텟값만을 걸러내가 위함입니다. 뒤에 호스트 아이디는 네트웍을 구별하기 위해서는 필요가 없다는 거죠~

그러면 어떻게 걸러질까요..

우선 211.192.168.26을 2진수로 바꿔보죠..

11010011.11000000.10101000.00011010 (헥헥.. 빨간펜 들구 갱지 하나 꺼내서... 긁적 긁적 ^^)

이렇게 나오겠죠~ ? 그러면 서브넷 마스크는 당연히 ....

11111111.11111111.11111111.00000000 이렇게 나오겠죠~

그러면 둘이 bit and 연산을 해봅시다...

11010011.11000000.10101000.00011010
11111111.11111111.11111111.00000000
----------------------------------
11010011.11000000.10101000.00000000

어때요.. 네트웍 아이디만 쏙 걸러 나오죠.. ? 저 이진수를 이제 10진수로 바꾸면 211.192.168.0 즉 네트웍 아이디만 필터링 되니... 아이피가 내 네트웍망에 있는지 없는지 알 수가 있겠죠.. ? ^-^

▶참고 ( bit and 연산 )------------------

1 and 1 이면 결과는 1 (참)
1 and 0 이면 결과는 0 (거짓)
0 and 1 이면 결과는 0 (거짓)
0 and 0 이면 결과는 0 (거짓)
-----------------------------------

♥ 4. IPv6의 소개 ♥
현재 아이피는 거의 고갈 상태에 있습니다. IPv4를 개발할때에는 이렇게 부족할 것이라고는 생각지 못했다고
개발자들이 그랬답니다. 하지만.. 이제는 홈네트워킹이다.. 인터넷 이 전세계를 강타 하면서 IP부족현상을
겪을 것이라고 예상한 개발자들은 IPv6개발을 하고 있습니다. 버젼 6에서는 현재 버젼 4에서 쓰이는 32비트
길이를 말끔하게 벗어나 128비트로 확대 했습니다.. 그러면.. 이 경우의 수를 잠시 헤아려 볼까요.. ?
음.. 간단하게 생각하죠... 2의 128승입니다... ^-^;;; 혹자는 길바닥에 떨어져 있는 돌멩이에다가 아이피를 부여
해도 충분하다는 군요.. 다른 혹자는.. 1평방 미터에 10만개의 아이피를 부여해도 충분~^^;;
버젼 6이 나온 이유의 가장 큰 이유는 고갈 문제이기도 하지만... 다른 문제들도 있습니다. 내용이 많이 방대
하므로.. TCP/IP강좌가 끝나고 여력이 된다면.. 자세하게 한 번 다뤄보도록 하겠습니다..

아자 아자~~
이제 IP가 어떤 놈이구나.. --* 감이 팍 팍 오세염~ ? ^^ 두번의 강좌를 걸쳐서 IP프로토콜에 대해서 살펴
보았습니다.. 흐름이.. 보이셨다면... 저는 정말.. 감격의 눈물을.. ㅠ.ㅠ
언제나.. 궁금하신 사항이 있으시면.. 질문 주시구요.. 내용중에 혹시라도.. 지적사항이 있으시다면...
주저 마시궁.. 글 남겨 주세염~^-^

그럼..늘 미소 잃지 마시구요~~ ^^


211.243.110.246 김재완: 수고하셨습니다. 공부 열심히 하고 있습니다. 많이 좀 가르쳐주세용^^; [08/25-10:08]
211.198.26.246 김두수: 재완님 감사합니다 ^-^ [08/26-23:22]

2001-08-21 22:59:34
3457 번 읽음
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그