로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

『파이썬 네트워킹 마스터: 실무자를 위한 파이썬 네트워크 자동화, DevOps, SDN 가이드』

   
지은이 에릭 추   |   출판사 에이콘  |   발행일 2018년 05월 28일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 35,000원31,500원 10%
마일리지 5% 1,750원
발행일 2018-05-28
ISBN 1161751572 | 9791161751573
기타정보 번역서 | 548쪽
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
프로그래밍언어
   
이 책의 원서
  Mastering Python Networking: Your one stop solution to using Python for network automation, DevOps, and SDN
Packt Publishing
 

★ 요약 ★



급격히 변화하는 네트워킹 분야에서, 파이썬을 비롯한 소프트웨어 기반 네트워크의 중요성은 나날이 커지고 있다. 이 책은 기존 네트워크 개발자들을 대상으로 자동화, 보안, 모니터링, SDN 등 다양한 분야에서 파이썬을 도입하는 방법을 제시한다. 또한 실무에서 검증된 풍부한 예제를 통해, 독자들이 필요한 분야에 곧바로 적용할 수 있도록 했다. 이 책은 최신 네트워킹 경향을 파악하기 위한 좋은 길잡이가 될 것이다.





★ 이 책에서 다루는 내용 ★



■ 파이썬과 TCP/IP 스위트에 대한 기초

■ 파이썬을 통한 API 미지원 기기 명령어 실행

■ Cisco, Juniper, Arista eAPI와 파이썬의 결합을 통한 자동화 기법

■ Ansible을 통한 Cisco, Juniper, Arista 네트워크 제어

■ 파이썬을 통한 네트워크 보안

■ Flask 기반 웹 서비스 API

■ 파이썬을 통한 SDN 네트워크 마이그레이션





★ 이 책의 대상 독자 ★



여러 종류의 네트워크 디바이스를 관리하고 있으며, 파이썬을 사용해 네트워크 관련 문제를 해결하는 방법을 배우길 원하는 IT 전문가나 실무 엔지니어를 대상으로 한다. 기본적인 네트워킹 혹은 파이썬에 대한 지식을 미리 습득하는 것을 추천한다.





★ 이 책의 구성 ★



1장, ‘TCP/IP 프로토콜과 파이썬 복습하기’에서는 현대에 인터넷 커뮤니케이션을 구성하는 근본적인 기술들, OSI와 클라이언트-서버 모델부터 TCP, UDP, IP 프로토콜 스위트까지 다룬다. 또한 파이썬에 대한 간단한 소개와, 형식, 오퍼레이터, 반복문, 함수, 패키지 등에 대해 언급한다.

2장, ‘저레벨 네트워크 기기 상호 작용’에서는 네트워크 기기에 파이썬을 사용해 명령을 실행하는 방법을 예시를 통해 알아본다. 이 결과를 통해 CLI 기반 인터페이스를 자동화할 때의 어려움을 확인하게 될 것이다. 2장에서는 PExpect와 Paramiko 라이브러리를 사용한다.

3장, ‘API와 목적 중심 네트워킹’에서는 애플리케이션 프로그램 인터페이스(API)와 다른 고레벨 상호 작용 메서드를 지원하는 최신 네트워크 디바이스들에 대해 이야기한다. 또한 네트워크 엔지니어들이 파이썬을 통해 틀을 벗어나지 않으면서도 원하는 위치에 대한 저레벨 작업을 수행하는 방법에 대해 알아본다. 이 책에서는 많은 API 중 Cisco NX-API, Juniper PyEZ, Arista PyEAPI를 예시로 살펴볼 것이다.

4장, ‘파이썬 자동화 프레임워크 - Ansible 기초’에서는 파이썬 기반 오픈소스 자동화 프레임워크인 Ansible에 대해 살펴본다. Ansible은 API에서 한 단계 더 나아가 네트워크 인텐트와 디바이스 상호 작용을 구현하는 데 초점을 맞추고 있다. 4장에서는 Ansible의 장점, 구조, Cisco, Juniper, Arista 기기 등에 적용하는 실제 예제 등을 알아볼 것이다.

5장, ‘파이썬 자동화 프레임워크 - Ansible 심화’에서는 4장에서 다뤘던 내용을 토대로 Ansible의 고급 개념인 조건문, 반복문, 템플릿, 변수, 암호화, 역할 등을 살펴본다. 또한 사용하고 있는 네트워크 환경에 맞는 Ansible 모듈을 직접 작성하는 방법도 알아볼 것이다.

6장, ‘파이썬 네트워크 보안’에서는 네트워크 보안을 강화하기 위한 파이썬 도구들을 알아본다. Scapy를 이용한 보안 테스팅, Ansible을 통한 접근 목록 구축, syslog와 UFW를 사용한 포렌식 분석 등을 살펴볼 것이다.

7장, ‘파이썬 네트워크 모니터링 - 1부’에서는 다양한 도구를 사용해 네트워크를 모니터링하는 방법에 대해 알아본다. 우선 SNMP와 PySNMP를 사용해 디바이스 정보를 얻어낸다. 그 다음 Matplotlib과 Pygal을 사용해 결과를 시각화한다. 마지막으로 Cacti 예제를 통해 파이썬 스크립트를 입력 소스로 활용하는 방법을 살펴볼 것이다.

8장, ‘파이썬 네트워크 모니터링 - 2부’에서는 더 많은 네트워크 모니터링 도구를 살펴본다. 우선 Graphviz를 통해 LLDP에서 자동으로 정보를 받아와 네트워크 그래프를 그리는 방법을 알아본다. 다음으로 NetFlow 또는 유사한 기술을 사용해 푸시 기반 네트워크 모니터링을 수행한다. 또한 파이썬을 사용해 패킷 정보를 디코딩해 플로 정보를 시각화한다. 마지막으로 Elasticsearch를 설치해 네트워크 모니터링을 보안하는 방법을 살펴본다.

9장, ‘파이썬을 사용한 네트워크 웹 서비스 구축’에서는 파이썬 웹 프레임워크인 플라스크를 사용해 네트워크 레벨에서 API를 직접 만드는 방법을 알아본다. 네트워크 레벨 API는 네트워크 환경과 무관하게 리퀘스트를 처리하거나, 원하는 대로 동작을 변경하거나, 필요한 동작만을 노출해 보안을 강화할 수 있다는 장점을 갖는다.

10장, ‘OpenFlow 기초’에서는 소프트웨어 정의 네트워크 프로토콜인 OpenFlow의 기본적인 개념을 알아본다. 프로토콜은 네트워크 디바이스에서 컨트롤과 데이터 영역을 분리해, 쉽게 네트워크를 구축하고 새로운 기능들을 개선할 수 있도록 한다. 이 책에서는 파이썬 기반의 컨트롤러인 Ryu와 Mininet을 사용해 OpenFlow 네트워크를 시뮬레이션하고, OpenFlow 레이어 2 스위치와 방화벽에 대한 예제를 소개한다.

11장, ‘OpenFlow 심화’에서는 OpenFlow에 대한 추가적 네트워크 애플리케이션과 기능들을 사용하는 방법에 대해 알아본다. 우선 정적 플로를 위한 OpenFlow 라우터를 구현하고, 기존의 네트워크와 상호 작용할 수 있도록 REST API 및 BGP 기능을 더해 기능을 추가해볼 것이다. 마지막으로 방화벽 애플리케이션을 예시로 들어 기존의 네트워크 기능을 가상화하는 방법에 대해 알아본다.

12장, ‘OpenStack, OpenDailight, NFV’에서는 소프트웨어 정의 네트워킹 프로젝트인 OpenStack, OpenDaylight, 네트워크 함수 가상화(NFV)에 대해 알아본다. 특히, OpenStack 네트워크 프로젝트인 Neutron에 중점을 둬 서비스 아키텍처를 살펴보고, TryStack과 DevStack을 통해 OpenStack을 사용하는 방법을 알아본다. 마지막으로 Mininet을 이용한 간단한 허브에 쓸 OpenDaylight 컨트롤러 예제를 살펴본다.

13장, ‘하이브리드 SDN’에서는 앞에서 배운 내용을 토대로 소프트웨어 기반 네트워크를 구현하기 위해 고려해야 할 내용과 방법들에 대해 종합적으로 살펴본다. 구체적으로는 네트워크에 SDN과 OpenFlow를 도입하기 위해 필요한 그린필드 구축, 컨트롤러 중복성, BGP 상호 운용성, 모니터링 통합, 컨트롤러 보안 TLS 연결, 물리 스위치 선택에 대해 알아본다.





★ 지은이의 말 ★



