i have not come across(may be i overlooked) any means by which TCP or IP could identify two different application using the same port..
for example suppose i telnet to two different machines,say A and B ..an terminal that telneted to A will recieve the packets from A and the terminal that telneted to B will recieve the packets from B but never mixed up(ofcourse)..how will TCP or IP on my computer pass incoming packets to the higher layer correctly??which field in their respective headers does either of these use to pass the right packet to the right application..as far as i have read IP has a field in its header that will tell it which upper layer protocol (TCP or UDP ) is the packet meant for but not more..i have not seen any field in the TCP header that will tell TCP that the incoming packet is for application A or application B...
however i do have a guess...does the fields that specify source and destination ports in the TCP header do that work for TCP..if so i have no further questions ..otherwise HEEEEEEELP