네트워크는 왜 이렇게 생긴걸까? 기본편

알림
|
X

페이지 정보

작성자 no_profile 지하철승객 183.♡.232.82
작성일 2024.08.09 20:03
분류 전자기기
3,060 조회
114 추천
글쓰기

본문

클리앙에 올렸던 이전 글을 다모앙으로 옮긴 글입니다.

요즘은 인터넷이 없는 컴퓨터는 상상할 수도 없죠.

근데 인터넷을 쓰려면 공유기에 LAN이니 WAN이니 하는 것들이 있고
UTP나 물리주소, IP주소, URL 같은 정보들을 접하게 됩니다.
그러다 네트워크 문제가 발생하면 DMZ나 포트포워딩 같은 낯선 단어들을 접하게되죠.
사실 이런 것들에대해 정확히 알지는 못하지만 대충 매뉴얼을 보거나
다른 사람들의 정보글을 보고 적당히 따라해서 사용하곤 합니다.
이런 내용들에 대해서 차례대로 좀 알아보는 글을 적어볼까 합니다.


원래 컴퓨터들은 각자 따로노는 기계들이었죠.
아래 그림처럼 말이죠.


두 컴퓨터 간에 정보를 공유하려면 A 컴퓨터의 플로피 드라이브에서 디스켓에 정보를 저장한뒤
손으로 옮겨서 B 컴퓨터의 드라이브에서 복사하는 방식으로 했어야했습니다.


하지만 상시 데이터를 계속 교환하려다보면 이런 방식은 매우 불편한데다
두 컴퓨터가 서로 멀리 떨어져있기까지 한다면 정말 귀찮은 일이었죠.

그래서 시리얼 포트(흔히 COM 포트라고도 하는)라고 하는 통신 포트를 만들어 두 개를 케이블로 연결해서 통신을 하게 됩니다.
아래와 같은 케이블 같은 걸 사용해서 말이죠.


그러면 실제로 두 컴퓨터를 이렇게 연결해서 사용할 수 있게 됩니다.


거의 실로 이어 만든 컵 전화처럼 아주 구식의 네트워크인 셈이죠.


근데 이 방식은 너무너무 구식이기 때문에 3대의 컴퓨터를 연결하고자 할 때 고민이 생길 수 밖에 없습니다.


시리얼 포트는 2개까지 연결할 수 있었기 때문에 굳이 구성하려면 아래 그림처럼 연결을 해서 구성을 할 수 있기는 했습니다.


하지만 4대의 컴퓨터를 연결하려면 어떻게 될까요?


이제 슬슬 케이블 갯수가 컴퓨터보다 훨씬 많아지기 시작하면서 정신이 산만해지죠.
이제 5대, 6대로 연결해야할 컴퓨터가 늘어난다면 어떻게 될까요? 점점 답이 없어지겠죠?

그러다보니 이 방법은 안되겠다 싶어지게 되어 컴퓨터 간의 연결을 담당하는 전용 기계가 생기게 됩니다.
그게 바로 허브(HUB)죠.


이 허브를 컴퓨터들의 사이에 놓고 모든 컴퓨터를 이 허브에 연결을 하게되면
복잡한 케이블 연결 없이 네트워크를 구성할 수 있게됩니다.


이젠 컴퓨터가 늘어나더라도 케이블 1개씩만 추가하면 그만이죠. (허브도 구멍이 더 많은 걸 써야겠지만요.)
근데 이렇게 연결을 하고 나면 또 새로운 문제가 생깁니다.

1번째 컴퓨터가 2번째 컴퓨터나 3번째 컴퓨터와 통신을 하고 싶은데
모두 한 곳에 연결된 케이블로는 누가 누구인지 구분을 할 수가 없기에
나는 누구고 누구와 통신을 하고 싶은지 정보가 필요하게 된거죠.

마치 무전기에 대고 '여기는 부엉이 부엉이! 독수리 독수리 응답하라!' 하는 식으로
 컴퓨터 별로 독립적인 이름이 필요하게 된겁니다.

이 때문에 물리 주소(MAC Address)라는 것이 처음 생기게 됩니다.
각 컴퓨터에 번호를 붙여서 통신을 하게 되죠.
'A1 컴퓨터가 보낸다 C5 컴퓨터는 받아라~' 하는 식으로 말이죠.


실제로는 이렇게 단순한 숫자는 아니고


1A:B4:7C:D2:5E:F8


같은 형식의 12자리로 된 16진수 숫자의 주소 값을 갖습니다.

내 컴퓨터의 주소가 궁금한 분들은
명령 프롬프트를 열어 다음과 같이 입력해보면 내 컴퓨터의 물리 주소를 쉽게 알 수 있습니다.


C:\>ipconfig /all | findstr 물리 
물리적 주소 . . . . . . . . : 1C-1B-0D-9C-72-19


이렇게 구성된 네트워크를 우리는 Local Area Network. 즉 LAN(랜)이라고 부르게 됩니다.
봉준호 감독이 '오스카는 로컬 페스티벌이잖아~' 라고 했던 그 Local 말이죠.
그렇게 일부 지역안에서만 복작대는 그런 네트워크를 LAN 이라고 부릅니다.

즉 우리가 흔히 말하는 '랜포트(LAN Port)'라고 하는게 LAN에 연결하기 위한 구멍이라는 이야기죠.

이 LAN에서의 통신은 기본적으로 아래와 같은 식으로 이루어 집니다.
(요즘은 스위칭 허브라해서 더 효율적으로 동작하긴 합니다만 자세한 사항은 생략)

A1 컴퓨터가 D7 컴퓨터와 대화를 하려면 허브에 메시지를 보내고
모든 컴퓨터가 그 메시지를 수신합니다.
그러면 그 메시지에 자기 이름이 있는 컴퓨터만 응답을 하고
다른 컴퓨터는 '난 아니네?' 하고 그 메시지를 무시합니다.



좀 무식한 방법이죠?
사실 이 방법 말고 다른 방법들도 존재하지만 이 방법만의 최고 장점 덕분에 현재까지 이런 방식이 살아남게 되었습니다.
그게 뭐냐고요?

제일 쌉니다. 가성비가 최고라는 거죠.

이 방식이 바로 이더넷(Ethernet)이라는 이름이 붙여져 있고
현재도 네트워크를 구성할 땐 이 이더넷 방식으로 만드는 것이 일반적입니다.


PC나 맥의 네트워크 설정에 가면 아래와 같이 이더넷에 연결됐다는 표현은 로컬 네트워크에 연결되어 있다는 의미가 되는 거죠.



자 이제 여기까지 왔으면 LAN이라는게 하나만 있는게 아니라는 걸 생각해 볼 수 있습니다.
우리 구역 말고도 다른 구역 사람들도 또 네트워크를 구축하고 있을 수 있겠죠. 아래 그림처럼.



이쯤되면 우리 구역 4명과 저쪽 구역 4명이 민속놀이인 스타크래프트를 하고 싶어지는게 인지상정이죠.
4:4 빨무맵에서 우리의 신박한 마우스 놀림을 보여주고 싶게 마련입니다.

두 네트워크를 연결하는 가장 간단한 방법이 뭘까요?

당연히 각각의 네트워크의 중심 역할을 하고 있는 허브를 연결 해주면 두 네트워크 간에 연결이 성립되게 됩니다.


