目录
一、网络层的功能
二、IP数据包格式
三、ICMP协议(Internet控制报文协议)
一、网络层的功能
定义了基于IP协议的逻辑地址 (IP)
连接不同的媒介类型
选择数据通过网络的最佳路径
二、IP数据包格式
协议字段
版本——IPV4(0100),IPV6
首部长度——不带有数据包的IP长度(IP数据包的包头长度)
优先级与服务类型——优先级高的先发送,通过在数据包中划分一定的优先级,用于实现QOS服务质量的要求
总长度——IP数据包的长度 (不大于65535,包括包头和数据)
标识符——用于IP数据包分辨(当IP对上层数据进行分片时,将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组)
标志——和标识符一起被用来传递信息,指示不可以被分片或者最后一个分片是否发出
段偏移量——当分辨之后,数据到达对方,需数据重组
TTL——生命周期,可以防止一个数据包在网络中无限循环的转发下去,没进过一个路由器-1,当TTL的值位0时,该数据包被丢弃
协议号——封装的上层哪个协议,ICMP:1 TCP:6 UDP:17
首部校验和——这个字段秩检验数据报的首部,不包括数据部分。这是因为数据每经过一次路由器,都要重新计算一下首部校验和,因为一些字段如生存时间、标志、片偏移等可能发生变化。
源地址——发送端IP地址
目标地址——接收端IP地址
可选项——选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。
三、ICMP协议(Internet控制报文协议)
ICMP是一个“错误侦测与回馈机制”
通过IP数据包封装的
用来发送错误和控制信息
ICMP协议的封装
ICMP协议属于网络层协议
ICMP数据的封装过程
ICMP协议
功能
作为网络管理员,必须知道网络设备之间的连接状况,因此就需要有一种机制来侦测或者通知网络设备之间可能发生的各种各样的情况,这就是ICMO协议的作用。ICMP协议的全称是Internet控制消息协议(internet control message protocol),主要作用在IP网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈,通过这些反馈信息管理员就可以对所发生的问题作出判断,然后采取适当的措施去解决。
ICMP报文有两种类型:差错报告报文和查询报文
哪里使用到了ICMP协议--ping命令和traceroute/tracert(windows使用)命令
在检查网络连通性时,ping命令是使用最多的
当我们ping一台主机时,本地计算机发出的就是一个典型的ICMP数据包,用来测试主机是否能够顺利连通。ping命令能够检测两台设备之间的双向连通性,即数据包能够到达对端,并能够返回
ping不通的几种情况
1.当主机有一个默认网关时,如果他ping其他网段的地址,无法到达显示的是request timeout(请求超时)此时他把icmp包发给网关,至于后面的事他就不管,如果没有包回应,显示请求超时
2.当一个主机没有默认网关时或者配置了网关但是和网关不通时,如果他ping其他网段的地址,显示的是Destination host unreachable 此时他发送ARP请求包请求网关的mac地址
3.当一个路由器ping他路由表中不存在的地址时,显示请求超时,此时不发任何包
4.当路由器ping一个路由表中存在的地址时,如果没有回应,则显示的也是请求超时,此时发送ARP请求包,请求目标IP的MAC地址
ping命令的用法:结合具体在什么场景使用什么选项
-t 在windows操作系统中,默认情况下发送4个ping包,如果在ping命令后面加上参数“-t”,系统将会一直不停地ping下去
-a 显示主机名
-L 一般情况下,ping包的大小为32字节,有时为了检测大数据包的通过情况,可以是同参数改变ping包的大小,简单测试ping包质量
#在linux系统下为-s
-n 指定发送包的个数 -c
-s 指定源IP去ping -i
win:
tracert命令:
在命令行中输入 tracert 并在后面加入一个IP地址,可以查询从本机到该IP地址所在的电脑要经过的路由器及其IP地址
ARP协议概述
局域网中主机的通信:IP地址与MAC地址
①什么是ARP协议:address resolution protocol 地址解析协议
将一个已知的IP地址解析得到MAC地址,是一个在网络协议包中极其重要的网络传输协议,他与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,原因在于在网络层看来,源主机与目标诸暨市用过IP地址精选识别的,而所有的数据传输有依赖网卡底层硬件,即链路层,那么就需要将这些IP地址转换为链路层可以识别的东西,在所有的链路层中都有着自己的一套寻址机制,如在以太网中使用MAC地址进行寻址,以标识不同的主机,那么就需要有一个协议将IP地址转换为MAC地址,由此就出现了ARP协议,所有ARP协议在网络层被应用,他是网络层与链路层连接的重要枢纽,每当有一个数据需要发送的时候,都需要在通过ARP协议将IP地址转换成MAC地址,在IP层及其以上的层次看来,他们只标识IP地址,从不跟硬件打交道
②ARP协议如何工作
工作原理(结合交换机原理)
1.两台局域网主机相互通信为例讲解原理
ARP解析过程
(1)当PC1想发送数据给PC2,首先在自己的本地ARP缓存表中检查主机PC2匹配的MAC地址
(2)如果PC1缓存中没有找到响应的条目,它将询问主机PC2的MAC地址,从而将ARP请求帧广播到本地网络的所有主。该帧中包括源主机PC1的IP、MAC地址,本地网络中的所有主机都接受到ARP请求,并且检查是否与自己的IP地址相匹配。如果发现请求中的IP地址与自己IP不匹配,则丢弃。
(3)主机PC2确定ARP请求中的IP地址与自己的IP地址匹配,则将主机PC1的地址和MAC地址添加到本地缓存表中。
(4)主机PIC2将包含其MAC地址的ARP回复消息直接发送回PC1(数据帧单播)
(5)主机PC1接收到PC2发回的ARP回复消息,将PC2的IP和MAC地址添加到自己的ARP缓存表中,本机缓存默认ARP缓存表有效期120S,超过有效期则重复上述过程。主机PC2的MAC地址一旦确定,主机PC1就能向主机PC2发送IP信息。
IP地址解析为MAC地址:
1.PC1发送数据给PC2,查看缓存有没有PC2的MAC地址
2.PC1发送ARP请求(广播)
3.所有主机收到ARP请求消息 ①PC2回复ARP应答(单播)②其他主机丢弃



