面试4.11

# 1 tcp 三次握手和四次挥手
# 2 osi七层协议,哪七层,每层有哪些
# 3 tcp和udp的区别?
	udp用在哪里了?
tcp 三次握手和四次挥手
tcp的三次握手和四次挥手实质就是tcp通信的连接和断开

# tcp是可靠连接,使用三次握手,四次挥手保证了可靠连接,数据不会丢失
# 其中一些词的含义:
SYN:SYN=1:表示要建立连接
ACK:ACK=1:表示收到了请求或者响应,是允许的
seq;随机数建立连接,无论客户端挥手服务端要建立连接就得携带
ack:回应请求就要加1 返回
    
# 三次握手:
第一次:客户端向服务端发送建立连接请求[携带一个随机数](SYN=1,seq=随机数)
第二次:服务端回应客户端建立连接的请求(ACK=1,ack=随机数+1)服务端发送建立连接请求(SYN=1,seq=另外一个随机数)
第三次:客户端回应服务端的建立连接请求(ACK=1,ack=另外一个随机数+1)

#四次挥手:
第一次:客户端向服务端发起断开连接的请求(FIN=随机数)‘
第二次:服务端收到之后,回复这个请求(ACK=1,ack=随机数+1)
第三次:服务端向客户端发起断开连接的请求(FIN=另外一个随机数)
第四次:客户端收到后,回复这个请求(ACK=1,ack=另外一个)
三次握手出现的问题:洪水攻击

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

img

img

osi七层协议,哪七层,每层有哪些
'''准确的:'''
osi七层:应用层,表示层,会话层,传输层,网络层,数据链路层,物理连接层
TCP/IP五层结构:应用层,传输层,网络层,数据链路层,物理连接层

#应用层
	应用层协议:http,https,ftp,dns
    表示层:https=http+ssl/tls加密
    会话层:负责建立、管理和终止表示层实体之间的会话连接
    
#传输层
	有tcp协议,udp协议,还有端口协议
    
#网络层
	ip地址协议
    
#数据链路层
	mac地址:以太网协议
    数据帧:电信号的分组方式
    
#物理连接层
	物理介质,网线
应、表、会、传、网、数、物
应用层,表示层,会话层,传输层,网络层,数据链路层,物理连接层

应用层提供各种各样的应用层协议,这些协议嵌入我们使用的各种应用程序中,主要是程序员自己采用什么样的策略和协议,常见的协议有:HTTP,HTTPS,FTP....

表示层:数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层),格式有,JPEG、ASCll、EBCDIC、加密格式等。

会话层:建立、管理、终止会话。(在五层模型里面已经合并到了应用层),对应主机进程,指本地主机与远程主机正在进行的会话。

传输层: 定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP、UDP,数据包一旦离开网卡即进入网络传输层。
	TCP与UDP协议都是用来规定通信方式的

 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP、IGMP、IP(IPV4、IPV6)。
	IP协议:规定了所有接入互联网的计算机必须有一个IP地址,类似于我们的身份证
  
数据链路层:规定了电信号的分组方式(有12-16位,前6是产商编号,后6是生产流水线号),该数字也叫以太网地址

物理连接层:确保计算机之间的物理连接介质(光缆,电缆等),接收的数据为bytes类型


tcp和udp的区别?
'''总概:
tcp是面向连接的可靠协议
udp是无连接的不可靠协议
两者都是处于传输层的

用途:
tcp:http,mysql,redis协议用的是udp协议
udp:一些聊天插件,dns协议用的是udp协议
'''

1.连接
tcp是面向连接的传输层通信协议,传输数据前要先建立连接
udp是不需要连接,即可传输协议

2.服务对象
tcp是一对一服务,即一条连接只有两个端点
udp是支持一对一,一对多,多对多的交互通信

3.可靠性
tcp是可靠交付数据,数据可以无差错,不丢失,不重复,按需到达
udp是尽最大努力交付,不保证可靠交付数据

4.拥塞控制、流量控制
tcp有拥塞控制、流量控制机制,保证数据传输的安全性
udp没有,即使网络非常拥挤,也不会影响udp的发送速率

# TCP是面向连接的,而UDP是无连接的协议。

# TCP对于传输有用的数据非常可靠,因为它需要确认发送的信息。而在UDP的情况下,如果数据包丢失,它不会请求重新传输,因此,UDP 是一种不可靠的协议。
# TCP速度较慢,因为TCP在传输数据之前建立连接,并确保数据包的正确传递。UDP更快,更简单,更高效,因此通常用于发送音频和视频文件。TCP和UDP对于数据传输都是必不可少的。

udp的应用场景:
1.包总量较少的通信,如DNS,SNMP
2.视频、音频等多媒体通信
3.广播通信
posted @ 2023-04-11 21:20  小王应该在学习!  阅读(22)  评论(0编辑  收藏  举报