긴 글이 될것 같습니다.
홈네트워크를 구성하는데 있어서 개인별로 환경이 다 다르기 때문에 전체적인 개념을 설명하는게 필요하다고 생각해서 적어봅니다.
- OSI 7 레이어
정보통신 계열 공부해보신 분들은 항상 책 첫장에 나오던 OSI7 레이어를 들어본적이 있으실 겁니다.
네트워크 구성되는 계층이 7가지로 구분되는데 여기서는 L1, L2, L3(레이어3) 까지 정도만 다루도록 합니다.
이런 용어를 얘기하는 이유는 많은 글들을 보았을때 사용하는 용어 구분이 명확하지 않고, 본인의 장비가 L2인지 L3인지 잘 모르는 상태에서 질문하는 경우가 많았기 때문입니다.
- L1
레이어1은 물리계층으로 여러가지가 포함되어 있지만, 여기서는 랜카드 그 자체라고 생각하시면 됩니다.
네트워크에 물리는 모든 장비는 모두 유선 또는 무선 형태의 랜카드가 장착되어 있습니다.
그리고 랜카드에는 각각의 장비를 식별하기 위한 '맥주소' 가 있습니다. (MAC Address)
이 맥주소는 전세계 모든 랜카드마다 중복되지 않는 유일한 값을 가지고 있습니다. (물론 소프트웨어적으로 임시 변조할수는 있지만, 그건 논외로..)
사람으로 치면 주민등록번호와 같은 개념입니다.
보통 18-3D-A2-22-16-7C 같은 형식입니다. 대쉬(-) 대신 콜론(:) 을 사용하기도 하는데 표시의 차이이고, 다르지는 않습니다.
주민등록번호도 각 자리수마다 의미가 있듯이 맥주소에도 의미가 있습니다.
앞의 3부분이 제조사에 해당하는 일련번호이고, 뒤의 3부분이 그 회사에서 만든 랜카드의 일련번호입니다.
위의 예를 들어보면 18-3D-A2 라는 회사에서 만든 22-16-7C 번째 랜카드라는 의미이죠.
위의 사이트에서 맥주소를 입력하면 앞의 3부분으로 어느 회사의 제품인지 알 수 있습니다.
조회해보니 인텔 제품이라고 나오는군요.
이렇게 각각의 랜카드는 네트워크에 연결될때 자신의 맥주소를 등록하고, 라우팅하는 장비는 해당 맥 주소를 기반으로 데이터를 전송하게 됩니다. (실질적으로는..)
- L2
레이어2부터 스위치라는 용어를 사용합니다. 스위치라는 용어는 이후 L3, L4 등도 스위치라고 부르기 때문에, 보다 정확한 용어를 사용하는게 중요합니다. 일반적으로 허브라고 부르는 장비는 L2에 속합니다.
(엄밀히 따져서 L2스위치와 허브는 다르기는 하지만..)
L2스위치에는 여러개의 랜포트들이 달려 있고, 내부적으로는 포트와 맥주소를 관리하는 표가 들어있습니다.
이제 L1에 속하는 랜카드를 L2스위치에 특정 포트에 연결하게 되면 랜카드는 자신의 맥주소를 L2에 알려주게 되고, L2 에서는 '아, 이 랜포트가 이 맥주소의 장비에 연결되었구나' 라고 인식하게 됩니다.
이제 나스를 처음 연결하고 세팅할때를 생각해 보겠습니다.
아직 나스에는 아무런 IP 세팅도 하지 않은 상태입니다. 전원만 켜고 랜선을 연결한 상태에서 시놀로지의 경우 어시스턴트를 실행해서 찾기를 하게 되면 해당 네트워크의 시놀로지 장비를 찾아줍니다.
어떻게요? 바로 어시스턴트가 L2 레이어에서 동작하기 때문이며, 위에서 말했듯이 시놀로지의 랜카드 맥주소의 앞자리로 시놀로지 제품인것을 알수가 있으니까요.
이 단계에서 나스를 못 찾는 경우가 있습니다. 원인이야 다양하게 있을수 있지만 뒤에 나올 L3 레이어의 다른 서브넷에 연결되었다거나 하는 경우입니다. 맥주소를 등록해서 그걸 보고 찾아가는건 L2 레이어니까요.
이렇게 나스에 IP 설정을 하기 전에도 어시스턴트를 통해서 L2 레이더 단에서 어떻게든 '통신' 은 됩니다.
그런데 여기서 문제가 발생하게 됩니다.
맥주소가 유일한 값이라 엉뚱한 장비랑 통신하는 경우는 없습니다. 하지만 우리는 여러 제조사의 제품을 사고 그 제품들이 전세계에 팔려나가서 뒤섞여있기 때문에 해당 맥주소를 찾아가기가 너무 어려워지는 겁니다.
네트워크 장비에 'OO 맥주소를 가진 장비와 통신을 하자' 라고 했을때, 그 OO 장비가 도대체 전세계 어디에 연결됐는지를 알수가 없고, 만약 찾으려면 전세계를 다 뒤져야 하니까요.
PC, 휴대폰, 스마트TV, 게임기, 프린터 등등.. 어마어마한 맥주소 리스트가 뒤죽박죽 되어 있어서 설사 어떤 맥주소의 장비가 어디에 있다고 표로 만든다 할지라도, 그걸 찾아 가는겅 거의 불가능합니다.
우리가 쓰는 실제 주소처럼 '서울시 영등포구 여의도동 1번지' 식으로 시, 군구, 동.. 같은 체계가 있고 순서가 있어야 되곘죠.
- L3
그래서 TCP/IP 프로토콜이 나왔습니다. 우리가 아는 IP 주소 체계가 여기에 해당되고요. IP 주소 체계를 만들고 나서 이제 맥주소 말고 IP 주소를 사용하자.. 가 된겁니다.
맥주소의 경우 각 랜카드가 가지고 있기 때문에 네트워크 장비 입장에서는 랜카드가 불러준 맥주소를 그냥 적어놓기만 하면 됐습니다.
그런데 이제 맥주소에 대응되는 체계적인 IP 주소를 관리하고 발급해주는 장비들이 필요해졌습니다. 당연히 L2 레이어 장비보다 하는일이 많고 구조가 복잡하고, 가격도 비쌉니다. (허브 < 공유기)
공유기, 라우터, 스위치 등이 대표적인 하드웨어 L3 장비들입니다.
대부분의 L3 장비들은 하위인 L2 역할을 겸하고 있습니다.
- IP 주소체계
IP 주소는 알다시피 000.000.000.000~255.255.255.255 까지 4개의 점으로 이루어져 있습니다.
이 주소들은 현실의 주소와 거의 비슷하게 되어 있습니다.
서울시 영등포구 여의도동 1번지 처럼 말이죠. 각 주소에 고정되어 있는 위치가 있고, 해당 주소를 보고 찾아갈수도 있거든요.
약간 다른 점으로는 실제 주소의 경우 시, 군, 구 등이 표시되어 있는 반면 IP 주소에는 그런게 없습니다.
그래서 클래스, 서브넷이라는 개념이 또 등장하게 됩니다.
- 서브넷
'네트워크' 라는 건 전세계 연결된 인터넷 전체를 얘기하기도 하지만, 간혹 '같은 네트워크가 아니다' 라고 할때의 작은 의미의 네트워크는 1개의 서브넷을 말합니다.
대부분 홈네트워크에서는 1개의 서브넷을 사용하는게 편하고, 연결 문제가 있는 많은 글들을 보면 여러개의 공유기를 연결해서 서로 다른 서브넷이 구성되어 있는 경우가 많습니다.
윈도우의 IP 설정하는 곳을 보면, IP 주소 밑의 칸에 서브넷 마스크 라고 하여 보통 255.255.255.0 을 적는 칸이 있습니다. 이 부분이 바로 네트워크의 서브넷을 구분하는 역할을 합니다.
다른말로는 C클래스라고도 하고 24비트라고도 합니다.
그외 B클래스등의 보다 큰 서브넷도 있고, 더 작게 쪼갠 네트워크도 있긴 하지만 홈네트워크 정도에서는 C클래스 이외에는 거의 사용할 필요가 없습니다.
위의 255.255.255.0 이 의미하는 것은 앞의 255 부분이 같은 네트워크임을 표시하고 뒤의 0 부분이 네트워크 내부라는 의미입니다.
즉 C 클래스의 경우에 192.168.0.1 과 192.168.0.100, 192.168.0.200 은 서로 '같은네트워크' 또는 '같은서브넷' 이라고 합니다. 그리고 192.168.10.10 은 앞의 세부분이 다르기 때문에 '다른네트워크' 입니다.
이러한 C클래스는 192.168.0.1 ~ 192.168.0.255 까지 총 255대의 장비를 하나의 네트워크로 구성할 수 있습니다. 일반 개인 사용자의 경우에 충분한 양이죠.
뒤에 조금 더 자세히 얘기하겠지만, 서로 다른 네트워크여도 당연히 TCP/IP 통신은 되지만, 같은 네트워크에 비해 일부 제약사항들이 있습니다. 위에 얘기했던 어시스턴트같은 경우죠
- 공인IP
가끔 공인IP 와 고정IP 를 혼동하는 분들이 있습니다.
공인IP 는 전세계 어디에서나 명확하게 정해져 있는, 마치 '서울시 영등포구 여의도동 1번지' 라는 주소가 등기에 되어 있는 것과 같은 개념의 주소입니다.
부여할수 있는 IP 주소가 많긴 하지만 어쨋건 유한하고, 아무나 아무 IP 를 가져다 쓰면 네트워크가 정상적으로 돌아가지 않기에 공인IP 주소는 관리하는 기관이 있고, 마치 등기와 같이 요금과 발급을 받아서 사용할 수 있습니다.
별도의 서버를 구성해서 인바운드 서비스를 구성하지 않는한 개인이 비용을 들여 공인IP 를 사용하는 경우는 많지 않습니다. (그리고 DDNS라던지 여러가지 기술들로 인해 공인IP가 아니더라도 인바운드 서버를 구성할수 있습니다.)
네이버, 다음 등의 대형 사이트들, 그리고 PC방들이 공인IP를 사용하고 있습니다.
(간혹 뉴스에 PC방이 익명성이 보장될거 같은 생각에 범죄자들이 PC방에서 글 올리다 잡히는데... 오히려 PC방은 공인IP를 사용하기 때문에 추적이 더 쉽습니다...)
- 사설IP
위의 예로 든 192.168.x.x 는 사설IP 대역입니다. 공인IP 만으로 전세계 모든 장비를 다 붙이기는 부족하기 때문에 일부 IP 대역대는 공인으로 사용하지 않고 남겨뒀습니다. 192.168, 172.168, 10.10 같은 대역들이죠
이런 사설IP 는 인터넷 상에 '등기' 되지 않은 주소기 때문에 다른 네트워크에 있는 사설IP 로는 직접 접근이 불가합니다. 인터넷 상에서는 공인된 주소로 편지를 보내야 우편물이 도착하거든요.
그래서 사설IP는 등기주소가 아니라, 내 집에서 내가 임의로 붙인 방이름 정도로 생각하시면 됩니다.
집 안에 안방, 거실, 작은방.. 등은 내 맘대로 이름붙여서 불러도 되지만, 편지를 보낼때 안방 이라는 이름으로 보내면 안가겠죠
- 고정IP 와 유동IP
윈도우 등에서 IP 설정을 보면 IP주소를 직접 입력하거나, 또는 '자동' 으로 둘수가 있습니다.
수동으로 입력하면 IP 주소를 할당하는 L3 스위치에 '내가 이 IP 주소를 사용하겠다' 라고 통보하는 것이고,
자동으로 두면 네트워크의 DHCP 서버를 통해 비어 있는 IP 주소중 하나를 받게 됩니다.
이때 DHCP 에서 받은 IP 주소는 장비가 끊어졌다가 다시 연결되면 다른 IP 주소를 받을수도 있는데, 이를 유동IP 라고 합니다.
물론 매번 바뀌는건 아니고, 일정 시간동안은 유지가 되기 때문에 그렇게 자주 바뀌지는 않습니다.
그리고 개인PC 들은 인바운드로 통신할 이유가 거의 없기 때문에 일반적으로는 DHCP 를 통해 유동으로 IP를 받아와도 큰 문제가 되지 않습니다. 다만 나스와 같이 직접 접속을 해야 하는 장비들은 고정으로 사용해야겠죠
고정과 유동은 ISP(통신사) 에 연결할때도 발생합니다.
ISP 들은 일정한 IP 주소들을 확보하고 있는데 각 인터넷 가입자들에게 고정적으로 IP 를 부여하지 않고 그때그때 할당해줍니다. 그래서 공유기의 외부 IP 가 종종 바뀔때가 있고, 그렇게 바뀌더라도 연결성을 유지하기 위해서 DDNS 같은 기술을 사용합니다.
각 통신사별로 IP 를 고정하여 부여하는 서비스들도 있는데 약간의 비용이 발생할겁니다.
- L3 와 공유기
사실 공유기는 네트워크 관점에서 엄청 대단한 물건입니다. L2, L3 는 물론 L4 의 기능도 일부 포함하고, 게이트웨이, 방화벽, ACS, DHCP, DDNS 등 고작 몇만원짜리 장비지만 기업용으로 이러한 기능들을 구현하게 되면 수백에서 수천만원 이상이 넘을수 있습니다.
공유기의 대표적인 기능은 L3 스위치의 역할인 라우터와 게이트웨이 입니다. 인터넷과 집 내부의 홈네트워크를 연결해주는 게이트웨이, 그리고 내부 네트워크의 장비들을 통신하게 해주는 라우터입니다.
게이트웨이는 말 그대로 '현관문'의 역할입니다. 집 내부와 외부를 구분짓고, 지나다닐 수 있는 통로를 만들어줍니다. 그래서 윈도우의 IP 설정에도 보면 게이트웨이 주소를 적게 되고, 여기에 보통 공유기의 IP를 적습니다.
그러면 PC 의 브라우저에서 www.clien.net 을 쳤을때 그 현관문을 지나 인터넷으로 가게 되어 있습니다.
여기서 현관문의 역할을 더 보면, 현관문은 사실 두개의 이름을 가지고 있습니다.
집 안쪽에서 보았을때는 단순히 '현관' 이고, 집 밖에서 그 집의 '주소' 자체인거죠.
그래서 공유기도 두개의 주소를 가지고 있습니다.
바로 네트워트의 내부 주소인 192.168.0.1 (일반적으로.. 공유기마다 다를수있음)
그리고 공인IP 211.52.153.170 같은 주소.
이 외부 구간을 WAN 구간이라고 부르고, 내부 구간을 LAN 이라고 부릅니다. 최근 공유기들은 이를 헷갈리지 않게 보통 색상으로 구분되어 있는 경우가 많이 있습니다.
아까의 L2스위치와 달리 L3스위치는 맥주소를 IP 주소에 할당하여 그 IP 주소를 기반으로 통신을 합니다.
- 브로드캐스팅, SMB
다시 한번 하나의 네트워크를 예로 들어 192.168.0.1/24 인 경우에 (/24 가 C클래스를 의미합니다.)
한개의 서브넷에서 보통 1번이 게이트웨이자 라우터인 공유기가 되고, 192.168.0 으로 시작하는 네트워크의 장비들을 라우팅합니다.
여기서 192.168.0.10 이라는건, 마치 192.168.0 이라는 아파트의 10호 와 비슷합니다.
그리고 사설IP 인 192.168.0 은 '우리집' 이라고 부르는 거고 공인IP 인 211.52.153.170 은 'OO시 OO동 OO아파트' 라고 부르는 것과 같습니다.
소제목에 쓴 프로토콜은 보통 내부네트워크에서만 동작합니다. 효율성과 보안성 등의 이유로요.
브로드캐스팅이란 말 그대로 전체 방송한다는 의미입니다. 아파트 내의 관리사무소에서 방송하는것과 같습니다.
방송을 한다는건, 직접 찾아가지 않아도 된다는 뜻이긴 하지만 반대로 불필요한 안내방송이 다른 집에 퍼질수도 있죠. 그래서 브로드캐스팅은 서브넷 내에서만 동작합니다.
SMB(윈도우 공유폴더, 삼바) 의 경우도 마찬가지입니다. 만약 서로 다른 서브넷을 구성하거나, 공유기가 다르거나 하면 당연히 SMB 기능을 사용할 수 없습니다.
- 포트
이렇게 IP 주소를 기반으로 네트워크 통신이 동작하는데, 아까 TCP/IP 라고 썼듯이 실제로는 IP 주소에 TCP 포트가 추가되어 사용됩니다. 이 포트가 필요한 이유는 모든 서버 또는 PC 가 한번에 하나의 기능으로만 동작하지 않기 때문입니다.
한개의 IP 주소를 가진 장비가 여러개의 역할을 수행해야 하기 때문에 동일한 IP 에서 다시 포트로 분리하려 여러 기능들이 동작합니다.
따라서 실제로 원격지의 PC 또는 장비와 TCP/IP 로 연결하기 위해서는 IP 주소와 함께 포트를 반드시 알아야 합니다.
어떤 포트를 사용하는지의 프로그램을 만든 개발자의 마음이지만, 일반적으로 고정이다싶이 정해진 포트들이 있습니다. 예를 들어 웹(http) 는 80 포트를 사용하는 것이죠
브라우저에서 www.clien.net 만 치고 들어간다고 생각할 수 있지만, 실제로는 www.clien.net:80 처럼 포트가 생략될 경우에 브라우저에서 자동으로 80 포트를 붙여서 접속합니다.
그외에 텔넷, SSH, 기타 기능들에 자주 쓰는 포트들이 정해져있습니다.
반면 이러한 알려진 포트들을 통해 외부에서 보안 공격이 들어올수도 있으니 변경이 가능한 경우 다른 포트로 변경해서 사용할수도 있습니다.
- NAT 와 포트포워딩
두개는 엄밀히 다르긴 하지만, 결과적으로는 비슷하기 때문에 묶었습니다.
다시 아까의 네트워크 예로 돌아가서 공인IP 211.52.153.170 을 가지고, 내부 192.168.0.1/24 네트워크에
192.168.0.10 의 IP를 가진 PC 가 있고,
192.168.0.50 의 IP를 가진 시놀로지 나스를 연결했다고 가정하면,
PC 에서 192.168.0.50:5000 으로 접속하면 시놀로지 웹 화면이 뜰겁니다.
이 과정을 아까 설명한 내용으로 보면,
PC 에서 보낸 192.168.0.50:5000 요청은, 윈도우에 설정되어 있는 게이트웨이(공유기) 192.168.0.1 로 들어갑니다.
공유기에서는 192.168.0.50 이라는 IP 는 공유기가 내부에서 관리하는 IP 대역이므로, 내부에 해당 IP를 가진 장비를 검색합니다.
나스는 이전에 공유기와 연결되며, 자신의 맥주소를 공유기에 알려주고 192.168.0.50 이라는 IP를 할당받았으므로
공유기는 그 IP 가 어떤 맥주소를 가졌고, 실제로 공유기의 어떤 포트에 연결되어 있는지를 알 수 있습니다.
그래서 최초에 PC 에서 보낸 요청은 정상적으로 나스에 도달할 수 있습니다.
만약 PC 에서 103.224.182.249 로 요청을 보내면 어떻게 될까요?
공유기는 이 IP 에 대한 요청을 받았으나 본인이 내부에서 관리하는 IP대역(192.168.0.x) 가 아니므로 WAN 구간(인터넷) 으로 요청을 보내게 됩니다.
그러면 공유기와 연결되어 있는 상위 라우터를 거치고, 또 거치고... 하면서 찾게 되는거죠
반대로 공유기 외부에서 나스를 접속할때는 어떻게 될까요
외부에서 192.168.0.50:5000 으로는 당연히 접속이 안됩니다. 192.168.0 은 사설IP 대역으로 남겨둔, 등기부등본이 존재하지 않는 주소라 인터넷 상에서 찾을 수가 없습니다. 또한, 전세계에 사설IP 로 사용되는 192.168.0.50 이라는 장비는 수도 없이 많을 겁니다.
공유기 외부에서 접속하기 위해서는 공인IP 인 211.52.153.170 으로 접속해야 합니다.
그런데, 문제가 있습니다. 211.52.153.170 이라는 공인IP 는 사실 나스의 IP 가 아니라, 공유기가 가지고 있는 IP 이기 때문입니다.
요청이 공유기까지는 도달했지만, 공유기 입장에서 그걸 내부의 어디로 보낼지를 모르게 됩니다.
이때 공유기의 NAT 설정을 하여 외부의 211.52.153.170:5000 으로 들어온 요청을 내부의 192.168.0.50:5000 으로 보내게 설정합니다.
또한 5000 이라는 포트가 잘 알려진 시놀로지의 포트라 다른걸로 변경하고 싶으면
외부IP 211.52.153.170:6000 -> 192.168.0.50:5000 으로 설정하면 됩니다.
- NAT루프백 (NAT 헤어핀)
위의 설명에서 내부PC 로 192.168.0.50 을 접속하면 당연히 잘 되는데...
내부PC 에서 외부 공인IP 로 접속하면 어떻게 될까요? 원칙적으로는 접속이 안됩니다.
왜냐하면, 내부에서 211.52.153.170 을 요청하면, 공유기에서 1차로 내부 IP 대역인지 판단하고, 아니기 때문에 외부로 보냅니다. 외부로 나간 패킷은 211.52.153.170이 해당 공유기의 IP 기 때문에 공유기로 들어오는데, 또 다시 공유기의 내부IP 가 아니므로 밖으로 나갑니다. 이렇게 뱅글뱅글 돌다가 수명(홉) 이 다한후에 패킷이 사라집니다.
그래서 공유기한테, '211.52.153.170은 외부 IP 긴 하지만, 사실은 그게 너 자신이기 때문에 밖으로 돌리지 마라' 라고 해줘야 합니다. (멍청한 공유기..)
그걸 나트루프백이라고 하고, 왠만한 공유기들은 거의 다 기본 지원되는데, 간혹 이게 안되거나 설정에서 켜줘야 되는 경우가 있으니 이게 안되면 공유기 스펙을 한번 보시는것도 좋을것 같습니다.
- VPN
한글로 가상사설망.. 이라고 하는데 이렇게는 왠지 와닿지가 않아서 이게 어떤건지, 어떻게 돌아가는지 간략히 말씀드립니다.
위에서 든 예로, 내부 네트워크는 192.168.0.1/24 이고,
나스의 IP 는 192.168.0.2 이고,
내부PC 의 IP 는 192.168.0.3 이고,
외부PC 의 IP 는 175.197.23.52 라고 가정한다면,
내부PC 에서 나스로는 사설IP로 바로 접근가능하며, 동일네트워크(서브넷)이기 때문에 공유폴더도 바로바로 열립니다.
네트워크적인 제한이 없는 상태죠.
그런데 외부PC 에서는 포트포워딩된 웹으로 접근은 되도, 탐색기에서 공유폴더가 바로 열리지는 않습니다. 다른 네트워크이기 때문이죠. (복습..)
이상태에서 웹이 아닌, 공유폴더에 접근하기 위해서 시놀로지 드라이브, 큐냅 큐싱크, 레이드라이브, FTP, WEBDAV 등등을 사용하곤 합니다.
이런 불편함 때문에 사람들은 VPN 이라는걸 만들었습니다. (보안 목적으로도 사용)
나스가 VPN 서버를 지원하기도 하고, 공유기에서 지원하는 경우도 있습니다. 정말 대단한 공유기죠..
어쨋든 VPN 서버 설정을 하고 외부 PC 에서 연결을 하게 되면......
외부PC 의 175.197.23.52 이외에 가상의 랜카드가 하나 더 만들어집니다. (윈도우10에서 별도의 프로그램없이 연결가능)
그리고 내부네트워크 대역에서 IP 하나를 그 외부 PC 에 부여해줍니다.
192.168.0.4 같은걸로요.
그리고 어떤 요청을 하게 되면 원래는 175.197.23.52 가 의 게이트웨이로 보내야 하지만
192.168.0.x 로 시작하는 요청은 VPN 으로 만들어진 가상의 랜카드로 보내서 VPN 서버로 들어갑니다.
즉, 외부에서도 마치 내부에 있는것처럼 만들어주는거죠. 그러면 공유폴더도 직접 접근 가능해집니다.
- WOL (Wake On Lan)
WOL 은 랜을 통해서 꺼져 있는 장비를 깨우는 기능입니다. 앞의 내용에 언급한대로 WAN 은 큰 인터넷망, LAN 작은 내부 네트워크를 의미합니다. 그래서 WOL 은 이름대로 LAN 내에서만 동작합니다.
다시한번 리마인드해보면,
랜카드는 고유한 맥주소를 가지고 있다.
하드웨어가 아닌, 윈도우등 프로그램에서 IP 설정하여 TCP/IP 프로토콜 통신을 할 수 있다.
L2 레이어에서는 맥주소 기반으로 브로드캐스팅(안내방송)을 할 수 있다. 등이 있습니다.
PC의 전원이 꺼지게 되면, 윈도우같은 OS가 종료되고, 따라서 OS에서 설정한 IP 주소를 사용할 수 없게 되고, 따라서 TCP/IP 프로토콜로는 꺼진 PC 를 켤 방법이 전혀 없습니다.
그래서 최소한의 전원만으로 랜카드만 살려둡니다. 랜카드는 처음에 말한 대로 맥주소를 스위치에 등록했기 때문에 스위치는 그 장비를 인식하고 있는 상태죠.
그리고 '내부 네트워크'의 누군가가 크게 소리칩니다.(브로드캐스팅) OO맥주소 일어나라. 라고 말이죠 (보통 이걸 매직패킷 이라고 부릅니다.)
여기서 중요한 포인트는 내부네트워크와 브로드캐스팅입니다. WOL 은 같은 네트워크 외부의 장비에서는 실행할 수 없다는 거죠.
(이게 만약 되도 이상한게, 누군가가 아무렇게나 외쳐서 집안의 장비들이 다 깨어난다고 생각하면... ㄷㄷ)
어? 되는데? 라고 할수 있는데, 그건 TCP/IP 로 공유기등 내부에 매직패킷을 뿌릴수 있는 다른 장비에 명령을 내려서 그렇습니다.
WOL 기능이 있는 공유기의 웹페이지에 접속한후, 명령을 실행해서 공유기가 자기 내부에 큰소리로 외치는거죠.
- DNS
IP 주소는 숫자로 되어 있어 외우기가 쉽지 않습니다. 홍보용으로도 적당하지 않구요.
그래서 DNS 라는 기술이 등장했습니다.
DNS 서버라는 장비가 동작하는데 원리는 엄청 단순합니다.
www.clien.net -> 103.224.182.249
식으로 영어로 된 주소와 IP 를 1:1 표로 만들어 보관한 후, 영어의 요청을 받으면 IP 주소를 알려줍니다.
- DDNS
DNS 를 통해서 쉽게 웹주소를 외우고 접속하수는 있는데, 또 다른 문제가 있습니다.
바로 유동IP 입니다. DNS 가 정상적으로 동작하려면 전세계의 DNS 서버에 영어로 된 DNS주소가 IP주소와 함께 등록되어 있어야 하는데, 이게 자주 바뀌기 때문입니다.
그래서 다이나믹DNS, DDNS 라는 기술로 기존 DNS서버는 수동으로 등록하는 반면, DDNS 는 등록할 장비가 직접, 그리고 변경되는 내용을 DNS 서버에 올려줘서 변경시 빠르게 적용되도록 해줍니다.
시놀로지 또는 IPTIME 등에서 운영하는 DDNS 서비스 이용하는 분들 많겠죠.
- L4 와 로드밸런싱
개인서버, 홈네트워크 관점에서 L4 이상은 잘 사용되지 않습니다. 가격도 비싸고요.
L4 레이어에도 여러가지 기능이 있지만, 가장 일반적으로는 로드밸런싱 용도로 사용됩니다.
간단히 설명하자면 네이버, 다음, 구글 등의 대형 포털은 전세계를 상대로 서비스하기 때문에 부하가 엄청나고 단일 서버로 운영되지 않습니다.
이때 www.naver.com 등으로 접속했을때 여러대의 네이버 서버로 분산 연결해주는 것이 L4 의 로드밸런싱입니다.
아, 온라인 게임 서버들도 있겠네요
- 리버스프록시
L4 얘기를 잠깐 꺼낸 이유는 리버스프록시를 설명하기 위해서입니다.
보통 리버스프록시는 nginx, tomcat 등의 웹서버를 사용하여 구성하긴 하지만, 이게 L4 레이어의 기능중 하나입니다.
위에서부터 계속 얘기했던건 TCP/IP 즉, 숫자로 된 IP주소와 포트로 통신하는 방법이었습니다.
클리앙의 경우 www.clien.net 이라는 도메인 주소가 103.224.182.249 의 IP 주소를 가지고 있고, 이게 DNS 서버에 등록되어 있기 때문에 도메인 주소로 접속하면 클리앙 페이지가 뜨는건 다 아실텐데,
103.224.182.249 로 직접 접속해도 당연히 동일한 페이지가 떠야 하지만,, 그렇지 않습니다.
이는 리버스프록시가 '요청한내용' 을 보고 차단했기 때문입니다.
(리버스프록시는 차단이외에도 도메인별 라우팅, 포워딩 등 다른 용도로도 사용됩니다.)
- L4 이상 L7 스위치
맨 처음 OSI 7 레이어부터 시작했는데, 그 중 최상위 L7 레이어는 응용계층, 컴퓨터의 소프트웨어 프로그램 그 자체입니다. 그리고 응용계층에서 생성된 '패킷' 은 하위 레이어로 내려오면서 각종 '헤더' 들이 붙습니다. 그 상태로 인터넷을 돌아다니다 목적지에 다다르게 되면 헤더를 하나씩 벗겨내면서 상위 레이어로 올라가고 마지막에 전달한 패킷이 상대방 응용프로그램에 도달하는 거죠
이는 택배 시스템과 매우 유사합니다. 내가 보낼 물건을 상자에 넣고 보내면, 택배회사에서 각종 송장, 바코드, 우편번호 등이 붙어서 전달되는 것과 말이죠.
여기서 중요한건 택배회사는 송장의 택배번호는 자기네 규칙대로 붙이더라도, 상자안의 물건을 건드리지도, 내가 쓴 주소를 바꾸지도 않는 다는 거죠.
L3 이하의 스위치들이 그렇습니다. 그래서 L3 이하의 스위치들이 상대적으로 가격도 싸고 구현이 쉽습니다.
반면 L4 이상의 스위치들은 내가 쓴 주소를 변경하기도하고 상자를 열어 내용물을 보고, 바꿀수도 있습니다.
바로 리버스프록시가 '내가 쓴 주소를 보고 행동하는' 장비(또는 프로그램)입니다.
그래서 브라우저에 103.224.182.249 라고 접속하면 리버스프록시가 그 내용을 보고, 차단하게 됩니다.
더 나아가 L7 스위치라는 개념은 내가 보낸 '패킷' 그 자체까지 보고 변조할 수 있습니다.
카카오톡으로 '안녕하세요' 라고 했는데 네트워크 장비가 엉뚱하게 바꿔서 보낼수도 있다는 얘깁니다.
모 국가에서 감시용으로 사용한다는 장비들은 아마도 L7 급일 겁니다. 당연히 엄청난 트래픽을 다 까봐야 하니 성능도 무시무시하겠죠. 리버스프록시 얘기하다가 잠깐 딴데로 샜네요..;
- TCP 와 UDP
네트워크에서 볼수 있는 패킷 전송방식중에 크게 TCP 방식, UDP 방식이 있습니다.
쉽게 TCP 는 등기우편과 비슷합니다.
TCP 방식으로 패킷을 보낼때는 주고 받기 위한 과정이 복잡하고 필요한 헤더들이 많이 붙습니다.
그래서 실제 전달한 내용보다 헤더가 더 큰 경우도 있습니다. (마치 100원짜리 사기 위해 배송비 2500원을 내는..)
대신에 헤더 정보들이 많기 때문에 보다 정확하게 전송이 가능하고, 보내기 전에 미리 상대방과 연결해서 받을 준비가 되었는지, 정확하게 전달되었는지, 그리고 오류가 발생하면 재전송까지 할 수 있습니다.
그래서 일반적인 파일 다운로드 등은 TCP 방식을 사용합니다. 파일이 중간에 깨지면 안되니까요.
UDP 는 TCP 에 비해 조금 원시적입니다.
그냥 일단 보내고, 상대방이 받든 말든 신경쓰지 않습니다. 그래서 헤더가 별로 없어서 동일한 양을 보낼때 TCP 보다 속도가 빠릅니다. 중간중간 내용이 전달 되지 않아 이빨빠지는 경우도 있습니다.
그래서 UDP 전송은 보통 동영상 스트리밍 등에 사용됩니다.
버퍼링이 빠르고, 중간중간 장면이 전송되지 않더라도 전체를 보는데 영향이 없으니까요
- HTTPS
HTTP 는 꽤 오래전에 만들어진 프로토콜입니다. 그래서 당시에는 보안적인 측면을 고려하지 않아서 전송되는 내용이 그대로 노출될수 있어서 그걸 보완하고자 전송되는 내용을 암호화하는 HTTPS 프로토콜이 나왔습니다.
HTTPS 를 사용하여 주고받는 내용이 암호화될수는 있지만, 컴퓨터의 키로거를 통한 암호탈취, 무작위 대입에 의한 암호획득 등에 안전한건 아닙니다.
- 공유기의 허브모드
앞서 공유기는 L3스위치로 앞뒤 2개의 이름을 갖는 게이트웨이다 라고 했는데, 그 개념으로만 보면 WAN포트, LAN 포트 2개의 포트만 있어도 됩니다. 그리고 공유기의 한개 LAN 포트에 여러개의 장비를 붙이기 위해서 L2스위치(허브) 를 붙여서 확장하면 됩니다. 개념적으로는 이렇게 되는게 맞겠죠.
하지만 대부분의 공유기는 L3 이면서 L2 역할도 합니다. 다들 아시다시피 공유기에 최소 4개 정도의 LAN 포트가 달려 있으니까요
그러면 네트워크에 2개의 공유기를 달면 어떻게 될까요?
물론 상하위 토플로지 구성하고, 라우팅테이블 잡고 잘 사용하면 되긴 하지만 홈네트워크에서 이렇게 구성하면 애로사항이 많을 겁니다. (프린터라든지.. 공유폴더라든지..)
그래서 한개의 공유기를 L2 상태로 바꿔야 합니다.
이게 사실 거창하건 아니고, WAN 과 LAN 을 구분짓는 역할이 L3 이기 때문에 WAN 에다가 안꼽고 LAN 에다가만 꼽으면 됩니다...
물리적으로 WAN 에다 연결하면 그건 L3 니까요.
그리고 설정으로 가서 공유기 2개의 IP 를 서로 다르게(충돌나지 않게) 메인L3 공유기가 192.168.0.1 이면 L2공유기는 192.168.0.2 로 바꾼다던지.
그리고 앞서 말한 IP 를 자동으로 부여해주는 DHCP 기능도 충돌나지 않게 L2쪽은 꺼주면 됩니다.
일부 공유기들은 아예 설정에 허브보드로 변경하는 옵션이 있는 경우도 있습니다.
- 랜선
랜선 얘기를 안한거 같아 추가합니다.
랜선 또한 랜카드와 마찬가지로 L1 에 속합니다. 흔히 랜선이라고 부르긴 하지만, 정확히는 UTP 케이블이라고 합니다. (랜 연결용 이외에도 정말 다양한 용도로 사용됩니다.) 끝에 연결된 커넥터는 RJ-45 라고 하고요.
랜선에 대해서 알아둬야 할건 케이블 종류와 속도차이입니다.
CAT5 (카테고리 파이브) 는 100메가까지 지원됩니다.
CAT5e 는 개선판이고 여기부터 기가비트가 지원됩니다.
두개는 겉으로 보아서는 큰 차이가 없기 때문에 케이블 중간 중간 써져 있는 글씨를 읽으면 됩니다.
CAT6 는 기가비트가 지원되는 케이블이고, 숫자부터 달라진 만큼 많이 다릅니다.
케이블 자체의 두께, 구부러짐도 다르고(6이 더 쎄서 안구부러집니다.) RJ-45 커넥터도 다르고 찝는 툴도 다릅니다.
기가비트를 구성하려면 CAT5e 이상 케이블 사용해야 하고, 당연하지만 장비들이 기가비트 지원해야 합니다.
---------------------------------------------------------------------------------------------------------------------------------------------------
너무 글만 두서없이 쓴 거 같아 그림 두장 투척합니다.
홈네트워크 구성시의 일반적인 구성입니다.
- 하나의 L3 스위치 밑에 하나의 네트워크로 구성되어 있고, 모든 장비들(L1) 이 서로 문재없이 통신가능합니다.
가장 케이스가 많은, 잘못된 구성입니다.
- 특히 이렇게 하게 되면 빨간색 장비들과 노란색 장비들이 192.168.0.x 대역을 사용하는 것처럼 보여, 하나의 네트워크인것처럼 보일수 있으나 전혀 그렇지 않습니다.
- 두개는 서로 다른 네트워크일 뿐만 아니라, 상위네트워크와 하위네트워크가 동일한 대역을 사용하기 때문에 별의별 증상이 다 나올수 있습니다
- 아래쪽 L3 스위치를 허브모드로 변경하는 것이 홈네트워크에서는 가장 정신건강에 좋습니다.
- 필요에 의해서 네트워크를 분리할 경우에는 최소한 두개 공유기의 내부 IP 대역을 바꿔주시는게 좋습니다. 192.168.3.x 처럼요
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
그림 몇개 추가합니다.
아래는 일반적인 가정집의 구성도입니다.
통신사에서 오는 선이 단자함의 어딘가(?) 에 연결되어 있고, 여기서 벽 배선을 통해 어딘가의 방 벽 콘센터에 연결되어 있을 겁니다.
이 상태에서 다른 방은 인터넷이 안될겁니다. (물리적으로 연결되어 있지 않아서..)
보통 원하는 홈네트워크 구성은 모든 방에 인터넷이 되면서 서로서로 공유폴더나 서버등과 통신이 잘 되게 하는게 목적일겁니다.
먼저 단자함을 열어 안에 뭐가 들어 있는지 봐야 합니다.
아주 오래된 단독주택같은 경우는 110블럭(원텐블럭) 이 들어 있을 겁니다. (이미지 찾아보면 대충 어떤건지..)
금손이거나 관련 지식이 있으면 작업하셔도 되고, 아니라면 사람 부르는게....
아마도 2000년 이후 정보통신 등급 받은 아파트들은 모두 110이 아닌 허브에 랜선 형태로 되어 있을 겁니다.
허브가 들어있다면 아주 쉽게 구성할 수 있겠군요.
아래 그림은 허브 가 있을때 허브의 각 방의 선을 다 꽂아서 인터넷이 가능한가? 라는 건데
이건 각 통신사의 지역별로 좀 다른것 같습니다.
일단 원리원칙만 따지면 이건 인터넷 계약 약관 위반입니다. 1회선(1개의 공인IP) 를 받아 사용하도록 계약한건데 이런 형태면 인터넷 3회선을 사용하는 형태가 됩니다.
그런데 저 통신사라고 표시한 부분에 따로 공유기 같은게 들어가 있고, 방1,2,3 이 공인IP 를 받아오는게 아니라면 상관없습니다.
이렇게 허브에 선을 연결하면 인터넷은 어찌 잘 되는 경우도 있으나, 각각 다른 네트워크의 IP 를 받아오는 경우도 있고, 이래저래 피곤한 경우가 종종 있습니다.
그래서 베스트 구성은 아래와 같습니다.
단자함에 허브 대신 L3 급의 공유기 하나 넣고, 각 방의 배선을 공유기의 LAN 포트에 물리는 거죠.
공감 박습니다. ㅎㅎ
게이트웨이 까지만 읽었는데 그 뒤로도 분량이 한참 더 남아있네요. ㅠㅠ
정독해 보겠습니다.
막연히 뜬구름으로만 알고 있던 네트워크에 대한 정보들이 개념이 조금 잡혀가네요!!
너무 감사드립니다.