关于tcp/ip协议栈的问题

本人刚开始学习tcp/ip。
tcp/ip是一个协议簇,包含很多协议。我想问问,假如tcp已经可以实现两台机器之间的可靠数据传输,
还需要ip,arp这些干什么,他们的作用不就是寻址吗?还是说假如在局域网内有多台机器互相通讯才需要?

我被你搞混了,还是多看看OSI 七层模型吧。看看他们3个具体在哪个层面上工作的

TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议
ARP是物理层
IP是网络层

tcp是面向连接,保证传输的安全,而udp不是面向连接,速率快,但是容易丢包,不安全,这两种协议是tcp/ip协议中的传输层协议,针对数据如何传输,网络层协议(如ip等)可以理解是如何解析地址,去找这个地址。

图片说明

看图 TCP/IP是个模型,每一层都有对应的协议

tcp协议是在ip协议的基础上实现的可靠传输,即tcp的底层是ip。比如A向B发送一个tcp数据包,它会向协议栈下层的IP层传递,加入ip头,然后B的IP层接收到A的IP数据包后,会解析该数据包,校验通过后会继续向上传递给B的TCP层。其中,IP层只负责发出去,TCP则负责看一下对方是否收到,即对方是否有正确的ACK回应。还有更多细节,请仔细阅读TCP IP详解