여러 메뉴가 있는데 저는 애플 시나몬을 주문했어요. 이곳에는 여우커피가 유명하다고 하는데 커피를 마시면 잠을 제대로 못자서 주문을 못했어요ㅜㅜ
사과는 당연히 충주의 특산물이고 계피는 따뜻한 성분의 음식이라 저에게 굉장히 도움이 되는 음식이라 선택했어요~!
(다음에 갈때는 사진을 한쪽씩 찍어야 겠어요;;;;)
그런데 주문하고 조금 돌아보니 뜨둥.....
여우커피는 카페인이 없다고 하네요 ㅜㅜ 주인분께 여쭤보니 여우커피는 커피가 포함되어 있는게 아니라 현미, 여주, 우엉을 커피와 같은 기법으로 만들어 낸다고 하여 여우커피라고 했다고 해요.
충주는 당뇨 바이오 특화 도시라서 충주커피박물관과 충주농업기술센터가 협력하여 오랜 연구 끝에 당뇨에 좋은 차로 여주커피를 특허출원했다고 해요. 카페인이 없어 임산부를 포함한 남녀노소 누구나 부담없이 즐길 수 있다고 합니다!
내부에도 신기한 물건들이 많이 전시되어 있었어요~
(사진 초점이....)
겨울에 한 번 방문했을 때 저 난로 인해 엄청 따뜻했던 기억이 있네요~
수제애플파이까지 추가했어요~
커피 주문을 하면 커피박물관을 들어갈 수 있는 입장권을 주세요!
입장권 뒤에는 전체 위치가 나오네요.
(
커피를 마시고 나오시면 아래 화살표 방향으로 가시면 커피 박물관이 있어요
커피 박물관에 왔으니 커피에 대한 간단한 역사와 어떻게 커피를 만드는지 알아보도록 할까요?
대략 11세기 아프리카에서 재배된 커피는 12~16세기 이슬람권 사람들에게 전파되었어요. 이때 다수의 사람들이 커피를 마시고 사교활동하던 공간(방)이 있었는데 이곳을 커피하우스라고 해요. 오늘날의 카페같은 느낌인거죠. 17세기 커피가 유럽으로 전파되자 커피, 커피하우스 등 커피와 관련된 문화가 꽃피기 시작했어요.
18세기 미국에서는 'Green Dragon Inn, Tavern and Coffeehouse'라는 커피하우스에서 보스턴 차 사건이 일어났고, Merchant Coffehouse(현재: City Tavern으로 이름변경) 에서 미국 독립선언문이 최초로 일반 대중 앞에서 큰 소리로 낭독되었다고 해요~
19세기 일제의 영향력으로부터 벗어나고자 고종황제가 러시아로 피신한 사건(아관파천)이 있었는데, 그곳에서 러시아 공사관으로 일하던 독일 국적의 프랑스인이 고종에게 커피 맛을 알게 해주었다고 합니다~
커피는 열대기후에서만 재배가 되는데, 아래 사진처럼 커피가 재배되는 지역을 커피벨트라고 한답니다~
커피의 원료는 열매에서 추출이 되는데요.
커피나무에서 커피열매를 맺게 되는데, 체리와 비슷하다고 하여 커피체리라 불리는 이 열매의 맛으로 로스팅한 커피의 향미를 예측할 수 도 있다고 해요. 예를 들어, 단맛과 과일향이 강한 커피체리는 로스팅한 후에도 단맛을 특성으로 하는 경우가 많다고 합니다~
<그림1>
커피체리 내부에 있는 생두(Coffee bean; 볶지 않은 커피콩; 원두)가 커피의 원료가 되는데, 생두는 품종, 재배지역, 기후, 경작 방식 등에 따라 맛과 향이 달라진다고 해요~
<그림2>
우리가 마시는 커피는 아래와 같은 과정을 거친다고해요~
1~3번
앞서 언급한대로 커피열매(체리)중에서 좋은 것들만 선별합니다
4번
선별된 커피체리에서 커피원료인 생두(원두)를 추출해야 하는데, 이 방식에는 여러 방식이 있어요. 대표적으로는 Natural processing, Washed processing이 있어요.
Natural processing은 건식방식으로 커피체리를 그대로 건조시는 방식이에요. 가공이 끝나 커피체리는 수분 함유율이 50%대인데, 안전하게 보관할 수 있도록 수분 함유율을 12%까지 낮춰주는 건조과정을 거쳐야 한다고 해요. 수분함유율이 10~11%로 너무 건조하면 탈곡(milling)과정에서 생두가 깨지기 쉽다고 하니 세밀한 관리가 필수적이라고 합니다~
Washed processing은 물을 사용해 과육을 벗겨내 생두 본연의 맛을 살리는 방식이에요.
5번
위와 같은 작업을 마치면 생두(원두)를 감싸고 있는 껍질들을 벗겨내는 milling(탈곡) 과정을 거치면 커피의 원료로 쓰이는 생두(원두)를 얻게 됩니다~
6번
생두의 크기, 밀도, 색깔, 수분 함유율 등에 의해 생두(원두) 등급을 분류하는데, 이러한 작업을 grading(선별)이라고 합니다. 만약 생두의 품질이 균일하지 않지 않게 섞여 있으면 로스팅할때 고른 로스팅이 된다고 하지 않는다고 해요~. Grading을 마친 원두는 상품성을 갖게되고 수출(Shipping)되게 됩니다.
7번
8번
그라인딩을 하는 방식에는 기계식 방식이 있고 사람이 직접 핸드드립으로 그라인딩 하는 방식이 있다고해요. 원두가 미세하게 분쇄될수록 커피의 향은 더욱 진해지는데, 요즘에야 에스프레소 전용 그라인더들이 있어서 굉장히 원두를 잘게 분쇄시켜주지만 본래는 핸드드립과 같이 방식이 전통적인 기계식 방식에 비해 더욱 고운 커피가루를 만들어 냈었다고 해요. (그래서 몇몇 분들은 핸드드립 커피를 즐겨하셨나봐요~)
10번
그라인더 과정을 통해 곱게 갈린 원두는 포장(packing)되어 여러 상점에 배달이 된답니다. 그리고 커피전문점들은 받은 커피가루를 이용해 brewing을 하게되고, 우리가 마실 수 있는 커피가 탄생하는것이죠.
Brewing하는 방식에도 여러가지가 있지만 최초의 brewing 방식이었던 터키식커피, 진공흡입 방식의 사이폰 커피, 뜨거운 물을 고압으로 짧은시간에 압축시킨 에스프레소 커피가 있어요
터키식 커피
사이폰 커피
나혼자산다에서도 사이폰 추출방식을 통한 커피가 소개된 바 있네요~
에스프레소 커피
오늘날 가장 많이 알려져있는 에스프레소 추출 방식이에요~
뜨거운 물을 고압으로 빠른시간내에 커피를 추출하는 방식이에요. 빠른시간에 커피를 추출할 수 있기 때문에 많은 사람들이 애용할 수 있게 되었어요. 에스프레소의 영어식 표현인 express는 에스프레소 추출 방식이 빠르다는 특징을 단적으로 보여주는 예에요~
빠른 시간내에 추출 해야 하기 때문에 커피 입자가 굉장히 미세해야 한다고해요. 그래서 빠른 시간에서도 향이 깊은 커피를 추출 할 수 있게 되는거랍니다~
아래 사진은 박물관에서 찍은 옛날 에스프레소 기계에요~
충주 커피박물관을 방문하면서 커피에 대한 전반적인 지식을 알게되어서 좋았던거 같아요~ ㅎㅎ
방문하실때 꼭! 시간 잘 확인하시고 월요일은 매주 휴무라는 사실도 인지하시면 좋을것 같아요~
앞서 IP가 물리적 위치의 고유 ID라고 했는데 ipTIME 공유기를 사용하시는 분들 보면 192.168.0.1, 192.168.0.2, 192.168.0.3, ... 이런 IP 주소들을 보신적이 있을거에요. 이상하게 경기도에서도 저런 IP를 쓰고, 부산에서도 똑같은 IP를 쓰고 ... 이게 어떻게 된것일까요?
지금부터 이러한 궁금증을 해결하기 위해 IP 종류에 대해서 알아보도록 할게요!
1. IP 종류
간단하게 IP 종류를 나눈다면 아래와 같이 나눌 수 있어요.
1) 공인IP VS 사설IP
1-1)공인IP
앞서 IP가 물리적 위치의 고유 ID 라고 말했던 의미는 공인IP를 의미한거에요.
ICANN이라는 국제기구가 국가별로 사용할 IP 대역을 관리하고 우리나라에서는 KISA가 국내IP 대역을 관리하고 있어요.
1-2)사설IP
점점 시대가 발전하면서 인터넷으로 서로 연결할수 있는 장치들이 증가하게 되었어요. 공인IP를 이용하면 금방 IP가 소진되기 때문에 사설IP라는 개념을 만들게 되었어요.
아래 그림을 보면 공인IP는 외부망들로 연결이 되어있는걸 알 수 있고, 사설IP는 내부망으로 연결되어 있다는걸 알고 있어요 (그래서 종종 외부IP를 공인IP라고 하는 경우도 있고, 사설IP를 내부IP라고 하는 경우도 있어요)
<그림1>
사설 IP를 사용하면 중복된 IP를 사용할 수 있어요. 먼저 사설IP 클래스를 살펴볼게요.
A클래스: 10.0.0.0 ~ 10.255.255.255
B클래스: 172.16.0.0 ~172.31.255.255
C클래스: 192.168.0.0~192.168.255.255
결론부터 이야기하면 하나의 공인IP당 위에 언급된 사설IP를 중복해서 사용할 수 있어요. NAT 기술을 이용하면 가능하다고 합니다만 여기서는 기술에 대한 언급은 하지 않을게요!
예를 들어, 제가 데이터 학과가 있다고 해볼게요. 이곳에는 201, 202, 203호 연구실이 있어요. 각 연구실에는 공인IP가 있어요. 제가 있는 연구실은 202호인데 이곳에 할당된 공인IP를 알아볼게요. 네이버에서 '내 아이피'라고 검색하면 쉽게 검색할 수 있어요. 일단 맨 뒷자리가 8이네요.
그리고 제 연구실(202호)의 공인IP에 ipTIME 공유기를 연결해서 사용하고 있어요. 저는 ipTIME에서 사설IP를 설정해 주었어요. 사설IP의 게이트웨이인 http://192.168.0.1/ IP주소를 웹 브라우저에 치면 아래와 같은 창이 뜰거에요. 이곳에서 제 연구실안에 있는 10대의 컴퓨터에 각각 사설IP를 할당해 줄거에요. 예를 들면, A 컴퓨터에는 192.168.0.2, 제 컴퓨터에는 192.169.0.3 이런식으로 말이죠.
CMD 프롬프트 창에서 ipconfig를 치면 사설IP주소가 검색돼요. 설정해준대로 192.168.0.3 사설IP가 검색되는걸 확인할 수 있어요!
2) 고정 ip VS 동적 ip
2-1) 고정 ip
우리가 일반적으로 인식하고 있는 ip는 고정ip 에요. 즉 해당 위치에 하나의 고유 ip 주소가 부여되고 시간에 따라 변경되지 않아요. 만약 네이버 서버의 ip가 시간에 따라 동적으로 바뀐다고 하면 어떻게 될까요? 바뀌는 순간에 무언가를 저장하거나 한다면 문제가 발생할 수 있어요. 그래서 이렇게 중요한 서버로 사용되는 IP는 고정ip로 사용한답니다.
2-2) 동적 ip
그런데 고정ip에는 한 가지 단점이 있어요. 예를 들어, 한 부서에 ip가 3개이고 고정ip로 사용하고 있다면, 컴퓨터 3대에 각각 고정ip를 할당하기 때문에 더 많은 컴퓨터를 사용할 수 없을거에요. 그런데 동적ip를 쓰면 3개의 공인ip를 8대의 컴퓨터가 동적으로 돌아가면서 쓸 수 있어요. 안쓰고 있는 컴퓨터에서는 ip할당이 안되고 인터넷을 쓰는 컴퓨터에 ip를 할당하는 식인거죠.
정리하면, 서버와 같이 많은 사람들이 접속하고 중요한 작업물들을 네트워크 상에서 저장할때는 고정IP를 사용하고 각 가정에서 사용하는 공인IP는 동적(유동)ip로 부여하고, 공인ip를 이용해 사용하는 사설ip를 유동 또는 고정ip로 부여하게 돼요.
보통 KT, SKT, LG U+ 같은 ISP업체들이 인터넷을 설치해주고 공인IP를 동적ip로 할당해주는데, 이때 동적ip로 할당해주려면 그때 그때 마다 할당시켜주어야 하니까 이러한 작업들을 운영 또는 관리를 해주는게 필요하겠죠? 이렇게 동적ip를 운영 또는 관리를 해주는 시스템을 DHCP (Dynamic Host Configuration Protoocol)이라고 해요. 그리고 DHCP 기능을 하는 서버를 DHCP 서버라고 합니다.
좀 더 자세한 설명은 아래 영상을 참고하세요~
3) 공유기
앞서 공인 ip를 동적ip로 할당해서 사용할 수 있다고 했는데, 사설IP도 마찬가지로 동적ip로 할당해 이용할 수 있어요. 동적 ip로 관리하기 위해서는 DHCP 서버가 필요하지만 이러한 기능이 탑재되어 있는 기기가 공유기입니다. 그래서 공유기에 공인IP가 할당된 인터넷 선을 연결하고, 공유기에 맞물린 컴퓨터들에는 사설ip를 부여해주어 사설 네트워크(망)를 만들어주게 됩니다.
공유기에는 WAN, LAN이라는 글자가 있는지 WAN은 광역(Wide area) 네트워크를 의미하기 때문에 LAN선을 이용해 공인IP와 연결시키면 되고, LAN은 국지적(Local area) 네트워크를 의미하기 때문에 공유기에 연결할 컴퓨터들을 LAN선으로 연결시키면 됩니다.
공유기 또한 외부IP와 연결되기 때문에 라우터 기능이 탑재되어 있고, 공유기 자체에도 IP를 할당해주어야 하는데 이때 할당되는 IP주소를 게이트웨이 주소라고 합니다. 앞서 설명한 게이트웨이 주소와 동일한데 공유기를 통해 외부IP와 내부IP를 연결시킬 수 있는 gate라는 의미로 이해하시면 될 것 같아요.
<그림2>
<그림3>
우리가 공유기와 컴퓨터를 연결시켜주면 자동으로 컴퓨터에 ip 주소가 부여되는데요. 이것이 공유기에 탑재된 DHCP 기능을 이용해 동적으로 ip가 할당 시켜준 것이라고 볼 수 있어요. 또한 새로운 컴퓨터를 두 대 설치하여 ip주소를 할당하려고 할때, 현재 1, 2, 5라는 ip가 사용되고 있다면 공유기(DHCP 서버)가 자신과 연결된 컴퓨터의 ip주소를 검색하고 빈자리에 해당하는 3, 4를 부여해주게 됩니다.
DHCP 서버에 따라 7일 또는 한달에 한 번 동적으로 ip 주소가 갱신됩니다. (종종 컴퓨터 LAN 선이 빠져있어서 다시 꽂으면 사설ip 주소가 바뀌는 경우가 있어요~)
하지만 공유기에서는 사설ip를 고정시켜 고정ip 운영방식으로 설정해줄 수 도 있어요. 만약 내가 원격접속해서 사용하려는 컴퓨터가 있는데 매번 동적으로 ip가 바뀐다면 접속이 끊기거나 재접속할수가 없겠죠?
2. 포트 포워딩
본래 포트라는 용어는 여러 곳에서 사용하고 있는 단어지만 보통 소프트웨어에서는 네트워크(IP) 상에서 프로세스를 식별하기 위해서 사용되는 개념이에요.
포트에 대한 구체적인 개념은 하드웨어에서 사용할때랑 소프트웨어에서 사용할때랑 달라지긴 하지만,
이곳에서는 정말 단순하게 포트에 대해서 설명하도록 할거에요.
여기서부터 원격접속의 원리가 설명이 되니 집중해서 봐주세요~!
앞서 우리는 공인IP와 사설IP에 대해서 알아보았어요. 만약 우리집의 컴퓨터에서 내가 있는 회사의 컴퓨터에 접속하려면 아래와 같은 순서를 거치게 될거에요.
"우리집 사설 IP -> 우리집 공인 IP -> 회사 공인 IP -> 회사 사설 IP"
그런데 앞서 사설 IP는 중복이 가능하다고 했었죠? 그래서 우리집 사설 IP에서 회사 사설 IP로 바로 접속하지는 못하고 우리집 공인 IP와 회사 공인 IP를 거쳐야만 하는데, 만약 우리집에서 회사 사설IP로 원격접속을 하려고 한다면 어떻게 해야할까요? 회사 사설 IP로 바로 접속이 불가능하니 회사 공인 IP로 먼저 접속해야겠죠?
그런데 문제는 회사 사설 IP 주소를 모른다는 점이에요. 이러한 문제를 해결하기 위해 등장한것이 포트포워딩이라는 개념이에요!
공유기에서는 외부에서 A라는 포트가 들어올때, 사설 IP에 B라는 포트로 연결하도록 설정해 줄 수 있어요. 이런 과정이 포트를 전달(forwarding)하는것 처럼 보인다고 해서 포트 포워딩이라는 이름이 붙여졌어요.
아래 그림을 참고해 볼게요. 공유기에 공인 IP로 들어오는 80번의 포트가 들어오면 사설 IP 192.168.0.2에 연결시켜주기 위해 192.168.0.2 IP주소에 80번 포트를 부여해줍니다. 이렇게 설정해주면, 우리집에서 회사의 컴퓨터1에 해당하는 사설IP에 원격접속할때, 12.34.56.78:80 이라고 입력해주면 먼저 회사 공인 IP역할을 하는 공유기에 접속하게되고, 회사 공유기에는 외부에서 80번 포트가 들어오면 192.168.0.2의 80번 포트로 연결하도록 설정되어 있으니 컴퓨터1로 접속하게 되는거에요.
뭔가 말이 복잡해진거 같긴한데, 그냥 외부에서 사설IP를 접근할때 포트를 이용한다라고만 알고 계시면 될 것 같아요.
<그림3>
아래 그림에서는 외부에서 8080 포트를 이용해 접속할 때, 192.168.0.3 사설IP에 접속할 수 있도록 설정되었고, 8081 포트를 이용해 접속할 때는 192.168.0.4 사설 IP에 접속할 수 있도록 설정되었네요.
<그림4>
아래그림은 실제 ipTIME에서 포트포워딩 설정해주는 방식이에요 (자세한건 윈도우 원격접속 편을 참고해주세요~). "외부에서 공인IP:8081 방식으로 접속하면 내부 사설IP 192.168.0.4에 접근하도록 해주는데 이때 접근수단을 내부포트 80을 통해서 하도록 한다"라고 이해하면 될 것 같습니다~
<그림5>
이번장까지해서 원격접속에 대한 배경지식들을 알아보았어요. 그럼 다음장부터 본격적으로 원격접속 실습을 해보도록할게요!
또한 이미지 또는 대용량의 데이터를 이용해 딥러닝 학습을 시키면 오랜 시간이 걸리기 때문에 업무가 끝나고 집에 도착해서 학습이 끝나는 경우가 많아요.
이러한 문제 때문에 딥러닝 서버를 구성해 원격으로 학습을 시키고 테스트 하는데요.
이번 글에서는 원격 접속의 원리에 대해서 간단하게 알아보도록 할게요!
1. TCP/IP 4계층 (or OSI 7계층)
컴퓨터들이 서로 데이터를 주고 받기 위해 통신을 하는건 알고있죠?
그런데 구체적으로 어떻게 주고 받는지 알고 계신가요?
세계 전문가들은 컴퓨터들이 데이터를 서로 주고 받을때 꼭 필요한 정보들을 정의 했어요.
<그림1>
흔히 이것을 OSI 7계층 또는 TCP/IP 계층이라고 해요. 여기서는 자세한 설명은 하지 않고 간단하게만 언급하자면 OSI 7계층, TCP/IP 두 용어는 모두 컴퓨터간 통신을 위한 합의된 규약이라고 보시면 되요. 이전에는 OSI 7계층이 주로 사용되었는데, 좀 더 간소화시키기 위해 TCP/IP 규약이 나오게 되었답니다.
<그림2>
예를 들어, A라는 컴퓨터에서 B라는 컴퓨터로 정보를 전달하려면 아래 그림처럼 통신규약에 따라 데이터를 생성, 송신, 수신하게 됩니다.
<그림3. 01001100011은 랜선과 같은 물리적인 전기 선을 의미>
좀 더 들여다보면 아래그림 처럼 각각의 계층이 필요로 하는 데이터들이 있어요. 아래그림을 보면 상위 레이어에서 점점 하위 레이어에 필요한 데이터 정보들이 추가 되는 것이 보이시죠? 쉽게 말하자면 TCP/UDP 레이어에서는 반드시 Upper layer의 정보가 필요하고, IP 레이어에서는 TCP/UDP, Upper 레이어의 정보들이 필요하다고 할 수 있겠어요.
<그림4>
원격접속을 위한 지식을 얻기 위해 어떤 계층을 눈여겨보면 될까요? 먼저 제일 필요하다고 생각되는 부분이 내 컴퓨터의 위치정보와 원격접속을 하기위한 컴퓨터의 위치정보일거에요.
이러한 위치정보를 생성해주는 곳이 IP 계층이랍니다. IP 레이어에서 요구되는 데이터 형식은 "IP header + 이전 상위 레이어의 정보"에요. 아래 그림에서 IP header를 보시면 source address, destination address 부분이 있죠? 이것이 통신을 위한 컴퓨터들의 위치정보를 표현하는것이라고 보시면되요.
<그림5>
IP 계층이 원격접속을 하기 위해 필수적인 정보가 들어있다는걸 확인했으니, 좀 더 자세히 IP에 대해서 알아보도록 할게요.
2. IP (Internet Protocol)
인터넷은 말 그대로 'inter(상호간의)+net(망)' 즉, 서로를 (연결해주는 거대한) 망이라고 보시면 되요. 앞서도 언급했지만 이렇게 서로 연결해주기 위해서 제일 중요한건 컴퓨터들이 위치한 곳이 어디인지 알고 있어야 해요. 그리고 위치마다 고유 ID(식별자)가 있어야겠죠? 여기서 혼동해선 안되는 점이 컴퓨터의 고유 ID를 알아야 하는것이 아니라 컴퓨터가 위치한 '위치 ID'라는 거에요! 그리고 이러한 '위치 ID'를 오늘날 'IP주소'라고 부른답니다.
<그림6>
3) IP 주소
IP주소는 현재 IPv4, IPv6 형식으로 나뉘어 져있는데 이곳에서는 IPv4를 기준으로 설명드릴게요.
IPv4는 4개 영역으로 구분이 됩니다. 각 영역당 4bit씩 할당되어 있기 때문에 각 영역당 0~255(=2^4) 범위를 포함하고 있죠.
<그림7>
IP 주소는 크게 5가지 클래스로 나눌 수 있어요. 일반적으로 가정, 학교 같은 곳은 C클래스에 해당되요. 그래서 대부분 집이나 학교같은 곳에서 '윈도우키->cmd->ipconfig 명령어 입력'을 하면 192.~.~.~ 와 같은 주소가 출력될거에요. 하지만 네이버 같은 곳은 대형 통신망에 해당하기 때문에 A클래스에 해당되요. (인터넷 브라우저에 125.209.222.141 IP 주소를 입력하면 네이버 서버에 접속하게 될거에요!) 참고로 D,E 클래스는 미래에 사용하기 위해 남겨둔것이랍니다~
그림8,9를 보면 '호스트 수', '서브넷 마스크'라는 용어가 나와 있을거에요. 그럼 지금부터 차례대로 이해해 보도록 할게요.
<그림8>
<그림9>
4) Network ID, Host ID
위와 같이 네트워크를 클래스로 나눈 이유는 뭘까요? 예를들어 대형통신망과 가정에서쓰는 통신망을 관리하는 체계가 같다면 어떻게 될까요? 대형통신망에서는 좀 더 복잡한 관리 기법이 필요하지만 가정에서는 그 정도로 복잡한 관리 기법이 필요하지 않을거에요. 그래서 통신망이 복잡한 정도에 따라서 클래스를 나누고 그에 맞게 네트워크 관리를 해준다면 좀 더 효율적이겠죠?
위와 같은 관점에서 IP주소는 좀 더 세부적으로 Network ID, Host ID 부분으로 나뉜답니다. 그리고 '그림9'를 보시면 Network ID 부분이 네트워크 클래스를 결정짓는걸 볼 수 있어요. 클래스A는 Network ID가 127개에요. 그렇다면 Host ID는 무엇일까요?
결론부터 말씀드리면, 대형통신망이 설치된 지역 한곳에 Network ID 하나가 할당되고, Network ID 하나당 2^24(Host ID -> 3개의 8bit 조합) 개의 Host ID가 부여되요. 예를 들어, 네이버에서 자신들이 이용하는 IP주소들이 있고, 구글 같은 곳에서 사용하는 IP 주소가 있을거에요. 관리차원에서 보면 네이버에서 사용되는 IP주소들과 구글이 사용하는 IP주소가 분류되면 더 효율적이겠죠? 이렇듯, 네이버라는 대형통신망 회사가 위치한 곳은 Network ID를 갖게되고, 네이버에서 따로 사용할 수 있는 IP주소들이 Host ID가 되는거에요. 당연히 통신망이 거대한 회사일수록 자신들이 갖아야 할 IP주소(Host ID)가 많아야겠죠?? 그래서 클래스마다 Host ID 개수가 차이가 나는거에요!
<그림10>
5) 서브넷팅 (Subnetting)과 게이트웨이, 라우터
서브넷팅을 하는 이유는 크게 두 가지에요.
첫 번째는 IP주소의 낭비를 막기 위해서에요. 예를들어, A클래스에 해당하는 네이버가 사용할 수 있는 Host ID가 2^24개인데, 2^12개만 사용한다고 하면 나머지 절반에 해당하는 IP주소는 낭비가 되겠죠? 만약, 네이버 회사에 하나의 Network ID만 부여되었다고 했을때, 2^24 Host ID 중 2^12 Host ID만 사용한다면 남는 IP 주소들은 다른 곳에서 사용가능하겠죠?
두 번째는 데이터 전송의 효율을 높이기 위해서에요. 예를 들어, 네이버에서 할당 받은 Network ID 하나로 2^24개의 Host ID를 관리한다면 굉장히 복잡할 거에요. 네이버에서도 네트워크가 굉장히 중요한 부서가 있고 네트워크를 자주 활용하지 않은 부서들이 있을거에요. 또한 부서들끼리의 물리적 위치도 서로 다르겠죠. 이때 네이버의 Network ID의 Host ID 들을 부서에 따라 다르게 분류하여 관리해주면 네트워크 효율이 올라갈 거에요.
다시 윗 그림을 참고해서 설명해볼게요. 예를들어, 우리학교의 컴퓨터학부(C클래스)가 192.1.1.0이라는 Network ID를 할당받았다고 할게요. 그런데 컴퓨터학부에는 소프트웨어 학과, 데이터과학 학과, 임베디드 학과, 네트워크 학과로 나뉘어있어요. 그리고 컴퓨터학부는 C클래스이기 때문에 255개의 Host ID를 부여 받을 수 있어요. 효율적인 네트워크를 나누기 위해서 아래와 같이 IP주소를 공평하게 분할 할 수 있으며, 이렇게 분할하는 기법을 서브넷팅이라고 하고, 분할된 주소의 첫 번째 주소에 해당하는 (빨간색) 부분이 Network ID와 비슷한 역할을 하며 이를 서브 네트워크 주소라고 해요. Network Id가 Host Id를 관리하는 것처럼 서브넷팅으로 나뉜 Host Id들은 서브 네트워크 주소(ID)가 관라하게 됩니다. 여기서는 각각의 서브 네트워크 ID가 64개씩의 Host ID를 관리하겠네요!
소프트웨어학과: 192.1.1.0~192.1.1.63
데이터과학학과: 192.1.1.64~192.1.1.127
임베디드 학과: 192.1.1.128~192.1.1.191
네트워크 학과: 192.1.1.192~192.1.1.255
참고로 이렇게 서브넷팅으로 나뉘어진 영역(학과)들끼리의 통신은 '라우터'를 통해서만 통신이 가능해요. 라우터는 다른 네트워크 영역들끼리 통신하기 위한 '장치(device)'이고, 다른 네트워크 영역들의 시작점이 되는 IP를 게이트웨이라고 합니다. 아래 4개의 학과에 빨간색으로 되어 있는 부분이 게이트웨이이고 라우터 장비를 통해 통신된다고 이해하면 되겠어요. 예를들어, 데이터과학과의 192.1.1.80에서 소프트웨어학과의 192.1.1.40 IP로 데이터를 전송하면 아래와 같은 순서로 전송되요.
서브넷마스크는 IP주소를 보고 Network ID를 알아내기 위해 도입된 개념이에요. 예를 들어, 클래스 A의 클래스가 125.209.222.141 이라고 했을때, 서브넷마스크가 255.0.0이라고 한다면 Network ID는 어떻게 될까요? 방법은 10진수를 2진수로 변경해 AND 연산을 하면 되요.
125.209.222.141 의 Network ID는 125.0.0.0이라는걸 알게되었어요. 그렇다면 서브네팅된 IP들은 서브넷마스크가 어떻게 구성될까요? 위에서 언급한 예시를 통해 다시 설명해볼게요.
아래예시는 C클래스에 속해있다는걸 알 수 있어서요. 그래서 Network ID에 24bit가 할당되고, Host ID에 8bit가 할당되는걸 알 수 있죠. 하지만 서브넷팅 기술을 이용하여 4개의 sub network id를 만들어 주었어요. 이때 sub network id를 표현하기 위해서 Host ID 8bit에서 상위 2bit가 사용된것을 볼 수 있었어요.
네트워크 학과: 192.1.1.61-->11000000.00000001.00000001.11000000
기본 C클래스 마스크에 sub network를 만들어주기 위해사용된 두 비트를 결합하면 각 sub network에 해당하는 서브넷 마스크가 만들어지게 됩니다. 여기 예시에서는 11111111.11111111.11111111.11000000 라고 정의할 수 있으며, 10진수 표현으로 255.255.255.192가 되는걸 확인 할 수 있어요. 서브넷팅과 서브넷 마스크를 위해 26개의 bit를 사용한걸 확인 할 수 있네요.
만약 C클래스에서 Host ID의 8bit 중에 상위 한 개의 비트만 서브넷팅으로 사용한다면 어떻게 될까요? 이와 같은 경우에는 서브넷팅을 위해 25bit가 사용되었기 때문에 서브넷 마스크는 255.255.255.128 이되고, Host IP의 범위는 [0~127], [128~255]가 됩니다.
제가 지금 컴퓨터학부(192.1.1.0)의 데이터과학학과의 IP인 192.1.1.80 IP를 사용하고 있다고 한다면, 26개의 bit를 서브넷 마스크로 이용하고 있는 것이기 때문에 아래와 같이 요약해서 표현할 수 있어요.
192.1.1.80/25
3. DNS 서버
마지막으로는 상식 개념으로 DNS 서버에 대해서 알려드릴게요. CMD 창에 ipconfig /all 이라는 명령어를 입력하면 DNS 서버에 대한 정보도 ip주소로 출력이되는데, 이것이 의미하는바에 대해서 간단히 기술해 볼게요.
DNS는 Domain Name System이에요. 즉 우리가 보통 네이버를 들어갈때 네이버의 ip주소를 브라우저 창에 입력하는것이 아니고, www.naver.com 이라는 영문으로 입력해서 들어갑니다. IP 주소마다 고유의 이름을 domain name이라고 하고 이러한 domain name을 ip주소로 변환시켜주는 시스템을 domain name system이라고 불러요.
예를 들어, 아마존에서 제공하는 DNS(Domain Name System)에 대해서 알아보도록 할게요.
<그림11>
[순서]
① domain name "www.example.com" 입력
② 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 ISP(인터넷 서비스 제공업체)가 관리하는 DNS 해석기로 라우팅 된다.
중요한건 DNS(Domain Name System)을 이용하기 위해서는 DNS 관련 서버가 필요한데, 예를들어 우리학교에서 DNS를 이용하려면 DNS 서버를 구비하고 있어야 해요. 그래서 보통 DNS 서버가 우리학교의 외부 IP와 유사한걸 확인할 수 있어요 (외부IP에 대해서는 다음글에서 확인해 드릴게요~ 여기서는 그냥 우리학교의 고유IP라고 생각하시면됩니다!)