Tcp/ip 三次握手简单介绍,与断开四次握手介绍

来源:互联网 发布:星空抽奖软件 编辑:程序博客网 时间:2024/06/12 00:41

我是为了加深记忆,所以把之前看到一些关于Tcp/ip的博客总结下。为了不误人子弟,请大家在浏览博客的时候可以辩证下。如有错误,欢迎指正。万分感谢。

之前面试中,遇到问Tcp/ip 链接的。说实话,自己开始种经常使用Http,但是其底层的Tcp/ip 真心没有了解过,平常面试别人,也偶尔知道是 采用三次握手建立链接的。但是眼前还是一层迷雾。

Http (超文本传输协议) 
syn (Tcp/ip 三次握手建立链接时的握手信号)

在Tcp/ip协议中,Tcp协议提供可靠的链接服务,采用三次握手建立一个可靠的链接, 
1、第一次握手,建立链接时,客户端发送SYN包,并进入SYN_SEN状态,等待服务确认。 
2、第二次握手,服务器收到SYN包,先确认客户端SYN包,同时自己也发送一个SYN包,此时服务器进入SYN_RECV状态。 
3、第三次握手、客户端收到服务端的SYN包,会向服务器发送确认包此包发送完毕,客户端和服务器进入链接状态,三次握手完毕。

链接建立完毕,Tcp/ip 断开为四次握手。

断开链接的时候,是不区分服务端与客户端的。 无论任何一方(客户端)close 断开链接会发送一个FIN(finish报文)这时候客户端断开发送链接,服务端接收到FIN报文的时候回向客户端发送一个确认ACK,发送ACK的一段可以检测到对方的断开,自身也会close发送一个FIN

可能解释不清楚,不过看下图,就能了解了。 
这里写图片描述

TCP/IP 解释

TCP/IP协议族按照层次由上到下,层层包装。 
第一层:最上面的就是应用层了,这里面有http,ftp,等等我们熟悉的协议。 
第二层:而第二层则是传输层,著名的TCP和UDP协议就在这个层次(不要告诉我你没用过udp玩星际)。 
第三层:是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据(后面会讲到)以确定传输的目标。 
第四层:是叫数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。

再往下则是硬件层次了,负责网络的传输,这个层次的定义包括网线的制式,网卡的定义等等(这些我们就不用关心了,我们也不做网卡),所以有些书并不把这个层次放在tcp/ip协议族里面,因为它几乎和tcp/ip协议的编写者没有任何的关系。发送协议的主机从上自下将数据按照协议封装,而接收数据的主机则按照协议从得到的数据包解开,最后拿到需要的数据。这种结构非常有栈的味道,所以某些文章也把tcp/ip协议族称为tcp/ip协议栈。

如下图: 
这里写图片描述

0 0
原创粉丝点击