멀티 홈드 장치.




핸드폰과 노트북이 아니여도, 한 장비가 두개 이상의 IP주소를 갖을 수 있는데, 이것을 멀티 홈드 디바이스라고 합니다. 이것은 마치 자취생들이 집 주소를 2개 갖고 있는거랑 마찬가지 입니다. 자취-사설IP / 진짜집-공인IP  - 대표적인것이 라우터 , 핸드폰으로 노트북 테더링 하는것도 라우터 역활을 하는거임. 근데 핸드폰은 무선랜의 IP가 있고 3G,LTE의 IP를 갖고 있습니다. 노트북도 무선LAN주소와 유선LAN주소를 두개 잡을 수 있는데 이 또한 멀티 홈드 장치죠.

멀티 홈드 장치 정리 : IP주소를 두 개 이상 가지는 장치 / 대표적인 예로는 라우터가 있음 / 호스트도 두 개 이상의 IP주소를 가질 수 있음(ex.노트북)




클래스 A와 클래스 B는 지금도 엄청 많이 낭비되고 있습니다.

앞 포스팅에서 왜 낭비되는지 설명 했었죠? 그래도~ 못봤을 분들을 위해서 간략히 설명하고 넘어가죠.

만약 클래스 B를 예로 들면, 한국 어느 기업,회사같은 곳에서 클래스B주소를 받았다고 가정하면..

아니 우리학교(단국대학교)를 가정해서, 우리 학교가 클래스B블럭을 받았습니다. 

이 IP주소(여기서 말하는 IP주소는 hostid )를 모두 사용하기 위해선 모든 학생들이 핸드폰과 노트북을 들고와서, 모두 공인IP로 연결 해야지.... 그래도 남겠다


이 정도이기 때문에 많이 남을 것 입니다. 단국대학교가 죽전 천안의 학부생과 교수 직원들 다 합치면 3만명정도 된다고 하죠. 그래도 남습니다.(약 5천개가 남겠네요)




그렇기 때문에 클래스 A,B는 남습니다. 하지만 클래스 C같은 부분은 현저하게 부족합니다. 블록의 갯수는 클래스 A,B보다 많겠지만 hostid는 클래스 A,B에게 쨉도 안될 만큼 적지요. 


그래서 나는 처음 공부할 때 이런 생각을 했죠. 

"클래스를 줬기 때문에 IP가 낭비되고 있는거 아니야?? 왜 이런짓꺼리를 함???"

-> 역시 사람은 다 똑같은 생각을 하나보다.. 이 때문에 클래스가 없는 주소도 있습니다ㅎㅎㅎㅎ소름~~




클래스A에서 사용하지 말아야 했던 블럭은 0번,10번,127번 이 세개 입니다. 



클래스 A에서 0번이면 이 주소의 시작주소는 0,0,0,0 이죠?! 이 주소는 현재 네트웤에 있는 호스트를 나타냅니다. 이거때문에 A클래스의 블럭하나를 날려 먹은거죠.

블럭 하나를 날려먹은 0.0.0.0을 어디에 쓸까요?! 

이건 어떤 디바이스를 처음 부팅 시(Bootstrap 시간에), IP주소가 없습니다. 디바이스가 부팅 된 후, 전파를 잡고 그 전파에 유심정보를 흘려보내서 통신사로 하여금 IP를 받아도록 합니다. 그렇다면 IP를 받아오기 전까지 IP가 없죠!? 어?? 인터넷은 IP가 있어야 통신할 수 있는데?? 처음 폰 켰을때 IP가 어디에 있어!?!?!!?!?! ( 그래서 스마트폰도 처음 켜면 LTE찾는데 시간걸림 )

ㅋㅋㅋ무슨 말인지 이해 되나요?

이 때 인터넷주소로 사용하는 주소입니다. 즉 IP가 없을때 사용하는 IP죠 0.0.0.0은 이 때 사용합니다.

아! 0.0.0.0은 항상 클래스 A주소입니다.


그럼 모두 0 인 것이 있으면 모두 1인것도 있겠죠?!

모두 1 인것은, E클래스에 속합니다. E클래스에서는 단 하나의 주소만 알면 되는데, 모두 1인 것은 목적지로만 사용될 수 있는 브로드캐스트 주소입니다.

인터넷에서 나와 연결되어 있는 모든 장비들에게 전달해!! 이럴 때 사용합니다.

근데 재미있는게 브로드 캐스트는 2개가 있습니다.

