NETCONF
Data formatting해서 전송 하는 방법 중의하나
이렇게 전통적인 방식은, 한대 한대 메뉴얼리 설정해야되서 귀찮아서 NETwork CONFiguration 이 나옴
intend base(의사를 밣히면 컨트롤러가 네트워크 장비를 설정한다는 것)
network를 configuration을 한다고해서 netconf 나옴. (SSH 사용함)
장비 벤더들 마다 다 config 명령어가 다르기때문에, 표준적인 게 필요하다.
이 과정에서 나온게 netconf (IETF 표준) 모델임
서로 비슷해보이지만 돌아가는 방식이 많이 다름
실습
https://developer.cisco.com/site/sandbox/ㅇ
Cisco DevNet
Cisco DevNet is Cisco's developer program to help developers and IT professionals who want to write applications and develop integrations with Cisco products, platforms, and APIs. Cisco DevNet includes Cisco's products in software-defined networking, secur
developer.cisco.com
실습 할수있는 Cisco DevNet Homepage
깃 허브 가서 코드 샘플 보기
그리고 그거 보고 이해하고 따라 하려고 노력하기!!
RESTCONF
기본적인 기능은 동일하나, HTTPS를 이용해서 통신함
단순히 SSH 대신 HTTPS 프로토콜을 사용하는 것만 다른 거임
HTTP는 REST 통신을 함
HTTP 프로토콜을 쓰기위해, 우리가 데이터를 보내느 과정에서 Header를 조정하던지, 이런 작업을 위해 POSTMAN 이라는 Software를 다운 받아야함
POSTMAN 은 API Test 툴임
우리가 이제 REST API를 만들어야됨
그리고 상대편 서버로부터 데이터를 어떤 Type으로 받을 것 인지도 설정해야함
그리고 Cisco가 제공하는 Sandbox 장비 Auth를 해야함
그 다음, 이제 REST 명령어인 GET을 통해서 정보를 가져와보자
Send를 누르면...
앞에서는 XML Type으로 가져왓는데(NETCONF) 이번에는 JSON Format(RESTCONF)를 통해 1번 인터페이스 정보만 가져왔음! 굿!! 그래서 SDN을 구현하는 여러가지 방법이 있는데, 특히 Cisco DNA Center의 장비들이 NETCONF 나 RESTCONF를 통해 컨트롤 하기 때문에 이 방법들을 잘 알고 있고 숙지 하고 있어야 함
Chef
Open source orchestration tool
SDN 컨트롤러가 이 네트웤에 있는 다양한 장비들을 어떻게 동시에 관리 할 수 있게 하는 툴
사람이 못하는 것은 이 오케스트레이션 툴도 못함
사람이 하는 건 오케스트레이션 툴을 이용, 자동화가 가능함
그래서 on-promise type이나 cloud type 장비들도 모두 컨트롤 가능함
그리고 이런 오케스트레이션 툴은 네트웤 장비에만 극한 되는 것이 아닌, 모든 서버, 모든 장비에 적용이 되기때문에 이 툴을 이용, 모든 것들 관리 감독 가능 하게 만듬 -> 인력 줄이기용
매니지먼트 서버가 필요함
2가지 모델이 있음
1. Push model = 매니지먼트 서버가 관리 노드에게 configuration을 쏴주는 모델
2. Pull model = 관리 대상 장비에 agent 를 설치, agent가 필요에 따라 서버에서 정보를 가져옴
4가지 orchestration tool 이 있음
Chef는 요리사 라는 뜻. 요리에 관련된 용어로 UI가 구성되어있음
인프라 구성, 및 다른 유지 보수들을 함
RSA = 공개키 기반
RSA is a public-key cryptosystem that is widely used for secure data transmission.
실제 Chef라는 거 해봐야함, Chef 서버는 무조건 Linux에서만 돌아감. 그래서 해보는게 좋음!
진입 Curve가 높아서 열심히 해야함
Puppet
인프라 자동화 하는 도구
네트웤 장비 , 서버 모두 포함
Cisco's preferred orchestration!! Chef 랑 같은 orchestration tool 인듯
Cisco장비중 기본적으로 puppet을 많이 지원함 = 관리 대상이 되는 장비에 이미 agent가 설치 되어 있음
Cisco 장비들은, 네트워크 IOS에 agent를 못 올리기때문에 puppet이 공장에서부터 찍혀서 나옴
puppet은 pull model 임 (client <-> server)
Ansible 같은 경우, 그냥 ssh로 정보를 쏴버림 -> push model
Domain Specific Language = 그냥 사용하기 쉬운 언어다 정도로 알고있으면 됨
Facts = puppet agent 정보 가진 거(IP address,hostname etc)
Catalog = puppet agent (managed device에 딱 특정화 된 정보만 보내게 되어있음 , 효율적으로 처리 , 메모리상으로 부담 안가게)
하나의 기능도 여러가지 플랫폼으로 만들어져 있음
Resources = 컨트롤 하고싶은 장비들의 상태 가 설명 되어 있음
Manifests = 실질적인 코드값들
Module = manifetsts 들이 모여있는것
puppet 언어를 익힐 필요는 없고 https://forge.puppet.com/ 라는 곳에 가서 명령어 찾아가지고 스크립팅 해서 정보 가져오면됨 , 모듈을 자동적으로 땡겨와서 자동으로 작업 할수 있게 만들어줌
puppet은 굉장히 다양한 모듈들이 있음
큰 기업들이 가장 선호하는 orchestration tool 이라고 생각 됨
Ansible
드디어 나옴, 제일 유명한 orchestration tool. control tower 가 ssh 로 접속해서 그냥 push 하는 식으로 관리 함
관리 대상 장비에 agent 를 깔 필요없음.
Ansible management 노드가 모든 것을 다룸
이미 알려진 Protocol들을 이용해서 장비들을 관리 하게 됨
Playbooks = Task가 쓰여져있음
여기에 4개의 Component 들이 들어감
1. Inventory = 앤서블 컨트롤러가 관리하는 ip 정보들
2. API = 로컬 인프라에 있는 어떤 자원들만 오케스트레이션을 하는 것이 아닌, Public Cloud 도 관리 할수 있게 만들어져있음, 즉 API를 통한 통신을 가능 하게 하는 것 인듯. API를 통해 정보들을 주고 받고, 그로 monitoring 및 내 입맛대로 기능 만들어서 사용 하는 개념인듯
3. Plugins = 특정한 작업들을 수행할수 있도록 미리 만들어진 기능. 예) 프로그램 다운 받기 위해서, 프로그램 다운 플러그인을 실행해서 딱 그거 실행 시키면 바로 되게 한다든지 그런거
4. Modules = playbooks에 실행이 되어야하는 작업들의 집합. 궁극적으로 palybooks를 통해 만든게 modules임
ENCOR 에서는 puppet에서 다루는게 많음
중요한건 Linux 기반으로 돌아가는 concept 이기때문에 linux 및 보안 정보를 알아야 함
Cisco DNA Center
일종의 네트워크 관리 서버로 보면됨
서버 형태로 Cisco 에서 판매 되고있음. Cloud 식으로 팔리고 있기도 함
API 기반으로 네트워크 관리함 , Virtual machine으로 안씀. 하드웨어 베이스로 돌아가도록 만들어져 있음 (나중에 크리티컬한 문제를 prevent 하기 위해서)
Cisco DNA Center는 DEVnet에 들어가서 Read only로 공개되어있는 서버에서 구경 가능
Cisco 에서 나오는 장비들은, 이제 Cisco DNA센터를 통해 관리가 되도록 만드려고 한다고 함
쉽게 네트워크를 관리하고 모니터링 할수 있도록 만들어 놓음
Provisioning (정책 적용 하는거)
Design = 지도,위치,건물 기반으로 네트워크 구성을 볼 수 있게끔 구성도 해 놓았음
Cisco DevNet
Cisco DevNet is Cisco's developer program to help developers and IT professionals who want to write applications and develop integrations with Cisco products, platforms, and APIs. Cisco DevNet includes Cisco's products in software-defined networking, secur
developer.cisco.com
Devnet 가서 Cisco DNA Center open source, UI 구경 하면서 익히면 좋을듯
'Networking > Network General (Anything)' 카테고리의 다른 글
CCNP Part 2 - 5 (0) | 2022.01.07 |
---|---|
CCNP Part 2 - 4 (0) | 2022.01.07 |
CCNP Part 2 - 2 (0) | 2022.01.04 |
CCNP Part 2 - 1 (0) | 2022.01.04 |
Network Engineer Interview Questions (0) | 2021.11.18 |