본문 바로가기
네트워크 엔지니어를 위한 서적 추천

<IT 엔지니어를 위한 네트워크 입문> 소개

by 네트워크 엔지니어 환영 2021. 6. 4.
반응형
<네트워크 엔지니어를 위한 서적 추천>은 모두 직접 구매하여 완독한 이후, 추천할만한 가치가 있다고 판단되는 서적만을 추천함을 미리 알려드립니다.

<IT 엔지니어를 위한 네트워크 입문>

저는 첫 네트워크 엔지니어 생활을 'F5 Networks'라 불리는 L4 / L7 계층을 다루는 네트워크 장비의 엔지니어로 시작했습니다. L4 / L7 스위치와 SSL VPN을 주로 구축하고 기술지원을 했죠. 구축이나 트러블슈팅에 있어서 타 벤더 엔지니어와 커뮤니케이션이 필연적이었는데 그때마다 늘 독특한 경험을 했습니다. 그것은 바로 용어 사용 차이에 따른 소통의 불편함입니다.

다수의 물리적인 링크를 하나의 논리적인 링크로 묶어 사용하는 것을 Cisco에서는 'Ether Channel'이라고 부릅니다. F5 Networks에서는 그것을 'Trunk'라고 부릅니다. 그렇다면 Cisco의 'Trunk'에 해당하는 F5 Networks의 개념은 무엇일까요? 바로 'VLAN Tagging'입니다. 그뿐만이 아닙니다. 대부분의 L4 스위치 벤더에서는 'Sticky'라고 부르는 것을 F5 Networks에서는 'Persistence'라고 부른답니다. 이런 이유로 엔지니어 생활을 시작한 지 얼마 되지 않은 새내기 엔지니어들은 타 벤더 엔지니어들과의 소통에 어려움을 겪곤 합니다. 물론 시간이 지나면 자연스럽게 타 벤더의 용어를 사용합니다. 저도 예외가 아니었기에 처음엔 소통이 잘 되지 않아 타 벤더 엔지니어와 종종 마찰을 겪은 적이 있었습니다. 그만큼 같은 네트워크 분야에서도 차이점이 많다는 뜻이겠죠.

용어뿐만 아니라 사용하는 장비에 따라 같은 네트워크에서도 사용하는 프로토콜 또한 차이가 존재합니다. 스위칭과 라우팅, 로드밸런싱, 방화벽/웹방화벽, 침입차단시스템, 가상 사설망 등 수많은 종류의 장비가 존재하며 사용하는 프로토콜과 기술/노하우는 수도 없이 많고 다양합니다. 뿐만 아니라 기술간의 상호 연관성은 점점 높아지고 있죠. 하지만 과거 저는 '내 분야만 잘하면 그만'이라는 안일한 생각을 갖고 있어 타 분야를 공부하지 않아 소통의 문제가 발생할 수 밖에 없었고, 트러블슈팅을 함에 있어서 소극적인 태도를 보이게 되었습니다. 다른 분야를 제가 전혀 모르니 그저 '내 장비는 문제없으니 가만히 있자'라는 생각을 하며 보수적인 태도를 취합니다. 지금 생각해보면 참 부끄러운 일이 아닐 수 없습니다. 다양성이 넘쳐나는 네트워크 세상에서 편협적인 시각을 고수했으니까요.

저의 이러한 후회를 찌르기라도 하는듯 네트워크의 전반적인 지식에 대해 설명하는 좋은 책이 나왔습니다. 이 책에서는 네트워크의 기본을 이루는 프로토콜과 기술, 네트워크 장비별 특성에 대해 소개합니다. 보통 인터넷에서 소위 '구글링'을 하며 정확하긴 하지만 약간 부족한 지식을 발품 팔며 얻어야 하는 이 상황에서 다양한 지식을 실무현장에서 활용할만큼 적당히 설명합니다. 클라우드 솔루션을 사용하면서 네트워크에 대해 이해하고 싶은 개발자, 네트워크에 처음 입문하는 네트워크 엔지니어, 다른 네트워크 분야에 대해 알고 싶은 주니어 네트워크 엔지니어가 보기에 가장 적합한 책이라고 생각합니다.

 

책 소개

이 책에서는 네트워크에 대한 전반적인 '지식과 기술'을 설명합니다. 여기서 '지식과 기술'이라고 말씀드리는 이유는 네트워크의 기본적인 프로토콜에 대해 설명함과 동시에 현장에서 많이 사용되는 기술과 노하우, 네트워크 구성 등이 소개되기 때문입니다. 네트워크에 대해 조금이라도 접한 분이라면 누구나 아는 OSI 7 Layer에서부터 ARP, TCP, UDP뿐만 아니라 스위치, 라우터, 방화벽, IPS에 심지어 서버 방화벽과 가상화 기술도 소개가 됩니다. 

