본문 바로가기
책/인프라엔지니어

[IET] Chapter 4 네트워크

by 파이어볼러 2015. 3. 7.

네트워크는 서버 등 복수의 노드를 유선 또는 무선으로 연결한 집합체다 네트워크를 구성할 때 이용되는 네트워크 장비란 LAN 케이블과 광섬유 케이블 등을 집약해 통신을 교환하는 장치를 말한다 네트워크 장비도 랙 마운트형 서버처럼 19인치 랙에 넣는 것을 전제로 한 유닛 단위의 형태로 되어 있다 네트워크 장비에는 많은 케이블이 접속되어 있으므로 네트워크 장비에 포트 수가 많으면 많을수록 물리적으로 많은 공간이 필요하고 결과적으로 유닛 수도 많아진다 네트워크 장비에는 라우터, L2 스위치, L3 스위치, L4 스위치, L7 스위치 등이 있다.

 

라우터의 역할

 

라우터는 수신한 패킷을 적절한 경로로 전송하는 네트워크 장비다. 라우터는 네트워크를 논리적으로 나누는 장비이기도 하다


 

인터넷은 전 세계에 걸친 하나의 거대한 네트워크다 인터넷에는 LAN이라고 불리는 무수한 로컬 네트워크가 있고 LAN끼리는 라우터라고 불리는 장비를 매개로 연결된다 LAN에서 WAN으로 날아가는 메세지가 발생하면 라우터를 통해서 다른 LAN의 라우터로 메세지를 전달함으로서 통신이 이루어진다

 

이부분은 비행기 여행을 생각하면 이해하기 쉽다 메세지가 WAN으로 나가는 것은 메세지가 해외 여행을 하는 것과 같다 비행기로 해외 여행을 하려면 공항에 가서 국제선 비행기를 타야 한다 이때 공항에 해당하는 것이 바로 라우터다 공항에 가지 않으면 비생기를 타고 해외로 갈 수 없듯이 통신도 라우터를 통하지 않으면 LAN 외부로 나아갈 수 없다

 

라우터가 패킷을 받으면 라우터는 패킷에 있는 목적지인 IP 주소를 보고 패킷을 적절한 라우터로 전송(라우팅)한다 라우터가 전송할 곳을 결정할 때는 라우터에 미리 설정된 라우팅 테이블(목적지 정보)을 참조한다 목적지 IP 주소를 포함하는 네트워크 주소와 IP 주소가 라우팅 테이블에 있을때는 라우팅 테이블에 따라서 패킷을 전송한다 하지만 라우팅 테이블에 해당 라우터가 없을 떄는 모두 기본 게이트웨이로 전송한다

 

 

 

라우팅 테이블을 관리하는 방법에는 static routing과 dinamic routing이 있다 스태틱 라우팅이란 라우터에 경로 정보를 수동으로 등록해가는 방법이다 기업에서는 대부분 외부 라우터와의 접속이 ISP(internet Service Provider)나 데이터 센터 내부의 라우터뿐일 것이다 이처럼 통신 경로가 제한된 때는 스태틱 라우팅이 최적이다

 

반면 다이내믹 라우팅이란 이웃한 라우터와 통일해서 라우터끼리 경로 정보를 자동으로 갱신하는 방법이다 다이내믹 라우팅에는 RIP(Routing Information Protocol), OSPF(Open Shortest Path First), BGP(Border Gateway Protocol) 등의 라우팅 프로토콜이 있다 ISP처럼 외부 라우터와의 접속이 자주 변화할 때는 다이내믹 라우팅이 최적이다

 

RIP (Routing Information Protocol)

 

RIP[알아이피]는 기업의 근거리통신망, 또는 그러한 랜들이 서로 연결된 그룹과 같은 독립적인 네트웍 내에서 라우팅 정보 관리를 위해 광범위하게 사용된 프로토콜이다. RIP는 IETF에 의해 여러 IGP 중의 하나로 분류되었다.

RIP를 사용하면, 라우터 내의 게이트웨이 호스트는 전체 라우팅 테이블을 가장 가까운 인근 호스트에 매 30초마다 보낸다. 인접한 호스트는 자신의 차례가 되면 그 정보를 그 다음 인접한 호스트로 넘기는데, 이러한 전달은 그 네트웍 내의 모든 호스트들이 같은 라우팅 경로 정보를 가질 때까지 계속된다. RIP는 네트웍 거리를 결정하는 방법으로 홉의 총계를 사용한다 (다른 프로토콜들은 타이밍까지를 포함하는 보다 정교한 알고리즘을 사용한다). 네트웍 내에 라우터를 갖고 있는 각 호스트는 패킷을 전달할 다음 호스트를 결정하기 위해 라우팅 테이블 정보를 사용한다.

