12-07-2000
TCP vs UDP
UDP can also be used in noisy environments; however the transmission control protocol that manages packet loss, sequencing, etc. must be higher in the protocol stack.
TCP does the 'transmission reliability' transparent to the application programmer. However, this does not preclude the use of higher level 'transmission reliability' on top of UDP systems.
In fact, I have worked with many companies who had issues with the overhead associated with TCP and rebuilt the transmission control model on top of UDP or RAW SOCKETS.
TCP is designed for a generic Internet end-to-end model; however it is not perfect or the most efficient for all transmission models. It is inaccurate to translate 'connectionless' UDP vs. 'connection oriented' TCP to 'unrealiable' and 'reliable'. TCP is connection oriented. UDP is not connection oriented. UDP can be used in applications where connection oriented behavior is required, it just must be done in a higher level in the stack.
We would have to start a new forum 'Advanced UNIX' or 'Advanced Networking' to further discuss, as this is not a newbies topic.
7 More Discussions You Might Find Interesting
1. IP Networking
Hello there!
Can anybody help me out with the steps required in implementing a chat program using sockets?
Bye! (2 Replies)
Discussion started by: hufs375
2 Replies
2. UNIX for Dummies Questions & Answers
i need chat program in c. know sockets to some extent. (4 Replies)
Discussion started by: krishnavel
4 Replies
3. Programming
Good day everyone,
I'm doing a chat client-server program:server is to receive messages from clients through a TCP port and multicast them back to all clients through a UDP port.
This is my client program. I'd not know why it just sends and receives msg from server once, then it stops.
Is... (1 Reply)
Discussion started by: powermind
1 Replies
4. Programming
any suggestions on how i could create a simple chat program between two terminals using pipes? thanks (1 Reply)
Discussion started by: kelogs1347
1 Replies
5. UNIX for Dummies Questions & Answers
I am wanting to know if you have ever found an extremely secure
chat program for UNIX (Solaris 7), such that I could control which
users can chat with which users, ie John (teacher)
can talk to Suzy (student) or Sam (student) and they
can talk back to their teacher BUT there is absolutely ... (1 Reply)
Discussion started by: ixeye
1 Replies
6. Web Development
Hi,
I am trying to embed Skype or any other video chat/chat program into a webpage. Has anyone had success doing this? or know how?
Thanks
Phil (2 Replies)
Discussion started by: phil_heath
2 Replies
7. UNIX for Advanced & Expert Users
here i havent tried to make a communication between two terminals of different machines
not either any socket program
my simple aim is use ipc for chat between two soft terminals(tty's)
here is my view two terminals with two applications working on same fifo
one fifo b/w two terminals try... (3 Replies)
Discussion started by: shyam.sunder91
3 Replies
LEARN ABOUT DEBIAN
blackhole
BLACKHOLE(4) BSD Kernel Interfaces Manual BLACKHOLE(4)
NAME
blackhole -- a sysctl(8) MIB for manipulating behaviour in respect of refused TCP or UDP connection attempts
SYNOPSIS
sysctl net.inet.tcp.blackhole[=[0 | 1 | 2]]
sysctl net.inet.udp.blackhole[=[0 | 1]]
DESCRIPTION
The blackhole sysctl(8) MIB is used to control system behaviour when connection requests are received on TCP or UDP ports where there is no
socket listening.
Normal behaviour, when a TCP SYN segment is received on a port where there is no socket accepting connections, is for the system to return a
RST segment, and drop the connection. The connecting system will see this as a ``Connection refused''. By setting the TCP blackhole MIB to
a numeric value of one, the incoming SYN segment is merely dropped, and no RST is sent, making the system appear as a blackhole. By setting
the MIB value to two, any segment arriving on a closed port is dropped without returning a RST. This provides some degree of protection
against stealth port scans.
In the UDP instance, enabling blackhole behaviour turns off the sending of an ICMP port unreachable message in response to a UDP datagram
which arrives on a port where there is no socket listening. It must be noted that this behaviour will prevent remote systems from running
traceroute(8) to a system.
The blackhole behaviour is useful to slow down anyone who is port scanning a system, attempting to detect vulnerable services on a system.
It could potentially also slow down someone who is attempting a denial of service attack.
WARNING
The TCP and UDP blackhole features should not be regarded as a replacement for firewall solutions. Better security would consist of the
blackhole sysctl(8) MIB used in conjuction with one of the available firewall packages.
This mechanism is not a substitute for securing a system. It should be used together with other security mechanisms.
SEE ALSO
ip(4), tcp(4), udp(4), ipf(8), ipfw(8), pfctl(8), sysctl(8)
HISTORY
The TCP and UDP blackhole MIBs first appeared in FreeBSD 4.0.
AUTHORS
Geoffrey M. Rehmet
BSD
January 1, 2007 BSD