数据链路层为网络层提供可靠的数据传输,传输单位为帧。
帧格式:指根据不同协议规定的帧的格式。通常由“帧头+数据信息”两部分组成。帧格式主要有以太网帧格式、数据帧格式、802.3帧格式(IEEE820.3)、MAC帧格式(802.11)。
MAC地址:物理地址,全球唯一,长度48位,6字节;
类型:识别上层协议为上层协议提供服务,类型有,0x0800代表IP协议、0x0806代表ARP协议;
MTU:最大传输单元(Maximum Transmission Unit)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小,最大为1500字节
为接入交换机的任意两个网络节点提供独享的电信号通路,把要传输的信息送到符合要求的相应路由上。
AA第一次向DD发送数据帧:
DD第一次向AA发送数据帧:
注意:
E:10MB
F:100MB
G:1000MB
Te:10000MB
F0/1:0为模块号,1为接口号。
端口状态:up/down
down的三种可能:1)人工down掉;2)速率不匹配;3)双工模式不匹配。
单工模式:只能单向通信(如收音机、BB机);
半双工模式:可以双向通信,但是不能同时进行通信;
全双工模式:可以同时进行双向通信。
第一次网络配设备,需要console线。
所有命令都可以支持命令缩写执行,Tab键可以补全命令。
Switch>首写字母? 提示以该字母开头的所有命令
Switch>exit 退出一级
Switch>end 直接退到特权模式
Switch>en 进入特权模式
Switch(config-if)#shutdown 关闭接口
Switch(config-if)#no shutdown 开启接口
Switch(config)#hostname 交换机名 修改交换机名
Switch(config)#enable password 密码 设置特权密码(明文)
Switch(config)#enable secret 密码 设置加密密码
Switch(config-line)#password 密码 设置用户密码
Switch(config-line)#login
Switch(config)#show mac-address-table 查看mac地址
Switch(config)#show ip interface brief 查看端口状态列表
删除某配置
no hostname 删除用户名配置
no password 删除密码配置
注意:删除配置的参数如果唯一可以不需要加参数(会报错)
交换机重新开机会导致以前的配置文件全部失效(reload)。
交换机开机过程:先去内存中查找startup-config文件是否存在,如果不存在,则创建新的running-config,如果存在,则复制到内存中并改名为running-config。
保存配置:
Switch#copy running-config startup-config
或
write
查看 running-config / startup-config文件:
show running-config
show startup-config
清空初始化配置:
erase startup-config
为三层端口配IP
Router(config-line)#ip add IP地址 网关
Router(config-line)#no shutdown
开启虚拟终端,远程控制
Router(config)#line vty 0 4
开启ssh或telnet端口或全部开启或全部关闭
Router(config-line)#transport input ? 查看命令
Router(config-line)#transport input ssh/telnet/all/none
正确开启ssh端口
Router(config)#ip domain-name www.chen.com 设置一个域名
Router(config)#crypto key generate rsa 生成rsa算法的密钥
连接ssh端口:
PC>ssh -l username 目标ip
conf t
int vlan 1
ip add 10.1.1.254 255.255.255.0
no shut
跨网段管理交换机
conf t
ip default-gateway ip地址
位于网络层
IP数据包长度可变(20字节–60字节)。
本区域值 = IP头部长度(单位为bit)/ (8*4)
,因此,一个IP包头的长度最长为“1111”,即15*4=60个字节。IP包头最小长度为20字节。路由追踪:
这个字段可以 防止IP报文在网络中循环无限传输,占用带宽等问题。
跨越从源主机到目标主机的一个互联网来转发数据包的过程,也就是路由器为IP包选择路径的过程。
路由器为数据包选择路径的唯一依据是路由表。
在路由表中可以查到需要的IP地址,就转发;
没有查到就返回错误,需要手动配置路由表,下一跳IP地址。
例如下面的拓扑图中,一共有7个网段,从10网段发送一个数据包到70网段:
C(connected):表示直连地址,直接与路由器相连的网络;
S(static):表示静态路由,是指手动设置的静态路由项;
S*:表示默认静态路由。
主机AA-AA想向CC-CC发送数据
____ AA-AA 10.0.0.1 40.0.0.1 (目标MAC地址 源MAC地址 源IP 目标IP)
,目标MAC地址未知;10.1.1.254 AA-11
AA-11 AA-AA 10.0.0.1 40.0.0.1
;BB-11 AA-12 10.1.1.1 40.1.1.1
;地址解析协议,即ARP(Address Resolution Protocol),位于网络层,是将IP地址解析为MAC地址的一个协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址。
收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
arp -a 查看arp缓存表
arp -d 清除arp缓存
arp -s arp绑定
无论是ARP攻击还是ARP欺骗都是通过发送伪造ARP报文(广播或单播)来实现的。ARP协议没有验证机制!
虚假的ARP报文的MAC地址是伪造的不存在的,arp攻击得到主要目的是使网络无法正常通信/断网。
虚假的ARP报文的MAC地址是攻击者自身的MAC地址,ARP欺骗并不是使网络无法正常通信,目的是实现监听、篡改、窃取、通过转发流量可以对流量进行控制和查看,从而得到机密信息。
ARP欺骗网关:
ARP欺骗主机:
ARP -S IP MAC
;Internet控制报文协议,面向无连接的协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
典型实例:ping 和 tracert命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径,它俩都利用 ICMP 协议来实现网络功能。
ICMP协议封装格式:
ICMP头:ICMP类型+代码
ICMP类型字段
0 ping应答
8 ping请求
3 目标主机不可达
11 TTL超时
私有网络三个IP地址块:
A 类:10.0.0.0~10.255.255.255
B 类:172.16.0.0~172.31.255.255
C 类:192.168.0.0~192.168.255.255
是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,某个私有IP地址只转换为某个公有IP地址。
应用场景:外部网络对内部网络中某些特定设备(如服务器)的访问。
发送IP包(192.168.1.1 200.1.1.1(源IP 目标IP)),根据内网到外网要转换源IP;查询NAT转换表,将源IP转换为100.1.1.1,再进行外网路由,直到服务器;
服务器发送响应包(200.1.1.1 100.1.1.1(源IP 目标IP)),根据外网到内网要转换目标IP;查询NAT转换表,将目标IP转换为192.168.1.1,再到内网,完成响应。
我们发现静态NAT转化表只有PC(192.168.1.1),没有其他的PC,当其他PC发送数据包出去后,不能收到响应!
动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的、随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址,动态转换需要一个动态映射关系即内部地址池和外部地址池之间的映射。
当有内网需要访问外网时,先匹配内部地址池的IP地址,如果内部地址池中有该IP,则使用内部池和外部池地址构成NAT转换表,假设外部地址池只有一个可供使用的地址时,当有人正在使用时,其他人还是不能访问外网,一旦第一个人使用结束,24小时后,外部地址池会重新得到10.1.1.1,供其他人使用。
在动态转换上加上复用(OverLoad),指改变外出数据包的源端口并进行端口转换,虽然内部网络的所有主机均共享一个合法外部IP地址实现对Internet的访问,但可以根据生成的不同端口号作为响应包依据。
例如:
PC发送:192.168.1.1 200.1.1.1 3000 80
(源IP 目标IP 源端口号 目标端口号)
根据端口多路复用NAT转换为:100.1.1.1 200.1.1.1 1 80
(源IP 目标IP 源端口号 目标端口号)
回复数据包:根据随机生成的端口号响应。
定义内网端口:
int f0/0
ip nat inside
exit
定义外网端口:
int f0/1
ip nat outside
exit
配置PAT:
# 定义内部地址池:允许192.168网段的IP
acc 1 permit 192.168.0.0 0.0.255.255
# PAT动态映射
conf t
ip nat inside source list 1 int f0/1 overload
配置静态端口转换:
# 注意协议和端口号对应(tcp-->80)
conf t
ip nat inside source static tcp 192.168.1.1 80 100.1.1.1 80
不需要手工写路由,路由器之间互相学习!
路由器之间用来交换信息的语言。
度量值:跳数、带宽、负载、时延、可靠性、成本。
从R1到R3
根据跳数,选择R1和R3直连路由路线;
根据带宽,选择经过R2路由路线。