My understanding of the way IP headers are formed is that $ver should equal 4 when all is said and done. So, while grabbing it all in one swoop solves the repeating data I am still not obtaining the expected results.
If you have 4 bits that represent, say, an integer how do you unpack to a usable value?