3-way handshake

Unanswered Question
Oct 12th, 2009


I am a newbie and I did a test but was wrong on this question and I couldn't understand why, please help me. Thanks.


The data will be sent using the TCP Transport Layer Protocol. What happens next?

A - TCP uses a 3-way handshake to establish connectivity with the receiving device.

B - TCP encapsulates the data with a simple header, creating a datagram

C - TCP divides the data into segments, and adds a header to each segment

I think:

A - Can't be as at this time, it doesn't know the other end yet, since it doesn't know IP and MAC address, how can it do the 3-way handshake.

B - Datagram is UDP term

C - I chose C, but it's incorrect.

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Jon Marshall Mon, 10/12/2009 - 10:10

Personally i would choose A.

TCP doesn't care about the IP or MAC address and it doesn't base it's decisions on either of those things.

If the data is to be sent using TCP the first thing to happen is the 3-way handshake. So the sending device will send a packet with the TCP Syn flag bit set. This packet will be passed down to the IP layer and it's up to the IP layer to add the IP address, and then it's sent to the data link layer where the mac-address will be added.

That is why each layer is independant of each other so that they can perform their functions independently.

For example TCP can be used over serial point to point connections and there is no mac-address on these connections. Also it can be used over frame-relay, again no mac-addresses. Each medium uses it's own data link addressing. If TCP needed to account for all these different types of addressing the code would be a lot larger. That's why it doesn't care. It leaves the issue of addressing to the lower layers.


googooruu Mon, 10/12/2009 - 10:23

Thanks for replying to my post.

From what I understand, the three-way handshake will need to complete first before it can pass the segment with TCP header down the IP layer. How can it make the three-way handshake with the other device on the other end? how does it know where that device is?


Jon Marshall Mon, 10/12/2009 - 10:31


"How can it make the three-way handshake with the other device on the other end? how does it know where that device is?"

It doesn't need to know where that device is, that is the job of routing and switching which are layers beneath TCP. Of course it needs to know which machine/IP address it is sending data to so in practice the layers are not completely separate. But what it doesn't need to do is know how to get to that IP address, it doesn't care. Getting the packet to the destination is the job of layers below TCP.



This Discussion