Computer Networks

Andrew S. Tanenbaum, David Wetherall

Mentioned 3

Computer Networks, 5/e is appropriate for Computer Networking or Introduction to Networking courses at both the undergraduate and graduate level in Computer Science, Electrical Engineering, CIS, MIS, and Business Departments. Tanenbaum takes a structured approach to explaining how networks work from the inside out. He starts with an explanation of the physical layer of networking, computer hardware and transmission systems; then works his way up to network applications. Tanenbaum's in-depth application coverage includes email; the domain name system; the World Wide Web (both client- and server-side); and multimedia (including voice over IP, Internet radio video on demand, video conferencing, and streaming media. Each chapter follows a consistent approach: Tanenbaum presents key principles, then illustrates them utilizing real-world example networks that run through the entire book—the Internet, and wireless networks, including Wireless LANs, broadband wireless and Bluetooth. The Fifth Edition includes a chapter devoted exclusively to network security. The textbook is supplemented by a Solutions Manual, as well as a Website containing PowerPoint slides, art in various forms, and other tools for instruction, including a protocol simulator whereby students can develop and test their own network protocols.

More on Amazon.com

Mentioned in questions and answers.

what is the difference between UdpClient and TcpClient ? When should i use Tcp and when Udp from the point of software arhitecture ? I hope i've explained it right ..

TCP vs UDP comparison - Usage

  • TCP is used in case of non-time critical applications.
  • UDP is used for games or applications that require fast transmission of data. UDP's stateless nature is also useful for servers that answer small queries from huge numbers of clients.

TCP vs UDP comparison - Function

  • As a message makes its way across the internet from one computer to another. This is connection based.
  • UDP is also a protocol used in message transport or transfer. This is not connection based which means that one program can send a load of packets to another and that would be the end of the relationship.

TCP vs UDP comparison - Acronym for

  • Transmission Control Protocol
  • User Datagram Protocol or Universal Datagram Protocol

TCP vs UDP comparison - Weight

  • TCP requires three packets to set up a socket connection, before any user data can be sent. TCP handles reliability and congestion control.
  • UDP is lightweight. There is no ordering of messages, no tracking connections, etc. It is a small transport layer designed on top of IP.

TCP vs UDP comparison - Streaming of data

  • Data is read as a byte stream, no distinguishing indications are transmitted to signal message (segment) boundaries.
  • Packets are sent individually and are checked for integrity only if they arrive. Packets have definite boundaries which are honored upon receipt, meaning a read operation at the receiver socket will yield an entire message as it was originally sent.

TCP vs UDP comparison - Speed of transfer

  • The speed for TCP in comparison with UDP is slower.
  • UDP is faster because there is no error-checking for packets.

TCP vs UDP comparison - Examples

  • HTTP, HTTPs, FTP, SMTP Telnet etc...
  • DNS, DHCP, TFTP, SNMP, RIP, VOIP etc...

TCP vs UDP comparison - Data Reliability

  • There is absolute guarantee that the data transferred remains intact and arrives in the same order in which it was sent.
  • There is no guarantee that the messages or packets sent would reach at all.

TCP vs UDP comparison - Connection Reliable

  • Two way Connection reliable
  • one way Connection Reliable

TCP vs UDP comparison - Ordering

  • TCP rearranges data packets in the order specified.
  • UDP does not order packets. If ordering is required, it has to be managed by the application layer.

TCP vs UDP comparison - Error Checking

  • TCP does error checking
  • UDP does not have an option for error checking.

TCP vs UDP comparison - Header Size

  • TCP header size is 20 bytes
  • UDP Header size is 8 bytes.

Short compare. Must have book.

I've started learning Computer Networking now. I've been gathering information about ports. When I searched on the internet, I could see that there were so many ports. I just want to know the use/function of ports and whether they all do the same work. Also, I see the port 8080 in most places. Is there any specific reason behind this(using 8080)?

Ports, along with IP addresses form the basic endpoint of a TCP network connection. Valid port number ranges from 0 to 65535 (16 bits) and they all do the same job.

Now they are some well-known services used on the Internet so often that it has become such a good practice to make them listen to a well-know port. Most of these services are collected in the IANA web page. You will find there that 8080 port number is mostly used by web servers and proxies (basic operation you do on internet, browsing).

More deeply, a port is a transport layer concept for communicating with a specific process in the target machine (ie: the host pointed by IP address). This is what makes possible for multiple services being run at the same host without conflicting.

A normal TCP/IP connection has two endpoints each one consisting of the tuple (IP address, port number).

You can find more information at the Wikipedia page for TCP and there are many good books on the subject. My personal favorite: Andrew S. Tanenbaum - Computer Networks

Hope this helps!

I've been recommended Computer Networks, a top-down approach by James Kurose and Keith Ross. Related to that I've heard good and bad critics, I would like ask you what's your opinion. I mean, I expect to know something about this book before spend my money. Thanks!