TCP的“三次握手”与“四次挥手”

一、我们在电脑中的浏览器WEB页面是如何查询的?

在网页浏览器的地址栏中输入url(统一资源定位符)地址,就可以显示页面,即客户端在浏览器地址内输入URL之后,web浏览器从web服务器获取文件资源等信息,然后再从服务器端(服务器使用HTTP协议的通信)返回在web浏览器上显示出web页面的。

客户端:像这种通过发送请求获取服务器资源的WEB浏览器等就叫做客户端。

HTTP协议:叫做超文本传输协议,它是TCP/IP协议的一个应用层协议,用于定义web浏览器与Web服务器之间的交换数据的过程,客户端连上web服务器后,如想获得Web服务器中的某个web资源,需要遵循一定的通讯格式,HTTP协议用于定义客户端和Web服务器端通讯的格式。

二、URI与URL:URI(Uniform Resource Identifier),服务器资源名,为统一资源标识符,规定统一的格式可方便处理多种不同类型的资源,而不用根据上下文环境来识别资源指定的访问方式,URI是世界范围内唯一地标识并定位信息资源。URI分两种形式,为URL何URN。URL为统一资源定位符,是资源标识符最常见的形式,描述了一台特定服务器上某资源的特定位置;URN为统一资源名,为大范围使用,它是作为特定内容的唯一名称使用的,与资源所在地无关。

三、TCP/IP的分层管理

TCP/IP协议族按层次分别为:应用层传输层网络层数据链路层物理层。越靠后越接近硬件。

  1. 应用层:应用程序收到传输层的数据后,接下来就是要进行解读,解读必须要先规定好格式,而应用层就是规定应用程序的数据格式,主要协议有HTTP等。
  2. 传输层:传输层为 两台主机上的应用程序提供 端到端的通信,传输层有两个传输协议为TCP(传输控制协议)和UDP(用户数据报协议),TCP是一个可靠的面向连接的协议,UDP是不可靠或者说无连接的协议。
  3. 网络层:网络层决定如何将数据从发送方到接收方,是建立主机到主机的通信。
  4. 数据链路层:数据链路层控制网络层与物理层之间的通信,主要功能是保证物理线路上进行可靠的数据传递。
  5. 物理层:物理层负责物理传输,与链路有关也与传输的介质有关。

TCP/IP分层的好处:如果互联网只有一个协议通信,某个地方需要修改,那么就必须要整个全部换掉,但是分层之后,只是需要把变动的层替换就行了。

四:TCP(传输控制协议)的三次握手与四次挥手

三次握手过程:

  1. 第一次握手是在建立连接,客户端发送连接请求报文段,把标有SYN的数据包发送给服务器端即为接收端。
  2. 第二次握手是服务器端即接收端收到客户端的SYN的报文段,同时发送标有SYN/ACK的数据包。
  3. 第三次握手是客户端收到服务器端的SYN/ACK的数据包后,向服务器端发送标有ACK的数据包。
TCP三次握手
三次握手

TCP的报文头:

报文(message)是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。

TCP头部报文包含 source port(源端口号,只想本地端口),destination port(摸底端口号,指向远程端口),sequence number(序列号);

TCP的6种状态表示:

  1. SYN(建立联机)
  2. ACK(确认)
  3. PSH(传输)
  4. FIN(结束)
  5. RST(重置)
  6. URG(紧急)

抽象解释三次握手含义:

  1. 第一次握手表示发送能力与接收能力都没有问题。
  2. 第二次握手表示从服务端响应的信息客户端收到了,客户端自己发送与接收信息是没有问题的,但是还是要进行第三次握手,因为没有客户端的回音,服务端还不知道服务端自己的响应有没有问题。
  3. 第三次握手表示客户端发送的信息,服务端收到了,而此时服务端也确认了客户端与服务端自己的发送与接收都没有问题。

DNS服务和HTTP协议一样位于应用层,提供域名到IP地址之间的解析服务。DNS协议提供通过域名查找IP地址或者逆向从IP地址反查域名的服务。

客户端和服务端通过三次握手建立TCP连接后,当数据传输完毕,断开连接就需要进行TCP的四次挥手。

四次挥手过程:

  1. 第一次挥手,客户端设置 seq 和 ACK,向服务器发送一个 FIN=1 报文段(FIN=1,seq=u),此时客户端进入FIN_WAIT状态,表示客户端没有数据要发送给服务端了。
  2. 第二次挥手,服务端收到了客户端发送的 FIN 报文段,向客户端回了一个 ACK 报文段。
  3. 第三次挥手,服务端向客户端发送 FIN 报文段,请求关闭连接,同时服务端进入 LAST_ACK 状态。
  4. 第四次挥手,客户端收到服务端发送的 FIN 报文段后,向服务端发送 ACK 报文段,然后客户端进入 TIME_WAIT 状态。服务端收到客户端的 ACK 报文段后,就关闭连接。此时,客户端等待 2MSL(一个片段在网络中最大的存活时间)后,依然没有收到回复,则说明服务端已经正常关闭,这样客户端就可以关闭连接了。
TCP四次挥手
TCP四次挥手

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值