网络基础篇
这几天自己整理总结了一部分基础的网络知识,方便自己的复习温故。其中有部分内容是结合自百度整合而来,个人邮箱x1263806778@163.com
(一)物理设备
1.什么是路由器:基于IP地址控制数据流量在不同网段内转发传输的三层设备
2.什么是交换机:基于MAC地址控制流量转发的二层设备
3.交换机作用:
1. 无限延长传输距离 2. 实现单播 3. 解决冲突域
4.路由器作用:
1. 分割广播域 2. 路由功能
(二)OSI七层参考模型
作用:定义数据标准封装格式
7应用层: 通过人机交互的界面实现各种各样的服务
6表示层: 编码 解码 加密 解密 ;将逻辑语言转换为二进制机器语言
5会话层: 建立 维持 终止会话进程
4传输层: 通过端口号区分不同流量.分段 (tcp)确认,重传,排序 ,流控(滑动窗口)
3网络层: 通过ip地址进行逻辑 1.编址 2.寻址(路由)
2数据链路层:媒介访问控制层(逻辑链路层) ,基于mac地址,二层设备:交换机
为上层提供fcs校验,按照不同传输介质,进行不同的封装
1物理层: 定义电器电压接口规范 光学特性
1、一些常见的协议
ARP 地址解析协议
IP 网际网络协议
ICMP 网络控制管理协议
Ping 测试连通性指令
DHCP 动态主机配置协议
HTTP 超文本传输协议
FTP 文件传输协议
DNS 域名系统协议
TCP 传输控制协议
UDP 用户数据报文协议
2、TCP与UDP区别
(1)TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前,不需要建立连接
(2) TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;
UDP尽最大努力交付,即不保证可靠交付
Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。
如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
(3)UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
(4)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
(5)TCP对系统资源要求较多,UDP对系统资源要求较少。
(三)TCP—面向连接的可靠传输协议
面向连接: 三次握手 四次断开
可靠: 确认,重传 排序 流控(滑动窗口)
可靠性: 重传输能力,确认机制 (当数据收不到回复时,重新发送数据)
保证数据无差错,不丢失,不重复,且按序到达
三次握手 (Syn 同步请求报文 Ack 确认应答报文)
四次断开
小疑问:为什么断开需要四次
主机B发送完ACK之后,此时的主机B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发送的,而是等到主机B数据发送完了,才会发送FIN给主机A.
1、Syn攻击的过程,如何防御?
SYN攻击(syn flood)就是,攻击的客户端在短时间内伪造大量不存在的IP地址,向服务器不断发送syn请求建立连接,
服务器回复确认报,并等待客户端的确认,由于源地址不存在,服务器需要不断重发直至超时,这些伪造的syn包将长
时间占用半连接队列,正常的SYN请求被抛弃,目标系统运行慢,严重引起网络堵塞甚至瘫痪。
防范手段
1、具有SYN proxy(SYN代理)功能的防火墙
每秒通过指定对象(目标地址和端口、仅目标地址或仅源地址)的SYN片段数的阀值,当来自相同源地址或发往相同目
标地址的SYN片段数达到一定阀值时,防火墙开始截断连接请求和代理回复SYN/ACK片段,当防火墙代理半连接的队列
被填满,防火墙拒绝来自相安全同区域所有地址的新SYN片段。
缺点:当攻流量较大时,连接出现较大延迟,网络负载高,很多时候成为整个网络瓶颈
2、加快淘汰无效SYN请求,
过降低tcp_syn_retries实现;加大队列长度,长度和tcp_max_syn_backing相关,但不完全由它决定。
缺点:在高强度攻击面前这两个不能根本解决问题,更有效的是tcp_syncookies。
3、SYN Cookie,
每一个请求连接的IP地址分配一个Cookie,若短时间内收到某个连续的SYN报文,就认定受到攻击,再来就丢弃。
原理:服务器收到SYN报文,返回SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个
cookie值,在收到TCP_ACK时,服务器对比cookie对比检查合法性,再分配专门的数据区处理连接。
2、TCP 是如何通过滑动窗口协议实现流量控制和拥塞控制的?
(1)滑动窗口协议
属于TCP协议的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。该协议允许发送方在停止并
等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据
的传输,提高网络吞吐量。
1.滑动窗口是什么