OSI七层模型
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
tcp/ip模型
应用层 传输层 网络层 网络接口层
以太网协议号
IP:0x0800
ARP:0x0806
PPPOE:0x8863、0x8864
IP协议号
ICMP:1
TCP:6
UDP:17
GRE:47
ESP:50
AH:51
端口号
FTP:20 21
SSH:22
Telnet:23
SMTP:25
TACACS+:49
HTTP:80
HTTPS:443
IKE:500
Radius:1645、1646、1812、1813
tcp是全双工的
以太网
现在最常用的就是以太网
帧结构:目的、源、类型
- 以太网的连接方式:总线型(同轴电缆总线型连接)、交换式(集线器做的);交换机
- 以通信介质分:共享介质型(半双工)、非共享介质型(全双工)
- MAC地址就是以太网的地址:硬件地址,48比特,前半段识别厂商,后半段厂商内识别码
- 环回口:127开头的都是,可以做策略路由到环回口,这样回来的流量不走NAT,可以直接走虚拟专网
- 以太网就是把32位的IP地址映射到MAC地址上
802.3以太网
一些二层协议会用到802.3封装,但是很少见(VTP)
以太网的连接方式
- 总线型:同轴电缆总线型,一根总线可以接很多台电脑,线两头有终端,数据在这根线上传输
- 集线器:比总线型贵一点,交换机的前身,交换式
- 交换机:双绞线
共享型网络
集线器、无线AP,线路上同一时间只有一个数据在传,基本都是半双工通信方式。
争用方式:CSMA—>CSMA/CD(检查冲突随机延时,退避)、令牌环
非共享型网络
扩展:无线千兆和有线千兆差很多;无线的千兆—>如1000M,十个客户,半双工为了实现不冲突,会有一些相应的算法,会浪费转发时间,所以效率低,只有60%左右,就相当于600M,相当于每个人60M;交换机的千兆—>千兆全双工,一个接口即可以发送又可以接受,相当于2000M,非共享式网络,效率比共享式要高,算80%为1600M,而且是接口13之间1600,接口24之间1600M,前提是两两通信,假设完美,如果是两个和一个通信,也会平分带宽,但是依然比无线千兆好很多
交换机
MAC地址
长度:48bit,一个16进制4位,12个16进制是48bit,表现形式不一样;前半部分厂商识别码,后半部分厂商内识别码
抓包二层帧后面标识的不同厂商,就是根据MAC地址前半部分厂商识别码来识别的
思科无状态服务器:UCS服务器,需要先配置网卡、mac、uid才能开机,好处是替换坏掉的设备时(坏掉的设备基于mac等做了安全策略)可以直接配置好替换
基于mac地址的转发:交换机自学原理
show mac address-table dynamic—>查看mac地址表
帧从交换机接口进入:帧的源mac、vlan、进接口就是CAM表
Unknown unicast帧(CAM表没有目的地址,不知道目的的单播帧),交换机就会除了入接口外的所有接口进行泛洪
交换机端口分析技术:SPAN;可以抓到通过交换机的同vlan包;虚拟交换机启用杂合模式,效果类似于集线器,网络里出现的所有包我都接受
封装
以太网:目的MAC、源MAC、类型(0x0800、0x0806)、数据(46-1500)、CRC
数据:大于1500分片,不满足46有垫片垫位
*图片取自下文ARP包,长度不够需要额外的数据垫位,全是0无意义
*图源自网络
802.3:数据(38-1492)
*图源自网络
区分以太网帧/802.3帧:长度/类型取值范围不一样,所以完全不冲突,所以网卡发802.3帧交换机也转发;如长度/类型是0806那就是以太网帧,长度/类型值本身就可以区分到底是哪个
*图源自网络
MTU包括:IP头部、tcp/udp头、数据,在路由器的出方向检查
最小值以太网46为例:不满足46要用垫片(用0,无意义),填充到46
路径MTU:两台通信主机路径中的最小MTU,叫路径MTU。包只有低于路径MTU,在当前链路上才不会分片;分片可能多次发生,组装只在目的地;路径MTU在两个方向上不一定是一致的
*图源自网络(http://www.colasoft.com.cn/network-fault-analysis/d29z.php),自己抓包没有抓到,因为Windows网卡默认过滤了vlan tag,需要修改相关配置及注册表,暂时没有解决这个问题
经典问题:既然MAC地址可以通信,为什么还要用IP?
若A、B两台主机通信,中间要经由路由器的话,即使知道了主机B的MAC地址,由于路由器会隔离两个网络,所以还是无法实现直接从主机A发送数据报给主机B。此时,主机A必须先将数据报发送给路由器与A相连的接口的MAC地址。
总结
遇到mac泛洪用端口安全搞定
遇到dhcp攻击用dhcp snooping搞定
遇到arp攻击用动态arp监控技术
想要二层绑定用IP Source Guard技术(在局域网内绑定IP和mac)