Differentiate between TCP and UDP from programming point of view

 Key Differences Between TCP and UDP

  • TCP is Connection-oriented whereas, UDP is a Connectionless protocol.
  • TCP is highly reliable for transferring useful data as it takes the acknowledgment of information sent. Also, resends the lost packets if any. Whereas in the case of UDP if the packet is lost it won’t request for retransmission and the destination computer receives corrupt data. So, UDP is an unreliable protocol.
  • TCP is slower as compared to UDP since TCP establishes the connection before transmitting data, and ensures the proper delivery of packets. On the other hand, UDP does not acknowledge whether the data transmitted is received or not.
  • The header size of UDP is 8 bytes, and that of TCP is more than double. TCP header size is 20 bytes since, and TCP header contains options, padding, checksum, flags, data offset, acknowledgment number, sequence number, source and destination ports, etc.
  • Both TCP and UDP can check for errors, but only TCP can correct the error since it has both congestion and flow control.
  • The speed for TCP is slower while the speed of UDP is faster

  • TCP uses handshake protocols like SYN, SYN-ACK, ACK while UDP uses no handshake protocols. 
  • TCP does error checking and also makes error recovery, on the other hand, UDP performs error checking, but it discards erroneous packets. 
  • TCP has acknowledgment segments, but UDP does not have any acknowledgment segment.
  • When we compare TCP vs UDP protocol, TCP is heavy-weight, and UDP is lightweight.



                  OR,


    OR,



    Comments

    Popular posts from this blog

    Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

    Pure Versus Partial EC

    Suppose that a data warehouse consists of the three dimensions time, doctor, and patient, and the two measures count and charge, where a charge is the fee that a doctor charges a patient for a visit. a) Draw a schema diagram for the above data warehouse using one of the schemas. [star, snowflake, fact constellation] b) Starting with the base cuboid [day, doctor, patient], what specific OLAP operations should be performed in order to list the total fee collected by each doctor in 2004? c) To obtain the same list, write an SQL query assuming the data are stored in a relational database with the schema fee (day, month, year, doctor, hospital, patient, count, charge)