직접,제한된 이렇게 두개가 있죠.


윗 그림에서 Specific은 특정하게 정해진 숫자가 있다는 뜻 입니다-직접 브로드 캐스트 주소는 *.255.255.255이렇게 되죠.
네트워크 주소는 앞이 살아있고 뒷 부분이 0이고.( *.*.*.0 )

직접 브로드캐스트는 앞이 살아있고 뒷 부분이 255이고.( *.*.*.255 )


현재 네트워크에 있는 특정 호스트는

만약 제가 강의를 듣고 있는 한 강의실에 경고 출신이 3명이 있다고 가정하면,(우리나라에 제가 나온 시흥능곡고를 능곡고 라고 부르는 것 처럼, 경고가 3개가 있습니다.)

이 경고는 표준말로 경고입니다. 이러면 경기도 고등학교고, 사투리로 경고 라 하면 경북고, 경남에 있는 경남고도 경고라 합니다.

이걸 어떻게 알아보면, 억양으로 알아봅니다.

경기도의 경고는 억양이 일정하고, 경북은 억양이 앞쪽에 있습니다. 경남은 억양이 뒷 쪽에 있습니다.

현재 네트워크에 있는 특정 호스트도 이거와 같습니다. 한 네트워크 속에 있는 hostid(억양)만 보면 누구인지 알아볼 수 있습니다.



클래스 A에 있는 블럭 중 쓸 수 없는 주소가 3개가 있습니다.

0,10,127 이렇게 세 개 있다고 했죠.

그 중 127에 대해서 공부해 봅시다.




여기에 127은 루프백 주소입니다. 루프백은 갔다가 돌아온다는 뜻 입니다 자기 자신에게 날라온다는 뜻이죠.

루프백은 인터넷에서 테스트(디버깅)시 많이 사용합니다.



이게 정말 좋은 주소죠!!

이게 없으면 국가프로젝트를 진행에 많은 어려움이 있을겁니다.

국가 프로젝트중 기밀 프로젝트는 한번 들어가면 못 나오는 곳에서 진행한다고 들었습니다.

여기에선 인터넷도 안통하고 오로지 자신이 갖고 있는 기술로만 개발을 해야 하는데, 이 때 네트워크를 사용해야되는 부분에서 사용할 수 있습니다.( 자기 자신에게 요청을 날린다던지 등등등)

여기에서 재미있는점은 컴퓨터 A 한 대 있습니다. A 컴퓨터 속에 클라이언트 프로세스가 있고, 서버 프로세스가 있습니다. 그리고 서로 다른 컴퓨터 B에 서버 프로세스가 있습니다.

클라이언트 프로세스(A)가 자신의 서버 프로세스(A)에 요청하고 응답 받는것과,

클라이언트 프로세스(A)가 다른 컴퓨터의 서버 프로세스(B)에 요청하고 응답 받는것과 같을까요?


답 : 같습니다.

왜냐하면, 프로세스들끼리 통신할 때 주소가 3개있죠. 물리 논리 서비스지점주소.

프로세스끼리 통신할 때는 서비스 지점 주소만 사용하죠.

A클라이언트는 서버와 통신할 때 어떤 컴퓨터의 어떤 프로세스를 사용할 지 2개의 주소(ip,port)가 필요합니다.

즉. A의 클라이언트가 자신의 서버와 통신할때 2개의 주소(루프백 주소,포트)를 사용하고, B의 서버와 통신할 때도 2개의 주소(B의 IP주소, 포트)를 사용합니다.

그렇기 때문에 로컬에서 테스트를 하더라도 코드를 따로 작성해야 하는 것이 아닌 하나의 코드로 로컬과 원격에서 테스트 가능하게 되는겁니다.


루프백 정리 : 컴퓨터에 설치된 소프트웨어 실험을 위해 사용 / 시스템 바깥으로 패킷이 전송되지 않음 / ping 시험, 내부 프로세스간의 통신 / 목적지 주소로만 사용됨 / 클래스 A의 주소.


네트워크 주소.

네트워크 주소에는 2가지가 있습니다.

직접 브로드캐스트 주소 , 제한된 브로드캐스트 주소




직접 브로드 캐스트 주소

직접 브로드캐스트는 클래스 A,B,C에서 HostID가 모두 1인 주소를 의미합니다.

이 말은 블럭의 값은 살아있고, 뒤의 모두 1인 주소를 의미합니다.

