2 건의
Network 검색결과
  1. 2013.01.28 rootnix
  2. 2011.04.08 rootnix
2013.01.28 12:53

IPv4 Address 구조

 

IPv4 는 32bit 즉 2^32 = 총 4,294,967,296 개의 IP Address

 

IP는 원래는 2진수 입니다.

00000000.00000000.00000000.00000000 : 0.0.0.0

11111111.11111111.11111111.11111111 : 255.255.255.255

원래는 2진수의 IP 이지만 보기 편하도록 10진수로 변환한 것입니다.

 

보시면

2^7     2^6   2^5   2^4   2^3   2^2   2^1   2^0       [8진수]

0         0      0      0       0       0      0      0

128    64     32     16    8       4      2      1          [다 더하면 255]

128 + 64 = 192 + 32 = 224 + 16 = 240 + 8 = 248 + 4 = 252 + 2 = 254 + 1 = 255

 

여기서 2진수인 IP를 10진수를 변환하는 방법과

10진수인 IP를 2진수로 변환하는 방법을 배워보도록하겠습니다.

 

10진수인 IP를 먼저 2진수로 변환해보겠습니다.

211 =>

즉 위의 표를 참고하시면

211 > 128 -> 10000000 => 211 - 128 = 83

83 > 64 ->    11000000 => 83 - 64 = 19

19 < 32 ->    11000000

19 > 16 ->    11010000 => 19 - 16 => 3

3 < 8 ->       11010000

3 < 4 ->       11010000

3 > 2 ->       11010010 => 3 - 2 = 1

1 = 1 ->       11010011 => 1-1 = 0

으로 이렇게 계산이 가능합니다.

 

2진수인 IP를 10진수로 변환하면?

10101011 =>

10101011 -> 128

10101011 -> X

10101011 -> 32

10101011 -> X

10101011 -> 8

10101011 -> X

10101011 -> 2

10101011 -> 1

 

128+32+8+2+1 = 171

 

이렇게 되는겁니다.

 

----------------------------------------------------------

그럼 본격적으로

IPv4 Address 구조 에 대해 설명하겠습니다.

IPv4 의 발전과정은 이렇습니다.

 

Classfull -> Subneting -> VLSM -> CIDR -> Classless [현재]

Classfull Network (Class 기반)

이것이 처음에 만들어진 IPv4 의 구조입니다.

Classfull Network 가 어떤구조일까요.

Class 기반이라 하였으므로 말그대로.

A Class

B Class

C Class

D Class

E Class

가 있습니다.

A~C Class 는 보통 PC 클라이언트용

D는 멀티캐스트용

E Class는 실험용

으로 쓰였습니다.

 

즉 한개의 네크워크(?)의

반은 A Class 가

그 반의 반은 B Class가

또 그 반의 반은 C Class가 이런식으로 나눠서 지급 했던것이 초기의 만들어진

Classfull Network 입니다.

 

 

 

 

 

A Class = 31bit 2^31 = 총 2,147,483,648개의 Address

|Net ID || Host ID    |
0xxxxxxx.00000000.00000000.00000000 : 0.x.x.x~127.x.x.x
11111111.00000000.00000000.00000000 : 255.0.0.0
//IPAddress 가 집 주소 라면 Subnet Mask 는 우편번호 (지역을 검사)

첫번째 bit 를 A는 0으로 나머진 1로 고정 -> A가 31bit
네트워크 범위 : 7bit 2^7승 = 00000000 ~ 01111111 : 0~127 (128Network)
호스트 범위 : 24bit 2^4 = 0.0.0~255.255.2555 (16,777,216 Host)

예약주소
0.0.0.0(Default Gateway) : 모든 IP 주소 공간 표현
127.0.0.1(LocalHost) : 127.0.0.0~127.255.255.255는 127.0.0.1로 표현

사설주소
10.0.0.0~10.255.255.255 : Private IP Address로 예약

B Class 30bit 2^30 = 총 1,073,741,824 개의 IPAddress
| NetID   | | HostID    |
10xxxxxx.xxxxxxxx.00000000.00000000 : 128.0.x.x ~ 191.255.x.x
11111111.11111111.00000000.00000000 : 255.255.0.0
네크워크 범위 : 14bit 2^14 = 10000000 ~ 10111111 : 128~191(16,384 Network)
호스트 범위 : 16bit 2^16 = 0.0~255.255(65,536 Host)

예약 주소
169.254.x.x : DHCP Server로 부터 IP를 할당받지 못한경우 사용되는 IPAddress

사설 주소
127.16.x.x~127.31.x.x : 16Network 를 Private IP Address로 예약

C Class
| Network   | |Host ID|
xxxxxxxx.xxxxxxxx.xxxxxxxx.00000000 : 192.0.0.x~223.255.255.x
11111111.11111111.11111111.00000000 : 255.255.255.0

네크워크 범위 : 21bit 2^21 = 11000000~11011111 : 192~223 (2,097,152 Network)
호스트 범위 : 8bit 2^8 = 0~255 (256Host)

사설 주소
192.168.0.x ~ 192.168.255.x : 256Network 를 Private IP Address로 예약

=> 클라이언트용
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Unicast IP Address

D Class - 멀티캐스트용
1110xxxx.xxxxxxxx.xxxxxxxx.00000000 : 224~239

네크워크 범위 : 11100000 ~ 11101111 : 224~239

Multicast IP Address 로 예약
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Multicast IP Address

E Class - 실험용
1111xxxx.xxxxxxxx.xxxxxxxx.00000000 : 240~255
네크워크 범위 : 11110000 ~ 11111111 : 240~255

실험용 IP Address 로 예약

255.255.255.255 : Broadcast IP Address
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Broadcast IP Address