폭넓은 영역을 다루는만큼 설명이 제한적이어서 어려워질 법도 한데 쉽게 설명하여 난이도가 높지 않습니다.(물론 저는 현직 네트워크 엔지니어이기에 어느 정도 익숙해져 있으며, 사람마다 의견이 다를 수도 있습니다.) 처음부터 끝까지 순차적으로 이야기하듯 설명하며 이해도를 높입니다. 다른 네트워크 관련 서적을 보면 패킷, 프레임 등의 헤더를 자세히 설명하며 오히려 난이도만 높아지고 이해는 어려운 상황이 발생하는데 이 책에서는 그런 부분을 과감하게 제거하고 기본 이론 이해와 실무 현장에서 적용 가능한 내용만을 담음으로써 독자로 하여금 현장 업무에 적용할 수 있는 지식을 얻어갈 수 있도록 돕습니다.

 

추천하는 이유

첫 번째

앞서 말씀드린 것처럼 이 책은 특정 벤더 장비의 기능/구성에 치우치지 않고 실무에서 응용/사용할 수 있는 보편적인 기술과 노하우에 대해 설명하는데 주력합니다. 예를 하나 들어볼까요?

"종단 장비간 통신을 시작하면 중간에 있는 세션 장비는 해당 세션 상태를 테이블에 기록합니다. (...) 하지만 일부 애플리케이션은 세션을 한 번 연결해놓고 세션이 끊기지 않도록 세션 타임아웃 값을 길게 설정합니다. 이 때 세션 장비의 세션 타임아웃 값이 애플리케이션의 세션 타임아웃 값보다 짧으면 통신에 문제가 생깁니다. 세션장비의 세션 테이블이 타임아웃 값을 넘어 사라졌음에도 양쪽 종단 장비는 세션을 갖고 있기에 통신을 시도하게 되고 이는 세션 장비에 의해 막힙니다."

- <IT 엔지니어를 위한 네트워크 입문 > p.202 로드밸런서, 세션 테이블 중 일부 수정 발췌 -

방화벽과 로드밸런서와 같은 세션 장비를 다루는 엔지니어들에겐 익숙하지만 타 분야 엔지니어나 개발자 등에게는 익숙하지 않은 세션 타임아웃에 대한 내용입니다. 세션 장비를 다루지 않는 이상 좀처럼 알기 어려운 내용이기도 해서 저도 이 내용을 고객에게 설명하는데 수많은 시간을 들이곤 했죠. 하지만 이 구문을 읽고 미리 외워둔 분이라면 로드밸런싱 장비를 운용하면서 빠르게 알아채고 유연한 대처가 가능할 것입니다. 동일한 상황이 발생한다면 세션 장비의 타임아웃 값을 늘리거나 애플리케이션 타임아웃 값과 비슷하게 조정하겠죠. 또한 해당 설명에는 특정 벤더에 종속되는 설명과 기능 설정이 포함되지 않으므로 어느 벤더의 장비를 사용하든 동일하게 적용할 수 있겠습니다.

두 번째

"클라우드 엔지니어가 되려면 무엇을 공부해야 하나요? AWS와 같은 클라우드 솔루션을 열심히 공부하면 될까요?"

- 어느 취업준비생에게서 들은 질문 - 

블로그에 오신 분들께 이따끔씩 받는 질문이 바로 위와 같은 질문입니다. 클라우드 엔지니어가 되고 싶은데 무엇을 공부해야 할 지 모르겠다고 하더군요. 그럼 전 역으로 질문합니다. "AWS의 DNS 서비스의 이름은 무엇인가요?" 그럼 질문자 분이 "Route 53"이라고 답합니다. 그럼 다시 질문합니다. 그럼 "'Route 53'의 '53'은 무슨 뜻인가요?" 질문자 분은 선뜻 대답하지 못 합니다. 답을 먼저 드리자면 여기서 '53'은 DNS의 UDP Port 번호인 53을 의미합니다.

이 질문을 한 이유는 클라우드와 온프레미스는 모양만 다를 뿐 본질을 같다는 것을 강조하기 위해서입니다. 클라우드에 대해 잘 알기 위해서는 온프레미스에서 사용되는 인프라의 주요 구성 요소를 잘 이해해야 합니다. 클라우드 엔지니어가 된다고 해서 리눅스를 알 필요가 없는 것도 아니고, 스위칭/라우팅/로드밸런싱에 대해 알 필요가 없는 것이 아닙니다. 클라우드는 하늘에서 뚝 떨어진 솔루션이 아닌 온프레미스의 주요 구성요소들을 가상화하여 제공하는 것이기에 본질은 거의 흡사합니다. 그러므로 클라우드의 네트워크를 이해하기 위해서는 온프레미스의 네트워크를 열심히 공부해야합니다. 기본적인 스위칭/라우팅을 비롯해 서버 로드밸런싱 / VPN / 방화벽 / 웹방화벽 / DNS 등의 기초와 이 기술의 기반을 이루는 프로토콜에 대해 이해하지 못 한다면 클라우드를 제대로 이해할 수 없습니다. 그뿐만이 아닙니다. 기본적인 프로토콜/기술뿐만 아니라 온프레미스에서 사용되는 응용기술 또한 클라우드에서 그대로 사용됩니다.

