Cover
Start nu gratis EITF45 övning 4 (FL8) Header uppgifter med lösningar.pdf
Summary
# Ethernet frame analysis
Ethernet frame analysis involves dissecting the structure of an Ethernet frame to identify crucial components like MAC addresses and understand the encapsulated data [13](#page=13) [2](#page=2).
### 1.1 Ethernet II frame structure overview
An Ethernet II frame is a standard data link layer frame used for local area networks. While preamble and Start Frame Delimiter (SFD) are typically present, they are often removed when analyzing the raw frame data for content. The core of the frame, after these initial bits, begins with the destination MAC address and the source MAC address [2](#page=2).
### 1.2 Identifying MAC addresses
MAC addresses are fundamental identifiers in Ethernet communication and are crucial for frame delivery on a local network segment [13](#page=13) [2](#page=2).
#### 1.2.1 Destination MAC address (DA)
The destination MAC address is the first 6 bytes of the Ethernet header following the preamble and SFD. It indicates the intended recipient of the frame on the local network [2](#page=2).
* **Example:** In a given hexadecimal frame, if the first 6 bytes are `08 00 20 7c 94 1c`, this represents the destination MAC address `08:00:20:7C:94:1C` [2](#page=2).
* A special destination MAC address is `ff ff ff ff ff ff`, which signifies broadcast to all devices on the link [13](#page=13).
#### 1.2.2 Source MAC address (SA)
The source MAC address is the next 6 bytes of the Ethernet header, immediately following the destination MAC address. It identifies the sender of the frame [2](#page=2).
* **Example:** Continuing the previous example, if the next 6 bytes are `00 00 39 51 90 37`, this is the source MAC address `00:00:39:51:90:37` [2](#page=2).
### 1.3 Analyzing encapsulated protocols
Beyond MAC addresses, the Ethernet II frame header contains a type field that indicates the protocol encapsulated within the frame's data payload [13](#page=13) [2](#page=2).
#### 1.3.1 Type field interpretation
The type field is a 2-byte value. A common example is `0800` in hexadecimal, which signifies that the payload is an Internet Protocol (IP) packet. Another example is `0806`, which indicates an Address Resolution Protocol (ARP) message [13](#page=13) [2](#page=2).
#### 1.3.2 IP packet analysis within Ethernet frames
When an Ethernet frame carries an IP packet, analyzing the IP packet's header provides further details about the network communication [2](#page=2) [3](#page=3).
* **IP Header Length:** The IP header itself has a field that specifies its length, often expressed in 32-bit words. For instance, a value of `0x5` in this field signifies an IP header length of $5 \times 32 \text{ bits} = 160 \text{ bits}$, which equates to 20 bytes. This length is sufficient to include essential IP header fields like the destination IP address, without requiring options [3](#page=3).
* **Encapsulated Protocol:** The IP header also contains a protocol field that identifies the next-level protocol being carried, such as UDP or TCP. A value of `0x11` in this field corresponds to UDP (User Datagram Protocol) [3](#page=3).
### 1.4 Frame padding
Ethernet frames may be padded to meet a minimum length requirement, ensuring efficient processing by network hardware and preventing collisions in older Ethernet standards. If the length of the frame's content (Ethernet header + encapsulated payload) exceeds the minimum Ethernet frame size, padding is not necessary. However, if the content is shorter than the minimum, padding is added to reach the minimum frame length [13](#page=13).
> **Tip:** When analyzing frames, remember to account for the possibility of padding, as it affects the overall frame length and can be an indicator of specific network conditions or protocols [13](#page=13).
---
# IP packet header examination
This section details the examination of IPv4 and IPv6 packet headers to extract crucial networking information, including source and destination addresses, header lengths, protocol types, and fragmentation details [14](#page=14) [2](#page=2) [3](#page=3) [4](#page=4) [5](#page=5).
### 2.1 IPv4 packet header structure and fields
The IPv4 header contains various fields essential for routing and managing IP packets. Understanding these fields allows for the interpretation of packet behavior and network conditions [3](#page=3).
#### 2.1.1 Key IPv4 header fields
* **Version:** Indicates the IP version, which is '4' for IPv4 [3](#page=3).
* **Internet Header Length (IHL):** Specifies the length of the IP header in 32-bit words. The minimum value is 5 (20 bytes), meaning there are no options [3](#page=3).
* **Calculation:** Header Length (bytes) = IHL $\times$ 4 [3](#page=3).
* **Protocol:** Identifies the protocol of the data payload. Common values include 6 for TCP and 17 for UDP [3](#page=3).
* **Identification:** Used to uniquely identify a group of fragments belonging to a single IP datagram [4](#page=4) [5](#page=5).
* **Flags:** A 3-bit field that controls fragmentation.
* Bit 0: Reserved (must be zero).
* Bit 1: Don't Fragment (DF) flag. If set, the packet must not be fragmented.
* Bit 2: More Fragments (MF) flag. If set, it indicates that this is not the last fragment.
* **Fragment Offset:** A 13-bit field that indicates the position of a fragment in the reassembled datagram, measured in 8-byte blocks [5](#page=5).
* **Source IP Address:** The IP address of the sender [3](#page=3).
* **Destination IP Address:** The IP address of the intended recipient [3](#page=3).
> **Tip:** The Identification field is crucial for reassembling fragmented packets, as it binds together all fragments belonging to the same original datagram [4](#page=4).
#### 2.1.2 Examining IPv4 fragmentation
Fragmentation allows large IP datagrams to be divided into smaller pieces to traverse networks with smaller Maximum Transmission Units (MTUs) [4](#page=4).
* **Frame 1 Analysis:**
* Flags: `00100000` (binary) indicates "More fragments, no fragmentation offset." [5](#page=5).
* **Frame 2 Analysis:**
* Flags: `00100000 10111001` (binary) indicates "More fragments, fragment offset of 1480 bytes." [5](#page=5).
* **Frame 3 Analysis:**
* Flags: `00000001 01110010` (binary) indicates "Fragmented, last fragment, fragment offset of 2960 bytes." [5](#page=5).
* The fragment offset is calculated in 8-byte blocks [5](#page=5).
> **Example:** If the Fragment Offset is `0172` in hexadecimal, it represents `2960` in decimal, which corresponds to a data offset of `2960` bytes from the beginning of the original datagram [5](#page=5).
### 2.2 IPv6 packet header structure and fields
The IPv6 header is designed to be simpler and more efficient than the IPv4 header, with a fixed size and the use of extension headers for optional information [14](#page=14).
#### 2.2.1 Key IPv6 header fields
* **Version:** Indicates the IP version, which is '6' for IPv6 [14](#page=14).
* **Traffic Class:** Used to differentiate IP packets for traffic shaping and other QoS purposes [14](#page=14).
* **Flow Label:** Used to identify sequences of packets that require special handling by intermediate routers [14](#page=14).
* **Payload Length:** The length of the payload in bytes, including any extension headers [14](#page=14).
* **Next Header:** Identifies the type of header immediately following the current IPv6 header. This can be another IPv6 extension header or the transport layer protocol (e.g., TCP, UDP) [14](#page=14).
* **Hop Limit:** The maximum number of hops (routers) that the packet is allowed to traverse. This is equivalent to the TTL field in IPv4 [14](#page=14).
* **Example:** A Hop Limit of `80` in hexadecimal is equal to `128` in decimal [14](#page=14).
* **Source IP Address:** The IPv6 address of the sender [14](#page=14).
* **Destination IP Address:** The IPv6 address of the intended recipient [14](#page=14).
> **Tip:** IPv6 has a fixed header size of 40 bytes, which simplifies processing for routers compared to the variable-length IPv4 header [14](#page=14).
#### 2.2.2 Example IPv6 header examination
An example Wireshark capture shows an Ethernet frame containing an IPv6 packet [14](#page=14).
* **Frame Type:** The Type field of the Ethernet header is `86dd`, indicating an IPv6 datagram [14](#page=14).
* **Source Address:** `2001:16D8:CC3A:0BF6:D491:66C2:CFC2:0271` [14](#page=14).
* **Destination Address:** `2001:09B0:0100:0004:0000:0000:0000:0004` [14](#page=14).
* **Total Packet Length:** The Payload length field indicates `28` in hexadecimal, which is `40` bytes. Combined with the 40-byte IPv6 header, the total datagram length is `80` bytes [14](#page=14).
* **Hop Limit:** The Hop Limit field shows `80` in hexadecimal, translating to `128` in decimal. This means the datagram will be dropped by the 128th router [14](#page=14).
---
# TCP segment analysis
This section delves into the analysis of Transmission Control Protocol (TCP) segments, focusing on the interpretation of key header fields such as source and destination ports, sequence and acknowledgment numbers, and window sizes, with specific attention to understanding Telnet conversations.
### 3.1 Understanding TCP header fields
TCP segments are the fundamental units of data transfer in the TCP protocol. Analyzing the header of these segments is crucial for understanding the flow of data and the state of a connection.
#### 3.1.1 Source and destination ports
The source and destination ports are 16-bit fields that identify the specific application or service running on the source and destination hosts, respectively. These ports are essential for demultiplexing incoming data to the correct application [7](#page=7) [8](#page=8).
* **Source Port:** Identifies the port number of the sending application [7](#page=7) [8](#page=8).
* **Destination Port:** Identifies the port number of the receiving application [7](#page=7) [8](#page=8).
> **Tip:** Well-known ports are often associated with specific services (e.g., port 23 for Telnet, port 80 for HTTP). Knowing these can help infer the type of communication.
#### 3.1.2 Sequence number
The sequence number is a 32-bit field that indicates the position of the segment's data within the overall byte stream of the connection. It allows the receiver to reassemble segments in the correct order [11](#page=11) [8](#page=8).
#### 3.1.3 Acknowledgment number
The acknowledgment number is a 32-bit field that, if the ACK flag is set, contains the value of the next sequence number the sender expects to receive. This confirms successful reception of data up to the acknowledged sequence number [11](#page=11) [8](#page=8).
#### 3.1.4 Window size
The window size is a 16-bit field that indicates the number of bytes, starting from the acknowledgment number, that the receiver is willing to accept. This mechanism is used for flow control, preventing the sender from overwhelming the receiver [11](#page=11) [8](#page=8).
* The window size is expressed in bytes [11](#page=11) [8](#page=8).
* A larger window size allows for more data to be in transit, potentially leading to higher throughput [10](#page=10) [11](#page=11).
#### 3.1.5 Header size (Data Offset)
The Data Offset field, often referred to as the header size, is a 4-bit field that specifies the size of the TCP header in 32-bit words. Since the header size can vary due to options, this field is crucial for determining where the actual data payload begins. The minimum TCP header size is 20 bytes [7](#page=7) [8](#page=8).
> **Tip:** If the Data Offset field indicates 5 (5 * 4 = 20 bytes), it means there are no TCP options present [8](#page=8).
### 3.2 Analyzing TCP segments with examples
The provided document offers exercises that demonstrate how to dissect TCP headers from hexadecimal dumps.
#### 3.2.1 Exercise 5: Basic header analysis
This exercise involves analyzing a given hexadecimal TCP header to extract specific fields.
**Hexadecimal Header:**
`05320017 00000001 00000000 500207FF 00000000` [7](#page=7).
**Analysis:**
* **Source Port:** `0532` (hex) = `1330` (decimal) [8](#page=8).
* **Destination Port:** `0017` (hex) = `23` (decimal) [8](#page=8).
* **Sequence Number:** `00000001` (hex) = `1` (decimal) [8](#page=8).
* **Acknowledgment Number:** `00000000` (hex) = `0` (decimal) [8](#page=8).
* **Data Offset and Flags:** `5002` (hex) [8](#page=8).
* **Window Size:** `07FF` (hex) = `2047` (decimal) bytes [8](#page=8).
> **Example:** To determine the header size from `5002`, we look at the first 4 bits which represent the number of 32-bit words. `5` in binary is `0101`. Thus, the header size is 5 * 4 = 20 bytes [8](#page=8).
#### 3.2.2 Exercise 6: Telnet conversation analysis
This exercise involves analyzing multiple Ethernet frames containing TCP segments to understand a Telnet conversation. Telnet typically uses port 23 [11](#page=11) [8](#page=8).
The analysis involves:
1. Identifying the TCP segment within the Ethernet frame by accounting for the Ethernet header (14 bytes) and the IPv4 header (20 bytes) [11](#page=11).
2. Dissecting the TCP header fields (source port, destination port, sequence number, acknowledgment number, window size) [11](#page=11).
3. Using the destination port (port 23) to infer that the communication is likely Telnet [11](#page=11).
**Example from Frame 1 analysis:** [11](#page=11).
* **Source Port:** `0x0993` = `2451` (decimal) [11](#page=11).
* **Destination Port:** `0x0017` = `23` (decimal) [11](#page=11).
* **Sequence Number:** `0xF2D27A29` = `4073880105` (decimal) [11](#page=11).
* **Acknowledgment Number:** `0x00000000` = `0` (decimal) [11](#page=11).
* **Window Size:** `0x4000` = `16384` (decimal) bytes [11](#page=11).
By analyzing the sequence and acknowledgment numbers across multiple frames, one can reconstruct the order of communication and identify messages exchanged during a Telnet session [10](#page=10) [12](#page=12).
> **Example:** In a Telnet conversation, a sequence number incremented by 1 might indicate a single character being sent, while larger increments could represent commands or data blocks. The acknowledgment numbers confirm receipt of these segments [12](#page=12).
### 3.3 Understanding Telnet conversations
Telnet is an application protocol used for interactive text-based communication over a network. Analyzing TCP segments carrying Telnet traffic involves recognizing port 23 as the destination port and then observing the sequence and acknowledgment numbers to track the back-and-forth exchange of commands and responses. The window size also plays a role in managing the flow of characters and commands during the session [10](#page=10) [11](#page=11) [12](#page=12) [8](#page=8).
> **Tip:** When analyzing Telnet traffic, look for patterns in sequence and acknowledgment numbers. A common pattern is that a client sends a character (incrementing sequence number), and the server acknowledges it and sends back the echoed character (incrementing both sequence and acknowledgment numbers) [12](#page=12).
---
# UDP header interpretation
This section details the process of interpreting a UDP header to extract crucial information about the datagram, including source and destination ports, and its total and payload lengths [6](#page=6).
### 4.1 Structure of the UDP header
The UDP header is an 8-byte segment that precedes the UDP payload. It consists of four 16-bit fields: Source Port, Destination Port, Length, and Checksum [6](#page=6).
#### 4.1.1 Fields and their interpretation
* **Source port:** This 16-bit field indicates the port number of the sending application. It is used by the receiving host to identify the sending process [6](#page=6).
* **Example:** In the hexadecimal sequence `06 32 00 0D 00 1C E2 17`, the source port is `06 32` [6](#page=6).
* **Destination port:** This 16-bit field specifies the port number of the receiving application. It directs the datagram to the correct application on the destination host [6](#page=6).
* **Example:** In the hexadecimal sequence `06 32 00 0D 00 1C E2 17`, the destination port is `00 0D` [6](#page=6).
* **Length:** This 16-bit field indicates the total length of the UDP datagram in bytes, including the header and the payload. The minimum length is 8 bytes, which corresponds to a UDP datagram with only a header and no payload [6](#page=6).
* **Example:** In the hexadecimal sequence `06 32 00 0D 00 1C E2 17`, the total length is `00 1C` [6](#page=6).
* **Checksum:** This 16-bit field is used for error detection. It covers the UDP header, UDP payload, and a pseudo-header from the IP header. While optional in IPv4, it is mandatory in IPv6. If it is zero, it signifies that no checksum was computed [6](#page=6).
* **Example:** In the hexadecimal sequence `06 32 00 0D 00 1C E2 17`, the checksum is `E2 17` [6](#page=6).
#### 4.1.2 Calculating payload length
The data field's length, also known as the payload length, can be calculated by subtracting the size of the UDP header (8 bytes) from the total length of the UDP datagram [6](#page=6).
$$ \text{Payload Length} = \text{Total Length} - 8 \text{ bytes} $$ [6](#page=6).
* **Example:** Given a total length of 28 bytes (`00 1C` hexadecimal) for a UDP datagram, the payload length is $28 - 8 = 20$ bytes [6](#page=6).
> **Tip:** Always remember that the "Length" field in the UDP header refers to the *entire* datagram (header + payload), not just the payload.
### 4.2 Converting hexadecimal to decimal and vice-versa
When interpreting UDP headers presented in hexadecimal format, it is often necessary to convert these values to decimal for easier understanding, especially for port numbers and lengths [6](#page=6).
#### 4.2.1 Hexadecimal to Decimal Conversion
To convert a hexadecimal value to decimal, each hexadecimal digit's positional value is multiplied by the corresponding power of 16.
* **Example:** Convert `0x0632` to decimal [6](#page=6).
* `0x0632` = $(0 \times 16^3) + (6 \times 16^2) + (3 \times 16^1) + (2 \times 16^0)$
* `0x0632` = $(0 \times 4096) + (6 \times 256) + (3 \times 16) + (2 \times 1)$
* `0x0632` = $0 + 1536 + 48 + 2$
* `0x0632` = $1586$ [6](#page=6).
* **Example:** Convert `0x001C` to decimal [6](#page=6).
* `0x001C` = $(0 \times 16^3) + (0 \times 16^2) + (1 \times 16^1) + (12 \times 16^0)$ (where C is 12 in decimal)
* `0x001C` = $0 + 0 + 16 + 12$
* `0x001C` = $28$ [6](#page=6).
> **Tip:** For quick calculations, remember powers of 16: $16^0=1$, $16^1=16$, $16^2=256$, $16^3=4096$.
#### 4.2.2 Decimal to Hexadecimal Conversion
To convert a decimal value to hexadecimal, repeated division by 16 is performed, with the remainders forming the hexadecimal digits from right to left.
* **Example:** Convert decimal 13 to hexadecimal.
* $13 \div 16 = 0$ remainder $13$.
* The decimal remainder $13$ is represented by the hexadecimal digit 'D'.
* Therefore, $13$ decimal is `0D` hexadecimal [6](#page=6).
* **Example:** Convert decimal 28 to hexadecimal.
* $28 \div 16 = 1$ remainder $12$.
* $1 \div 16 = 0$ remainder $1$.
* The remainders from right to left are $12$ (C) and $1$.
* Therefore, $28$ decimal is `1C` hexadecimal. When representing as a 16-bit field, it is padded with leading zeros to `001C` [6](#page=6).
### 4.3 Application in packet analysis
Understanding UDP header interpretation is crucial in network packet analysis for identifying the source and destination applications involved in a communication and for determining the size of the data being transmitted. This knowledge is fundamental for debugging network issues, monitoring traffic, and security analysis [6](#page=6).
---
# ARP protocol interaction
This section analyzes Ethernet frames carrying ARP packets to understand the involved nodes, the type of communication, and its completeness.
### 5.1 Ethernet frame analysis for ARP
Ethernet frames can carry various protocols, identified by the EtherType field. When this field is `0806`, it signifies an Address Resolution Protocol (ARP) packet [12](#page=12) [13](#page=13).
#### 5.1.1 Identifying nodes in ARP communication
To identify the nodes involved in an ARP dialog, both MAC addresses from the Ethernet header and IP addresses from the ARP header are examined [13](#page=13).
* **Ethernet Header Analysis:**
* The destination MAC address indicates where the frame is sent. A destination MAC of `ff:ff:ff:ff:ff:ff` signifies a broadcast to all nodes on the link [13](#page=13).
* The source MAC address identifies the sender of the frame [13](#page=13).
* **ARP Header Analysis:**
* The ARP header contains sender and target IP addresses [13](#page=13).
#### 5.1.2 Type of ARP dialog
The EtherType field `0806` in the Ethernet header confirms that the communication is ARP-based. The ARP header's Operation field further clarifies the specific ARP transaction, such as an ARP request or an ARP response [13](#page=13).
#### 5.1.3 Completeness and order of the ARP communication
A complete ARP transaction typically involves an ARP request and an ARP response. The order is crucial: a node initiates a request to discover the MAC address of another IP address, and the target node responds with its MAC address [13](#page=13).
> **Tip:** A complete ARP dialog establishes the necessary mapping between IP and MAC addresses for communication on the local network segment.
#### 5.1.4 State of nodes before and during ARP dialog
The ARP dialog provides insights into the state of the nodes' ARP tables. If a node sends an ARP request for a specific IP address, it implies that the sender's ARP table does not contain the MAC address for that IP address. The dialog confirms that both nodes are on the same network link [13](#page=13).
#### 5.1.5 Padding in Ethernet frames
Ethernet frames have a minimum length requirement. If the data payload (including the ARP packet) is shorter than this minimum, the frame is padded to meet the required size. This padding ensures that the frame has a valid length before being transmitted on the network [13](#page=13).
> **Example:** In the provided examples, the Ethernet frames are padded because their total length exceeds the sum of the Ethernet header and ARP header sizes [13](#page=13).
---
## Common mistakes to avoid
- Review all topics thoroughly before exams
- Pay attention to formulas and key definitions
- Practice with examples provided in each section
- Don't memorize without understanding the underlying concepts
Glossary
| Term | Definition |
|------|------------|
| Ethernet II frame | A data link layer frame format that includes a destination MAC address, source MAC address, EtherType field, and payload. It is a common standard for local area networks. |
| MAC address | A unique hardware identifier assigned to a network interface controller (NIC) for communications at the data link layer of a network segment. It is typically represented as six groups of two hexadecimal digits. |
| Preamble | A sequence of bits at the beginning of an Ethernet frame that synchronizes the receiver with the incoming data stream. It is typically 7 bytes of alternating 1s and 0s followed by a Start Frame Delimiter (SFD). |
| SFD (Start Frame Delimiter) | A special pattern of bits that follows the preamble in an Ethernet frame, indicating the end of the preamble and the beginning of the actual frame data. |
| CRC (Cyclic Redundancy Check) | An error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data. It is calculated and appended to the frame for verification by the receiver. |
| Hexadecimal format | A base-16 numeral system that uses sixteen distinct symbols, typically digits 0-9 and letters A-F. It is often used in computing to represent binary data in a more compact form. |
| IP packet | A unit of data that traverses an Internet Protocol network. It consists of a header containing addressing and control information, and a data payload. |
| IPv4 | The fourth version of the Internet Protocol, which uses 32-bit addresses to uniquely identify devices on a network. It is the most widely used version of IP. |
| IPv6 | The latest version of the Internet Protocol, designed to replace IPv4. It uses 128-bit addresses, providing a vastly larger address space and improved features. |
| IP header | The control information section of an IP packet, typically containing fields such as version, source IP address, destination IP address, time to live, and protocol. |
| Fragmentation | The process of dividing a large IP datagram into smaller pieces (fragments) to accommodate network links with smaller maximum transmission unit (MTU) sizes. Fragments are reassembled at the destination. |
| Flags (IPv4) | Bits within the IPv4 header that control fragmentation. Key flags include "Don't Fragment" (DF) and "More Fragments" (MF). |
| Identification field (IPv4) | A 16-bit field in the IPv4 header that uniquely identifies a particular fragment of an IP datagram. All fragments of the same datagram share the same identification value. |
| Fragment offset | A 13-bit field in the IPv4 header that indicates the position of a fragment's data within the original, unfragmented datagram. It is measured in 8-byte blocks. |
| UDP (User Datagram Protocol) | A connectionless communication protocol that provides a simple, unreliable datagram service. It is often used for applications where speed is more important than guaranteed delivery. |
| UDP header | A small header for UDP datagrams, containing fields for source port, destination port, length, and checksum. It is 8 bytes long. |
| Source port | A field in the UDP or TCP header that identifies the port number on the sending host from which the datagram or segment originated. |
| Destination port | A field in the UDP or TCP header that identifies the port number on the receiving host to which the datagram or segment is directed. |
| Datagram length (UDP) | A field in the UDP header that specifies the total length of the UDP datagram, including the header and the data payload, in bytes. |
| Payload length (UDP) | The length of the data portion of a UDP datagram, calculated by subtracting the UDP header size from the total datagram length. |
| TCP (Transmission Control Protocol) | A connection-oriented communication protocol that provides reliable, ordered, and error-checked delivery of a stream of bytes. It is widely used for applications like web browsing and email. |
| TCP header | The control information section of a TCP segment, containing fields such as source port, destination port, sequence number, acknowledgment number, data offset, flags, and window size. It is typically 20 bytes long without options. |
| Sequence number (TCP) | A 32-bit field in the TCP header that indicates the byte number of the first byte of data in the current segment, relative to the beginning of the connection's data stream. |
| ACK number (TCP) | A 32-bit field in the TCP header that contains the sequence number of the next byte the sender of the acknowledgment expects to receive. It is used to confirm receipt of data. |
| Data offset (TCP) | A 4-bit field in the TCP header that indicates the size of the TCP header in 32-bit words. This allows for variable-length TCP headers due to the presence of options. |
| Window size (TCP) | A 16-bit field in the TCP header that specifies the number of data bytes the receiver is currently willing to accept. It is used for flow control. |
| Telnet | An application-layer protocol used for interactive text communication over a network. It typically uses TCP port 23. |
| ARP (Address Resolution Protocol) | A network protocol used to map an Internet Protocol (IP) address to a physical machine address that is used under layer. It is used to discover the MAC address associated with a known IP address on the same local network. |
| ARP request | An ARP message sent by a host to discover the MAC address of another host on the network, given its IP address. |
| ARP response | An ARP message sent in reply to an ARP request, providing the MAC address of the requested IP address. |
| Padding | The process of adding extra bytes to a network frame to meet minimum length requirements or to align data. In Ethernet, frames must be at least 64 bytes long. |
| Hop Limit (IPv6) | A field in the IPv6 header that limits the number of routers a packet can traverse before being discarded. It is similar to the Time To Live (TTL) field in IPv4. |
| Payload length (IPv6) | A field in the IPv6 header that specifies the length of the payload in bytes. It does not include the IPv6 header itself. |
| Router hops | The number of intermediate network devices (routers) that a data packet passes through on its way from the source to the destination. |
| Ethernet frame header | The initial part of an Ethernet frame that contains control information, including destination MAC address, source MAC address, and EtherType. It is typically 14 bytes long (excluding preamble and SFD). |
| Router | A networking device that forwards data packets between computer networks. Routers perform traffic directing functions on the Internet. |