Network Fundamentals

CCTC - Networking

Outcomes


Skills
  1. Identify Networking Fundamentals
  2. Identify the sections of common headers







Data Link Layer

OSI Layer 2

Ethernet Header

Ethernet Frame with Preamble
Common Ethertypes

802.1Q VLAN Tagging


Fig. 1 - 802.3 VLAN Tag added to Frame

Outcome: You will become knowledgeable on how the Ethernet frame is built, and how tools such as scapy can interact with them.





ARP Activity

Network Layer

OSI Layer 3

CCNE002.002 Describe IPv4 and IPv6 packet structures

IPv4 Headers

IPv4 Header

Example IPv4 Packet

Fragmentation Process

Retrieved from http://www.tcpipguide.com/free/t_IPMessageFragmentationProcess-2.htm

IPv4 / IPv6 Header Field Comparison

Obj. 4.1, 4.3 through 4.4

IPv6 Headers

IPv6 Header

Example IPv6 Packet

TTL Analysis

Vendors have chosen different values for TTL which can provide insight to which OS family a generated packet is from.

ICMP Headers

ICMP Header

Example ICMP Packet

Review Address Auto Configuration


  • APIPA
  • Review SLAAC (ICMPv6 messages)
  • RFC 4862







Outcome: You will become knowledgeable on how the IPv6 and icmp headers are built, and how tools such as scapy can interact with them.





ICMPv6 Activity

Transport Layer

OSI Layer 4

CCNE002.001 Identify the various packet headers

UDP Headers

UDP Header

Example UDP Datagram

TCP Headers

TCP Header

Example TCP Segment

TCP Flags

TCP Flag Breakout (Binary and Hex)

Operating System Considerations

CCNE001.002 Understanding User space vs Kernel Space for network functions

Discuss User and Kernel Space Basics


  • System Memory: Kernel space vs. User space

  • Sockets: Families/Types

  • Tools/interaction with sockets





Discuss Network Namespaces


A network namespace is logically another copy of the network stack, with its own routes, firewall rules, and network devices.

By default a process inherits its network namespace from its parent. Initially all the processes share the same default network namespace from the init process.

Outcome: You will become more confident of python skills by researching and creating raw sockets to send and encode data in a packet.





Raw Sockets Activity