七层模型
应用层-----人机交互
表示层-----数据格式、压缩、加密、呈现格式
会话层-----建立会话
传输层-----端到端传输、可靠传输
网络层-----路由、寻找最佳路径
数据链路层----建立链路转发、MAC寻址
物理层-----二进制传输(脉冲信号)、接口、电器、电压、线路
四层模型:事实上的模型(IETF组织)
上三层统一为应用层
传输层
网络层
网络接口层
IP编址 网络位 主机位
主类
A 单播 0XXXXXXX /8 1-126
B 单播 10XXXXXX /16 128-191
C 单播 110XXXXX /24 192-223
D 组播 1110XXXX 224-239
E 科研保留
无类/可变长子网
引入掩码, 1表示网络位,0表示主机位
eg:192.168.1.0 255.255.255.0
TCP
三次握手
C —> syn seq=10000 S
C seq=200 syn seq=10001 ACK<— S 半开队列 计时器
C —> ack seq = 201 S 全连队列
为什么需要三次握手?
答:为了保证服务端能接收到客户端的信息并且做出正确的应答而进行前两次(第一次和第二次),为了保证客户端能接收到服务端的信息并且做出正确的应答而进行后两次(第二次和第三次),主要目的是为了防止已过期的连接被再次传到被连接的主机
syn半开攻击,发送大量syn包不回确认ack,导致半开队列被占满,服务器无法提供连接服务
防御:syn_cookie技术 记录syn半开连接者的IP,下次连接时不会将其放入半开队列(丢弃)
分布式的半开攻击只能依赖于僵尸网络库,或代理技术,流量清洗技术
四次断开(标准断开)
C --->FIN seq=3000 S
C seq=3001 ack <-- S
C seq=4000 FIN <---- S
C --->ack seq=4001 S
三次:把fin ack一次发送
两次:一般是服务器为了节约资源
为什么需要四次断开?
答:因为TCP连接是全双工的,数据可在两个方向上同时传递,所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭. 关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果.
静态路由
路由来源
-
链路层自发现-直连 0
-
静态路由 60
-
动态路由
-
IGP
-
rip 100
-
ospf 10 150
-
eigrp
-
isis 15
-
-
EGP
-
BGP 255
-
-
ip route-static 目标网段 掩码 下一跳/出接口
ip route-static 10.1.1.0 24 20.1.1.1
ip route-static 10.1.1.0 24 30.1.1.1 pre 30