Skip to content

Instantly share code, notes, and snippets.

@akostrikov
Last active October 1, 2019 10:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save akostrikov/bb8740d65ebd50ac990449815a447552 to your computer and use it in GitHub Desktop.
Save akostrikov/bb8740d65ebd50ac990449815a447552 to your computer and use it in GitHub Desktop.

Требования:

Виртуальная машина со свежим ядром

I: Kernelshark intro

Установка kernelshark, trace простой функции в ядре

  1. Рассказ про ptrace, ebpf.
  2. Обзор полезных ссылок
http://www.brendangregg.com/bpf-performance-tools-book.html
http://www.brendangregg.com/BPF/bpf_performance_tools_book.png
https://alex.dzyoba.com/blog/
https://blog.stgolabs.net/search/label/linux
https://manybutfinite.com/post/how-computers-boot-up/
https://elixir.bootlin.com/
  1. Компиляция ядра
  2. Модель OSI
  3. The Socket Buffer: sk_buff Structure
  4. net_device Structure

II: L2

FRAME TRANSMISSION AND RECEPTION

  1. Прерывания и сетевые драйвер
  2. Нотификация о получении фреймов
  3. Protocol Handlers
  4. Protocol Handler Organization
  5. Protocol Handler Registration
  6. Ethernet Versus IEEE 802.3 Frames

BRIDGE

  1. Repeaters, Bridges, and Routers
  2. Bridges Versus Switches
  3. Hosts
  4. Изучение адресов
  5. Creating a New Bridge Device
  6. Changing State on a Bridge Port
  7. Forwarding Database
  8. Handling Ingress Traffic
  9. Transmitting on a Bridge Device
  10. Spanning Tree Protocol (STP)
  11. netdevice Notification Chain

ARP

  1. Зачем нужен ARP
  2. Userspace интерфейс
  3. Как работает ARP
  4. Gratuitous ARP
  5. Proxy ARP

III: L3

IPV4

  1. IP Protocol: The Big Picture, IP Header, IP Options
  2. Packet Fragmentation/Defragmentation
  3. Forwarding & Local Delivery

Internet Control Message Protocol (ICMPv4)

  1. ICMP Header
  2. Применение ICMP
  3. Приём и передача ICMP сообщений

Layer Four Protocol and Raw IP Handling

  1. Available L4 Protocols
  2. L4 Protocol Registration
  3. L3 to L4 Delivery: ip_local_deliver_finish
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment