Why do we say the IP protocol in TCP/IP suite is c

2019-03-10 00:52发布

Why is the IP called a connectionless protocol? If so, what is the connection-oriented protocol then?

Thanks.

Update - 1 - 20:21 2010/12/26

I think, to better answer my question, it would be better to explain what "connection" actually means, both physically and logically.

Update - 2 - 9:59 AM 2/1/2013

Based on all the answers below, I come to the feeling that the 'connection' mentioned here should be considered as a set of actions/arrangements/disciplines. Thus it's more an abstract concept rather than a concrete object.

Update - 3 - 11:35 AM 6/18/2015

Here's a more physical explanation:

  • IP protocol is connectionless in that all packets in IP network are routed independently, they may not necessarily go through the same route, while in a virtual circuit network which is connection oriented, all packets go through the same route. This single route is what 'virtual circuit' means.

  • With connection, because there's only 1 route, all data packets will arrive in the same order as they are sent out.

  • Without connection, it is not guaranteed all data packets will arrive in the same order as they are sent out.

Update - 4 - 9:55 AM 2016/1/20/Wed

One of the characteristics of connection-oriented is that the packet order is preserved. TCP use a sequence number to achieve that but IP has no such facility. Thus TCP is connection-oriented while IP is connection-less.

7条回答
太酷不给撩
2楼-- · 2019-03-10 01:32

In my knowledge, every layer makes a fool of the one above it. The TCP gets an HTTP message from the Application layer and breaks it into packets. Lets call them data packets. The IP gets these packets one by one from TCP and throws it towards the destination; also, it collects an incoming packet and delivers it to TCP. Now, TCP after sending a packet, waits for an acknowledgement packet from the other side. If it comes, it says the above layer, hey, I have established a connection and now we can communicate! The whole communication process goes on between the TCP layers on both the sides sending and receiving different types of packets with each other (such as data packet, acknowledgement packet, synchronization packet , blah blah packet). It uses other tricks (all packet sending) to ensure the actual data packets to be delivered in ordered as they were broken and assembled. After assembling, it transfers them to the above application layer. That fool thinks that it has got an HTTP message in an established connection but in reality, just packets are being transferred.

查看更多
登录 后发表回答