美文网首页
概述TCP/IP协议及其三握四挥

概述TCP/IP协议及其三握四挥

作者: 我小时候很可爱 | 来源:发表于2020-07-18 10:48 被阅读0次

概述TCP/IP协议及其三握四挥

TCP/IP基础

TCP/IP具体含义

从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。所谓协议可以把网络协议想象成人与人之间的礼仪行为,不同的场合有不同的礼仪行为,人是实施不同礼仪行为的主体。同样,网络设备是实施网络协议的主体,网络设备通过运行网络协议与其他的网络设备进行交流。同样的道理,你的电脑想要与网络设备交流,也要与网络设备一样运行网络协议,网络协议也是一个软件,是以系统组件的方式安装在你的电脑的操作系统里的。只有通过这些协议的规范别的电脑才能识别你发过去的信息是什么。

按照计算机网络通信的标准是把数据传输过程用OSI模型来表示,也就是有7层分别是:

层次 功能
1.物理层(最底层) 定义网络的接口标准
2.数据链路层 定义帧的开始和结束以及实现透明传输,差错校验
3.网络层 负责选择最佳路径和规划IP地址
4.传输层 实现可靠传输,流量控制
5.会话层 实现管理对话和同步
6.表示层 完成某些特定功能
7.应用层(最上层) 所有能产生流量的程序

TCP/IP协议就分别属于传输层和网络层的协议。

数据传输过程

数据传输过程指的是一台电脑发送数据到另一台电脑的过程

具体过程:在应用层首先会把数据传到传输层中,传输层会把一大堆的数据分成一段一段进行传输,能够加快传输的速率,并且在数据前加上TCP头,所以在数据层的数据又可以称为数据段;接着会来到网络层,网络层会给每一段数据加上目标IP地址和源IP地址,在该层数据就被封装成我们常说的IP数据包,并且在原来的基础上也就是(TCP+上层数据)再加上IP头,那么此时的数据格式就变成了IP+TCP+上层数据;然后就会来到数据链路层,此时会在原来的基础上再加上源MAC地址和目标MAC地址,那么此时数据格式就变成以太网首部+IP+TCP+上层数据,这其实就是数据帧了,接着就会来到最底层物理层会把数据转成二进制的形式在网络中发送,发送途中借助集线器(基于物理层)、交换器(基于数据链路层)、路由器(基于网络层)来实现数据发送到对应的目标中,类似于寄快递的过程。

传输过程

三次握手和四次挥手

所谓的三握四挥其实就是指的是TCP/IP协议中规范的数据交互方式,在Http、SMTP等应用层协议中使用的传输层协议。

三次握手(建立连接)

  1. 进行三次握手的原因就是:

    防止已失效的连接请求报文突然又传到服务端,从而产生错误。在数据传输的过程中可能产生各种情况比如说:数据延迟,或者发送途中由于其他的原因卡住,这时候如果用户应为长时间没有收到消息,再一次发送请求,客户端如果没有三次握手的机制的话,会直接响应。当二者建立连接传输数据后,之前由于数据延迟的数据再一次来到服务器,此时就会发生错误。

  2. 具体过程:(客户端两次,服务器端一次)

    • 浏览器要先发SYN码,也就是客户端请求和服务器连接
    • 服务器接收SYN码再发给客户端SYN+ACK码,也就是说我们可以连接
    • 客户端接收到服务器的ACK码,验证ACK是否正确,正确则建立数据连接,双方就可以开始通信
    连接数据

四次挥手(断开连接)

  1. 进行四次挥手的原因是:

    四次挥手的原因是确保服务器响应数据的完整性:因为在客户端发送FIN告知发送完毕的时候,此时客户端还是需要接收服务器返回的数据的,数据还没有传输完成,直到服务器发送FIN表示无数据传输并且客户端告知数据接收完成的时候才可以结束,如果没有这个规范,那就会导致数据还没有接收完成服务器就关闭了连接,从而导致数据不完整。

  2. 具体过程:(客户端和服务器端各两次)

    • 当客户端无数据传输的时候发FIN码告知服务器,发送完毕
    • 当服务器接收完毕,告诉客户端ACK码,告诉客户端可以关闭通道
    • 服务器发送完毕也会发送FIN码(表示它也没有数据要发送了),告诉浏览器数据发送完毕
    • 客户端接收完毕(ACK码)同样发送ACK码告知服务器数据接收完,可关闭
断开连接

需要说明的信息:

  • ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1
  • SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此, SYN置1就表示这是一个连接请求或连接接受报文。
  • FIN (finish):完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接。

补充一点理解:

客户端输入URL地址,DNS就会解析域名得到服务器的IP地址,服务器在对应的端口监听客户端的请求,端口通过TCP/IP协议建连接。这也是为什么在数据交互的时候我们称之为路由端口,路由就是用来接收请求响应数据的,路由是基于TCP/IP连接,网络层又有TCP/IP协议,所以说路由器基于网络层实现。

相关文章

  • 概述TCP/IP协议及其三握四挥

    概述TCP/IP协议及其三握四挥 TCP/IP基础 TCP/IP具体含义 从字面意义上讲,有人可能会认为 TCP/...

  • TCP协议

    TCP/IP协议分层详解TCP/IP协议详解通俗易懂网络协议(TCP/IP概述)什么是TCP/IP协议?

  • 计算机网络TCP/IP协议组和UDP

    概述TCP/IP TCP/IP不是传输层协议,而是网络通讯协议,它包括许多协议。TCP/IP是个协议组,可分为三个...

  • TCP/IP协议

    TCP/IP协议三次握手与四次握手流程解析 HTTP协议—— 简单认识TCP/IP协议 TCP/IP协议入门(一)...

  • 计算机网络(二)| IP协议

    IP概述 IP 协议简述 IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心...

  • TCP协议三次握手与四次挥手通俗解析

    TCP/IP协议三次握手与四次握手流程解析 一、TCP报文格式 TCP/IP协议的详细信息参看《TCP/IP协议详...

  • 关于网络基础知识TCP/IP(三)

    四、掌握TCP/IP协议:TCP/IP3次握手 4.1 IP协议是TCP/IP协议中最重要的协议,它为TCP UD...

  • TCP/IP协议

    TCP/IP协议 TCP/IP协议概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考...

  • TCP/IP 卷Ⅰ协议-绪论

    TCP/IP 概述 简介:本系列文章,主要对TCP/IP协议族进行概述,其实对于整个计算机网络来说,TCP/IP只...

  • HTTP系列 -- 网络 与 IP

    概述 HTTP协议的底层是由 TCP 协议和 IP 协议(简称TCP/IP)构建的。HTTP只规定了请求格式和相应...

网友评论

      本文标题:概述TCP/IP协议及其三握四挥

      本文链接:https://www.haomeiwen.com/subject/tuyxkktx.html