시스템 인티그레이션

시스템 인티그레이션

[페북] 모우진님 투고 - 네트워크 기초

Author
장호준
Date
2014-09-26 02:48
Views
143

음. 부분부분 단편적인 내용이 얽혀서 올라오다보니 개념 잡기엔 애매해 보입니다. 쓰이는 개념 위주로 정리해 보겠습니다.
Network을 쓴다고 모두 TCP/IP가 뭔지 그리고 TCP/IP를 알 필요는 없어보입니다. 제게 Network Audio 스펙 좀 주시면 읽어보고 그 후에 얘기하구요.

Network 기본은 머니머니해도 device들의 연결과 연결되었을 때 소통하는 방법을 아는 것이겠습니다. 우리가 쓰는 Internet은 세계적으로 전부 연결되어 있다는 것은 누구나 다 아실 것입니다. 다만, 우리가 device를 연결하는 음향 device Network는 인터넷에 연결되어 있지 않아도 크게 무방한 상태입니다. device들 간의 소통만 필요한 상황이기 때문입니다. 그래서 인터넷은 연결해도 그만, 안해도 그만입니다. 인터넷에 연결이 안되어 있다면, 방송실 자막용 컴퓨터에서 인터넷을 통해 가사를 검색할 수 없다거나 음악이 필요할 때, Bugs에서 검색해서 바로 틀어줄 수 없는 것일 뿐, Network에 있는 다른 device들과 통신할 수 있습니다.
여기서 공유기가 큰 공헌을 해주고 있습니다. 각 device들은 서로 통신하기 위해 각자 주소를 가져야 하는데, 이것이 IP(Internet Protocol)입니다. IP를 부여받은 device는 IP를 부여받은 다른 device들과 통신할 수 있습니다. 그런데, IP는 class라는 것이 존재하며, 흔히 인터넷에서 보기 쉬운 IPv4, IPv6라는 용어도 접할 수 있습니다. 주로 우리가 접하는 XXX.XXX.XXX.XXX 형태의 IP는 IPv4(IP version4로 읽으시면 됩니다.)이고, 이 주소의 고갈에 대비해 IPv6(IP version6)가 출현하였습니다만, 공유기의 활성화로 IPv6는 출현한 지 오래되었으나, 사람들이 잘 모르는 곳에서만 쓰이고 있습니다.

원래 IP는 배정기관에서 공식적으로 배정해주는 공인 주소이며, IP주소는 세계 모든 사람들이 써야하는 공공재라 국가별로 할당이 되어 있습니다.(우리나라는 여기서도 이미 한 번 우메한 짓을 했었습니다만, 아시는 분들이 댓글에 올려주세요~)

공유기의 원래 용도는 IP가 정적 공인 주소 매핑에 의해 구분되는 형태고, 개인이 다량의 공인주소를 가질 수 없는 구조적 환경에서 탄생한 장비입니다. 보통 가정에는 인터넷 통신회사에서 제공해 주는 동적 공인주소를 가지는 IP를 한 개만 주기 때문에, 집안에 다량의 device를 인터넷에 붙일 수 없었던 단점을 뛰어 넘고자, 공인주소 하나를 가지고 내부 사설망을 만들어 내부 사설망의 인터넷 사용을 공인주소를 사용하여 작동할 수 있도록 해주는 기능에서 탄생한 장비입니다. 덕분에 많은 장비들이 공인 IP를 사용하기보다 공유기 밑에 사설 Network으로 들어가므로 인해 개인장비는 사설 IP를 사용하고 중요 서버들만 IP를 사용해도 되는 상황이 나타나게 되었습니다.

여러분이 접하시는 192.168.XXX.XXX은 아까 IP가 class가 있다고 했는데요. C class에 속한 사설망(개인이 임의의 용도로 사용하는 닫힌 망) IP 입니다. 10.XXX.XXX.XX은 A class에 속한 사설망 대역입니다. 사설망이랑 이 IP를 통해 인터넷에서는 통신이 불가능한 그 안에서만 내부적으로 device들끼리 통신하기 위한, 또는 test를 위해 할당해 놨던 대역입니다만, 공유기의 등장으로 IP 사용에 새 국면이 되었을 뿐만 아니라, 제 2의 인터넷 대중하에 기여했다고 생각됩니다. OPMD 개념도 생기구요.

여기서 대역이라 부르는 것은, 앞에 저 주소들이 붙는 주소들 전부라는 것을 아실 겁니다. 댓글 중 IP에 Network을 지칭하는 부분과 device를 지칭하는 부분이 섞여있다는 내용이 나왔는데요. 맞습니다. 우리가 보는 최대 255라는 4개의 숫자 조합 안에는 Network이름과 device이름이 같이 붙어 있습니다. 우리는 그냥 4자리 숫자 자체가 device 이름이라고 알고 있지만, 실제로는 그렇지 않고, Network과 device 이름이 다 같이 들어 있습니다.

실제로 우리가 보는 255.255.255.255 IP는 실제로는 4byte, 즉 0부터 4294967295까지를 4294967296개의 숫자를 표시할 수 있는 통으로 된 하나의 숫자입니다. 그러나 사람이 인지하기 쉽도록 4자리로 구분한 것인데, 왜 255이냐면, 4294967295을 16진수로 표현하면 0xffffffff 입니다. 다시 두 개의 ff마다 점을 찍으면, ff.ff.ff.ff가 되고 이를 10진수로 표현하면 255.255.255.255가 되는 것입니다. 결국 device내에서는 하나의 숫자로 IP가 통용됩니다.