RIP는 소규모 동종의 네트웍에서는 유효한 해결방안이라고 간주된다. 그러나, 보다 복잡하고 규모가 큰 네트웍에서 RIP가 전체의 라우팅 테이블을 매 30초마다 전송하는 것은 네트웍 내에 엄청난 량의 추가 부담을 준다.

RIP의 주요 대안으로 OSPF가 있다.

 

OSPF (Open Shortest Path First) ; 최단 경로 우선 프로토콜

 

OSPF[오에스피에프]는 대규모 자율 네트웍에서, RIP에 우선하여 사용되는 라우팅 프로토콜이다. RIP과 마찬가지로, IETF에 의해 OSPF는 여러 개의 IGP 중 하나로 지정되었다.

OSPF를 사용하면, 라우팅 테이블의 변경 사실이나, 네트웍 내의 어떤 변화를 감지한 호스트는, 즉시 그 정보를 네트웍 내의 다른 모든 호스트들에게 알림으로써, 모두 같은 라우팅 정보를 가질 수 있도록 한다. 라우팅 테이블 전체를 보내는 RIP과는 달리, OSPF를 사용하는 호스트는 오직 변경된 부분만을 보낸다. RIP에서는 매 30초마다 라우팅 테이블을 인접한 호스트에 보내지만, OSPF는 변경이 생겼을 때에만 변경된 정보를 멀티캐스트 한다.

단순히 홉수를 세는 것보다 OSPF는 추가적인 네트웍 정보를 참작한 링크상태 상에서 그것의 경로 등급을 기반으로 한다. OSPF는 또한 사용자가 자신의 선호도에 따라 몇몇 경로들에 대해 우선권을 부여할 수 있도록, 특정 호스트 라우터를 설정할 수 있게 한다. OSPF는 하나의 네트웍이 다시 세분될 수 있도록, 다양한 네트웍 서브넷 마스크를 지원한다. OSPF 내에서 라우터와 종단국 사이의 통신을 위해 RIP이 지원된다. 이미 많은 네트웍들이 RIP를 사용하고 있기 때문에, 라우터 제작업체들은 본래 OSPF를 위해 설계된 라우터 내에 RIP의 지원도 함께 포함하는 경향이 있다.

 
BGP (Border Gateway Protocol)

BGP는 자율 시스템의 네트웍 내에서 게이트웨이 호스트들 간에 라우팅 정보를 교환하기 위한 프로토콜이다. BGP는 인터넷상의 게이트웨이 호스트들 간에 흔히 사용되는 프로토콜이다. 라우팅 테이블에는 이미 알고 있는 라우터들의 목록과, 접근할 수 있는 주소들, 그리고 최적의 경로를 선택하기 위해 각 라우터까지의 경로와 관련된 비용 정보가 담겨있다.

BGP를 사용하는 호스트들은 TCP를 이용하여 통신하며, 어떤 호스트에 변경이 감지되었을 때에만 갱신된 라우팅 테이블 정보를 보내는데, 오직 연관된 부분만이 보내어진다. BGP의 최신 버전인 BGP-4 (BGP-4는 때로 하이픈 없이 BGP4라고도 표기한다) 는 관리자들의 정책 제시에 기초를 둔 비용표를 구성할 수 있게 한다.

BGP는 IGP와는 잘 동작하지 않기 때문에, IBGP를 이용하여 자율 네트웍과 통신한다. 자율 네트웍 내부에 있는 라우터들은, IGP를 위한 것과, IBGP를 위한 것 등, 모두 두 개의 라우팅 테이블을 유지한다.

BGP-4는 네트웍 내에서 현재의 IP 주소할당 방식에 비해, 더 많은 주소들을 가지기 위한 방법인 CIDR을 사용하기 쉽게 만든다.

BGP는 EGP에 비해 좀더 최신 프로토콜이다.

IGP와 OSPF 내부 게이트웨이 프로토콜을 함께 참조하라. 

 

http://www.terms.co.kr/
 

L2와 L3 스위치 역할

 

L2 스위치란 이른바 업무용 스위칭 허브를 말한다 L2 스위치에 프레임(L2 스위치에서는 패킷이 아니라 프레임이라고 부른다)이 들어오면 L2 스위치는 목적지가 MAC 주소를 보고 적절한 포트로 프레임을 전송(스위칭)한다. L2 스위치 내에 기술된 MAC 주소 테이블(목적지 정보)에 해당 MAC 주소가 없을 때는 LAN 내 전체에 브로드캐스트 해서 응답이 있는 포트로 전송한다

 