이 주소는 라우터가 특정 네트워크에 있는 컴퓨터에 방송할때 사용합니다.( 내가 지정하는 너! 그래 *번 네트워크! 그 네트워크에 있는 애들은 다 ~~ 들어!! )


제한된 브로드캐스트는 NetID/Hostid가 다 1인것을 제한된 브로드 캐스트라 합니다.

이건 호스트가 이 네트워크에 있는 내에 있는 모든 컴퓨터에게 " 너네 다 들어!!"라고 하는것과 같습니다.


이 두개가 어떻게 다를까요??

왜 두개가 달라야 할까요?

다른말로 하면, 라우터도 제한된 브로드캐스트 쓰면 안되고! 라우터 앞에는 네트워크 주소를 써야되고 호스트는 안 써도 될까요?

그 이.유.는!

1. 브로드캐스트의 위험성.

브로드 캐스트주소까지 다 받을 것이냐(테더링 쓸 때 주로 나오죠.)!

이건 강의실을 빗대어 표현하면 쉽습니다.

교수님이 강의실에서 강의하고 있는 내용을 뒷문 문짝에서 몰래 브로드캐스트를 한다고 생각하면, 교수님이 하신 말씀은 전 세계로 퍼져나갑니다.

그럼 옆 반에 있는 다른 교수님의 수업에도 영향이 있을 것이며, 옆반 교수님의 수업 내용도 저희 반에 브로드캐스트 되겠죠.

그럼 즉 데이터가 섞이게 됩니다.(충돌이 발생- 재전송함.) 특별한 경우에는 가능하긴 하지만, 대부분은 문제가 생가게 됩니다.


그래서, 라우터가 있고 어떤 네트워크가 있을 때, 그 네트워크에 있는 컴퓨터에게 전부 255.255.255.255로 어떤 메시지든 방송이든 빵~~ 쏘면 같은 네트워크에 있는 다른 컴퓨터들은 "아 , 내가 받아야 하는 주소구나 "라고 하면서 모두가 받을것 입니다. 

하.지.만 여기에서 라우터가 브로드 캐스트를 쏜다고 생각하면??????

심각하죠 ㅋㅋㅋㅋㅋ

라우터에 연결된 모든 네트워크에 방송됩니다. ( 라우터가 팔이 3개라고 하면, 3개의 네트워크에 방송이 나가는것이죠 그럼 여러 네트워크가 시끄러워지는것이죠.)


이럴때 라우터는 제한된 브로드캐스트 주소를 사용하는게 아니라 직접 브로드 캐스트를 이용하여 특정 네트워크를 지목해서 사용할 수 있게 합니다.




제한된 브로드캐스트 주소는 , 호스트가 특정 네트워크 내의 모든 호스트에게 송신합니다.

바로 이전 줄에서 설명했다싶이, 제한된 브로드캐스트는, 한 네트워크만 설정해서 방송을 내보낼 수 있습니다.



사설주소.

-사설 용도를 위해 할당

-NAT(Network Address Translator)를 필요로 함.

전 세계적으로 ip주소는 모자라기 때문에, 모든 사람들이 사용하기 위해 사설IP가 있음.

A클래스에서는 10번 B클래스에선 172. C클래스에선 192번.






인터넷에서 NAT 라우터라는것이 있습니다. NAT는 왜 라우터냐면, 사설주소와, 클래스(A,B,C)와 각각 연결해 주는 것이 NAT라우터(네트워크 주소를 변경해 주는 역할을 함) 입니다.

위 그림의 상황에서는 컴퓨터가 데이터를 전송할 때 자신의 IP를 172.18.3.1로 전송을 합니다. 그럼 NAT Router는, 자신이 받은 공인 IP로 변경해서 전송합니다.

그런 뒤, 요청에 대한 응답을 받을때도, 200.24.5.8이라는 IP로 들어오지만 NAT Router를 거쳐서 172.18.3.1로 변경되서 들어옵니다.


그럼, 여기에서 사설IP와 공인IP로 변경해주는 정보는 어디에 저장될까요??

그건 NAT Router에 Translation Table에 저장되는데, 위 그림을 바탕으로 예를 들어보면



이런식으로 저장됩니다

아..연속으로 포스팅하니..힘드네여....

포스팅만....여섯시간...했나.....................하

오늘 서브넷팅까지 하려고 했는데ㅎㅎㅎ

다음 포스팅에서 서브넷팅을 만나뵙도록 하겠습니다. 

모두빠용~~

+ Recent posts