首页 > 其他分享 >tcp 三次握手和四次挥手

tcp 三次握手和四次挥手

时间:2023-08-07 22:13:01浏览次数:41  
标签:握手 SYN tcp 四次 随机数 连接 服务端 客户端

目录

1 tcp 三次握手和四次挥手

-TCP是可靠连接,使用三次握手,四次挥手保证了可靠连接,数据不会丢失
-SYN:SYN=1 表示要建立连接
-FIN:表示断开连接
-ACK:ACK=1 表示我收到了,允许
-seq:随机数,建立连接无论客户端还是服务端要建立连接就要要携带
-ack:回应请求就要加1返回
-三次握手:
	-第一次:喂(SYN=1),我是lqz(seq=随机数) 
    	客户端:SYN_SEND状态
        服务端:没收到:listen 状态,收到了是:SYN_RCVD状态
    -第二次:收到(ACK=1),lqz啊(ack=随机数+1),喂(SYN=1),我是刘亦菲(seq=随机数1)
    	服务端:SYN_RCVD状态
        客户端:没收到服务端返回的第二次:SYN_SEND状态,一旦收到就是established
    -第三次:收到(ACK=1),刘亦菲你好(ack=随机数1+1)
    	客户端:连接建好的状态 established
        服务端:收到后,处于established

-大白话:三次握手
第一次:客户端向服务端发送建立连接请求,【携带一个随机数】(SYN=1,seq=随机数)
第二次:服务端回应客户端的建立连接请求(ACK=1,ack=随机数+1),服务端发送建立连接请求(SYN=1,seq=另一个随机数)
第三次:客户端回应服务端的建立连接请求(ACK=1,ack=另一个随机数+1)

四次挥手:

第一次:客户端向服务端发起断开连接的请求(FIN=随机数)
第二次:服务端收到后,回复这个请求(ACK=1,ack=随机数+1)
第三次:服务端向客户端发起断开连接的请求(FIN=另一个随机数)
第四次:客户端收到后,回复这个请求(ACK=1,ack=另一个随机数+1)

洪水攻击:

同一时间有大量的客户端请求建立连接 会导致服务端一直处于SYN_RCVD状态,服务端接收到了大量的syn请求,处于rcvd状态

2 osi七层协议,哪七层,每层有哪些,TCP/IP五层结构

-osi七层:  应用层 表示层 会话层    传输层  网络层  数据链路层  物理连接层
-五层结构:  应用层(三个合成一个)    传输层  网络层  数据链路层  物理连接层
-应用层 表示层 会话层(应用层)
	-应用层协议:http,ftp,https,dns
    -表示层:https=http+ssl  的加密
    -会话层:负责建立、管理和终止表示层实体之间的会话连接
    
-传输层:
	-tcp协议
    -udp协议
    -端口:端口协议
-网络层
	-ip地址协议
-数据链路层:
	-mac地址:以太网协议
    -数据帧:电信号的分组方式
-物理层:
	-物理介质,
    -网线

3 tcp和udp的区别?udp用在哪里了?

-tcp是面向连接的可靠协议
-udp无连接的不可靠协议
-都是处于传输层
-比如:
	udp:一些聊天,dns协议用的udp协议
	tcp:http  mysql,redis客户端服务端通信

标签:握手,SYN,tcp,四次,随机数,连接,服务端,客户端
From: https://www.cnblogs.com/yuezongke/p/17612861.html

相关文章

  • Linux 网络抓包工具 Tcpdump
    Linuxtcpdump命令示例tcpdump是一个功能最强大且广泛使用的命令行数据包嗅探或数据包分析工具,用于捕获或过滤在特定接口上接收或传输的TCP/IP数据包。Tcpdump在许多Linux/Unix操作系统中都是现成的。此外,它提供了一个宝贵的选项,可以将捕获的数据包保存到文件中以供将来分析......
  • 用TCP/IP给你讲数据通信过程,太会玩了
    下午好,我是老杨。前段时间搞了篇网安基础知识,一大堆人看了以后来问我,怎么学。细细聊下来,好多人连网络通信的基础知识都没打好,这绝对是还没学会走路,就想开始跑了。今天搞点有意思的,来一篇技术趣文。是个网工就该知道的TCP/IP,就上面这张经典图,人手一份了属于是。但我今天要利用TCP/IP......
  • scp tcpdump 多网卡绑定 永久修改网络相关配置文件
    scptcpdump多网卡绑定 永久修改网络相关配置文件网卡[root@localhost~]#vim/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=static     //网卡获取地址模式ONBOOT=yes        //开机是否自启动​​IPADDR=192.168.91.105   ......
  • [工程开发]当我们写一个tcp服务端的时候,我们在写什么?(一)
    当我们写一个tcp服务器和客户端的时候,我们在写什么?(一)本篇只聊服务端。最近想搞一个服务器的协议,然后捏,简单搓个tcp服务器协议看看效果,主要是最近实在是没事干,闲得没事搓个服务器看看,当然了,Qt中的我已经有了,现在我需要的是一个C#上的服务器。当然了,我写这个服务器不会是从很学术......
  • Linux抓包工具tcpdump详解
    tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要......
  • 如何在 CentOS 7 安装 TCP BBR 拥塞算法
    TCPBBR介绍首先对TCPBBR做个介绍。TCPBBR(全称BottleneckBandwidthandRound-trippropagationtime)是由Google设计,于2016年发布的拥塞算法。之前大部分拥塞算法是基于丢包作为判断降低传输速率的信号,而BBR则基于模型主动探测。该算法使用网络最近出站数据分组当时的最......
  • Modbus tcp转ETHERCAT在Modbus软件中的配置方法
    Modbustcp和ETHERCAT是两种不同的协议,这给工业生产带来了很大的麻烦,因为这两种设备之间无法通讯。但是,捷米JM-ECT-TCP网关的出现,却为这个难题提供了解决方案。JM-ECT-TCP网关能够连接到Modbustcp总线和ETHERCAT总线中,实现两种不同协议设备之间的通讯。这个网关能够大大提高工......
  • Modbus tcp转ETHERCAT网关modbus tcp主从站区别
    捷米JM-ECT-TCP网关能够连接到Modbustcp总线和ETHERCAT总线中,实现两种不同协议设备之间的通讯。这个网关能够大大提高工业生产的效率和生产效益,让生产变得更加智能化。捷米JM-ECT-TCP是自主研发的一款ETHERCAT 从站功能的通讯网关。该产品主要功能是将ETHERCAT 网络和MODBU......
  • nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,
    nps  nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。背景做微......
  • 初识TCP
    参考资料:https://www.ietf.org/rfc/rfc9293.html#name-closing-a-connectionhttps://cloud.tencent.com/developer/article/1814881?from=10680https://docs.oracle.com/cd/E19455-01/806-0916/6ja85398n/index.html#ipov-fig-30 1.TCP官方权威资料在哪里?答:RFChttps://www......