小唐IT实用技术讲解|轻松学习http,让枯燥的内容变得生动有趣:TCP/IP通信的简单实现
#学浪计划##2020毕业季##新作者扶植计划第二期##我要上头条#
在之前的分享中 , 小唐给大家介绍了TCP/IP四层模型和TCP的三次握手 。 TCP/IP四层模型和三次握手是实现数据通信和传输的准备阶段 。 本篇文章介绍的将会是实现数据通信和传输的进行阶段 。
关于对TCP/IP四层模型和TCP的三次握手的学习 , 你可以阅读以下两篇文章:《TCP三次握手》、《TCP/IP四层模型》 。
在正式的讲解TCP/IP传输的时候 , 小唐仍然会使用浏览器和服务器之间的数据传输和通信来举例 , 不过这一次的例子和以往的例子有着一些不一样 。 如下图:
本文插图
客户端和服务器之间TCP三次握手的实现
【小唐IT实用技术讲解|轻松学习http,让枯燥的内容变得生动有趣:TCP/IP通信的简单实现】我们的浏览器要开始和服务器进行数据传输和通信了 。 首先 , 浏览器如果要和服务器之间建立起可靠的TCP连接 , 就得在浏览器和服务器双方之间打三次招呼 , 确保是建立的可靠的TCP连接 。
那么 , 为什么在进行了三次打招呼之后 , 就能确保客户端和服务端是可靠的TCP连接了呢?这和三次打招呼的内容有关 , 打招呼的内容主要是由SYN消息和ACK消息组成 。 SYN消息是计算机科学领域对建立TCP/IP连接规定的握手消息 。 主要由发送方发给接收方(上图中我们的浏览器和服务器都可以是发送方) 。 ACK消息是计算机科学领域对某一台主机收到SYN消息所规定的作为收到SYN消息的回应消息 。 ACK消息是一个传输控制符号 , 表明接收方接到的消息是准确无误的 。
因此 , 客户端想要和服务器建立起可靠的TCP通信 , 首先就得给服务器发送SYN消息 , 表明想要和服务器建立通信;服务器收到SYN消息后对客户端发送ACK消息 , 告诉客户端可以建立通信并表明自己收到的数据是正确的 , 同时 , 服务器也会给客户端发送一个SYN消息表明想要和客户端建立通信;客户端用ACK消息回应 。 这时基于TCP的可靠性连接就建立起来了 。 客户端和服务器之间开始进行了正式的数据传输 。
接下来 , 小唐将会完善上图 , 给大家引入TCP/IP四层模型 , 并给大家介绍数据的传输过程是怎么通过TCP/IP四层模型来实现的 。
本文插图
TCP/IP四层模型实现的TCP/IP通信
作为发送方 , 如果要把某些数据发送给接受方 , 按照TCP/IP的四层模型规定 。 发送的数据就会从传输层开始被打包 , 然后流转到网络层再一次进行打包 , 之后流转到数据链路层进行第三次打包 。 这样的打包方式叫做数据的三层打包 , 而实现数据的三层打包的数据流向叫做自顶向下的数据传输流 。 经过数据的三层打包后流转到了数据链路层 , 数据链路层会检查数据的三层打包的每一层标签是否正确 , 检查之后数据链路层就把数据包抛到互联网中进行传输 , 当数据进入互联网的一瞬间 , 数据传输就正式开始了 。 在互联网中能传输的数据的基本单位其实就是数据包 。 数据包在互联网中传输的过程叫做互联网数据传输流 。 很快 , 我们的数据包到达了接受方那里 。
作为接受方 , 它可以在互联网传输流中拿出发送给自己的数据包 , 之后数据包就会从接受方的数据链路层开始拆包 , 数据链路层把数据包拆开后 , 会把数据包发给网络层拆包 , 网络层拆完过后会发给传输层拆包 。 传输层拆包完过后就能看见真实的数据了 。 这样的拆包方式叫做数据的三层拆包 , 实现三层拆包的数据流叫做自底向上的数据传输流 。
在接下来的文章中 , 小唐将会给大家介绍关于HTTP的三层打包和三层拆包的那些事 , 尽请期待小唐的下一篇文章吧 。
推荐阅读
- 青年|西安邮电大学与安康汉滨区深度合作,研发适合毛绒玩具全产业链实用技术
- 温度|电脑知识讲解:CPU温度多少正常?CPU温度过高怎么办?
- 小红帽讲解科技|好看的手机,仰望星空,vivoX50Pro
- 伦茨科技|分不清蓝牙适配器、蓝牙接收器和蓝牙发射器?伦茨科技为你讲解
- 小红帽讲解科技|曾经的经典三星S9 你的使用体验如何?你觉得它算机皇吗
- 新榜|“毒舌电影”一周涨粉210万,《逃出绝命镇》讲解视频获百万点赞
- 小牛牛讲解科技|真无线耳机怎么选?热门老款VS明星新款,网友:主动降噪方向对了
- 老盖聊技术|电脑硬盘数据恢复图文教程,恢复删除丢失格式化数据软件讲解
- 爱吃鱼的灰狼|电脑内存条科普,内存选购、品牌、安装、时序体质详细讲解
- 一萱摄影|教你拍慢门 怎样使用低速快门拍摄 慢门摄影入门讲解
