[Network] 7. 네트워크
네트워크 분류
- LAN
- LAN 은 단일 건물이나 학교 같은 소규모 지역에 위치하는 호스트로 구성된 네트워크이다.
- 호스트의 간격이 가깝기 때문에 브로드캐스팅 방식으로 전송한다.
- 버스형과 링형 2가지 연결 방식을 가진다.
- WLAN
- 무선 로컬 영역 네트워크로 와이파이 라고도 한다.
- IEEE 802.11 표준에 기반을 두고있고, 근거리 통신망 이긴하나 무선이다.
- VLAN
- 하나의 스위치에 연결된 장비들은 모두 같은 브로드캐스트 도메인 안에 있기 때문에 그 범위를 최소화하기 위한 기능으로 브로드캐스트 도메인을 여러 개로 나눈다.
- 한 대의 스위치에 VLAN 을 설정하면 VLAN 을 설정한 구역끼리만 통신이 가능하다.
- 단 나누어진 다른 도메인 구간을 연결하기 위해서는 라우터가 필요하다.
- 보안이 높고, 불필요한 트래픽을 차단해 준다.
- MAN
- LAN 보다는 넓고, WAN 보다는 좁은 구역을 커버한다.
- 주로 도시와 도시 간의 통신 할 때 사용하며, 넓은 구역을 다루기 때문에 ISP로 활용할 수도 있다.
- 단, 네트워크를 설계하고 유지하는게 어렵다.
- WAN
- 넓은 지리적 영역까지 확장되는 네트워크이다. 예를 들어 한국에서 미국까지 통신이 가능한 네트워크이다.
- WAN 은 전화선과 전파를 통해 다른 LAN 에 연결하는 LAN 연결이 될 수 있으며 기업으로 제한되거나 일반인이 엑세스할 수 있다.
- 속도가 상당히 빠르고 비싸다.
- 국가의 경계 내에 제한이 될 수 있다.
- VPN
- 통신 사업자가 독자적으로 구축한 폐쇄 IP 망이다.
- 중,대규모 크기에 보안성과 품질성이 좋다.
- VPN 사이에 가상의 암호와 터널로 이루어져있다.
네트워크 구성요소
- NIC
- Network Interface Card 의 약자로 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치이다.
- 전기적 신호를 데이터 신호로, 데이터 신호를 전기적 신호로 변환하여 보내주는 역할을 한다.(직렬화)
- 카드마다 고유한 물리적인 MAC 주소를 가지고, 받은 패킷의 주소가 맞지 않으면 폐기하고 맞으면 시스템 내부로 전달한다.
- 송신측이 수신측의 처리속도 보다 빠르게 데이터를 보내지 못하도록 제어(흐름제어)한다.
- 케이블과 커넥터
- 무선 사용 빈도가 높아지고 있지만, 회사 네트워크 접속, 서버를 네트워크와 연결 등 신뢰가 높은 통신에 유선을 사용한다.
- 케이블은 트위스티드 페어(가장 흔함. 컴퓨터나 서버에 있는 랜포트에 연결하여 사용), 동축(케이블 TV 와 연결할 때 사용하는 두꺼운 검은 케이블), 광케이블이 있다.
- 허브
- 여러 대의 장비를 연결 할 목적으로 사용한다.
- 케이블과 동일한 물리계층(1계층)에서 작동되는 장비다.
- 신호가 들어오면 모든 포트에 전달한다.
- 현재는 잘 사용되어지지 않는 장비
- 스위치
- 여러 장비를 연결하고 통신을 중재하는 데이터링크(2계층) 장비다.
- 허브의 역할과 통신을 중재하는 2가지 역할을 모두 포함하기 때문에 스위치허브 라고도 불린다.
- MAC 주소를 통해 목적지가 연결된 포트에만 신호를 보낸다.
- 라우터
- 네트워크와 네트워크 간 데이터 전송을 위해 최적경로를 설정해 준다.
- OSI 7계층 중 3계층(네트워크)에서 동작한다.
- 먼 거리로 통신할 수 있는 프로토콜로 변환한다.
- 로드 밸런서
- 서버에 가해지는 부하를 분산해 주는 장치
- 4계층 포트 주소를 확인함과 동시에 IP 주소를 변경할 수 있다.
- 가장 많이 사용되는 서비스로는 웹이 있다.
- ADC 라고도 불리며 OSI 7계층 중 4계층(전송계층)에서 동작한다.
- 보안장비(방화벽/IPS)
- 정보를 잘 제어하고 공격을 방어하는데 초점을 맞춘 장비
- 가장 유명한 보안장비는 방화벽이 있다.
- OSI 7계층 중 4계층(전송계층)에서 동작한다.
-
모뎀/공유기
- 모뎀 : 짧은 거리를 통신하는 기술과 먼 거리를 통신할 수 있는 기술이 달라 이 기술들을 변환해주는 장비
- 공유기 : 하나의 공인 IP 를 사용하여 여러 개의 기기가 인터넷을 사용하기 위해 사용되는 네트워크 기기
네트워크 장비
OSI 계층별 네트워크 장비
- 물리계층 : 리피터, 허브, 케이블 등
- 리피터 (Repeater)
- 하나의 네트워크망 안에서 전기신호를 재생하고 증폭시키는 역할을 한다.
- 케이블 (Cable)
- 물리적으로 전기신호를 전송하는 케이블이다.
- 대표적으로 전선이라고 부르는 것들이 포함된다.
- 리피터 (Repeater)
- 데이터링크계층 : 브릿지, 스위치 등
- 브릿지 (Bridge)
- 하나의 네트워크망 안에서 서로 다른 LAN 을 연결한다.
- MAC 주소 기반 필터링 기능을 통해 더 나은 대역폭을 제공하고, 트래픽을 통제한다.
- MAC 주소 기반 리피터 기능을 제공한다.
- 스위치 (Switdh)
- 목적지의 MAC 주소를 가지고 있는 포트에만 프레임을 전송한다.
- 브릿지와 리피터 기능을 함께 수행할 수 있다.
- 사실 스위치는 데이터링크 계층에만 속한 장비가 아니다. 데이터링크 계층에서 동작하는 L2가 대표적인 스위치이다. 이외에도 다양한 계층에서 동작할수 있다. 동작하는 계층에 따라 스위치 명칭이 달라진다.
- 브릿지 (Bridge)
- 네트워크계층 : 라우터
- 라우터
- 패킷이 목적지까지 가기 위한 경로를 설정한다.
- 다양한 라우팅 프로토콜이 존재한다. (RIP, OSPF, IGRP, BGP 등)
- 패킷의 헤더에서 목적지 IP 주소를 확인하고 목적지의 네트워크 망으로만 전송한다. (Brodcasting 차단)
- 라우터
- 응용계층 : 게이트웨이
- 게이트웨이
- 서로 다른 네트워크망을 연결해주는 장비이다.
- 패킷 헤더의 주소 및 포트 외의 거의 모든 정보를 참조한다.
- 사실 게이트웨이는 완전히 다른 형태의 네트워크망을 연결해 주는 장비로서 특정 계층에 종속되지 않는다.
- 게이트웨이
스위치
- 실무에서 L1, L2, L3, L4, L7 등이 자주 보인다. 여기 L 뒤에 붙는 숫자는 OSI 7계층에서 계층을 뜻한다. 그리고 각각은 스위치다. L1이면 1계층인 물리계층에서만 기능을 수행하는 스위치다.
- L1
- 흔히 허브, 더미 허브라고 불린다.
- 물리계층에서 동작한다. 가장 원시적인 장비로 속도가 느리고 패킷 충돌이 날 가능성이 매우 높다. 따라서 지금은 잘 사용하지 않는 장비이다.
- 허브 VS 스위치
- 허브와 스위치의 대표적인 차이는 속도와 Collision domain 이다.
- 같은 시간에 여러 패킷이 동시에 들어온 경우 허브는 서로 충돌하여 패킷 손실이 발생하지만, 스위치는 충돌이 발생하지 않아 손실률이 낮다.
- 허브는 1/N의 속도지만 스위치는 N개에 거의 동일한 속도를 제공한다.
- 더미 허브(Dummy Hub)
- 허브에 연결된 모든 네트워크상에 데이터를 전송하는 기능이다. 허브에 들어온 데이터를 연결된 모든 포트에 동일하게 뿌려준다.
- 네트워크에 연결된 PC 와 링크 수가 많으면 많을수록 송수신 속도는 급격하게 하락한다.
- L2
- 스위칭 허브, 스위치, L2라고 불린다.
- 데이터링크 계층에서 동작한다. 가장 기본적인 스위치이며 저렴하다.
- MAC 주소를 기반으로 스위칭하며 특정 포트에 채널(bandwidth)을 할당하여 전이중 방식(전송이 양방향으로 동시에 일어날 수 있음)을 사용한다.
- 브로드캐스트 방식으로 통신한다. 이로 인해 성능 저하가 발생하기도 한다.
- L2가 기본적인 스위치이므로 L2의 수행기능은 스위치의 기본 수행기능이다.
- 수행기능
- Learning : 목적지 MAC 주소와 포트를 MAC Table에 저장한다.
- Flooding : MAC Table 이 꽉차고, 목적지 주소가 MAC Table 에 없으면 전체 포트에 전달한다. (Broadcasting)
- Forwarding : 목적지 주소가 MAC Table 에 있으면 목적지 포트로만 전달한다. (Unicasting)
- Filtering : 출발지가 목적지와 같은 세그먼트에 있는 경우에는 다른 세그먼트로는 보내지 못하게 막는다.
- Aging : 오래된 MAC Table 데이터를 삭제한다.
- L3
- 네트워크 계층에서 동작한다.
- IP 주소 기반으로 스위칭을 하며 라우팅 기능이 탑재되어 있다.
- 브로드캐스트 트래픽으로 전체 성능 저하를 방지한다.
- 수행기능
- 스위치의 기본 수행기능
- VLAN : 스위치의 일부 포트를 가상 LAN 으로 묶어서 불필요한 프레임 전송이 안되도록 구분한다.
- 트래픽 체크
- L4
- 전송 계층에서 동작한다.
- L2 만큼 많이 사용되고 있다.
- 서버나 네트워크의 트래픽을 로드밸런싱(Load Balancing) 할 수 있다.
- TCP, UDP 등의 헤더를 보고 FTP, HTTP, SMTP 등 어떤 프로토콜인지 확인하여 스위칭의 우선 순위를 부여한다.
- IP 주소와 Port 를 기반으로 스위칭한다.
- 수행기능
- L3의 기능 모두 수행
- 그룹화
- 부하분산
- L7
- 응용 계층에서 동작하는 스위치이다.
- 응용계층의 패킷까지 분석하여 어떤 데이터인지 알 수 있는 스위치로 보안장비에 주로 쓰인다.
- 웹 방화벽, 보안 스위치가 여기에 포함된다.
- 사실상 스위치보다는 보안장비라고 봐도 무방하다.
네트워크 기술
NAT
- 네트워크 주소 변환(network address translation, NAT)은 컴퓨터 네트워킹에서 쓰이는 용어로서, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. 한 마디로 Network Address 인 IP 를 변환한다는 것이다.
- IP 패킷이 라우팅 장비를 거치면서 이동할 때, 헤더에 있는 IP 정보를 변환하는 작업을 말하며, 공인 IP 주소에 여러 개의 사설 IP 주소를 할당하여 사용할 수 있게 하는 장치다.
- NAT 를 이용하는 이유는 대개 사설 네트워크(Private Network)에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.
- IP 주소에는 Public IP(공인 IP)와 Private IP(사설 IP)가 있다. IP 를 굳이 두 종류로 나눈 이유는 IPv4 주소의 낭비를 막고 공인 인터넷을 굳이 사용하지 않아도 되는 단말들에게 어느 망이든 중복 사용 가능한 IP 를 주기 위함이다(공인망에서는 공인 IP만이 유통).
- 사설 IP 를 할당받은 단말이 인터넷을 사용해야 한다면 단말의 IP 는 어떻게 변화하는 것일까?
- linux 에서
ifconfig
명령어를 입력하면 아래와 같은 결과를 얻을 수 있다(예시).inet
192.168.200.175netmask
0xffffff00broadcast
192.168.200.255
- 인터넷은 공인 IP 로만 연결되어 통신이 가능하다.
- Private IP(192.168.200.175)뿐인 컴퓨터가 외부 서비스를 사용하고자 공유기로 나아가면, 공유기는 Private IP(192.168.200.175)뿐인 컴퓨터의 IP 를 공유기 자신의 공인 IP로 변환(Translation)하게 된다.
- 즉 공유기를 지나 외부 인터넷으로 나아갈 때에는 공유기의 공인 IP를 가지고 원하는 Destination Address로 향하는 것이다.
- NAT 의 과정
- 누가 요청했는지 알기 위해서 먼저 요청받은 내부 IP 를 기록한다. (192.168.0.4)
- 요청한 컴퓨터 IP 는 외부에서 접속할 수 없는 사설 IP 다. 따라서 사설 IP 를 공인 IP 로 변환한다.
- 이제, 공유기는 이 요청을 public ip address 로 외부 서비스에게 요청을 하고 외부 서비스는 그 요청을 처리한다. 그리고 다시 공인 IP 로 보내고, 공유기에서 다시 사설 IP 로 보내서 통신을 완료한다.
- 즉, private IP 를 사용하고 있는 컴퓨터가 사설 바깥쪽에 있는 public IP 에 해당되는 외부세계에 접속할 수 있게 된다. 이 때 사용되는 기술이 바로 NAT 이라고 보면 된다.
- Static NAT
- IP 주소들을 1대1 매핑으로 변환해주는 가장 간단한 NAT 유형이다.
- Static NAT 은 호환되지 않는 주소 체계를 가지고 있는 두 개의 IP 네트워크가 서로 통신해야 할 때 사용될 수 있다.
- Dynamic NAT
- Static NAT 처럼 NAT 라우터가 사설 IP와 공인 IP 간의 매핑 정보를 만들고 IP 패킷이 네트워크에서 나가거나 들어올 때 그 패킷 헤더의 IP 주소를 변환하게 된다.
- 이 때 정적인 정보를 기반으로 하는 것이 아닌 동적으로 수행한다.
- PAT
- PAT(Port Address Translation)은 Dynamic NAT 의 한 종류라고 볼 수 있는데, 공인 IP 주소 1개에 사설 IP 주소 여러 개를 매핑하는 것이다.
- 변환된 IP 주소로는 사내망 호스트들을 구분할 수 없기 때문에 포트번호를 부여하여 구분한다.
DHCP
- 동적 호스트 설정 프로토콜(Dynamic Host Configuration Protocol)로서 해당 호스트에게
IP 주소, 서브넷 마스크, 기본 게이트웨이 IP 주소, DNS 서버 IP 주소
를 자동으로일정 시간
할당해주는 인터넷 프로토콜이다. - DHCP 를 통한 IP 주소 할당은 임대(Lease)라는 개념을 가지고 있는데 이는 DHCP 서버가 IP 주소를 영구적으로 단말에 할당하는 것이 아니고, 임대기간(IP Lease Time)을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하도록 하는 것이다.
- 단말은 임대기간 이후에도 계속 해당 IP 주소를 사용하고자 한다면 IP 주소 임대기간 갱신(IP Address Renewal)을 DHCP 서버에 요청해야 한다.
- 또한 단말은 임대 받은 IP 주소가 더 이상 필요치 않게 되면 IP 주소 반납 절차(IP Address Release)를 수행하게 된다.
- 유동 IP 를 할당한다는 것은 DHCP 서버로부터 IP 를 DHCP 서버에서 설정해놓은 사용 시간만큼 임대해온다는 뜻이다.
- DHCP 의 구성
- DHCP 서버
- DHCP 서버는 인터넷을 제공해주는 곳의 서버에서 실행되는 프로그램으로, 일정한 범위의 IP 주소를 다른 클라이언트에게 할당하여 자동으로 설정하게 해주는 역할을 한다.
-
DHCP 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해 줄 수 있다. DHCP 가 설정해주는 주소 정보들은 아래와 같다.
-
DHCP 클라이언트
- 클라이언트들은 시스템이 시작하면 DHCP서버에 자신의 시스템을 위한 IP주소를 요청하고, DHCP 서버로부터 IP주소를 부여받으면 TCP/IP 설정은 초기화되고 다른 호스트와 TCP/IP를 사용해서 통신을 할 수 있게 된다.
- 즉 서버에게 IP를 할당받으면 TCP/IP 통신을 할 수 있다.
- DHCP 서버
- DHCP 의 역할 3가지
- 임대
- DHCP 가 클라이언트에게 특정 기간동안 IP 를 빌려주는 것을 말한다.
- IP를 할당하는 과정을 Discovery - Offer - Request - ACK 단계로 나누며, DORA라고 한다.
- 갱신
- IP 할당하는 과정에서 RA (Request - ACK)만 재실행 한다.
- 두 차례로 진행되며, 첫번째는 임대시간이 50% 지났을 때, 두번째는 97.5% 가 지났을 때이다.
- 반환
- 임대기간이 끝난 IP 를 DHCP 서버에 반환한다.
- 임대
- DHCP 임대 절차
-
IP 주소 할당(임대) 절차에 사용되는 DHCP 메시지는 아래 그림과 같이 4개의 메시지로 구성되어 있다.
-
자세한 내용은 이 글에서 잘 설명해주었으니 참고하자.
-
DNS
- DNS(Domain Name System)은 데이터베이스 시스템이다. 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다.
- 즉 도메인 네임과 IP 주소의 대응 관계를 데이터베이스로 구축해 사용하는 인터넷 프로토콜이다.
- 클라이언트에게 DNS(Domain Name Server)를 제공하는 것은 DHCP 서버의 책임이다. DNS는 브라우징을 단순화하는 매우 특별한 목적을 수행하는 인터넷 상의 또 다른 컴퓨터라고 볼 수 있다.
- 네트워크의 각 컴퓨터에는 고유한 IP 주소가 있고, 이는 인터넷에서도 마찬가지이다. 인터넷에 연결된 모든 네트워크 또는 컴퓨터 서버에도 고유한 주소가 있다.
- 우리가 자주 방문하는 사이트의 각 IP 주소를 매번 기억하는 것은 사실 불가능한 일에 가깝다. 그래서 우리는 도메인 이름(www 로 시작하는 주소)을 사용하는데, 사용자가 입력한 주소(www…)를 125.209.222.141와 같은 IP 주소로 변환해주는 일을 바로 DNS가 수행하는 것이다.
- 이러한 DNS를 운영하는 서버를 네임서버(Name Server)라고 한다.
-
DNS 절차
- 특정 사이트를 방문하기 위해 사용자가 브라우저에 URL 을 입력한다.
- 그러면 브라우저는 DNS 에 접속하여 입력한 도메인 이름과 관련된 IP 주소를 요청한다.
- 획득한 IP 주소를 사용하여 브라우저는 그 컴퓨터와 통신하고 사용자로부터 요청된 특정 페이지를 요청할 수 있다.
GSLB
- GSLB(Global Server Load Balancing)은 DNS 서비스에서 문제를 해결하기 위해 발전된 형태로 재해복구, 로드밸런싱, 레이턴시 기반, 위치 기반 등으로 차이가 있다.
- 재해복구
- DNS 는 서버의 상태를 알 수 없기 때문에 서버 요청을 실패하는 유저들이 존재한다.
- GSLB 는 서버의 상태를 모니터링하기 때문에 실패한 서버의 IP 는 응답에서 제외하므로 유저는 서비스를 계속해서 이용할 수 있다.
- 로드밸런싱
- DNS 는 RoundRobin 방식으로 로드밸런싱을 하기 때문에 정교한 로드밸런싱이 불가능하다.
- GSLB 는 서버의 상태를 모니터링하기 때문에 트래픽이 몰리지 않은 서버의 IP 를 반환하며 정교한 로드밸런싱이 가능하다.
- 레이턴시 기반
- DNS 는 RoundRobin 방식으로 유저는 자신이 위치한 곳과 아주 먼 곳에 떨어진 서버로 연결될 수도 있다.
- GSLB 는 각 지역별로 서버에 대한 레이턴시 정보를 가지고 있기 때문에 해당 유저로부터 레이턴시가 적은 서버를 반환해 준다.
- 위치 기반
- DNS 는 RoundRobin 방식으로 서버에 연결된다.
- GSLB 는 유저의 지역정보를 기반해서 가까운 지역의 서버로 연결하게 한다.
댓글 남기기