불러오고 있어요
건너뛰기

네트워크 알아보기 2편

퓨처링이 알려주는 네트워크 지식

네트워크의 기초 2편

지난 포스팅에선 네트워크의 기초에 대해 일부 알아보았습니다.
오늘은 이어서 도메인, 네트워크 포트, 방화벽 그리고 마지막으로 네트워크의 종류까지 알아보도록 하겠습니다.


4. 도메인



우리가 인터넷 브라우저에서 또는 특정 페이지를 연결하거나 웹하드 같은 것들을 이용할 때 IP보다 많이 쓰는 것이 있습니다. 혹시 알고 있으신가요?
네이버 접속할 때 웹브라우저를 열고 'naver.com'이라고 입력 해보신적 있으시죠? 이것이 바로 '도메인 네임' 입니다.

우리가 https://naver.com 을 브라우저에 입력하면 브라우저는 이 주소를 DNS (도메인 네임 서버)로 전달하여 “얘, IP가 뭐니? 🤷”라고 물어보고, DNS는 자기의 전세계 DNS 친구들에게 다시 수소문하여 “얘 IP 이거야. 🙆” 라는 답을 받아 다시 브라우저에게 전달합니다. 이를 통해 웹브라우저는 naver.com 이라는 이름을 가진 서버의 IP로 접속을 하게 됩니다.

즉, IP로만 이루어진 기기들은 외우기도 어렵고 변경되기도 하고 또 여러 개의 기기가 동시 서비스를 해야 할 경우 각각의 IP를 입력하고 들어가야하는 불편함이 있었기 때문에, 이를 개선하기 위해 우리가 기억하기 쉬운 영어로 입력하여 컴퓨터가 IP로 변환해주는 시스템을 만들게 되었는데, 이것이 바로 DNS입니다.

도메인은 공인IP와 같이 전세계 차원에서 관리되고 있으며, 각 이름들은 중복될 수 없지만 한 도메인이 여러 개의 공인 IP를 가지고 있을 수는 있습니다. 예를 들면, 웹서버 및 메일 서버는 서로 다른 기기이지만, 같은 도메인을 사용하는 것처럼요.


5. 네트워크 포트(Port)



네트워크에서 사용하는 포트(port)란, 한 개의 IP 내에서 특정 서비스(어플리케이션)를 연결해주는 길잡이로 생각하면 쉬울거예요.

IP를 설명할 때의 그림을 보면 분명 인터넷만 연결되고 서로 연결되어 있기만 하면 사용할 수 있을 것으로 보이지만 사실 IP만으로 서로 연결되어 데이터를 주고 받을 수 있는 것이 아니라 IP의 특정 포트를 통해 연결되고 있는 것입니다. IP로만 연결된다면, 장비들은 “그래서, 어떤 서비스를 하고 싶은 건데?” 라며 혼란스러워 합니다.

보통 서버나 스토리지 등의 기기들이 한 개 ~ 여러 개의 IP를 가지고 있다면, 하나의 IP 내에서 사용할 수 있는 포트가 0번부터 65535번까지 있습니다. 65536개의 서비스를 하나의 IP에서 사용할 수 있는 것이죠. 물론, 하나의 서비스가 수십 ~ 수백개의 포트를 차지하고 있는 경우도 많습니다. 대신, 특정 포트에 두 개 이상의 서비스가 실행된다면 오류를 뿜게 됩니다. 즉, 포트 번호당 서비스 1개만 연결될 수 있습니다.

포트를 입력하는 기본적인 형식이 있는데, 이것은 바로 : 입니다. IP주소:포트 형태로 입력을 하게 되는데요,

예를 들어, 192.168.0.100 이라는 IP를 가지고 있는 서버 한 개가 있다면 웹서비스를 하기 위해서 80번 포트를 사용하고, FTP 서비스를 하기 위해서 21번 포트를 사용합니다. (전세계 표준으로 정해져 있습니다. 🌏)
고객이 192.168.0.100:80 을 입력하면 이 서버의 웹서비스를 접속하게 되고 192.168.0.100:21을 입력하면 이 서버의 FTP 서비스를 접속할 수가 있게 되는 것이죠.


