TCP / IP-究竟是什么?

我知道这个问题听起来很愚蠢,但是这么多年来,我仍然很难向人们解释TCP / IP。 我自己并没有完全明白,甚至在读完之后,这个区别还不是很清楚。 到目前为止,我所知道的是,IP处理networking,而TCP涉及通过networking传递消息。 我不完全相信。 而且,他们驻留在互联网架构的不同层面上。 任何人都可以用一个简单的比喻或例子来区分这个区别吗? 另外,我读了这个地方

不同之处在于TCP负责数据包的数据传输,IP负责逻辑寻址。 也就是说,IP获取地址,TCP保证数据到该地址的传送。

它是否正确? 谢谢你的协助。 最后一件事 – 以太网在哪里呢?

考虑一个类比。 你运行一个间谍networking。 间谍们都使用信鸽与总部(你)沟通。 他们发送消息给你,你发回消息。

问题:有时候这些信息没有到达,或者他们到达乱序。 鸟儿迟到了,他们停下来吃,有时候一只猫会得到一只。

这是IP。 它发送数据包,并希望他们到达那里。

当然,这并不令人满意。 所以你安排你的间谍在每封邮件上加上一些额外的信息:发送邮件的时间,发送前一封邮件的时间,连续的号码。 另外,如果收件人在一定的时间内没有收到邮件,他们应该重新发送。 现在你可以知道是否有任何东西丢失或不按顺序。

这是TCP。 它使用不可靠的协议(IP)来产生可靠的连接。

类比就像真空,他们吸。

OSI模型是为了描述每个networking堆栈服务的不同angular色而发明的。 每层都相当小,相对容易理解。 知识产权并没有精确地遵循这个模式,但它仍然有点接近。

以太网 – 从底层开始,以太网是允许计算机使用的有线协议; 它通常涉及物理连接的细节以及计算机如何通过插入计算机背面的电线实际上铲除数据。

知识产权,因为以太网已经有了物理细节的照顾,下一个需要趋向于逻辑的东西是最通用的逻辑细节。 IP主要负责逻辑寻址和networking内部概念(“networking上的计算机集合”)。 因此,不在您的networking上的计算机会自动在其他networking上,并且有关IP如何将stream量从您的networking传输到另一个networking的规则。

TCP和UDP这些只是这一层最受欢迎的协议中的两个,还有很多其他协议,人们通常对它们不太熟悉。 TCP是跟踪连接的最低层; 就像连接到Web服务器来请求网页一样。 UDP是一个类似的协议,但是显然没有跟踪连接。 这使得UDP“更轻”和更简单,如果你只需要发送一条消息,这更有意义,同样如果你需要最小化数据发送(如在线video游戏)。

HTTP,DNS等build立在以前的层是实际的应用协议。 正如你可能知道的那样,那里几乎有数百万人。 这些定义了通过networking发送的数据结构,并允许不同的程序“说同一种语言”。

SSL和IPSec还有其他协议实际上将自己置于其他层之间。 SSL位于TCP和HTTP之间以产生HTTPS; 相同的通信,但encryption(一般)。 IPSec是位于IP和TCP之间的一种不同的安全协议,它与SSL的工作方式有所不同,但通常提供了一些相同的保护。

为了尽可能简单,IP协议回答了“如何从计算机A发送消息到计算机B”的问题? 这或多或less是汽车导航系统的任务。

另一方面,TCP则回答了“如何从计算机A上的应用程序X向计算机B上的应用程序Y发送消息,以便我可以确定我的消息被正确接收?”。

IP就像邮件传送服务。 假设你想通过邮寄两件大礼物给你的朋友:这些礼物太大,不适合放在一个包裹里,所以你的邮局要你准备两个不同的盒子,每个礼物一个。 然后,他们分别发送每个箱子:他们会试图find你的朋友的房子的path,但你不知道哪个箱子先到达,有时一些盒子丢失。

而TCP就像电话服务:一旦你和你的收件人之间的沟通build立起来,你的话就会按照你所说的顺序传递给他人。 如果你快速说话,你的朋友会要求你重复最后一句,更慢。 TCP为你的字节stream做了这一切。

TCP会将您的信息分解成小块,并要求IP将它们传送到正确的目的地:TCP一旦到达,就确保每一块都处于正确的位置以形成原始信息