반면 L3 스위치란 이른바 라우터 기능이 추가된 L2 스위치다 네트워크상에 흘러가는 패킷이 들어오면 L3 스위치는 목적지 IP 주소를 보고 적절한 포트로 패킷을 전송(라우팅)한다. L3 스위치 내에 적힌 라우팅 테이블에 해당하는 IP 주소 혹은 네트워크 주소가 없을 때는 기본 게이트웨이에 연결되는 포트로 전송한다

 

UPT 포트를 탑재한 스위치의 예

 

 

 

SFP 슬롯을 탑재한 스위치의 예

 

 

 

L2와 L3 스위치 선택 요령

 

1> 인터페이스의 속도와 포트 수

 

우선적으로 필요한 최소한의 인터페이스 속도와 포트 수를 확보할 수 있는지 확인한다

 

2> 지능형 또는 비지능형

 

지능형 스위치는 웹 접속 혹은 텔넷 접속으로 포트 설정을 변경하거나 스위치의 상태 및 통신량을 확인할 수 있다 예를 들어 특정 포트만 1000BASE-T로 고정하고 나머지는 Auto-negotiation으로 하고 싶거나, VLAN을 설정해야 할 때는 지능형 스위치가 필요하다 반대로 단순히 서버를 네트워크에 연결하기만 하면 될 때는 비지능형으로 충분하다

 

 

3> 스위칭 능력과 스위칭 용량

 

스위치의 가장 중요한 역할은 대량의 통신을 빠짐 없이 빠르게 전송하는 것이다 스위칭 능력과 스위칭 용량을 파악하면 스위칭 성능을 파악할 수 있다

 

- 스위칭 능력 : 스위칭 속도를 나타내는 단위로서 PPS(Packet Per Second)라는 것이 있다 PPS는 1초에 얼마나 패킷을 처리할 수 있는지를 나타낸다

 

- 스위칭 용량 : 동시에 스위칭할 수 있는 양을 나타내는 단위로서 BPS(Bit Per Second)가 있다 BPS는 1초에 어느 정도의 바이트 수를 처리할 수 있는지를 나타낸다

 

- 와이어 스피드와 논 블로킹 : 스위치에 탑재된 각 포트에 이론상 최대 통신량이 발생하는 상태를 와이어 스피드라 한다

 

가령 1000BASE-T 인터페이스가 48포트 달린 L2 스위치가 있다고 하자 이 스위치의 모든 포트에 와이어 스피드로 통신이 발생하면 최대 통신량은 1,000,000bit x 48포트 x2(양방향) = 96Gbp가 된다 이 이론상 최대 통신량을 처리 할 수 있는 능력을 특히 논블록킹이라고 한다 통신량이 아주 많은 환경에서는 와어이 스피트와 논 블로킹 스위치라면 업무용 스위치로서 안심할 수 있다

 

- 하드웨어 처리와 소프트웨어 처리 : 사용하고자 하는 기능이 ASIC라고 불리는 전용칩을 사용하는 하드웨어 처리인지, 그렇지 않으면 소프트웨어 처리로서 CPU를 사용하는 처리인지 구별할 필요가 있따 통신량이 소규모라면 하드웨어 처리든 소프트웨어 처리든 크게 차이가 나지 않지만 통신량이 대규모일때 소프트웨어 방식으로 처리하면 CPU 사용률이 올라가서 스위칭 능력에 영향을 주기도 한다 방화벽 등의 기능을 소프트웨어로 처리한다면 스위치에 부가된 방화벽을 기능을 사용하지 말고 별도로 방화벽 전용 장비를 도입하는것이 좋다.

 

L4와 L7 스위치(로드 밸런서)를 선택한다

 

L4/L7 스위치는 이른바 로드 밸런서(부하 분산 기능)가 달린 L3 스위치다 L4 스위치는 IP와 TCP/UDP 포트를 보고 적절한 서버로 패킷을 전송한다 반면 L7 스위치는 URL을 보고 적절한 서버로 전송한다

 

L4/L7 스위치의 특징은 부하를 분산할 때 서버가 살았는지 죽었는지 감시한다는 점이다 L4스위치는 서버의 IP 주소와 TCP/UDP 포트의 조합을 일정 간격으로 감시해 TCP/UDP 포트로부터 응답이 없으면 그 포트의 기능을 정지했다고 판단해 일시적으로 부하 분산 대상에서 제외한다 마찬가지로 L7 스위치도 특정 URL을 일정 간격으로 감시하고 예정한 응답이 돌아오지 않으면 부하 분산 대상에서 제외한다.

 