human readable한 숫자로 표시를 하면서, 이를 Network의 주소를 활용하기 위한 약속을 하게 되는데, 옛날 IP가 출현하던 당시에 개념은 특정 지역과 지역 내부에 있는 device라는 두 개의 개념을 가지고 있었으며, 이를 IP 주소로 나타내기 위해 다음과 같이 약속했습니다. 
1. 4자리 숫자(Octet이라 부릅니다)에서 제일 첫번째 숫자를 5개의 권역으로 나누어 A, B, C, D, E class로 구분하자.
- A class: 0.0.0.0 ~ 127.255.255.255
- B class: 128.0.0.0 ~ 191.255.255.255
- C class: 192.0.0.0 ~ 223.255.255.255
- D class: 224.0.0.0 ~ 239.255.255.255
- E class: 240.0.0.0 ~ 255.255.255.255
2. A, B, C class는 일반적인 용도로, D, E class 특수 목적으로 구분하자.
- D class: multicast용
- E class: future use
3. A class는 제일 앞 하나의 octet을 Network 지역 이름으로 하도록 하자. 나머지 3개의 octet을 조합하여 device를 나타내자.
- 1.0.0.0 => network address (A class network은 총 128개만 사용 가능, 1개 Network당 255*255*253 개의 device를 붙일 수 있음. x.255.255.255는 broadcasting 주소)
- 1.0.0.1 ~ 1.255.255.254 => device address
- 1.255.255.255 => 1.0.0.0의 모든 device에게 broadcast하는 broadcast address
4. B class는 제일 앞 두 개의 octet을 조합하여 Network 지역 이름으로 하도록 하자. 나머지 2개의 octet을 조합하여 device를 나타내자.
- 128.0.0.0, 128.1.0.0 => network address (B class network은 총 127*255개 사용 가능, 1개 Network당 255*253 개의 device를 붙일 수 있음. x.x.255.255는 broadcasting 주소)
- 128.0.0.1 ~ 191.255.255.254 => device address
- 128.0.255.255 => 128.0.0.0의 모든 device에게 broadcast하는 broadcast address
5. C class는 제일 앞 세 개의 octet을 조합하여 Network 지역 이름으로 하도록 하자. 나머지 1개의 octet으로 device를 나타내자.
(이제 대충 비슷하게 위 class를 보고 생각해 보시길 바랄께요~)
6. device를 나타내는 주소를 255로 전부 채우면, 해당 Network의 모든 device에게 전부 가도록 하게 하자.

그럼 다시 공유기로 돌아와서 우리는 보통 192.168.XXX.XXX의 주소를 사용합니다. IP는 주소를 수동으로 사람이 직접 부여하는 static 방식이 있고, dynamic으로 중앙에서 요청이 있을 때마다 부여하는 방식이 있습니다. 그리고 이 dynamic 방식이 바로 DHCP(Dynamic Host Configuration Protocol)라는 것이며, 공유기마다 DHCP 서버가 들어가 있어서, 컴퓨터나 device가 Network에 붙게 되면, device는 주소 지정 방식을 검토하고 dynamic일 경우, Network에 Broadcast로 DHCP request를 뿌리게 됩니다. 그럼 이 DHCP request를 들은 공유기 내부의 DHCP 서버가 자동으로 응답하고, 192.168.XXX.XXX IP를 부여하게 됩니다. 여기서 공유기 DHCP 셋팅을 보시면 192.168.XXX.0으로 IP address를 부여하겠는가 라고 물어보는 부분이 있습니다. 가령 예를 들어 192.168.1.0으로 설정하게 되면 Network으로 사용하면서, IP는 192.168.1.1부터 부여합니다.

이때 device는 DHCP request에 자신의 MAC address라는 것을 붙여서 보내게 됩니다. 여러분이 사용하시는 모든 Network device는 Lan 카드에 이미 HW적으로 부여된 MAC address가 있습니다. 이 MAC address는 세계적으로 유일할 수 있는 방식으로 부여되 있습니다. (그래서 불법댓글 찾아낼 때, IP와 MAC address를 찾으려고 한답니다. ㅎㅎ)

굳이 대부분의 공유기가 192.168.XXX.XXX인 C class의 주소를 주는 이유는 보통의 공유기를 쓰는 곳은 device를 253개 초과로 붙지 않을 것이라는 가정이 있습니다. 그리고 보통 기업에서는 10.0.0.0인 A class의 사설망을 씁니다. 그럼 회사의 하나의 Network에 255x255x254개=16,516,350개의 device를 붙일 수 있네요. 천육백만을 고용한 회사는 아직 없어보이니 충분해 보입니다.

자 이제 공유기가 IP를 부여하는 방식과 우리가 어떤 주소를 주로 사용하는지, 우리 Network에 얼마나 많은 장비를 붙일 수 있는지 혹은 우리가 가진 device들을 통해 어떤 주소 대역을 써야 하는 지를 알 수가 있게 됐습니다.

실은 수업시간엔 아주 잠깐 언급하고 넘어갈 수 있는 부분으로 작은 내용인데도, Facebook이라는 특성상 글이 길어보입니다. 이런면에서 페북의 단점이 보입니다. 이정도로 간단하게 쓰고 댓글보고 또 스펙도 읽어보고 추가로 써야 겠네요. 이 글도 회사에서 쉴때마다 쓰느라 3일저도 쓴거 같아 보입니다. ㅜㅜ

UnlikeUnlike ·  · 
%d bloggers like this: