Go를 활용한 네트워크 자동화
2024년 11월 25일 출간
- eBook 상품 정보
- 파일 정보 pdf (10.18MB)
- ISBN 9791161759111
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
작품소개
이 상품이 속한 분야
1장. 소개
기술 요구사항
네트워킹과 Go
왜 Go인가?
비기술적인 이유
Go의 미래
기술적인 이유
네트워킹을 위한 Go
Go와 파이썬
코드 실행
타입 시스템
성능
사용 편의성
메모리 관리
구문
장애 처리
동시성
커뮤니티
Go 설치하기
윈도우즈
맥
리눅스
요약
참고 문헌
2장. Go의 기초
기술 요구사항
Go란 무엇인가?
Go의 격언
Go 소스 코드 파일
패키지
Go 모듈
패키지 임포트하기
주석
이름
Go 코드 실행하기
온라인에서 Go 프로그램 실행하기
Go Playground
Go Play Space
미래 엿보기
Go 소스 코드 관리를 위한 go 도구
build
run
mod
get
install
fmt
test
env
요약
참고 문헌
3장. Go 시작하기
기술 요구사항
Go의 타입 시스템
기본 타입
컨테이너형
사용자 정의 타입
산술, 비교, 논리 연산자
산술 연산자
논리 연산자
비교 연산자
제어 흐름
for 루프
조건문
goto 문
함수
함수 인수
에러 처리
메서드
가변 인수 함수
클로저
디퍼
인터페이스
네트워크 자동화 예제
표준 라이브러리의 예
계약으로서의 인터페이스
I/O 연산
io.Reader 인터페이스
io.Writer 인터페이스
io.Copy 함수
합성
디코딩과 인코딩
디코딩
인코딩
동시성
고루틴
채널
채널과 타이머
공유 데이터 액세스
동시성 주의사항
요약
참고 문헌
4장. Go를 사용하는 네트워킹(TCP/IP)
기술 요구사항
링크 계층
네트워크 인터페이스
이더넷
인터넷 계층
net 패키지
새로운 netip 패키지
IP 주소로 작업하기
경로 조회
전송 계층
UDP 핑 애플리케이션
응용 계층
HTTP 클라이언트 작업
HTTP 서버 작업
요약
참고 문헌
2부. 일반적인 도구와 프레임워크
5장. 네트워크 자동화
기술 요구사항
네트워크 자동화란?
네트워크 자동화가 필요한 이유
상향식 관점
하향식 관점
네트워크 운영 작업 자동화
구성 관리
네트워크 상태 분석
네트워크 감사 및 보고서 작성
시스템 접근 방식
폐루프 자동화
데모 애플리케이션
요약
참고 문헌
6장. 구성 관리
기술 요구사항
환경 설정
토폴로지 만들기
SSH를 통해 네트워크 장치와 상호작용하기
네트워크 장치 구성 설명하기
Go의 SSH 패키지를 사용해 네트워크 장치에 액세스하기
일상적인 SSH 작업 자동화하기
HTTP를 통해 네트워크 장치와 상호작용하기
Go의 HTTP 패키지를 사용해 네트워크 장치에 액세스하기
HTTP를 통해 다른 시스템에서 구성 입력 가져오기
상태 확인
라우팅 정보 확인하기
장치 간 도달 가능성 확인하기
요약
참고 문헌
7장. 자동화 프레임워크
기술 요구사항
앤서블
앤서블 구성 요소
앤서블 모듈로 작업하기
앤서블 모듈 개발하기
플레이북 실행하기
테라폼
테라폼의 구성 요소
테라폼 사용하기
테라폼 제공자 개발하기
네트워킹 제공자
기타 자동화 프레임워크
Gornir
Consul-Terraform-Sync
mgmt
미래 전망
요약
참고 문헌
3부. API 활용하기
8장. 네트워크 API
기술 요구사항
API 데이터 모델링
OpenAPI
데이터 모델링
데이터 입력
장치 구성
JSON-RPC
코드 생성
구성 빌드하기
장치 구성
RESTCONF
코드 생성
구성 빌드하기
장치 구성
상태 확인
작동 상태 모델링
작동 상태 처리하기
gRPC
Protobuf
gRPC 전송
gRPC 서비스 정의하기
gRPC로 네트워크 장치 구성하기
gRPC로 네트워크 장치에서 원격 측정 스트리밍하기
요약
참고 문헌
9장. OpenConfig
기술 요구사항
장치 프로비저닝
Set RPC
gNMI로 네트워크 인터페이스 구성하기
스트리밍 원격 측정
Subscribe RPC
gNMI를 사용한 스트리밍 원격 측정 처리 파이프라인
이벤트 관리지 샘플 프로그램
데이터 가시화하기
네트워크 운영
Traceroute RPC
경로 검증기 애플리케이션
요약
참고 문헌
10장. 네트워크 모니터링
기술 요구사항
데이터 평면 원격 측정 처리
패킷 캡처
패킷 필터링
패킷 처리
트래픽 만들기
Go 프로그램 디버깅
IDE에서 디버깅하기
데이터 평면 원격 측정 집계
상위 토커
Go 프로그램 테스트
제어 평면 성능 측정
BGP 업데이트 전파 시간 측정
이벤트 기반 BGP 상태 기계
BGP 메시지 인코딩 및 디코딩
측정 지표 수집 및 노출
측정 지표 저장 및 시각화
분산 애플리케이션 개발
요약
참고 문헌
11장. 전문가의 식견
데이비드 바로소
스튜어트 클락
클라우디아 드 루나
알렉시스 드 탈루엣
존 도크
로만 도딘
데이비드 지
다니엘 헤르츠버그
마커스 하인즈
스네하 인구바
안토니오 오헤아
칼 몬타나리
브렌트 솔즈베리
막시밀리안 빌헬름
매트 오스왈트
참고 문헌
12장. 부록: 테스트 환경 구축
테스트 환경이란?
1단계 - 테스트 환경 구축하기
2단계 - 컨테이너 이미지 업로드하기
3단계 - 테스트 환경과 상호작용하기
가상 네트워크 토폴로지 시작하기
장치에 연결하기
네트워크 토폴로지 삭제하기
4단계 - 클라우드 호스팅 환경 정리하기
참고 문헌
이 책의 대상 독자
네트워크 자동화가 무엇인지, Go 프로그래밍 언어가 네트워크 자동화 솔루션을 개발하는 데 어떤 도움이 되는지 알고자 하는 모든 네트워크 엔지니어, 관리자 그리고 기타 실무자를 위해 설계된 책이다. 전반부에서는 Go 언어의 주요 기능을 설명하므로 프로그래밍의 기본 지식을 갖춘 초보자에게 적합하다.
이 책의 구성
1장, ‘소개’에서는 네트워킹과 Go 언어, Go 언어의 장점 그리고 파이썬과의 차이점을 살펴본다.
2장, ‘Go의 기초’에서는 Go 언어를 정의하고 기본 원칙을 소개한다. 그리고 Go 소스 코드 파일 구조를 설명하고 Go 프로그램을 컴파일하는 방법을 알아본다.
3장, ‘Go 시작하기’에서는 제어 흐름, 입출력 연산, 디코딩과 인코딩 그리고 동시성과 같은 네트워크 자동화와 관련된 Go의 다양한 특성을 소개한다.
4장, ‘Go를 사용하는 네트워킹(TCP/IP)’에서는 TCP/IP 모델의 각 계층에서 Go를 사용하는 실제 사용 사례를 살펴본다.
5장, ‘네트워크 자동화’에서는 네트워크 자동화가 네트워크 운영에 미치는 영향 그리고 비즈니스에서의 장점에 대해 설명한다. 또한 개별 사용 사례를 네트워크 자동화 시스템으로 확장하는 방법도 알아본다.
6장, ‘구성 관리’에서는 SSH와 HTTP를 통해 다양한 네트워킹 공급자의 네트워크 장치와 상호작용해서 네트워크 장치를 구성하고 운영 상태를 수집해 모든 변경 사항을 확인하는 실제 예를 살펴본다.
7장, ‘자동화 프레임워크’에서는 앤서블(Ansible)과 테라폼(Terraform)을 중심으로 자동화 프레임워크를 Go와 통합하는 방법을 설명한다.
8장, ‘네트워크 API’에서는 네트워크 자동화를 가능하게 하는 네트워크 장치를 관리하기 위한 기기 간 인터페이스(RESTCONF와 OpenAPI부터 gRPC까지)를 살펴본다.
9장, ‘OpenConfig’에서는 장치 프로비저닝(provisioning)이나 원격 측정 스트림(telemetry stream) 그리고 라우팅 추적(traceroute)과 같은 행위를 실행하는 등 원격 OpenConfig gRPC 서비스로 일반적인 운영 작업을 수행하는 방법을 알아본다.
10장, ‘네트워크 모니터링’에서는 Go를 사용해 네트워크 패킷을 캡처하거나, 데이터 평면 원격 측정(data plane telemetry)을 처리하거나, 네트워크 성능을 측정하기 위해 능동형 프로브(active probe)를 실행하고 측정 지표를 시각화하는 등 네트워크를 다양한 각도로 모니터링하는 방법을 자세히 알아본다.
11장, ‘전문가의 식견’에서는 네트워크 자동화에 대한 실무 경험이 있거나 네트워크 관련 업무와 활동을 위해 Go를 사용하는 사람의 관점을 공유한다.
12장 ‘부록: 테스트 환경 구축’에서는 이 책의 모든 예제를 원활하게 실행할 수 있도록 호환되는 컨테이너랩(Containerlab)의 버전과 관련 종속성을 포함하는 테스트 환경을 구축하는 과정을 설명한다.
이 책에서 다루는 내용
◆ 네트워크 관련 예제를 통한 Go 프로그래밍 언어의 기본 개념
◆ 네트워크 자동화를 위한 Go의 강력한 기능
◆ 네트워크 자동화의 목표와 이점 그리고 일반적인 사용 사례
◆ 다양한 기술을 사용해 네트워크 장치와 상호작용하는 방법
◆ Go 프로그램을 자동화 프레임워크에 통합하는 방법
◆ Go를 OpenConfig 생태계에 활용하는 방법
◆ 네트워크 가시성을 위해 분산 및 확장 가능한 시스템 구축
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!