网络层的功能
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径
IP协议数据包的构成:
IP协议主要功能:定义了基于IP协议的逻辑地址;选择数据通过网络的最佳路径;连接通过不同的媒介类型。
版本(version):IPv4或IPv6,IPv6可以解决IP地址不够用的问题,但较为有限
首部长度(Header Length):用于表示IP数据包的头部长度(头部是数据之前的全部内容,长度由于可选项,是可变的,在20-60个字节之间,首部长度(该字段)=头部字节长度/4形成的二进制编码)
优先级与服务类型(Priority & Type of Service):前4位是优先级,后4位是服务类型,用于保障服务质量(Quality of Service:QoS)
总长度(Total Length):包含包头和数据的总长度。16位最长为65535字节
标识符(Identification):上层可能会对数据进行分片处理,分片时,会对该数据片段分配一组编号,这组编号就是标识符(16位)。目的是保证数据被正确的重组。每个数据包都有一个不重复的标识符。
标志(Flags):和分片信息一同传递信息(标志信息)。如:当前包不可以继续分片(从一个以太网发到另一个以太网);又如:一组分片是否都已经完成发送。(一共有3个位,三个位分别标志不同的信息)
段偏移量(Fragment Offset):为了把数据包的各个分片再重新组织起来。(13位)
TTL(Time to Live):数据包不能在网络中无限转发,TTL是一个值,每被路由器转发一次会减一,当该包TTL值为0时,会被丢弃。如果丢包过于频繁,考虑增大该值。
协议号(Protocol):标记了数据包中封装的传输数据的协议是哪一个(TCP:6、UDP:17)
首部校验和(Header Checksum):16位的错误校验和,每个网关需要重新计算报文头的校验和(如果数据在传输过程中有修改,则会不一致,则需要重新传输)
源IP地址(Source IP Address):32位,网络地址,数据包来源
目的IP地址(Destination IP Address):32位,网络地址,数据接收端地址
可选项(Options):无固定长度。例如:可以输入创建该数据包的时间等等。
数据(Data):传输层传递过来的报文数据。
ICMP协议(Internet Control Massage Protocol):
作为一个网络管理员,必须知道网络设备之间的连接情况,因此需要有一种机制来侦测和通知网络设备可能发生的各种情况。ICMP是Internet网络控制信息协议,用于在IP网络中发送控制信息,提供各种问题的反馈。通过这些反馈信息,管理员就可以判断出网络到底出了啥问题,可以使用对应措施解决。
ping命令的几种情况:1、直连联通的情况,TTL不被消耗。
- 转发联通的情况,TTL会被消耗,如果TTL被消耗完,依然没有转发成功,则连接失败,哪怕网络是通的。
- 直连失败的情况,TTL被消耗完,包完全丢掉。
- 转发失败的情况,TTL会先被路由器接收,然后转发时失败,包完全丢掉。
- 网络不稳定的情况,TTL可能会联通,可能会失败。
报错的几种提示信息:请求超时(在规定时间内没有应答、也可能被防火墙拦截)、找不到主机(DNS无法解析)
ARP协议(Address Resolution Protocol):地址解析协议
交换机的基本原理:
- A主机想要访问B主机,此时A主机传输帧到交换机。
- 交换机学习A主机的MAC地址(MAC地址列表中没有时),同时查看MAC地址列表中有没有B主机的MAC。
- 没有B主机的MAC地址时,会在交换机的所有网络地址中进行广播(所有网络地址都会收到)。
- B主机如果收到广播,则会响应(单播),其他主机会丢弃该广播信息。
- 交换机接收到B主机的响应,则会学习B主机的响应。
- A主机可以直接通过单播访问B主机。
主机到交换机的过程是会把IP地址解析成为MAC地址,此时使用的是ARP协议。
arp -a命令可以查看当前机器的所arp列表
arp -d命令可以清空当前机器的所有arp列表的映射关系
ARP绑定:
arp病毒:一般arp绑定病毒会自动向外发布ARP应答,该应答中的IP地址不是其本机IP地址,而MAC地址是虚假的,因此当其他主机收到此ARP应答后更新ARP表,最终导致网络中的主机无法正常通信。
arp绑定:可以将IP地址与相应主机的MAC地址进行一一绑定,是防止ARP攻击的有效处理方法。进行ARP绑定以后,主机不会处理已绑定的IP地址的变更和应答。
arp -s ip地址 MAC地址 命令手动的进行IP地址和MAC地址的绑定。
arp -d ip地址 清除对应IP地址的绑定关系
在交换机中配置静态ARP列表
- 在交换机中配置VLAN:vlan 100
- 是VLAN与物理端口产生连接:int vlanif 100
- 配置VLAN口的ip地址为网关的ip地址(并不产生网关的功能):ip address ip地址 子网掩码
- 网口加入trunk模式:port link-type trunk
- 网口与VLAN产生关联:port trunk allow-pass vlan 100
- 设置静态arp表项:arp staic ip地址 vid VLAN号 int 网口
- 查看交换机中记录的ip地址的绑定arp列表:display arp network ip地址