예를 하나 들어보겠습니다. AWS에는 전용 회선 서비스인 Direct Connect(DX)가 있습니다. 온프레미스와 AWS VPC(Virtual Private Cloud)를 전용 회선으로 연결해주는 서비스죠. 다만 Direct Connect도 전용 회선인만큼 데이터 암호화가 되지 않는 특징을 갖습니다. 그래서 Direct Connect로 연결한 후, 그 위에 AWS Site to Site VPN Tunnel을 연결하여 데이터를 암호화하여 흐르도록 하는 방법이 존재합니다. 아래 그림처럼 말이죠. 

<https://docs.aws.amazon.com/ko_kr/whitepapers/latest/aws-vpc-connectivity-options/aws-direct-connect-vpn.html>

이렇게 하면 AWS 내에서 전용선 서비스를 사용하면서 데이터를 암호화하여 주고 받을 수 있게 되죠. 본래 이 방법은 온프레미스에서도 흔히 사용되는 방법입니다. 즉 온프레미스에서 두루 사용되다가 클라우드로 넘어와서 사용되는 것이죠. 책에도 이 내용에 대해 언급하고 있습니다.

"인터넷 망이 아닌 전용 회선으로 직접 연결할 때 전용 회선을 통해 VPN을 추가로 구성하는 경우가 있습니다. 전용 회선은 종단 간에 직접 연결하지만 회선 자체에는 데이터가 그대로 흐르므로 암호화가 되지 않기에 보안을 강화하기 위해 전용 회선에 VPN을 추가로 구성해 데이터를 암호화 합니다."

- <IT 엔지니어를 위한 네트워크 입문 > p.387 VPN 중 일부 발췌 -

이렇듯 클라우드 네트워크와 온프레미스 네트워크는 기본부터 응용까지 거의 비슷한 모양새를 하고 있습니다. 그러므로 클라우드 네트워크를 이해하기 위해서는 온프레미스 네트워크를 잘 이해해야 합니다. 그러나 네트워크의 지식은 워낙 방대하고 시간은 부족하므로 중요한 부분을 빠르게 배워야 하죠. 이 책의 부제가 <클라우드 데브옵스 시대의 필수 역량>인 이유이기도 합니다.

 

이 책에서 소개하는 '네트워크 입문 지식' 주요 목차

일부 목차를 제외하고 중요하다고 판단한 목차를 선별하였습니다.

1장 네트워크 시작하기

OSI 7 Layer와 TCP/IP에 대해 설명합니다.

3장 네트워크 통신하기

Uni/Multi/Broad/AnyCast와 MAC/IP/ARP에 대해 설명합니다.

4장 스위치 : 2계층 장비

VLAN, STP와 스위칭 장비에 대해 설명합니다.

5장 라우터/L3 스위치 : 3계층 장비

라우터의 동작 방식과 경로지정 방법, 라우팅 설정 방법에 대해 설명합니다.

6장 로드밸런서/방화벽 : 4계층 장비

로드밸런서와 방화벽, 세션에 대해 설명합니다.

7장 통신을 돕는 네트워크 주요기술

NAT와 DNS, GSLB, DHCP에 대해 설명합니다.

9장 보안

보안의 개념과 보안 솔루션의 종류, 방화벽/IPS/IDS/VPN 등에 대해 설명합니다.

11장 이중화 기술

네트워크 이중화/서버 이중화, LACP에 대해 설명합니다.

12장 로드밸런서

부하분산 방식과 로드밸런서의 네트워크 구성방식에 대해 설명합니다.

13장 네트워크 디자인

2/3계층 네트워크 디자인에 대해 설명합니다. Spine/Leaf에 대한 설명이 포함되어있습니다.

 

추천하고 싶은 <책을 공부하는 방법>

많은 내용을 다루는 책인만큼 책이 얇지 않습니다. 그리고 이제 네트워크에 입문하는 분들이라면 내용이 크게 와닿지 않을 것입니다. 하나같이 어렵게 느껴지겠죠. 그러므로 우선 1장, 2장, 3장과 같은 기본적인 내용은 꼼꼼하게 보고 그 이후에는 이해가 되지 않는 부분은 자연스럽게 넘기고 가볍게 읽어 보되 그러한 과정을 몇 번을 반복하는 것을 권장합니다. 부담을 가지지 않고 가볍게 여러 번 반복해서 읽는 것에 중점을 두고 말이죠. 그 후 실무 혹은 유사한 환경에서 네트워크에 관련된 문제/이슈를 겪거나 네트워크 구성에 관한 궁금점이 생기면 이 책을 다시 펼쳐서 관련 내용을 확인하는 방식으로 책을 이용하는 것을 추천하고 싶습니다. 

이 책을 한 번 완독하는 것에서 끝내는 것이 아닌, 자신에게 필요한 부분을 습관적으로 살펴보고, 굳이 필요하지 않은 내용이더라도 가볍게 여러 번 반복해서 읽는 것을 추천드립니다! 그러려면 책이 늘 가까운 곳에 있어야겠죠?

 

반응형

댓글