IP TTL is actually only decreased by routers when receiving a packer, so is effectively a "hop count".
(a packet is never in transit on a single equipment for as long as one second, so the time-based decrement has no chance to happen, but I think it has never been implemented anywhere, although it's hard to prove a negative).
This is confirmed by RFC6864 section 3.2 which state:
Network delays are incurred in other ways, e.g., satellite links,
which can add seconds of delay even though the Time to Live (TTL)
is not decremented by a corresponding amount. There is thus no
enforcement mechanism to ensure that datagrams older than 120
seconds are discarded.
So IP TTL not being time-base has nothing to do with the TCP MSL.
Closely related RFC1122 section 3.3.2 discuss the impact of those 2 mechanism on fragment reassembly:
The IP specification says that the reassembly timeout
should be the remaining TTL from the IP header, but this
does not work well because gateways generally treat TTL as
a simple hop count rather than an elapsed time. If the
reassembly timeout is too small, datagrams will be
discarded unnecessarily, and communication may fail. The
timeout needs to be at least as large as the typical
maximum delay across the Internet. A realistic minimum
reassembly timeout would be 60 seconds.
It has been suggested that a cache might be kept of
round-trip times measured by transport protocols for
various destinations, and that these values might be used
to dynamically determine a reasonable reassembly timeout
value. Further investigation of this approach is
If the reassembly timeout is set too high, buffer
resources in the receiving host will be tied up too long,
and the MSL (Maximum Segment Lifetime) [TCP:1] will be
larger than necessary. The MSL controls the maximum rate
at which fragmented datagrams can be sent using distinct
values of the 16-bit Ident field; a larger MSL lowers the
maximum rate. The TCP specification [TCP:1] arbitrarily
assumes a value of 2 minutes for MSL. This sets an upper
limit on a reasonable reassembly timeout value.