이 책은 파이썬을 기반으로 해 네트워크 엔지니어링 작업을 수행한다. 파이썬은 배우기 쉬운 고레벨 프로그래밍 언어로, 네트워크 엔지니어들의 창의성과 문제 해결 능력을 실무에 유연하게 적용할 수 있도록 한다. 파이썬은 다양한 대규모 네트워크를 구성하는 데 없어서는 안 되는 언어로 자리 잡고 있으며, 이 책에서는 그에 관련된 기법들도 함께 소개하고 있다.

1장. TCP/IP 프로토콜과 파이썬 복습하기



__인터넷 개괄

____서버, 호스트, 네트워크 요소 시스템 온 칩

____데이터센터의 등장

________엔터프라이즈 데이터센터

________엣지 데이터센터

__OSI 모델

__클라이언트 서버 모델

__네트워크 프로토콜 스위트

____전송 제어 프로토콜

________TCP의 기능과 특성

________TCP 메시지와 데이터 전달

____사용자 데이터그램 프로토콜

____인터넷 프로토콜

________IP NAT과 보안

________IP 라우팅

__파이썬 개요

____버전

____운영체제

____파이썬 프로그램 실행하기

____내장 자료형

________None 타입

________숫자형

________나열형

________매핑형

______세트형

____연산자

____제어 흐름

____함수

____클래스

____모듈과 패키지

__요약





2장. 저레벨 네트워크 기기 상호 작용



__CLI의 어려움

__가상 네트워크 랩 만들기

____Cisco Virtual Internet Routing Lab

________VIRL 팁

____Cisco DevNet과 dCloud

____GNS3

__파이썬 Pexpect 라이브러리

____설치

____Pexpect 개괄

____예제

____심화 기능

____Pexpect와 SSH

____종합

__파이썬 Paramiko 라이브러리

____설치

____Paramiko 개괄

__예제

____심화 기능

________서버 관리

____종합

__논의

____Pexpect와 Paramiko 사용 시 주의할 점

________멱등 네트워크 기기 상호 작용

________빠른 자동화와 오작동

__요약





3장. API와 목적 중심 네트워킹



__파이썬 코드 기반 인프라스트럭처

____스크린 스크래핑과 API 구조 출력

____데이터 모델링 인프라스트럭처 코드

__Cisco API와 ACI

____Cisco NX-API

________설치와 기기 준비

________NX-API 예제

____Cisco와 YANG 모델

____Cisco ACI

__Juniper 네트워크 파이썬 API

____Juniper와 NETCONF

________준비

________Juniper NETCONF 예제

____Juniper PyEZ

________설치와 준비

________PyEZ 예제

__Arista 파이썬 API

____Arista eAPI 관리 도구

________eAPI 준비

________eAPI 예제

____Arista Pyeapi 라이브러리

________Pyeapi 설치

________Pyeapi 예제

__범용 라이브러리

__요약





4장. 파이썬 자동화 프레임워크 - Ansible 기초



__간단한 Ansible 예제

____컨트롤 노드 설치

____첫 번째 Ansible 플레이북

________공개 키 인증

________인벤토리 파일

________플레이북 만들기

__Ansible의 장점

____에이전트가 필요 없음

____멱등

____단순함과 확장성

____벤더 지원

__Ansible 구조

____YAML

____인벤토리

____변수

____Jinja2 템플릿

__Ansible 네트워킹 모듈

____로컬 연결과 환경 변수

____제공자 매개변수

__Ansible Cisco 예제

__Ansible Juniper 예제

__Ansible Arista 예제

__요약





5장. 파이썬 자동화 프레임워크 - Ansible 심화



__Ansible 조건문

____when 절

____네트워크 모듈 조건문

__Ansible 반복문

____표준 반복문

____딕셔너리 반복문

__템플릿

____Jinja2 템플릿

____Jinja2 반복문

____Jinja2 조건문

__그룹 및 호스트 변수

____그룹 변수

____호스트 변수

__Ansible 볼트

__Ansible include와 역할

____Ansible include문

____Ansible 역할

__사용자 모듈 작성하기

____사용자 모듈: 첫 번째

____사용자 모듈: 두번째

__요약





6장. 파이썬 네트워크 보안



__랩 설정

__파이썬 Scapy

____Scapy 설치

____대화형 예제

____스니핑

____TCP 포트 스캔