간단하죠?
이렇게 외부랑 연결해서 더 거대한 네트워크를 만들어 냈습니다. 우리는 이걸 WAN(왠) 이라고 부르게 됩니다.
Local Area (지역)보다 넓기 때문에 Wide Area (광역) 이라는 이름을 붙이고 거기에 Network 를 붙인거죠.
Wide Area Network.
그 왜 잘 알고 있으실 서울↔경기 지역같이 여러 지역을 걸쳐다니는 광역버스의 그 광역이죠.
즉 우리 네트워크의 내부를 연결하는 것이 LAN 포트인 것이고
다른 네트워크가 연결하는 것이 WAN 포트라고 불리는 이유가 이것입니다.
당연한 이야기지만 이런 구조에서는 LAN안에는 여러 대의 컴퓨터가 있을 것이고
WAN 바깥으로는 하나의 연결 통로만 있으면 됩니다.
그래서 WAN 포트는 1개고 LAN 포트는 여러 개가 됩니다. 아래 그림처럼 말이죠.

IPTIME사의 유선 공유기 T5004


그런데 이렇게 연결해놓고나니 골때리는 문제가 발생합니다.
우리 네트워크에서는 컴퓨터끼리 중복되지 않게 A1, B3, C5, D7 이라고 이름을 붙여놨는데
아뿔싸 저 쪽도 C5 라는 똑같은 이름을 사용하고 있지 뭡니까.

이러면 A1 컴퓨터가 C5 컴퓨터로 메시지를 보낸다고 했는데 C5 컴퓨터가 두 대이기 때문에
누구를 부른 건지 알 수가 없게 됩니다.


이제 어떻게 해야할까요?
이 방법을 해결하기 위해 다른 네트워크에서도 중복이 되지 않는 주소를 부여할 방법을 고민해야하겠죠?


이 때문에 IANA(아이아나)라는 기관이 세워지게 됩니다. (갑자기!?)
매우 단순하게 의미를 부여한 이 기관의 이름은
Internet Assigned Numbers Authority = 인터넷 번호 할당 기관
이라는 의미죠.

여기서 그 잘 알려진 IP 주소 라는 것을 관리하게 됩니다.
IP는 Internet Protocol 의 약자로 Internet 은 우리가 잘 알고있는 세계가 연결된 네트워크 망의 이름입니다.
그래서 각 국가별로 IP를 관리하는 기관이 설립되고, 그 위에 대륙별로 IP를 관리하는 기관이 있고
꼭대기에 IANA가 IP 주소를 총괄하는 형태로 인터넷 주소 체계의 관리가 이루어지게 됩니다.

우리나라의 IP 주소를 관리하는 곳은 KRNIC 이라는 곳입니다.
인터넷이 연결된 국가라면 대부분 국가코드+NIC 의 이름을 가진 기관들이 존재합니다.
중국은 CNNIC, 일본은 JPNIC. 뭐 영국같이 Nominet UK 같은 이름을 가진 곳도 있습니다.

어쨌든 다시 원래 이야기로 돌아오면 이제 IP 주소라고하는 중복되지 않는 주소를 얻을 수 있게 되었기 때문에
이제 네트워크 구성은 아래 그림처럼 구성할 수 있게 됩니다.



이렇게 되면 이제 왼쪽 네트워크의 1번 컴퓨터는 168.126.63.1 이라는 IP 주소를
오른쪽 네트워크의 1번 컴퓨터는 202.30.38.1 이라는 IP 주소를 갖게 되므로 중복되는 이름이 없어지게 됩니다.

그런데 좀 달라진게 하나 있죠? 허브가 주소(254)를 갖게 되었습니다.
네트워크가 커지게 되면서 위에서 이야기한 무전기 통신 방식...
즉 모든 컴퓨터가 내 메시지를 듣는 방식을 사용하는 건 불가능해지게 될 거라는 건 짐작할 수 있을 겁니다.

이렇게 되면서 단순하게 메시지를 통과 시키기만하던 허브가
WAN으로 메시지를 전달하는 역할을 전담하는 게이트웨이(혹은 라우터)로 진급(?)하게 됩니다.

