网络层协议介绍

网络层的功能
  定义了给予IP协议的逻辑地址
  连接不同的媒介类型
  选择数据通过网络的最佳路径


1,IP数据包的格式

微信截图_20190805221225.png

版本(Version):该字段包含的是 IP的版本号,4bit。目前 IP 的版本为4(即 IPv4)。该版本形成于 20 世纪 80 年代早期,现在无论是在局域网还是在广域网中,使用的都是 IPv4。目前 IPv4 所面临的最大问题是 IP 地址空间不足,即将使用的 IPv6 是IP 的下一个版本,但也不能解决 IP 地址缺乏的问题。


首部长度(Header Length):该字段用于表示 IP 数据包头长度,4bit。IP 数据包头最短为 20 字节,但是其长度是可变的,具体长度取决于选项字段的长度。


优先级与服务类型(Priority & Type of Service):该字段用于表示数据包的优先级和服务类型,8bit。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求。


总长度(Total Length):该字段用以指示整个 IP 数据包的长度,16bit。最长为65 535 字节,包括包头和数据。


标识符(Identification):该字段用于表示 IP 数据包的标识符,16bit。当 IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。


标志(Flags):标志字段,3bit。标志和分片一起被用来传递信息。例如,对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出。

段偏移量(Fragment Offset):该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何将各分片重新连接起来。


TTL(Time to Live):该字段用于表示 IP 数据包的生命周期,8bit。该字段包含的信息可以防止一个数据包在网络中无限循环地转发下去。TTL 值的意义是一个数据包在被抛弃前在网络中可以经历的最大周转时间。该数据包经过的每一个路由器都会检查该字段中的值,当 TTL 的值为 0 时,该数据包将被丢弃。TTL 对应于一个数据包通过路由器的数目。一个数据包每经过一个路由器,TTL 将减去 1。


协议号(Protocol):协议字段,8bit。该字段用以指示在 IP 数据包中封装的是哪一个协议,是 TCP 还是 UDP,TCP 的协议号为 6,UDP 的协议号为 17。


首部校验和(Header Checksum):该字段用于表示校验和,16bit。校验和是 16位的错误检测字段。目的主机和网络中的每个网关都要重新计算报头的校验和,就如同源机器所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。


源 IP 地址(Source IP Address):该字段用于表示数据包的源地址,32bit。这是一个网络地址,指的是发送该数据包的设备的网络地址。

目标 IP 地址(Destination IP Address):该字段用于表示数据包的目的地址,32bit。这也是一个网络地址,但指的是接收节点的网络地址。

可选项(Options):选项字段根据实际情况可变长,可以和 IP 一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据


2,ICMP协议

ICMP 协议 (Internet Control Message Protocol)的全称是“Internet 控制消息协议”,主要用于在 IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题的反馈。通过这些反馈信 息管理员就可以对所发生的问题做出判断,然后采取适当的措施去解决。

ICMP 是一个“错误侦测与回馈机制”,通过 IP 数据包封装,用来发送错误和控制消息。 其目的是使管理员能够掌握网络的连通状况。当路由器收到一个不能 被送到最终目的地的数据包时,路由器会向源主机发送一个 ICMP 主机不可达的消息。

微信截图_20190805221624.png


ICMP协议的封装

微信截图_20190805221921.png

在网络中,ICMP 协议的使用是靠各种命令来实现的。下面以 ping 命令为例,介绍 ping 命令的使用及返回的信息。 ping 命令的基本格式如下所示。

 C:\>ping [–t] [-l 字节数] [-a] [-i] IP_Address

微信截图_20190805222108.png


出现无法访问目标主机,可能就是没有配置正确的网关等配置

微信截图_20190805222121.png

ICMP 返回信息为“找不到主机”,说明 DNS 无法进行解析。

微信截图_20190805222129.png


返回信息为“请求超时”,说明在规定的时间内没有收到返回的应答消息。可能是因为防火墙导致的

微信截图_20190805222136.png


ping -t  :一直ping下去

ping -a:返回显示对方主机名

ping -l  :发送包的大小


3,ARP协议

在局域网中,交换机通过 MAC 地址进行通信,要获得目的主机的 MAC 地址就需要使用 ARP 协议将目的 IP 地址解析成目的 MAC 地址。所以,ARP(Address Resolution Protocol, 地址解析协议)的基本功能是负责将一个已知的 IP 地址解析成 MAC 地址,以便在交换机上 通过 MAC 地址进行通信。

ARP协议.png


ARP相关命令

ARP相关命令.png

思科ARP相关命令.png

绑定ARP.png



ARP***和欺骗原理

ARP***:***主机会向网关发送被***主机的虚假MAC地址,同时也向被***主机发送一个虚假的网关MAC地址

微信截图_20190805223400.png

ARP欺骗:***主机会向网关冒充目标主机的MAC地址,同时向目标主机冒充网关的MAC地址

微信截图_20190805223416.png

ARP欺骗主机

微信截图_20190805223431.png

猜你喜欢

转载自blog.51cto.com/14080162/2426881