D-Link DGS-3426P Product Manual - Page 19

Extension Headers, Packet Fragmentation, Address Format

Page 19 highlights

xStack® DGS-3400 Series Layer 2 Gigabit Ethernet Managed Switch Extension Headers Extension headers are used to identify optional parameters regarding IPv6 packets such as routing, fragmentation of packets or authentication parameters. The types of extension headers supported are Hop-by-Hop, Routing, Fragment, Destination Options, Authentication and Encapsulating Security Payload. These extension headers are placed between the IPv6 packet header and the payload and are linked together by the aforementioned Next Header, as shown below. IPv6 header Next Header = TCP TCP header + data IPv6 header Next Header = Routing Routing Header Next Header = TCP TCP header + data IPv6 header Next Header = Destination Options Destination Options Header Next Header = Routing Routing Header Next Header = TCP TCP header + data Each header has a specific place in the header chain and must follow the following order: • IPv6 Header • Hop-By-Hop Header (Must follow the IPv6 header) • Destination Options • Routing Header • Fragment Header • Authentication Header • Encapsulating Security Payload Header • Destination Options Header • Upper Layer Header There may be zero, one or more extension headers in the IPv6 header, they must be processed in order and they are to be in increments of 8 octets in the IPv6 packet. Nodes that do not recognize the field of the extension header will discard the packet and send a relevant ICMPv6 message back to the source. Packet Fragmentation At times, packets are sent out to a destination that exceed the size of the Path MTU, so the source node is required to split these packets into fragments in individual packets which will be rebuilt when it reaches its final destination. Each of the packets that will be fragmented is given an Identification value, by the source node. It is essential that each of these Identification values is different than any other fragmented packet recently sent that include the same source and destination address. The original packet is divided into two parts, a fragmentable part and an unfragmentable part. The unfragmentable part of the packet consists of the IPv6 header and any extension headers present, up to the routing extension header. The fragmentable part has the payload plus any extension headers that must be processed by the final destination node. This part will be divided into multiple packets that are of a size that can be accepted by the Path MTU. The IPv6 header is then included with this fragmented part and sent to its destination. Once all parts of the fragmented packet reach its destination, they are reassembled using the Fragment Identification value, provided that the source and destination addresses are identical. Address Format To address the problem of finding a larger pool of IP addresses for IPv6, the size and format of the IPv4 format needed to be changed. Quadrupling the size of the address, from 32 bits to 128 bits, and encoding addresses using the hexadecimal form were used to solve the problem. In IPv4, the format of the address looked like xxx.xxx.xxx.xxx, where the x's represent integers from 0-9 (ex. 136.145.225.121). Now in IPv6, the format of the address resembles xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx where a 10

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424

xStack
®
DGS-3400 Series Layer 2 Gigabit Ethernet Managed Switch
10
Extension Headers
Extension headers are used to identify optional parameters regarding IPv6 packets such as routing, fragmentation of packets or
authentication parameters. The types of extension headers supported are Hop-by-Hop, Routing, Fragment, Destination Options,
Authentication and Encapsulating Security Payload. These extension headers are placed between the IPv6 packet header and the
payload and are linked together by the aforementioned Next Header, as shown below.
IPv6 header
Next Header = TCP
TCP header + data
IPv6 header
Next Header = Routing
Routing Header
Next Header = TCP
TCP header + data
IPv6 header
Next Header =
Destination Options
Destination Options
Header
Next Header = Routing
Routing Header
Next Header = TCP
TCP header + data
Each header has a specific place in the header chain and must follow the following order:
IPv6 Header
Hop-By-Hop Header (Must follow the IPv6 header)
Destination Options
Routing Header
Fragment Header
Authentication Header
Encapsulating Security Payload Header
Destination Options Header
Upper Layer Header
There may be zero, one or more extension headers in the IPv6 header, they must be processed in order and they are to be in
increments of 8 octets in the IPv6 packet. Nodes that do not recognize the field of the extension header will discard the packet and
send a relevant ICMPv6 message back to the source.
Packet Fragmentation
At times, packets are sent out to a destination that exceed the size of the Path MTU, so the source node is required to split these
packets into fragments in individual packets which will be rebuilt when it reaches its final destination. Each of the packets that
will be fragmented is given an Identification value, by the source node. It is essential that each of these Identification values is
different than any other fragmented packet recently sent that include the same source and destination address. The original packet
is divided into two parts, a fragmentable part and an unfragmentable part. The unfragmentable part of the packet consists of the
IPv6 header and any extension headers present, up to the routing extension header. The fragmentable part has the payload plus any
extension headers that must be processed by the final destination node. This part will be divided into multiple packets that are of a
size that can be accepted by the Path MTU. The IPv6 header is then included with this fragmented part and sent to its destination.
Once all parts of the fragmented packet reach its destination, they are reassembled using the Fragment Identification value,
provided that the source and destination addresses are identical.
Address Format
To address the problem of finding a larger pool of IP addresses for IPv6, the size and format of the IPv4 format needed to be
changed. Quadrupling the size of the address, from 32 bits to 128 bits, and encoding addresses using the hexadecimal form were
used to solve the problem. In IPv4, the format of the address looked like xxx.xxx.xxx.xxx, where the x’s represent integers from
0-9 (ex. 136.145.225.121). Now in IPv6, the format of the address resembles xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx where a