단순하게 메시지를 통과시키기만 할 때는 스스로 주소를 가지고 있을 필요가 없었지만
WAN 으로 메시지를 전달할 때는 다른 네트워크에게 자기가 'XXX 네트워크의 게이트웨이다!' 라고 소개를 해야하기 때문에
주소를 가질 수 밖에 없게 된 것이죠.

그래서 이제 데이터를 전달하는 방식이 조금 더 복잡해지게 됩니다.
만약 왼쪽 네트워크에서 오른쪽 네트워크의 컴퓨터를 호출하면 아래와 같은 상황이 벌어집니다.


평소 LAN의 방식대로 168.126.63.1 번 컴퓨터가 로컬 네트워크에 응답하라는 메시지를 확 뿌려버립니다.
그러면 LAN에 있는 다른 컴퓨터들은 모두 자기랑 상관없는 메시지니 무시하지만
게이트웨이는 그 메시지를 보고 '어? 우리 네트워크의 메시지가 아닌데?' 하고 WAN 으로 메시지를 돌려버립니다.


그러면 WAN으로 연결되어있는 오른쪽 네트워크의 게이트웨이가 '어라? 우리 메시지네?'하고
오른쪽 로컬 네트워크에 쫙 메시지를 뿌립니다.
그러면 최종 목적지인 202.30.38.3 컴퓨터에게 메시지가 도달하게 되죠.

실제로는 더 많은 단계로 구성이 되지만 기본적으로는 이런 방식으로 IP 주소를 통한 통신이 이루어지게 됩니다.

다음 글에서는 포트에 대해서 설명해 보도록 하겠습니다.

댓글 49 / 1 페이지

까츄님의 댓글

작성자 no_profile 까츄 (61.♡.132.133)
작성일 08.09 21:36
이해가 쏙쏙 되네요~ 다음편도 기대하겠습니다^^

바다가좋아님의 댓글

작성자 no_profile 바다가좋아 (222.♡.193.234)
작성일 08.09 22:38
너무 글을 잘 쓰셔서 한번에 쫙 읽었습니다.
다름글도 얼른 보고 싶습니다.
감사합니다.

부산아재님의 댓글

작성자 no_profile 부산아재 (49.♡.12.102)
작성일 08.10 00:22
항상 인터넷 문제 생기만 검색으로 어지저찌 해결하고를 반복하는데
쓰신 글을 읽고 나니 이해가 퐉 돼네요 ㅎㅎ
감사합니다
적어도 이제 LAN과 WAN은 이해 했습니다
다음 글도 있다면 기대하겠습니다 ㅎㅎ

humanitas님의 댓글

작성자 humanitas (78.♡.45.236)
작성일 08.10 02:47
강좌 감사합니다.

후추선장님의 댓글

작성자 후추선장 (58.♡.17.17)
작성일 08.10 03:59
완전 이해가 쉽습니다!

잰리님의 댓글

작성자 잰리 (211.♡.126.250)
작성일 08.10 04:31
무지한 제게 지식을 나누어 주셨네요.
감사합니다....라는 댓글 뿐이라 죄송해요.

흐르는강물처럼흘러서님의 댓글

작성자 no_profile 흐르는강물처럼흘러서 (211.♡.77.13)
작성일 08.10 05:40
재미있습니다. 감사합니다 ^^

동대문33님의 댓글

작성자 동대문33 (59.♡.91.77)
작성일 08.10 06:22
전에도 정말 재밌게 읽고 스크랩했었는데 여기서도 보네요 ㅎㅎ 이해가 쏙쏙 됩니다//

가로도사님의 댓글

작성자 가로도사 (1.♡.112.222)
작성일 08.10 06:56
네트워크

Pixelabor님의 댓글

작성자 Pixelabor (183.♡.217.95)
작성일 08.10 07:03
이렇게 쉽게 설명이 가능한 거였군요!

호안님의 댓글

작성자 no_profile 호안 (221.♡.76.144)
작성일 08.10 07:10
너무 쉽고 재밌게 설명해주시네요. 감사합니다

