diff --git a/00. Jeremy's IT LAB CCNA course.md b/00. Jeremy's IT LAB CCNA course.md index 1a875e5..8da9b8e 100644 --- a/00. Jeremy's IT LAB CCNA course.md +++ b/00. Jeremy's IT LAB CCNA course.md @@ -18,3 +18,4 @@ tags: [[Ethernet LAN Switching (part 2)]] [[IPv4 Addressing (Part 1)]] [[IPv4 Addressing (Part 2)]] +[[IPv4 Header]] diff --git a/09. Switch Interfaces.md b/09. Switch Interfaces.md index 462a621..7c390d1 100644 --- a/09. Switch Interfaces.md +++ b/09. Switch Interfaces.md @@ -13,8 +13,7 @@ To see all the [[Switch]] interfaces in the CLI use ```cisco SW1>en -SW1#show ip interface bief -``` +SW1#show ip interface bief ``` [[Router]] interfaces have the shutdown command applied by default - will be in the administratively down/down state by default diff --git a/10. IPv4 Header.md b/10. IPv4 Header.md new file mode 100644 index 0000000..bde2710 --- /dev/null +++ b/10. IPv4 Header.md @@ -0,0 +1,151 @@ +--- +id: 1777370971-DYNV +aliases: + - IPv4 Header +tags: [] +--- + +# IPv4 Header + + +## OSI Model - [[PDU]]s + +Application Data +↓ +Data + L4 Header = Segment +↓ +Segment + L3 Header = Packet +↓ +Packet + L2 Header + L2 Trailer = Frame + +We will focus on the Packet for this lesson + +## IPV4 header + +### Version Field + +length: 4 bits (half of on octet) +- identifies the version of IP used. +- IPv4 = 4 (0b0100) +- IPv4 = 6 (0b0110) + +### Internet Header Length (IHL) + +length: 4 bits (half of on octet) + +- The final field of the IPv4 header (Options) is variable in length, so this field +is necessary to indicate the total length of the header +- identifies the lenght of the header in **4 byte increments** +- Value of 5 = 5*4 bytes = 20 bytes +- minimum value is 5 (= 20 bytes) + - **Minimum IPv4 Header Length = 20 bytes** +- Maximum value is 15 (15*4 bytes = 60 bytes) + - **Maximum IPv4 Header Length = 60 bytes** + +### DSCP field + +- Length: 6 bits +- Differentiated Services Code Point +- Used for Qos (Quality of Service) +- Used to prioritize delay-sensitive dta (streaming voice, video, etc..) + +### ECN field + +Explicit Congestion Notification +- Length: 2 bits +- Provides end-to-end (between two endpoints) notification of network congestion +**without dropping packets** +- Optional feature that requires both endpoints, as well as the underlying network +infrastructure, to support it. + +### Total Length field + +Length: 16 bits +- Indicates the total lenght of the packet (L3 header+ L4 segment) +- Measured in bytes (**not 4-byte increments like IHL**) +- Minimum value of 20 (=IPv4 header with no encapsulated data) +- Maximum value of 65,535 (maximum 16-bit value) + +### Identification field + +Length: 16 bits +- if a packet is fragmented due to being too large, this field is used to identify +which packet the fragment belongs to +- All fragments of the same packet will have their own [[IPv4]] +header with the same value in this field +- Packets are fragmented if larger than the MTU (Maximum Transmission Unit) +- The MTU is usually 1500 bytes +- Fragments are reassembled by the receiving host + +### Flags field + +Length: 3bits + +- Used to control/identify fragments. +- Bit 0: Reserved, always set to 0 +- Bit 1: Don't Fragment (DF bit), used to indicate a packet that should not be fragmented +- Bit 2: More Fragments (MF bit), set to 1 if there are more fragments in the packet, +set to 0 for the last fragment + +*Unfragemented packets will always have their MF bit set to 0* + +### Fragment Offset field + +Length: 13 bits + +- Used to indicate the position of the fragment within the original, unfragmented IP packet +- Allows fragmented packets to be reassembled even if the fragments arrive out of order + +### Time to live field + +Length: 8 bits +- A router will drop a packet with a TTL of - +- Used to prevent infinite loops +- Originlly designed to indicte the packet's maximum lifetime in second +- In practice, indicates a 'Hop count': each time the packet arrives at a router, +the router decreases the TTL by 1 +*Recommended default TTL is 64* + +### Protocol field + +Length: 8 bits + +- Indicates the protocol of the encapsulated L4PDU +- Value of 6: [[TCP]] +- Value of 17: [[UDP]] +- Value of 1: [[ICMP]] +- Value of 89 : [[OSPF]] dynamic routing protocol + +### Header Checksum field + +Lenght 16bits + +- A calculaed checksum used to check for errors in the IPv4 header. +- When a router receives a packet, it calculates the checksum of the header +and compares it to the one in this field of the header +- if they do not match the router drops the packet +- Used to check for errors only in the IPV4 header. +- IP relies on the encapsulated protocol to detect errors in the encapsulated data +- Both TCP and UDP have their own checksum fields to detect errors in the encapsulated data + +### Source/Destination IP address fields + +Length 32 bits(each) + +- Source IP Address = IPv4 address of the sender of the packet +- Destination IP Address = IPv4 address of the intended receiver of the packet + +### Options fields + +Length: 0 - 320 bits + +- Rarely used. +- If the IHL field is greater than 5, it means that Options are present + + + + +## Review + +- IPv4 Packet structure +- Fields of the IPv4 header