____핑 콜렉션

____네트워크 공격

____Scapy 리소스

__접근 목록

____Ansible을 통한 접근 목록 생성

____MAC 접근 목록

__Syslog 검색

____정규 표현식 검색

__다른 도구들

____사설 VLAN

____UFW와 파이썬

__요약





7장. 파이썬 네트워크 모니터링 – 1부



__랩 설정

__SNMP

____설정

____PySNMP

__파이썬 시각화

____Matplotlib

________설치

________기본 예제

________Matplotlib을 통한 SNMP 결과 출력

________추가 Matplotlib 리소스

____Pygal

________설치

________기본 예제

________Pygal을 이용한 SNMP 출력

________추가 Pygal 리소스

__파이썬과 Cacti

____설치

____파이썬 스크립트를 통한 데이터 입력

__요약





8장. 파이썬 네트워크 모니터링 – 2부



__Graphviz

____랩 설정

____설치

____Graphviz 예제

____파이썬 Graphviz 예제

____LLDP 인접 그래프

________정보 취득

________파이썬 파서 스크립트

________최종 플레이북

__플로 기반 모니터링

____파이썬을 이용한 NetFlow 파싱

________파이썬 소켓과 구조체

____ntop 트래픽 모니터링

________ntop 파이썬 확장 기능

____sFlow

________파이썬을 이용한 sFlowtool과 sFlow-RT

__Elasticsearch(ELK 스택)

____호스팅 ELK 서비스 설정

____Logstash 형식

____Logstash 포매팅을 위한 파이썬 헬퍼 스크립트

__요약





9장. 파이썬을 사용한 네트워크 서비스 구축



__파이썬 웹 프레임워크 비교

__Flask와 랩 설정

__Flask 들어가기

____HTTPie 클라이언트

____URL 라우팅

____URL 변수

____URL 생성

____jsonify 반환

__네트워크 정적 콘텐츠 API

____Flask-SQLAlchemy

____네트워크 콘텐츠 API

____기기 API

____기기 ID API

__네트워크 동적 동작

____비동기 작업

__보안

__요약





10장. OpenFlow 기초



__랩 설정

__OpenFlow 개괄

____기본 동작

____OpenFlow 1

__Mininet

__파이썬을 이용한 Ryu 컨트롤러

____Open vSwitch 명령어

____Ryu 방화벽 애플리케이션

__레이어 2 OpenFlow 스위치

____애플리케이션 계획

____애플리케이션 컴포넌트

__POX 컨트롤러

__요약





11장. OpenFlow 심화



__설정

__Ryu를 사용한 OpenFlow 동작

__패킷 검사

__정적 라우터

____Mininet 토폴로지

____Ryu 컨트롤러 코드

________Ryu 플로 설치

________Ryu 패킷 생성

________최종 결과

__라우터와 API

____Ryu 컨트롤러와 API

____API 사용 예제

__OpenFlow와 BGP 라우터

____랩 라우터 설정

____파이썬 BGP speaker 라이브러리

____Ryu BGP 애플리케이션

__OpenFlow 방화벽

__요약





12장. OpenStack, OpenDaylight, NFV



__OpenStack

____OpenStack 개괄

____OpenStack 네트워킹

____OpenStack 사용하기

__OpenDaylight

____OpenDaylight 프로그래밍 개괄

____OpenDaylight 예제

__요약





13장. 하이브리드 SDN



__네트워크 준비

____프레임워크나 도구에 친숙해지기

____네트워크 표준화

____최소 기능 제품

____끊임없는 시도

__그린필드 배포

__컨트롤러 이중화

____다중 컨트롤러 예제

__BGP 마이그레이션 예제

__마이그레이션 상세

____VIRL과 Mininet 설정

____Cisco 디바이스 설정

____Ryu BGP 스피커

____Mininet과 REST 라우터

____결과 및 검증

__추가 BGP 예제

____Websocket을 통한 JSONRPC 검사

__모니터링 통합

__보안 TLS 연결

__물리 스위치 고르기

____간단한 OpenFlow 스위치

____상용 스위치

____화이트박스 스위치

__요약
에릭 추(Eric Chou)

16년 경력을 가진 전문가다. 아마존과 마이크로소프트 등 거대한 기업의 네트워크 관리 경력이 있으며, 네트워크 자동화와 파이썬에 관심이 많다. 파이썬 강사, 블로거로서 자신의 지식을 나누고 있으며, 몇몇 유명한 파이썬 오픈 소스 프로젝트에 활발히 기여하고 있다. 음성 인터넷 프로토콜에 대한 두 종류의 특허를 보유하고 있으며, A10 Networks의 수석 엔지니어로서 보안 분야의 제품 연구와 개발에 전념하고 있다.





★ 옮긴이의 말 ★



파이썬의 장점으로 가장 많이 이야기되는 것 중 하나는 그 범용성과 유연함이다. 파이썬은 가장 빠른 언어도 아니고, 가장 쉽게 배울 수 있는 언어도 아니며, 가장 정교하고 기능이 풍부한 언어도 아니지만 거의 모든 분야에 사용하고자 할 때 간단하게 그 답을 찾을 수 있다는 점은 파이썬이 가진 큰 무기다. 다시 말해, 파이썬은 결과물 자체의 속도보다는 그 결과물을 만들어내는 속도에 있어서 현재 다른 어떠한 언어보다도 우위에 있다(물론 파이썬이 그렇게 느린 언어도 아니다). 파이썬에 대한 많은 책 역시 이러한 이점을 따라 언어 자체보다는 파이썬을 실무에 어떻게 적용할 수 있는지에 대한 내용을 중점으로 서술되곤 한다. 머신 러닝이나 통계, 수치 해석과 같은 분야에 대한 파이썬 책들이 그렇다.

그리고 네트워크 프로그래밍이 있다. 일반적으로 네트워크 분야에서 파이썬을 사용하는 방법으로 장고(Django)나 플라스크(Flask) 등의 웹 프레임워크가 알려져 있지만, 파이썬의 유연함과 자동화 기능은 파이썬을 사용해 훨씬 다양한 분야에서의 응용을 가능케 한다. 더욱이 제조사에 의해 폐쇄적으로 구축돼오던 네트워크 프로그래밍은 점점 개방되고 표준화되는 방향으로 변화하고 있고 이 과정에서 파이썬은 큰 역할을 하고 있다.

저자는 이 책에서 실무자들이 이러한 변화에 어떻게 대응할 수 있는지에 대한 방법들을 제시한다. 이 책은 파이썬이나 네트워크 프로그래밍의 기초를 설명하기보다는 실제로 파이썬을 어떻게 사용해 네트워크를 자동화할 수 있는지에 초점을 맞추고 있다. 저자의 오랜 경험이 반영된 많은 예제는 파이썬을 실무 단계에서 바로 적용할 수 있는 지름길 역할을 한다. 한 걸음 더 나아가고 싶은 네트워크 개발자에게 이 책이 많은 도움이 될 것이다.





★ 옮긴이 소개 ★



전성빈

연세대학교 기계공학과를 졸업하고, 동 대학원에서 이미지 프로세싱을 주제로 박사 과정을 수행 중이다. 이맥스(Emacs)를 사용하며, 웹 프로그래밍을 이용한 지식의 구조화에 꾸준한 관심을 갖고 있다.
등록된 서평이 없습니다.
SQL 전문가 가이드 [The Guide for SQL Professional](2013 Edition)...
한국데이터베이스진흥원
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
JSP 2.1 웹 프로그래밍(입문에서 완성까지)(SECOND EDITION)...
손진곤
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
『C++로 나만의 운영체제 만들기 : 비주얼 스튜디오를 활용한 커널 개발』...
박주항
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『GitHub를 활용한 다양한 도구 개발: 개발 워크플로우 최적화』
크리스 도슨, 벤 스트라우브 저
27,000원
(10%↓+5%)
 
『이득우의 언리얼 C++ 게임 개발의 정석』
이득우 저
45,000원
(10%↓+5%)
 
『유니티 게임 오디오 개발: 게임 오디오의 기본 개념부터 오디오 및 이펙트 개발까지』
마이클 랜햄 저
27,000원
(10%↓+5%)
 
『예제로 배우는 언리얼 엔진 4 게임 개발: C++와 블루프린트로 머티리얼 제작부터 네트워킹까지』
벤자민 카날 저
0원
(0%↓+1%)
 
『예제로 배우는 언리얼 엔진 4 게임 개발: C++와 블루프린트로 머티리얼 제작부터 네트워킹까지』
벤자민 카날 저
40,500원
(10%↓+5%)
 
이메일주소수집거부