其他 简单了解 TCP/IP 协议栈

sds · 2020年06月18日 · 34 次阅读

什么是 TCP/IP 协议?

TCP/IP 是互联网相关各类协议族的总称。计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定,不同的硬件、操作系统之间的通信,所有这一切都需要一种规则,而我们就将这种规则称为协议(protocol)。

TCP/IP 协议的分层管理

TCP/IP 协议里最重要的一点就是分层。TCP/IP 协议族按层次分别为应用层,传输层,网络层,数据链路层,物理层。把 TCP/IP 协议分层之后,如果后期某个地方设计修改,那么就无需全部替换,只需要将变动的层替换。而且从设计上来说,也变得简单了。处于应用层上的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方、怎样传输、如何确保到达率等问题。

我们由下到上来了解一下这些分层,越靠下越接近硬件:

物理层

该层负责比特流在节点之间的传输,即负责物理传输,这一层的协议既与链路有关,也与传输的介质有关。通俗来说就是把计算机连接起来的物理手段。

数据链路层

控制网络层与物理层之间的通信,主要功能是保证物理线路上进行可靠的数据传递。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据结构的结构包,他不仅包含原始数据,还包含发送方和接收方的物理地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传达数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧。

网络层

决定如何将数据从发送方路由到接收方。网络层通过综合考虑发送优先权,网络拥塞程度,服务质量以及可选路由的花费等来决定从网络中的 A 节点到 B 节点的最佳途径。即建立主机到主机的通信。

传输层

该层为两台主机上的应用程序提供端到端的通信。传输层有两个传输协议:TCP(传输控制协议)和 UDP(用户数据报协议)。其中,TCP 是一个可靠的面向连接的协议,UDP 是不可靠的或者说无连接的协议。

应用层

应用程序收到传输层的数据后,接下来就要进行解读。解读必须事先规定好格式,而应用层就是规定应用程序的数据格式。主要的协议有:HTTP、FTP、Telent 等。

TCP 与 UDP TCP/UDP 都是传输层协议,但是两者具有不同的特效,同时也具有不同的应用场景。

面向报文

面向报文的传输方式是应用层交给 UDP 多长的报文,UDP 发送多长的报文,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。

面向字节流

虽然应用程序和 TCP 的交互是一次一个数据块(大小不等),但 TCP 把应用程序看成是一连串的无结构的字节流。TCP 有一个缓冲,当应该程序传送的数据块太长,TCP 就可以把它划分短一些再传送。

总结

以上内容就是对 TCP/IP 协议栈的简单介绍。实际上,TCP/IP 协议每一层模型都有很多协议,每个协议要做的事情也很多。我们首先得有一个清晰的脉络结构,掌握每一层模型最基本的作用,然后再去丰富细枝末节的东西,也许会更容易理解。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册