moonlit님의 댓글

작성자 moonlit (218.♡.98.210)
작성일 08.10 07:38
감사합니다!

tensor님의 댓글

작성자 no_profile tensor (1.♡.83.124)
작성일 08.10 07:58
쉽고 재밌는 설명 감사합니다!

정안랑님의 댓글

작성자 no_profile 정안랑 (58.♡.95.146)
작성일 08.10 08:39
너무 필요한 내용입니다 ㅜㅜ
감사합니다!!

나옹님의 댓글

작성자 no_profile 나옹 (124.♡.236.163)
작성일 08.10 09:02
너무 훌륭한 글과 그림이네요. 감사합니다

featJL님의 댓글

작성자 no_profile featJL (117.♡.11.154)
작성일 08.10 09:12
감사합니다!

나자리님의 댓글

작성자 나자리 (114.♡.151.157)
작성일 08.10 09:16
2편부터 보고 1편으로 왔습니다. 궁금했던 내용인데 정밀 이해가 잘 됩니다. 감사합니다.

hershy님의 댓글

작성자 no_profile hershy (14.♡.17.3)
작성일 08.10 09:17
일단 스크랩 감사합니다.

맛나면좋은친구님의 댓글

작성자 맛나면좋은친구 (14.♡.149.200)
작성일 08.10 09:53
감사합니다.

사건의수사반장님의 댓글

작성자 사건의수사반장 (58.♡.74.32)
작성일 08.10 13:40
좋은 정보 감사합니다.
스크랩해서 필요할때 마다 보겠습니다.

dreammaker님의 댓글

작성자 no_profile dreammaker (106.♡.10.212)
작성일 08.10 13:49
글을 잘 쓰시네요^^ 이해가 쏙쏙~

쿠울럭님의 댓글

작성자 no_profile 쿠울럭 (182.♡.77.195)
작성일 08.10 16:09
크~ 잘 읽었습니다. 너무 재밌습니다.

착한아저씨님의 댓글

작성자 no_profile 착한아저씨 (114.♡.29.85)
작성일 08.10 16:34
감사합니다. 초보자에게 많은 도움됩니다. 네트워크 시리즈로 쭉~ 강좌 나왔으면 좋겠네요.

봇대스님의 댓글

작성자 봇대스 (4.♡.52.48)
작성일 08.10 17:37
우와. 이렇게 알기 쉽게 정리를 하시다니요. 최곱니다. ^^

무시무시한발가락님의 댓글

작성자 무시무시한발가락 (49.♡.129.175)
작성일 08.10 18:11
쉽고 재미있는 설명 감사합니다

양산양산님의 댓글

작성자 no_profile 양산양산 (121.♡.32.172)
작성일 08.10 18:18
신기하고 쉽고 재밌습니다.

Emsol님의 댓글

작성자 Emsol (97.♡.153.103)
작성일 08.10 21:28
이해하기 쉬운 자료네요 추천하고싶습니다

널문자님의 댓글

작성자 널문자 (223.♡.54.210)
작성일 08.10 22:02
순서상으로 10BASE-T 앞에 10BASE-2가 빠진것 같습니다.
동축케이블로 LAN을 사용했었는데...
끝단에 종단저항이 항상 말썽이었죠.

독서광님의 댓글

작성자 독서광 (118.♡.176.194)
작성일 08.11 00:21
좋은글 감사합니다

하동천연계님의 댓글

작성자 no_profile 하동천연계 (211.♡.89.116)
작성일 08.11 00:48
최고의 강좌입니다.

달빛누리님의 댓글

작성자 달빛누리 (14.♡.162.204)
작성일 08.11 09:47
우와,,, 완전히 이해되었습니다. 감사합니다.

피키대디님의 댓글

작성자 피키대디 (211.♡.169.67)
작성일 08.11 20:56
정말 쉽게 설명해주셨네요.
머리에 쏙쏙 들어옵니다!!!

