当前位置: 首页 > article >正文

7-tcp 三次握手和四次挥手、osi七层协议,哪七层,每层有哪些?tcp和udp的区别?udp用在哪里了?

1 tcp 三次握手和四次挥手
2 osi七层协议,哪七层,每层有哪些
3 tcp和udp的区别?udp用在哪里了?

1 tcp 三次握手和四次挥手

# tcp协议---》处于osi7层协议的传输层,可靠连接,使用三次握手,四次挥手保证了可靠连接,数据不会丢失
    
-SYN:SYN=1 表示要建立连接
-ACK:ACK=1 表示我收到了,允许
-seq:随机数,建立连接无论客户端还是服务端要建立连接就要要携带
-ack:回应请求就要加1返回
-FIN:表示断开连接
-三次握手:
    -第一次:喂(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=1,seq=随机数)
    第二次:服务端收到后,回复这个请求(ACK=1,ack=随机数+1)
    
   	第三次:服务端向客户端发起断开连接的请求(FIN=1,seq=另一个随机数,ACK=1,ack=随机数+1)
    第四次:客户端收到后,回复这个请求(ACK=1,ack=另一个随机数+1#建立和端开链接过程中服务端和客户端的状态
LISTEN:等待从任何远端TCP 和端口的连接请求
SYN_SENT:发送完一个连接请求后等待一个匹配的连接请求。
SYN_RECEIVED:发送连接请求并且接收到匹配的连接请求以后等待连接请求确认。
ESTABLISHED:表示一个打开的连接,接收到的数据可以被投递给用户。连接的数据传输阶段的正常状态。

FIN_WAIT_1:等待远端TCP 的连接终止请求,或者等待之前发送的连接终止请求的确认。
FIN_WAIT_2:等待远端TCP 的连接终止请求。
CLOSE_WAIT:等待本地用户的连接终止请求。
CLOSING:等待远端TCP 的连接终止请求确认。
LAST_ACK:等待先前发送给远端TCP 的连接终止请求的确认(包括它字节的连接终止请求的确认)
TIME_WAIT:等待足够的时间过去以确保远端TCP 接收到它的连接终止请求的确认。

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

# 2 osi七层协议,哪七层,每层有哪些
# 3 tcp和udp的区别?

    
    

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






2 osi七层协议,哪七层,每层有哪些

# osi七层:                    应用层 表示层 会话层    传输层  网络层  数据链路层  物理连接层
# 五层结构(TCP/IP五层协议):  应用层(三个合成一个)    传输层  网络层  数据链路层  物理连接层

# 应用层 表示层 会话层(应用层)
	-应用层协议:HTTP,FTP,DNS,    SNMP,SMTP,Telnet
# 表示层:https=http+ssl  的加密
# 会话层:负责建立、管理和终止表示层实体之间的会话连接


# 传输层(运输层):
    -tcp协议:三次握手四次挥手可靠链接
    -udp协议:不可靠传输
	-端口:端口协议
# 网络层
	-ip地址协议:ip,点分十进制表示
    -icmp协议:ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用
    
# 数据链路层:
	-PPP:点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法
    -ARP:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议
	-mac地址:以太网协议
	-数据帧:电信号的分组方式
# 物理层:
	-ISO2110,IEEE802,IEEE802.2
    -物理介质
    -网线

在这里插入图片描述

在这里插入图片描述

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

-tcp是面向连接的可靠协议
-udp无连接的不可靠协议

-都是处于传输层

-比如:
	udp:一些聊天,dns协议用的udp协议
	tcp:http  mysql,redis客户端服务端通信

在这里插入图片描述


http://www.kler.cn/news/137019.html

相关文章:

  • 【zlm】 webrtc源码讲解(二)
  • 【Jmeter】jmeter指定jdk版本启动
  • Pytorch 实现图片分类
  • rabbitMQ消息重复问题怎么解决的?
  • 在做题中学习(65):Z字形变换
  • Python性能优化技巧:Profiling和Cython提高代码执行效率
  • 在Spring Boot中使用Thymeleaf开发Web页面
  • 数据库管理-第117期 拿下19c OCM(202301121)
  • Go语言中获取协程ID
  • Golang抓包:实现网络数据包捕获与分析
  • 后端接口测试,令牌校验住,获取tocken 接口的方式
  • centos更换yum源
  • uni-app(1)pages. json和tabBar
  • 如果文件已经存在与git本地库中,配置gitignore能否将其从git库中删除
  • 【python学习】基础篇-常用函数-sorted() 对可迭代对象进行排序
  • 黄鹤楼
  • 大数据研发工程师课前环境搭建
  • java获取shp文件坐标系
  • 计算机类编程课学生编写的代码应该如何管理
  • 一个完备的手游地形实现方案
  • “三面一体”的业务调度方案在运营商订单运营的实践
  • 一个美观且功能丰富的 .NET 控制台应用程序开源库
  • 报错!Jupyter notebook 500 : Internal Server Error
  • hologres 索引与查询优化
  • MFC项目添加CUDA支持
  • leetcode:914. 卡牌分组(python3解法)