Mingwei Zhang, PhD

Full-stack Rust Developer | Founder of BGPKIT

image

Mingwei Zhang, Ph.D, is a full-stack Rust developer. He is currently the founder of BGPKIT, a software consulting company that builds BGP data analysis toolkit. Before founding BGPKIT, he worked as an Internet Data Scientist at Center for Applied Internet Data Analysis (CAIDA), San Diego Supercomputer Center (SDSC). He worked on a wide range of data science tasks and is also a full-stack developer for a number of projects. He received his Ph.D. degree in 2019 from the University of Oregon.


Work Experience

Founder

BGPKIT | 2021 - Present

Founder of BGPKIT, a software consulting company that builds BGP data analysis toolkit. The goal is to provide performant BGP data analysis building blocks for customers to extend and build their own workflow. BGPKIT also open-sources its software building blocks, here is a selected list of them:

Internet Data Scientist

CAIDA/SDSC | 2018 - 2021

Develop and maintain large-scale inter-domain routing security monitoring system, responsible for both front-end and back-end development. Study Internet routing anomalies and research methodologies on analyzing and categorizing anomalies.

  • Languages: Python, C, PHP, Javascript, Rust
  • Frameworks: Symfony, React
  • Tools: Jupyter, Kafka, ElasticSearch, PostgreSQL

Graduate Research Fellow

University of Oregon | 2012 - 2018

Research on projects on Internet routing security and developed monitoring framework. Studied distributed denial-of-service (DDoS) attacks and novel defense strategies. Developed theoretical analysis from economical perspective as well as practical defense methods with globally distributed defense strategy.

  • Languages: Java, Kotlin, Python, Go
  • Tools: Jupyter, LaTeX

Kernel Quality Engineering Intern

RedHat | 2012 - 2012

Work with RedHat kernel testing team to conduct operational kernel test tasks.

project experience

BGPKIT Parser provides MRT/BGP message parsing functionalities written in Rust. It process compressed MRT files and produce objects that represent actual BGP messages. It also provide powerful API IO and data iteration that can be easily integrated with more complex workflow.

BGPKIT Broker is a online data API service that allows users to search for publicly available BGP archive files by time, collector, project, or data type. The service indexes the RouteViews and RIPE RIS archives in close to real-time (delay is less than 5 minutes). This Rust library provides access to the BGPKIT Broker API with the capability to search and paginate results.

BGPStream

C, Python

BGPStream is a C-based open-source software framework for live and historical BGP data analysis, supporting scientific research, operational monitoring, and post-event analysis. Mingwei developed a number of key features for the version 2 release, and help maintain its Python API binding. He also works on maitaining PHP Symfony-based website and API backend system.

GRIP is a monitoring system for global routing information security. It detects global BGP routing security events (e.g. BGP hijackings) in real time and produce searchable event index and detailed event online reports with visualization. I am the main developer, responsible for both backend and frontend components.

Information

Selected Publications

  • 2021 · A multi-perspective view of Internet censorship in Myanmar
  • 2021 · On Capturing DDoS Traffic Footprints on the Internet
  • 2019 · On Multi-Point, In-Network Filtering of Distributed Denial-of-Service Traffic
  • 2017 · I-seismograph: Observing, Measuring, and AnalyzingInternet Earthquakes
  • 2014 · DrawBridge – Software-DefinedDDoS-Resistant Traffic Engineering