Subject: Re: Why IP

From: Ryan Boder <[email-masked]>
Date: Sun, 13 Mar 2005 13:59:47 -0500

Back in 2002 there was a thread discussing why OSPF uses IP instead of
UDP like RIP does.

I can't find any convincing answer in this thread or anywhere else. Has
anybody since answered this question?

These best answer I see in the thread is that using IP is more efficient
that UDP because of the UDP header. However they claim that it's 8 bytes
more efficient which I think is wrong. The total length and checksum
fields are useful to RIP and would be useful to OSPF, since OSPF
includes similar fields in it's header. So only the 4 bytes for the
source and destination port would be wasted if OSPF used UDP.

I am only looking for an answer for academic reasons, I'm not claiming
the OSPF should use UDP. But I would like to know why. Is it simply to
save 4 bytes in the packet size? Or was the decision just arbitrary?

-- 
Ryan Boder
http://bitwiser.org

---

From: Tom Petch <[email-masked]>
Date: Mon, 14 Mar 2005 09:49:25 +0100

I suggest you look at 'OSPF: Anatomy of an Internet Routing Protocol' by John T
Moy, Addison-Wesley (1998) pp50-51

Tom Petch

---

From: Erblichs <[email-masked]>
Date: Mon, 14 Mar 2005 02:56:24 -0800

Ryan,
	
	Let me try a acedemic answer., also read the
	Moy book.

	Are you asking why OSPF doesn't use UDP/IP vs
	just IP?

	Actually, the bigger question is why does OSPF
	have all the the retransmission stuff built into
	itelf vs using TCPs retransmission / flow mechanisms,
	like say BGP?

	I think the simple answer is that the UDP/TCP connection
	overhead was deemed unnecessary. This allows each
	packet to be IP routed independently vs possibly
	aggregating different OSPF packet types into one
	segment transmission.

	In theory with TCP we need to continually send segments
	to determine if our congestion has changed. With UDP
	it doesn't care, but still requires the connection
	to be established and maintained. With OSPF we just
	use the hello protocol to determine liveliness, and
	force the use of implicit or explicit acks to prevent
	resends.

	Thus, in theory if you infrequently send a few pkts to your
	constant neighbors straight IP should be lower overhead, 
	IMO; in a less chaiotic environment. If you send bulk
	data transfers, then in theory the connection setup and
	possible teardowns in between could be amortized lower per
	 segment/packet, and the packets could have somewhat of a
	 guarantee of delivery.

	Now, I am wearing a wet suit so flames shouldn't
	bother me.. :-)

	Mitchell Erblich
	---------------------