What are some good ways to get time?

I know about NTP v3 and v4 and use it on some systems. I need a time
accuracy of < 1 ms.

NTP over gigabit Ethernet is down to what time of precision? 1ms? Does
anyone have any data on this?

I know that the linux os is compiled for something like 1 ms precision

IRIG is a pain? Is there anything better?

Thanks in advance