美文网首页
OSI 网络模型 TCP 三次握手和四次挥手

OSI 网络模型 TCP 三次握手和四次挥手

作者: 滨岩 | 来源:发表于2020-03-15 18:52 被阅读0次

ISO (Open System Interconnection) 开放式系统互联,一般叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。目的就是为了要指定一个国际通用的标准

image.png

ISO 七层协议 五层是:应用层合并了表示层、会话层

1、物理层
常见的标准 RJ-11 RJ-45 现在厂商都是RJ-45接口标准的水晶头
水晶头 水晶/塑料/接触片/镀金/纯铜/镀铜 网线

2、数据链路层

常见标准的MAC地址 二级网络 交换机

3、网络层

标准IP 地址 路由器 三层网络 IP地址
公网IP 相当于家庭地址(跟世界互联)
私网IP 局域网内:
192.168.0.1
192.168.1.1
192.168.2.1
相当于你的房间号

4、传输层

TCP 稳定传输 UDP 传输的方式
ssh服务

开发人员(程序员)

5、会话层
Linux/Unix 层语言编程 控制包数据

6、表示层
文件的格式 类型 PNG JPEG MPEG AVI MKV MP4 TS等、加密的处理

7、应用层
操作系统上装的程序,自己开发。标准 HTTP 80 HTTPS 443 FTP 21 SSH 22 POP/SMTP等

OSI 7层模型中的数据传输结构
应用层:Hello World (表示层 TEXT json 会话层:建立会话)
传输层:报文消息头 TCP/UDP 字段 segment
网络层 : IP 地址的报文的消息头 IP 包 packet
链路层:添加一个以太信息 帧 frame
物理层:网卡 010100101001 电信号

这是7层模型封包的一个过程

image.png

7层模型解包的一个过程

物理层:网卡 电信号 010100101001 2进制的信息
链路层:以太信息
网络层:IP
传输层:TCP
会话层:socket
表示层:类型 Text jpeg png
应用层:向操作系统要数据

可以用抓包工具 Wireshark 查看数据包

image.png

TCP 三次握手 与 四次挥手

三次握手的过程如下:

客户端发送syn(seq=x) 报文给服务器,然后进入syn_sent状态
服务器收到syn报文,回应应该 seq=y,ack=x+1报文,进入syn_rcvd状态
客户端收到syn报文,回应一个 ack=y+1,seq=x+1 进入 established状态;服务器收到ack报文后,进入established状态
三次握手后,客户端和服务器建立连接成功,可以开始传输数据了。


image.png

四次挥手的过程如下:

客户端上地某个进程主动关闭连接,发送FIN(seq=u,ack=x) 报文给服务器,然后客户端进入FIN_WAIT_1 状态
服务器收到客户端报文回应一个 ack=u+1,seq=x 进入 close_wait状态,客户端收到FIN报文,进入 FIN_WAIT_2状态。
服务端向客户端发送FIN(seq=u,ack=x)报文进入 last_ack状态
客户端收到FIN报文,向服务端发送(ack=u+q,seq=u+1) 进入TIME_WAIT状态。
四次挥手之后,客户端和服务端成功断开了连接。

image.png

为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

相关文章

  • 网络协议及管理

    1、简述osi七层模型和TCP/IP五层模型 2、总结描述TCP三次握手四次挥手 3、描述TCP和UDP区别 tc...

  • Java学习4-socket通信(1)

    基础 目标: 了解七层模型的每层,用来做什么 TCP三次握手和四次挥手 OSI七层网络模型 物理层:物理媒体部分 ...

  • 第七周作业

    1、简述osi七层模型和TCP/IP五层模型2、总结描述TCP三次握手四次挥手3、描述TCP和UDP区别4、总结i...

  • Android知名三方库OKHttp - Java网络编程基础

    本文目标 了解网络编程Java基础 1.OSI 的七层模型 2.TCP的三次握手和四次挥手 3.Http 报文简介...

  • 了解Http基础

    网络分层模型: TCP/IP基础: TCP三次握手——> TCP四次挥手——> 一、HTTP1.0与HTTP 1....

  • 不积跬步--TCP三次握手和四次挥手过程

    本文来至转载TCP三次握手和四次挥手过程 TCP三次握手和四次挥手过程 1、三次握手 (1)三次握手的详述 首先C...

  • TCP的三次握手和四次挥手

    参考资料:[1].【TCP】详解TCP 三次握手和四次挥手[2]. iOS:为什么TCP连接要三次握手,四次挥手[...

  • TCP协议详解

    TCP 前言网络模型简图 一、TCP协议结构 二、TCP三次握手与状态流转 三、TCP四次挥手与状态流转 前言 网...

  • 梳理部分解答之网络基础

    网络基础 TCP三次握手四次挥手 TCP三次握手 所谓三次握手(Three-way Handshake),是指建立...

  • 计算机网络知识目录

    · TCP/IP协议模型 TCP 三次握手四次挥手 四元组 · Http · Https

网友评论

      本文标题:OSI 网络模型 TCP 三次握手和四次挥手

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