TCP/IP 基础知识总结(一)

简介: 要说我们接触计算机网络最多的协议,那势必离不开 TCP/IP 协议了,TCP/IP 协议同时也是互联网中最为著名的协议,下面我们就来一起聊一下 TCP/IP 协议。

微信图片_20220416134626.png

要说我们接触计算机网络最多的协议,那势必离不开 TCP/IP 协议了,TCP/IP 协议同时也是互联网中最为著名的协议,下面我们就来一起聊一下 TCP/IP 协议。

TCP/IP 的历史背景

最初还没有 TCP/IP 协议的时候,也就是在 20 世纪 60 年代,许多国家和地区认识到通信技术的重要性。美国国防部希望能够研究一种即使通信线路被破坏也能够通过其他路线进行通信的技术。为了实现这种技术,出现了分组网络。

微信图片_20220416134630.png

即使在两个节点通信的过程中,几个节点遭到破坏,却依然能够通过改变线路等方式使两个节点之间进行通信。

这种分组网络促进了 ARPANET(Advanced Research Projects Agency Network) 的诞生。ARPANET 是第一个具有分布式控制的广域包分组交换网络,也是最早实现 TCP/IP 协议的前身。

ARPANET 其实是由 美国国防部高级研究计划局 计划建立。

所以,计算机网络的出现在最一开始是因为军事研究目的。

20 世纪 90 年代,IOS 开展了 OSI 这一国际标准化的进程,然而却没有取得实质性的进展,但是却使 TCP/IP 协议得到了广泛使用。

这种致使 TCP/IP 协议快速发展的原因可能是由于 TCP/IP 的标准化。也就是说 TCP/IP 协议中会涉及到 OSI 所没有的标准,而这种标准将是我们接下来主要探讨的内容。

这里我们先来认识一下 TCP/IP 协议,TCP/IP 协议说的不仅仅只是 TCP 和 IP 这两种协议,实际上,TCP/IP 指的是协议簇,协议簇是啥呢?简单来说就是一系列协议的综合,如果下次再问你 TCP/IP 协议有哪些的话,可以把下面这张图甩给他

微信图片_20220416134635.png

以上的协议汇总起来,就是 TCP/IP 协议簇。

TCP/IP 标准

TCP/IP 相较于其他协议的标准,更注重两点:开放性实用性,即标准化能否被实际使用。

开放性说的是 TCP/IP 是由 IETF 讨论制定的,而 IETF 本身就是一个允许任何人加入进行讨论的组织。

实用性说的是就拿框架来说,如果只浮于理论,而没有落地的实践,那么永远成为不了主流。

TCP/IP 的标准协议就是我们所熟知的 RFC 文档,当然你可以在网络上看到。RFC 不仅规范了协议标准,还包含了协议的实现和使用信息。

关于更多 RFC 协议,你可以看一下官方文档 https://www.rfc-editor.org/rfc-index.html

这里我们不再详细展开介绍了,我们这篇文章的重点要放在对 TCP/IP 的研究上。

TCP/IP 协议簇

下面我们就开始聊一聊 TCP/IP 协议簇。

TCP/IP 协议是我们程序员接触最多的协议,OSI 模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在 TCP/IP 协议中,它们被简化为了四个层次

微信图片_20220416134639.png

下面我们从通信链路层开始介绍一下这些层以及与层之间的协议。

通信链路层

如果非要细分的话,通信链路层也可以分为 物理层数据链路层

物理层

物理层是 TCP/IP 的最底层是负责传输的硬件,这种硬件就相当于是以太网或电话线路等物理层的设备。

数据链路层

另外一层是数据链路层,数据链路层位于物理层和网络层中间,数据链路层定义了在单个链路上如何传输数据。

网络层

网络层主要使用 IP协议,IP 协议基于 IP 地址转发分包数据。

微信图片_20220416134643.png

IP 协议的主要作用就是将分组数据包发送到目标主机

TCP/IP 分层中的互联网层与传输层的功能通常由操作系统提供。

IP 还隐含着数据链路层的功能,通过 IP 协议,相互通信的主机之间不论经过怎样的底层数据链路,都能够实现相互通信。