A Class 128Network 16777216Host
0~127 255.0.0.0

B Class 16384Network 65536Host
128.0~191.255 255.255.0.0

C Class 2097152Network 256Host
192.0.0~223.255.255 255.255.255.0


Subneting
Class 기반의 크게 사용하던 네크워크를 작게 여러개의 네크워크로 나누는 방법

C Class
11111111.11111111.111111111.00000000 : 255.255.255.0 (1Network 256Host)
11111111.11111111.111111111.10000000 : 255.255.255.128 (2Network 128Host)
11111111.11111111.111111111.11000000 : 255.255.255.192 (4Network 64Host)
11111111.11111111.111111111.11100000 : 255.255.255.224 (8Network 32Host)
11111111.11111111.111111111.11110000 : 255.255.255.240 (16Network 16Host)
11111111.11111111.111111111.11111000 : 255.255.255.248 (32Network 8Host)
11111111.11111111.111111111.11111100 : 255.255.255.252 (64Network 4Host)
11111111.11111111.111111111.11111110 : 255.255.255.254 (128Network 2Host)
11111111.11111111.111111111.11111111 : 255.255.255.255 (256Network 1Host)

Network ID(왼쪽 -> 오른쪽)
192.168.1.0 255.255.255.0 Network를 Subnet(Network) 5개를 만족하는 Subneting을 하시오
192.168.1.0 => 11000000.10101000.00000001.000000000
255.255.255.0 => 11111111.111111111.11111111.00000000

|Host ID|
00000000~11111111 : 0~255 1Network

 N   H
000 00000 ~ 000 11111 0~31
001 00000 ~ 001 11111 32~63
010 00000 ~ 010 11111 64~95
011 00000 ~ 011 11111 96~127
100 00000 ~ 100 11111 128~159
101 00000 ~ 101 11111 160~191
110 00000 ~ 110 11111 192~223
111 00000 ~ 111 11111 224~255

Subneting 후
Subnet 개수 : 3bit 2^3 = 8Network
Subnet 당 Host 수 : 5bit 2^5 = 32Host
사용가능한 Host수 :  Host ID 전체가 0인 Address 를 Subnet Address 라 하여 그 네크워크에 모든 주소공간을 표현하고 있는 Address 사용할 수가 없고 Host ID 전체가 1인 Address를 Bradcast Address 라 하여 그 네크워크 전체가 사용중임을 표현하고있는 Address 이기 때문에 사용할수 없다. 그래서 할당받은 IP 범위에서 Subnet Address와 Bradcast Address를 제외 시켜야만 사용할수 있는 IP범위가 나온다.

32-2(Subnet + Broadcast Address) = 30Host
Subnetmask : 255.255.255.0 -> 255.255.255.224

 

Host ID (오른쪽 -> 왼쪽)
192.168.1.0 255.255.255.0 Network를 Host(IP) 50개를 만족하는 Subneting 을 하시오

|Host ID|
00000000~11111111 : 0~255 1Network
 N   H
00 00000 ~ 00 11111111 0~63
01 00000 ~ 01 11111111 64~127
10 00000 ~ 10 11111111 128~191
11 00000 ~ 11 11111111 192~255

Subnet 개수 : 2bit 2^2 = 4Network
Subnet당 Host수 : 6bit 2^6 = 64Host
사용가능한 Host수 : 64-2 = 62Host
Subnetmask : 255.255.255.192

 

우와..

무려 4~5년전에 중학생시절에 배웠던 내용이네요...

중학생때 운영했던 블로그에 있더라구요...ㅋㅋ

추억돋아서 가져왔어요 ㅋㅋ 

'Network' 카테고리의 다른 글

IPv4 Address  (0) 2013.01.28
Transport Layer : TCP & UDP  (0) 2011.04.08

TCP : 안전한 포장

장점 : 데이터를 안전하게 전달할수 있다.

단점 : 딜레이가 생길수 있다.

 

portNumber 확인 -> 연결(3way) -> 협상(window) -> 전달 -> Sent OK(확인) -> 수신 -> Recive OK -> 확인 -> 종료

연결성 O (3way)

syn(100) ->

<- Ack(101),Syn(200)

Ack(210)->

신뢰성 O (Numbering)

응답성 O (질의응답)

Sent OK ->

<- Recive OK

 

즉 여길 보면,

TCP는 연결성과 신뢰성이 있다.

그리고 응답성이 있어서

데이터를 보낼때 연결을 하고 협상을 하고 전달을 할때 Sent 즉 보냈다는 것을 확인을 한다.

그리고 상대방이 수신을 하면 Recive OK 즉 받았다고 응답을 보내 확인을 한다.

반면 속도가 UDP에 비해 늦다. 

 

UDP : 빠른포장

장점 : 딜레이 없이 전달할 수 있다.

단점 : 데이터에 대한 손실이 생길수 있다.

 PortNumber 확인 -> 전달 -> 종료

연결성 X        // 잘못 전달,경로이탈 의 경우가 생길수있다.

신뢰성 X        // 확인을 안한다, 즉 포트넘버만 확인하고 보내버린다. 

응답성 X

 

이래서 UDP 는 연결성이나 신뢰성이 없다.

즉 UDP는 상대방이 전송한 데이터를 받던 안받던 어디로 빠지던 날라가던 확인을 하지않는다.
하지만 속도가 개빠름 


 

Port Number

FTP : 21

Telnet : 23

SMTP : 25

DNS : 53

DHCP : 67,68

TFTP : 69

HTTP : 80

HTTPs : 443

POP3 : 110

'Network' 카테고리의 다른 글

IPv4 Address  (0) 2013.01.28
Transport Layer : TCP & UDP  (0) 2011.04.08

티스토리 툴바