- Mastering Python Networking
- Eric Chou
- 465字
- 2021-07-02 21:42:34
Constructing a virtual lab
Before we dive into the packages, let's examine the options of putting together a lab for the benefit of learning. As the old saying goes, "Practice Makes Perfect": we need an isolated sandbox to safely make mistakes, try out new ways of doing things, and repeat some of the steps to reinforce concepts that were not clear in the first try. It is easy enough to install Python and the necessary packages for the management host, but what about those routers and switches that we want to simulate?
To put together a network lab, we basically have two options, each with its advantages and disadvantages:
- Physical device: This option consists of physical devices that you can see and touch. If you are lucky enough, you might be able to put together a lab that is an exact replication of your production environment.
- Advantages: It is an easy transition from lab to production, easier to understand by managers and fellow engineers who can look at touch the devices.
- Disadvantages: It is relatively expensive, requires human capital to rack and stack, and is not very flexible once constructed.
- Virtual devices: These are emulation or simulation of the actual network devices. They are either provided by the vendors or by the open source community.
- Advantages: They are easier to set up, are relatively cheap, and can make changes quickly.
- Disadvantages: They are usually a scaled-down version of their physical counterpart, and sometimes there are feature gaps too.
Of course, the decision of virtual and physical lab is a personal decision derived from a trade-off between the cost, ease of implementation, and the risk of having a gap between lab and production.
In my opinion, as more and more vendors decides to produce virtual appliances, the virtual lab is the way to proceed in a learning environment. The feature gap is relatively small and specifically documented when the virtual instance is provided by the vendor. The cost is relatively small compared to buying physical devices and the time-to-built is quicker because they are usually just software programs. For this book, I will use a combination of physical and virtual devices for demonstration with a preference toward virtual devices. For the purpose of the book, the differences should be transparent. If there are any known differences between the virtual and physical devices pertaining to our objectives, I will make sure to list them out.
On the virtual lab front, besides images from various vendors, I am also using a program from Cisco called Virtual Internet Routing Lab (VIRL).
- Cocos2d Cross-Platform Game Development Cookbook(Second Edition)
- Java應用與實戰
- ThinkPHP 5實戰
- Access 數據庫應用教程
- Elastic Stack應用寶典
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- Mastering macOS Programming
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第3版)
- Oracle從入門到精通(第5版)
- Python Web數據分析可視化:基于Django框架的開發實戰
- PHP+Ajax+jQuery網站開發項目式教程
- SwiftUI極簡開發
- 零基礎學C++(升級版)
- JavaScript前端開發基礎教程
- 你好!Java