首页 > 技术文章 > 网络基础之——tcp与udp协议,上网通信流程(三次握手,四次挥手,syn洪水攻击)

guojieying 2020-08-12 22:41 原文

一、tcp与udp协议

tcp协议是可靠协议:
对方必须回复一个ack确认信息,才会将自己这端的数据存内存中删除;
udp协议不可靠:
发送一条信息就会立即删除,不管对方是否接收到
tcp有链接,udp无链接
传输效率:udp高,没有建链接,不需要等对方回复
粘包问题:tcp协议niger算法
udp协议称之为数据报协议(发的每段数据都是一段完整的数据包)
tcp协议:不是 一个send对应一个recv
udp协议:是 一个send唯一对应一个recv

 

二、上网通信流程

 三次握手:建立链接

四次挥手:断开链接

 

 

 

ARP
算两个目标地址不一样
原目标地址,网关的目标地址之间匹配
交换机:二层,三层
设备:比如七层设备
交换机广播:

从老师复习上节课第13mins开始听
数据链路层:对电信号进行分组
头  的特点:固定长度
自定义协议:应该分: 头(固定长度)  数据(对数据的描述信息),,每台机器都有一个网卡
 一组数据称之为数据帧
一个IP地址匹配一。。。。。

本质是软件的通讯
端口号:从0-65535  0-1024被系统占用,其余大众用
从三层结构来讲:让操作系统调用网卡往外发数据
三次握手:第二次即使请求又是确认,减少IO延迟
TCP协议(好人协议):
syn=1变量包
ack=1确认包 syn=1变量包
ack=1确认包

syn洪水攻击:黑客模拟syn大量发送请求,然后不确认,导致这段时间占用对方操作系统资源
序号:seq=一串数字
     seq=一串数字+1  确认
     seq=另一串数字
     seq=另一串数字+1 

命令:netstat -an|grep 80

大量状态是 SYN_RCVD:可能被SYN洪水攻击
TCP协议可靠是因为:ACK确认

UDP协议:不需要建链接,发完数据立马删掉,UDP的包如果丢了就真丢了。可以在软件层面解决。
通常用于查询

客户端在什么时候断开 链接:
客户端把数据发完 客户端发FIN=1服务端返回ACK=1
建立链接是为了铺路,断开链接是为了把管子回收,管子里可能还有水

 三握手:没数据产生,只是为了铺路,建好双向通道,三次是以最快的速度建好链接,多一次请求的话会增加时间
SYN_RCVD半链接状态
tcp协议是传输层,为了传送应用程的数据,tcp本身有数据产生

四次挥手:客户端把数据发完后告诉服务端已发完链接,服务端收到后确认,当
半链接池:有5个syn请求,后面的就进不来了,转圈是在等待处理请求
服务器高并发情况下会有大量的time_wait状态的优化方法
URL地址:域名背后对应的就是IP地址 浏览器默认用80端口 三部分组成: http:
// ip地址(mac地址自动会被解析):80 文件路径 上网流程: tcp协议,先建链接,获取 面试问: DNS查询步骤:

  -----30-----

推荐阅读