baboda님의 댓글

작성자 baboda (110.♡.205.61)
작성일 08.12 07:44
요약 정리 잘하셨네요.^^

drzekil님의 댓글

작성자 drzekil (222.♡.229.199)
작성일 08.12 08:19
정말 쉽게 잘 쓰셨네요..
그런데.. 말씀하신대로라면 네트워크에 연결된 모든 기기가 공용IP를 가지게 됩니다.
하지만 실제로는 사설IP를 갖고 동작하는게 대부분이죠.
해당부분에 대한 설명이 추가되면 좋을 것 같습니다.

지하철승객님의 댓글의 댓글

대댓글 작성자 no_profile 지하철승객 (211.♡.71.104)
작성일 08.12 10:39
@drzekil님에게 답글 네. 그 부분은 이후 공유기/NAT 파트에서 설명 하게 됩니다.
원래 인터넷은 End-to-End 를 기초로 만들어진거라
지금같이 NAT를 가정하고 만들어진게 아니라서 부가적인 설명으로 뺐습니다.

두번째날개님의 댓글

작성자 no_profile 두번째날개 (119.♡.94.111)
작성일 08.12 12:17
이해하기 쉬운 글입니다. 최고에요^^

stillcalm님의 댓글

작성자 stillcalm (165.♡.219.74)
작성일 08.12 14:53
와아~ 문돌이도 이해하기 쉽도록 글 적어주셔서 너무 감사합니다.

Simlady님의 댓글

작성자 Simlady (220.♡.172.6)
작성일 08.12 15:20
와 항상 궁금했는데 재미있습니다.

베리타스님의 댓글

작성자 베리타스 (58.♡.202.164)
작성일 08.12 16:52
와 설명을 이렇게 쉽고 재밌게 할 수 있군요. 잘 읽었습니다.

고결님의 댓글

작성자 no_profile 고결 (123.♡.236.61)
작성일 08.12 19:06
설명이 참 좋네요..쉽게.쉽게

은비령님의 댓글

작성자 은비령 (218.♡.202.177)
작성일 08.12 20:30
오~ 출판된 네트워크 책을 보고 있는 착각이 들 정도의 퀄리티네요.
IT 밥을 먹고 살고 있지만 그래도 이런글을 보면 반갑습니다. ㅎㅎ

좋은 글 감사합니다.

원이오빠님의 댓글

작성자 no_profile 원이오빠 (58.♡.151.54)
작성일 08.13 00:28
문과도 이해될 정도로 쉽고 재미있게 그리고 재밌게 질 쓰셨습니다. 시중에 나와있는 책보다 낫습니다!!

창문을삭열어서님의 댓글

작성자 no_profile 창문을삭열어서 (121.♡.16.201)
작성일 08.13 10:56
뭐지? 음~~ 다 이해했어. 짤이 없어
다들 잘 이해되시는 좋은 글이네요

제나토스님의 댓글

작성자 제나토스 (202.♡.40.58)
작성일 08.13 12:48
좋은 글 감사합니다.

회원가입님의 댓글

작성자 no_profile 회원가입 (220.♡.22.32)
작성일 08.15 11:16
감사합니다.

카쇼페아님의 댓글

작성자 카쇼페아 (112.♡.64.137)
작성일 08.18 23:26
와 쉬워졌어!!
감사합니다!

도박님의 댓글

작성자 no_profile 도박 (103.♡.64.23)
작성일 08.23 12:56
학부생때 배웠던 데통 생각이 무럭무럭 나네요

수학사랑님의 댓글

작성자 수학사랑 (117.♡.17.123)
작성일 08.24 15:28
짱입니다!

상남자지님의 댓글

작성자 no_profile 상남자지 (210.♡.135.236)
작성일 09.02 14:45
감사합니다. 이해했습니다.
글쓰기
전체 검색