网络层协议介绍
1、网络层的功能
-
定义了基于IP协议的逻辑地址 -
连接不同的媒介类型 -
选择数据通过网络的最佳路径
2、IP数据包格式
- 版本(Version):该字段包含的是IP的版本号,4bit。目前的IP的版本为4(即IPv4)
- 首部长度(Header Length):该字段用于的表示IP数据包头长度,4bit。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度。
- 优先级与服务类型(Priority , Type of Service):该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求。
- 总长度(Total Length):该字段用以指示整个IP数据包的长度,16bit。最长的为65535字节,包括包头和上层数据。
- 标识符(Identification):该字段用以表示IP数据包的标识符,16bit。当IP对上层数据同一个数据进行分片,分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。
- 标志(Flags):标准字段,3bit。对当前的包不能进行分片,或当一个包被分片后,最后一个分片是否已发出。
- 段偏移量(Fragment Offset):该字段用于表示段偏移量,13bit。包含的信息是指在一个分片序列中如何将各分片重新连接起来。
- TTL(Time to live):用于表示IP数据包的生命周期,8bit。一个数据包每经过一个路由器,TTL将减去1.当值为0时,该数据包将被丢弃。可以防止数据包在网络中无线循环,造成网络拥堵。
- 协议号(Protocol):协议字段,8bit。用以指示带IP数据包中封装的是哪一种协议,是TCP还是UDP,TCP的协议号是6,UDP的是17。
- 首部校验和(Header Checksum):该字段用于表示校验和,16bit。用来校验数据有没有被改动过。
- 源IP地址(Source IP Address):该字段表示数据包的源地址,32bit。
- 目标IP地址(Destination IPAddress):该字段用于表示数据包的目的地址,32bit。
- 可选项(Options):可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。可选项后就是上层数据。
3、ICMP协议(网际控制报文协议)
- ICMP协议主要用于检测网络连通性
- ICMP协议封装
4、Ping命令
-
Ping命令主要功能:检测两台主机之间的连通性。 -
常用Ping命令选项:
跟踪路由路径命令:
-
WIN: tracert IP/域名 -
LINUX:traceroute IP/域名
5、广播与广播域
- 广播:将广播地址做为目的地址(MAC地址)的数据帧
- 广播域(局域网):网络中能接收到同一个广播的所有节点的集合
- 广播地址为FF-FF-FF - FF-FF-FF
6、ARP协议
ARP(地址解析协议):将已知的IP地址解析成MAC地址
ARP工作原理:主机A想发送数据给主机B,首先他们得在一个广播域(局域网)里且在相同网段内,这时主机A会检查自己的缓存表。发现没有主机B的mac地址,这时就会发送一个arp请求消息,通过广播发送,广播消息到达交换机,交换机会进行广播泛洪,除了主机A其余主机都会收到arp请求消息,主机B会回复arp应答(因为请求消息里包含主机B的IP地址),其余主机丢弃。主机B检查缓存表然后记录广播消息中主机A的IP地址和MAC地址,然后回复广播消息,这时主机A收到消息并将主机B的mac地址记录在缓存表中,两台主机已经可以实现单播通信。
7、ARP相关命令
- windows系统中的arp命令
- arp -a 查看ARP缓存表
- arp -d【IP】清除ARP缓存表
- arp -s IP MAC ARP静态绑定
- 华为系统中的arp命令
8、ARP攻击
arp攻击原理:地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
|