그럼 브라우저에서 IP만 입력해도 웹에 접속할 수 있는 이유가 무엇일까요? 포트 중에서 국제 표준으로 이미 정해져 있는 포트들이 있습니다. 그 중에 하나가 80번 포트인데, 이는 웹을 표현하는 브라우저(IE, 크롬, 사파리, 파이어폭스 등)에서 IP만 입력하면 자동으로 IP를 가지고 있는 서버의 80번 포트에 연결을 해주기 때문입니다. 만약 http://ip주소:80 으로 접속하면? 결과는 동일합니다.

이것은 도메인도 마찬가지 입니다.

만약, https://naver.com 을 브라우저에 입력한다면,
1. 브라우저가 “Naver.com의 IP 주소가 뭐야?” 라고 DNS에 묻는다.
2. DNS가 IP주소를 알려준다.
3. 브라우저가 “https라면 보안이 설정된 웹서버의 443번으로 접속하라는 뜻이네” 라고 판단한다.
4. 브라우저가 네이버IP주소:443 에 접속 한다.

이런 식으로 브라우저를 통해 네이버 서버의 443포트를 사용하는 웹서비스에 접속을 하게 됩니다.

포트들 중에는 전세계 공통으로 사용되고 있는 서비스의 정해진 포트들이 있는데, 우리가 잘 아는 서비스는 다음과 같습니다.

  • 20, 21 : FTP 서버
  • 22 : SSH 서버
  • 23 : 텔넷 서버
  • 25, 110, 143, 465, 993, 995 : MAIL서버
  • 80, 443 : 웹 서버

사실 이것은 기본 포트번호일 뿐, 서버를 다룰 줄 아는 엔지니어라면 모든 포트는 임의로 변경할 수 있습니다. 기본 포트를 쓰면 IP주소나 도메인만 입력해도 알아서 기본 포트로 접속할 수 있지만, 포트를 변경하면 무조건 뒤에 :포트번호 를 붙여 주어야 합니다.

예를 들어, testtest.com 이라는 서버의 FTP서비스가 있다고 가정하면,

1. 기본 포트 사용 시 클라이언트가 접속할 때 : ftp://testtest.com 만 입력
2. FTP 서비스의 기본 포트를 2121로 변경 : ftp://testtest.com:2121 로 입력

이런 방식 입니다.

이렇게, 포트는 네트워크를 직면할 때 우리가 현실적으로 가장 많이 부딪히게 됩니다. 아래에서 설명할 방화벽 서비스와도 맞물려 있습니다. 그래서 우리는 포트의 특성에 대해 잘 알아둘 필요가 있습니다.

6. 방화벽(Firewall)



방화벽은 외세의 침입(?)을 막아주는 중대한 역할을 하고 있는 서비스 입니다. 현재의 인터넷 세계는 굉장히 다양한 해킹 프로그램과 해커들이 난무 합니다. 그래서 그들을 막아줄 수 있는 기능을 방화벽에서 담당하고 있습니다.

방화벽은 네트워크 장비로 구매할 수도 있고(비쌉니다.), 기본 제공되는 것들도 있습니다. (예: 윈도우 방화벽) 둘 다 비슷한 기능을 하고 있지만, 가격이나 성능은 네트워크 기기로서 제공되는 방화벽이 더 우수한 경우가 많습니다. 기본적인 방화벽의 기능은 유입되는 네트워크의 포트를 제어하는 것과 내보내는 네트워크의 포트를 제어하는 것으로 나누어 집니다.

기본적인 방화벽은 포트들의 인바운드(수신)과 아웃바운드(송신)을 제어하게 되는데, 방화벽을 활성화 하면 보통 인바운드는 모두 막혀 있고, 아웃바운드는 모두 뚫려 있습니다. 인바운드에서 특정 포트를 뚫어주면 외부에서 해당 포트로 들어올 수 있게 되는 것이고, 아웃바운드를 막으면 우리가 다른 곳에 접속하거나 데이터를 보내지 못하게 되는 것이죠.

기본적으로 막혀 있다고 했으니, 웹서버를 구성하여도 방화벽이 있고 설정하지 않으면 웹서버에 접속할 수가 없겠죠? 방화벽에서 80번 포트(또는 443 포트)의 인바운드를 허용해야 우리가 들어갈 수 있습니다.


이렇게 네트워크에 대해서 자세하진않지만 기본적인 부분들에 대해 다뤄보았습니다.
알아야할 것들이 많아 헷갈리실 수 있겠지만 찬찬히 읽어보시면 도움이 될 것이라 생각합니다!


좋아요

김에디터

B2B IT 제품 커머스 플랫폼 - 퓨처링