上回我们说到,电脑获取到了目标的ip地址,那么我们下一步该怎么进行信息交互呢?
信息交互分为3个阶段
1.初始化阶段:在知道对方的ip后web客户端会在你电脑里面产生一个虚拟的管道头(相当于开辟一个可以存储信息的空间)
2.连接阶段:有了管道头后你就会通知对方我准备好了,对方接收到你发的消息后也会产生一个管道头,然后发消息给你说:我也准备好了,你收到信息后继续发一条消息说:既然我们都准备好了就开始吧,之后双方就将两个管道口连接起来,然后双方就可以正常通信了.
3.通讯阶段,这个没什么好说的吧,
4.结束阶段,当发送方发完消息后,或者接收方判断发送方发完消息后,这一方就会发送一个结束请求,对方收到结束请求后会回一个我收到了你的结束请求,之后对方也会发一个结束请求,发起方收到结束请求后也会向对方发送一个确认请求.
ps:管道这个是个人理解,新手就这样理解把,高手就当没看见…
在这个通话期间会有一个做维持通话次序的角色,这个角色就是tcp/ip协议.
tcp协议
tcp/ip协议是一个基于传输层的协议,大致内容如下.
这就是tcp的全部内容了,接下来我来介绍一下他的关键性内容.
1.端口号
话说不是有ip号了吗?那么还要这个端口号有什么用?欸,此言就差矣了,ip地址是用来识别计算机,端口号则是用来识别应用的,你想想,你qq聊天结果对方在游戏中收到消息,这肯定是不行的嘛,所以端口号一定不能错!
2.序列号,这个号码是为了应付大数据传输的,像那种几个G的小电影,你直接传输肯定搞不定,这时候就只得把你那几个G的小电影拆成N份,而接收方确定这几个G的小电影全发过来了吗?怎么拼接回去?都是靠这序列号
3.确认应答(ack),讲到这就不得不说说tcp他最优秀的一个机制,信息安全性.也就是说这个信息我不管怎么样都要完整的发送到目的地,就算发不到