L4/L7 스위치를 선택할 때 L2/L3 스위치와 같은 업체 제품으로 하면 명령 체계가 통일 되므로 다루기 쉬워진다.

 

네트워크의 토폴러지

 

네트워크 설계는 조건과 환경에 따라 무수한 조합이 있지만, 여기서는 그 중 자주 사용되는 몇 가지 패턴을 소개한다

 

프론트 엔드와 백 엔드 2계층 구조

 

중소 규모 IT 인프라에서는 웹 서버로 대표되는 프론트 엔드 계층과 데이터베이스 서버로 대표되는 백 엔드 계층의 2계층 구조 네트워크가 주로 사용된다

 

프론트 엔드 계층

 

프론트 엔드 층은 토폴러지적으로 인터넷에서 가까운 곳에 위치한다 서버에 글로벌 IP 주소를 부여해서 인터넷과 직접 통신하는 경우와 L4 스위치를 매개로 인터넷과 통신하는 경우가 있다

 

백 엔드 계층

 

백 엔드 계층은 토폴러지 적으로 인터넷에서 먼 곳에 위치한다 백 엔드 계층에 놓은 서버에는 포른트 엔드 계층을 거쳐야만 액세스 할 수 있으므로 백 엔드 계층에 놓은 서버는 외부에서 직접 해킹 공격을 받지 않게 된다

 

 

 

3계층 구조

 

여러 개의 서버 룸이 있는 환경에서 사용된다

 

코어 계층

 

코어 계층에서는 디스트리뷰션 계층에서 오는 통신을 집약해 인터넷에 연결한다 기본적으로 네트워크 하나에 코어 계층 한 세트를 설치

 

디스트리뷰션 계층

 

디스트리뷰션 계층에서는 디스트리뷰션 계층의 통신을 집약해서 코어 계층에 연결하고 액세스 계층 간의 통신을 중계한다 예를 들어 건물 사무실에서는 플로어마다 디스트리뷰션 계층을 한 세트 배치한다

 

액세스 계층

 

액세스 계층에서는 서버에서 오는 통신을 집약해서 디스트리뷰션 층에 연결한다 프로트엔드와 백 엔드 2계층 구조에서 본 웹서버와 데이터베이스는 일반적으로 액세스 계층에 놓인다

 

 

 

네트워크 패브릭 구조

 

서버와 스토리지 가상화에 이어 요즘은 네트워크에서도 가상화의 물결이 밀려오고 있다 기존의 3계층 구조에서는 네트워크 구성에 맞게 서버와 랙의 물리적인 배치를 결정할 필요가 있었다 이 말은 처음에 네트워크 구성이 정해지면 이후에는 네트워크 구성의 제약 속에서 서버와 랙의 물리적 배치를 결정해야만 한다는 것을 의미한다 하지만 요즘은 서버의 성능 향상 및 가상화의 보급으로 서버 한 대에서 입출력되는 트래픽이 계속 늘어나면서 네트워크 장비가 병목을 일으키는 상황이 증가했다

 

그래서 새롭게 네트워크 패브릭(Fabric)이라는 개념이 등장했다 네트워크 패브릭이란 액세스 계층의 L2 네트워크를 가상화하여 물리적으로 다른 랙이나 스위치를 논리적으로 한 네트워크로 보이게 하는 기술이다 결론적으로 액세스 계층에 해당하는 L2 네트워크가 플랫화 한다

 

 

 

네트워크 패브릭의 큰 장점으로서 서버를 액세스 계층의 어느 L2 스위치에나 연결 할 수 있게 된다 이 장점은 서버와 랙의 물리젝 제약으로부터 해방된다는 것을 의미한다

 

 

 

네트워크 패브릭은 아직 표준화된 규격이 없고 각 네트워크 장비 업체에서 고유한 제품을 출시하는 상황이다 업체 간 호환성이 없으며 네트워크 패브릭의 명칭도 업체마다 다르다

 

네트워크 패브릭의 명칭

 

시스코 시스템즈 / 유니파이드 패브릭

브로드 게이트    / 인터넷 패브릭

쥬니퍼              / 데이터 센터 패브릭

 

네트워크 기본 용어 요점 정리

 

TCP/IP

 

Tansmission Control Protocol / Internet Protocol은 오늘날 인터넷에서 일반적으로 이용되는 프로토콜이다 전 세계에서 TCP/IP가 표준으로 사용되고 있기에 전 세계의 컴퓨터와 쉽게 통신할 수 있다

 

OSI 참조 모델

 