虽然 IP 也是一种分组交换协议,但是 IP 却不具备重发机制。即使数据没有到达另一端也不会进行重发,所以 IP 属于非可靠性协议。

网络层还有一种协议就是 ICMP,因为 IP 在数据包的发送过程中可能会出现异常,当 IP 数据包因为异常而无法到达目标地址时,需要给发送端发送一个异常通知,ICMP 的主要功能就在于此了。鉴于此情况,ICMP 也可以被用来诊断网络情况。

传输层

我们上面刚介绍完 TCP/IP 协议最重要的 IP 协议后,下面我们来介绍一下传输层协议,TCP 协议是传输层协议的一种。

传输层就好像高速公路一样,连接两个城市的道路。下面是互联网的逻辑通道,你可以把它想象成为高速公路。

微信图片_20220416134647.png

传输层最主要的功能就是让应用层的应用程序之间完成通信和数据交换。在计算机内部运行着很多应用程序,每个应用程序都对应一个端口号,我们一般使用端口号来区分这些应用程序。

传输层的协议主要分为面向有连接的协议 TCP 和面向无连接的协议 UDP

TCP

TCP 是一种可靠的协议,它能够保证数据包的可靠性交付,TCP 能够正确处理传输过程中的丢包、传输顺序错乱等异常情况。此外,TCP 还提供拥塞控制用于缓解网络拥堵。

UDP

UDP 是一种不可靠的协议,它无法保证数据的可靠交付,相比 TCP ,UDP 不会检查数据包是否到达、网络是否阻塞等情况,但是 UDP 的效率比较高。

UDP 常用于分组数据较少或者广播、多播等视频通信和多媒体领域。

相关文章
|
网络协议
TCP/IP协议的介绍
TCP/IP协议是众多协议的统称,通过分层结构来管理。可分为七层模型或四层结构
|
网络协议 网络架构
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
六、TCP/IP模型 和 5层参考模型
|
域名解析 网络协议
IP协议, TCP协议 和DNS 服务分别是干什么的?
大家好,我是阿萨。昨天讲解了网络四层协议[TCP/IP协议族分为哪4层?]今天我们学习下IP 协议, TCP 协议和DNS 协议分别是干什么的。
211 0
IP协议, TCP协议 和DNS 服务分别是干什么的?
|
网络协议
TCP/IP协议族有哪些?
大家好,我是阿萨。昨天我们学习了[URI 和URL 的区别是什么?]了解了URI 和URL的区别。 学习HTTP, 绕不开TCP/IP,那么TCP/IP 协议族分为哪4层?
254 0
TCP/IP协议族有哪些?
|
网络协议 网络性能优化 网络安全
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(2)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(2)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(2)
|
域名解析 网络协议 安全
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(1)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(1)
网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解(1)
|
网络协议 算法 网络性能优化
网络入门基础模型, 网络大体框架, TCP/IP协议栈, 各种局域网和广域网刨析 (以图解的方式推开网络大门)
网络入门基础模型, 网络大体框架, TCP/IP协议栈, 各种局域网和广域网刨析 (以图解的方式推开网络大门)
网络入门基础模型, 网络大体框架, TCP/IP协议栈, 各种局域网和广域网刨析 (以图解的方式推开网络大门)
|
存储 运维 网络协议
深入浅出:这次终于能把 TCP/IP 协议搞明白了
深入浅出:这次终于能把 TCP/IP 协议搞明白了
深入浅出:这次终于能把 TCP/IP 协议搞明白了
|
网络协议 NoSQL 数据库连接
【七日打卡】TCP&IP在开发中的作用
在网络应用开发中, 程序之间的交互都是通过TCP连接来进行通信的, 比如数据库连接, 事务连接管理。
【七日打卡】TCP&IP在开发中的作用
|
网络协议
ACK的累加规则-wireshark抓包分析-不包含tcp头部、ip头部、数据链路层头部等。
ACK的累加规则-wireshark抓包分析-不包含tcp头部、ip头部、数据链路层头部等。
ACK的累加规则-wireshark抓包分析-不包含tcp头部、ip头部、数据链路层头部等。