TCP的三次握手和四次挥手

信息时代,有大量的信息产生、传输和消费。之所以人们认为是信息时代,主要原因之一,是因为信息的传输速度大大增加。历史上,信息的远程传输方式由步行、快马、飞鸽,发展到书信邮局、电报、传真,BB机留言、大哥大、小灵通、诺基亚,再到PC端应用程序的即时通信,和现在应用广泛的移动端通信方式。现代的通信方式几乎离不开互联网,那么互联网到底是如何通信的?

信息从发送端到接收端,再到发送端,完成一次完整的通信。

互联网的信息从物理层面来说是,通过线缆、光纤、无线电磁波等作为传输介质来传输的。

而传输的具体信息的载体,可以认为是光和电。通过光电效应,传输方和信息的接收方,看到的是高低电平,也就是在机器看来,高电平是1,低电平是0,所以大家会说,机器只会看0和1.  

经过各种算法,逻辑与或非,算术加减乘除取余,等各种算法。机器帮人类完成了人类语言转换成0和1,然后0和1再转换成人类语言,实现了数据的互联网传输。也就是数据的产生、传输和消费。

那么针对整个传输的过程,如果没有标准,那么各个相关的网络科技公司,所制造的产品,使用的通信方式是不同的,也就是A公司的产品可以和自家公司的产品进行网络通信,而和B公司生产的通信产品无法通信。这样就形成了车同轨,书同文,同一度量衡之前的状态。

这种无标准的通信方式,使得互联网通信方式不能更好的服务人们的需求。

所以国际化标准组织ISO,没错,就是那个ISO9001的ISO,制定了一个OSI七层模型,分别包含

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层

将数据通过网络传输的方式进行了一个分层的结构划分,让人们对网络通信的认识变得有层次了,清晰了,这个标准得到了很多网络通信公司的认可,所以大家按照这个分层的模型制造通信产品。

在这个的同时,每一层大家制定了很多协议,比如应用层的http协议和https协议,我们通过浏览器访问互联网网站,基本都是通过这个协议的。也就是说,网站的数据是按照这个协议生产的,浏览器或app帮助客户端来访问这些数据,也用的是同样的协议,也就是说,大家的沟通都是用的同一种语言,然后才能互相识别信息,形成有效的沟通。

再比如传输层的TCP协议,这里就有了一个端后的概念,比如一个网站它的数据访问协议是用的https(端口号443),而用户通过http协议(端口号80)去访问的话,是访问不了的。所以客户端也需要用https协议去访问这个网站。之所以普通用户感觉不到这一点,是因为浏览器已经帮用户把这一步做了,用户只需要输入域名或者关键字,浏览器就能跳转到响应的网站。

这里的TCP协议就用到了一个三次握手和四次挥手的通信方式,目的是建立可靠的连接,保证数据的完整性。

与TCP通信协议对应的一个是UDP协议,UDP协议讲究的是传输的快,有一点点不够精确也是可以接受的,典型的应用场景就是网络游戏,比如大家可能会听到游戏掉帧等表达。就是因为大量的数据要传输,而且使用的是UDP协议,有一点点不精确,对于游戏的超大量传输数据来说,影响也相对有限。

这里说说TCP协议,TCP属于互联网通信模型传输层的通信协议,TCP类型数据的封装格式中,有一段控制位,控制位这里有6个标志位,每个标志位表示一个控制功能。

三次握手:

第一次:A主机给B主机发送一个数据包,里面SYN标志位=1(表示请求建立连接)

第二次:B主机接收到A主机的数据包,然后给A主机回应一个数据包,里面ACK标志位=1(表示同意建立连接)  +  SYN标志位=1 (表示请求建立连接)

第三次:A主机给B主机回应一个数据包,里面ACK标志位=1(表示同意建立连接)

等于双方你客气一次,等对方同意。

我也客气一次,等对方同意。

是不是有点古代电视剧里面当官的,相互寒暄的感觉。对,就是这样。

SYN是英文syncronization的缩写,什么意思,就是同步的意思。

ACK是英文acknowledged的缩写,就是嗯,我知道了,行。

四次挥手:

第一次:A给B发送一个数据包,里面FIN标志位=1(表示请求断开连接)

第二次:B给A发送一个数据包,里面ACK标志位=1(表示同意断开连接)

第三次:B给A发送一个数据包,里面FIN标志位=1(表示请求断开连接)

第四次:A给B发送一个数据包,里面ACK标志位=1(表示同意断开连接)

FIN应该是英文finish的缩写。意思是结束,完成。

 

4faf18d9be1f4f25aac2ab5be86407fc.png

以上就是传输层网络通信协议TCP的三次握手和四次挥手的通信方式。

 

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值