국제 표준화기구에 의해 책정된 컴퓨터가 가져야 할 통신 기능을 계층 구조로 나눈 모델을 말한다 OSI 참조 모델에서는 통신기능(통신 프로토콜)을 일곱 개의 레이어로 나눠 정의하고 있다 L2 스위치, L3 스위치 등에서 L2, L3란 OSI 참조 모델 레이어를 가리킨다

 

 

 

 

 

TCP와 UDP

 

TCP는 연결 지향형 프로토콜이고 고품질 통신을 실현한다 TCP에서는 데이터 송신이 이루어지면 송신한 패킷의 순서와 수신한 쪽에서 받을 때 순서가 다르면 순서를 바꾸고 또는 일부 패킷이유실되면 재전송하는 등의 기능이있다 이런 기능 덕분에 TCP에서는 보내는 쪽과 받는 쪽에서 확실한 통신이 보증된다. 그 대신 TCP 통신은 오버헤드가 크고 UDP와 비교하면 느리다. TCP는 웹이나 메일 등 확실하게 통신이 이뤄져야 하는 신뢰성이 필요한 애플리케이션에서 사용한다.

 

반면에 UDP(User Datagram Protocol은 비연결형 프로토콜이고 저품질이지만 속도가 빠르다 UDP에서는 연결을 지속하지 않고 일방적으로 데이터를 전송한다 일방적으로 전송하므로 상대방이 그 정보를 수신한다는 보증이 없으며 또한 수신한 쪽에서 정보를 받았다고 응답하는 기능이 프로토콜에 없다 UDP는 음성 전화나 동영상 등 정보가 일부 유실되도 문제없이 애플리케이션에서 이용된다.

 

3웨이 핸드쉐이크 : SYN과 ACK

 

TCP 연결에서는 3웨이 핸드쉐이크를 거쳐서 TCP 연결을 확립한다 3웨이 핸드쉐이크는 송신측과 수신측에서 SYN과 ACK를 서로 주고 받으며 성립하게 된다 UDP는 비연결형 프로토콜이므로 3웨이 핸드쉐이크를 하지 않는다

 

 

 

스위칭과 라우팅 

 

LAN 안에서 L@ 스위치(가정용 L2 스위치는 스위칭 허브라고 부른다)를 통한 통신을 스위치잉라고 한다 반면 라우터 혹은 L3 스위치를 통해 LAN과 LAN 사이를 걸쳐 통신하는 것을 라우팅이라고 한다

 

네트워크 인터페이스를 묶는다

 

주요 운영체제에서는 네트워크 인터페이스를 묶어서 사용할 수 있다 네트워크 인터페이스를 묶는다는 것은 여러 개의 네트워크 인터페이스에 같은 IP 준소나 MAC 주소를 부여해서 Active -Active 혹은 Active-Standby 구성으로 통신하도록 설정하는 구조를 말한다 네트워크 인터페이스를 묶으면 내장애성이 올라가고 사용할 수 있는 대역이 늘어나는 효과를 얻을 수 있다

 

예를 들어 네트워크 인터페이스 두 개를 묶었을 때는 한 쪽이 고장나도 다른 한 쪽 네트워크 인터페이스에서 기능을 계속할 수 있다 또한 1Gbps인 네트워크 인터페이스를 묶었다면 2Gbps의 대역을 사용할 수 있게 된다

 

네트워크 인터페이스를 묶는 기능은 업체나 운영체제에 따라 용어가 다르다

 

Bonding : 리눅스에서는 본딩이라는 용어를 사용

Teaming : 복수의 NIC 업체에서는 티밍이라는 용어를 사용

Link Aggregation : 네트워크 기능헤서는 링크 어그리게이션이라는 용어를 사용

EtherChannel : 시스코 시스템즈에서는 이더채널이라는 용어를 사용

Port Tranking : 얼라이드 텔레시스에서는 포트 트래킹이라는 용어를 사용

 

 

 

인터넷 연결

 

인터넷에 연결하기 위해선 라우터 혹은 L3 스위치가 외부 네트워크 회선에 연결되어야 한다 자사에서 ISP의 회선을 끌어오거나 데이터 센터가 제공하는 네트워크 서비스를 이용해 코어 스위치와 데이터 센터의 스위치를 연결하는 방법 등이 있다

 

중소 규모인 때는 데이터 센터가 제공하는 네트워크 서비스를 이용하는 편이 손쉽기 때문에 비용면에서 장점이 될 수 있지만 대규모인 때는 직접 회선을 끌어오는 것이 비용면에서 유리할 뿐 아니라 서비스 수준을 직접 관리할 수 있는 장점이 있다