Главная
Study mode:
on
1
Intro
2
What is IPv6?
3
How is IPv6 different from IPv4?
4
IPv6 tips and tricks
5
IPv6 and NDP's big advantage
6
Package ndp overview
7
Parsing bytes
8
ndp.Message interface
9
Bounds checking
10
Parsing messages
11
Validating byte inputs
12
Replacing the structure while unmarshaling
13
When allocating memory...
14
NDP option basics
15
ndp.Option interface
16
Parsing options
17
Tips for implementing options
18
Enter go-fuzz
19
go-fuzz setup
20
Building connection types
21
ICMPv6 listener
22
Reading ICMPv6 messages
23
Creating an ndp. Conn
24
Build a tool to test your package
25
Introducing the ndp tool
26
Troubleshooting your ISP's equipment with Go
27
Resources
Description:
Explore the intricacies of implementing network protocols in Go through this GopherCon 2018 talk by Matt Layher. Dive into the world of modern computer networks and learn how to encode structured messages using a series of bytes on a wire. Focus on the implementation of an IPv6 Neighbor Discovery Protocol (NDP) package, understanding its similarities to ARP in IPv4 and its role in enabling communication between IPv6 hosts and routers on local networks. Gain insights into parsing bytes, handling message interfaces, validating inputs, and implementing options. Discover the power of go-fuzz for testing and learn how to build connection types and ICMP listeners. Develop practical skills by creating an NDP tool and troubleshooting ISP equipment using Go. Perfect for developers looking to deepen their understanding of network protocols and their implementation in Go.

Implementing a Network Protocol in Go

Gopher Academy
Add to list