小唐IT实用技术讲解 让枯燥的内容变得生动有趣:TCP/IP通信的简单实现,轻松学习http
【小唐IT实用技术讲解 让枯燥的内容变得生动有趣:TCP/IP通信的简单实现,轻松学习http】#学浪计划##2020毕业季##新作者扶植计划第二期##我要上头条#
在之前的分享中 , 小唐给大家介绍了TCP/IP四层模型和TCP的三次握手 。 TCP/IP四层模型和三次握手是实现数据通信和传输的准备阶段 。 本篇文章介绍的将会是实现数据通信和传输的进行阶段 。
关于对TCP/IP四层模型和TCP的三次握手的学习 , 你可以阅读以下两篇文章:《TCP三次握手》、《TCP/IP四层模型》 。
在正式的讲解TCP/IP传输的时候 , 小唐仍然会使用浏览器和服务器之间的数据传输和通信来举例 , 不过这一次的例子和以往的例子有着一些不一样 。 如下图:
文章图片
客户端和服务器之间TCP三次握手的实现
我们的浏览器要开始和服务器进行数据传输和通信了 。 首先 , 浏览器如果要和服务器之间建立起可靠的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的三层打包和三层拆包的那些事 , 尽请期待小唐的下一篇文章吧 。
- 游戏机实用技术|《命令与征服 重制版》开启折扣,折后119元
- 小唐纳德·特朗普|特朗普“独立日讲话”约7500人到场 大多数没戴口罩……
- 小牛牛讲解科技 网友:主动降噪方向对了,真无线耳机怎么选?热门老款VS明星新款
- DNF|DNF:7.16版本新副本冥域时空领主攻略讲解,史诗毕业也无法强杀
- 小唐纳德·特朗普|特朗普:我们孩子相信建造美国的人是恶棍而非英雄,被教导恨美国
- 老盖聊技术电脑硬盘数据恢复图文教程,恢复删除丢失格式化数据软件讲解
- 中国新闻网客户端|广州举办科普讲解大赛 向社会公众传播科学知识
- 王者荣耀|最详细娜可露露打法思路和装备讲解
- 为什么又要讲解一个新的概念,也就是人工智能+物联网,股价马上就要起飞
- 失业保险金■员工主动辞职,无法领取失业保险金,详细讲解领取条件和流程