网络层协议解析
本章主要介绍网络层协议中的IP数据包形式,以及ICMP,ARP协议的介绍。
一、网络层的功能
1、定义了基于IP协议的逻辑地址,就是ip地址
IP协议主要内容有:
ARP(地址解析协议): 是将IP地址转换成物理mac地址的协议
ICMP协议(网际控制报文协议):平时的主要操作有“ping”用于测试网络的连通性
RARP(逆地址解析协议):是根据物理mac地址转换成IP地址的协议
IGMP(网际组管理协议):一个组播 协议这个协议运行在主机和组播路由器之间
2、用于连接不同的媒介类型
即将交换机,路由器,计算机等设备连接在一起
3、选择数据通过网络的最佳路径,完成逻辑地址寻址
即网络路径的择优,选择传输线路短,传输速度快的路径进行传输
二、IP数据包的格式
版本号(4bit):指IP协议,一般使用IPv4协议(表示为0100),IPv6协议使用少的原因是老设备目前不支持,难推广
通信双方使用的版本需要一致才能通信
首部长度(4bit):IP数据包的包头长度
优先级与服务类型(8bit):该字段表示数据包的优先级与服务类型,如果遇到数据拥堵可以根据该字段进行数据先后的传输
总长度(16bit):指IP数据包的总长度,最长为65535个字节,包括包头和数据。
标识符(16bit):当IP对上层数据进行分片时,他会将所有分片数据分配一组编号,然后将编号放入标识符字段中,保证分片不会错误地重组,以便接收节点可以重组被分片的数据包
标识(3bit):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出。标识的功能:1.数据小的不需要分片的会加上标识告知不需要分片;2.告知所有分片数据已经传输完成
段位偏移量(13bit):在一个分片序列中如何将各分片连接起来,按什么顺序连接起来。即分片数据不一定按顺序传输完毕,段位偏移量保证了数据传输完毕后按照正确顺序连接起来。
TTL生命周期(8bit):可以防止一个数据在网络中无限循环的转发下去,每经过一个路由器-1,当TTL为0时,该数据将会被丢弃(0-255)。举例:当一个数据传输出去后,无法找到目的地,这个数据将会一直在设备之间循环发送,生命周期可以保证这个数据不会无意义的在设备中循环,一直占用网路资源。
协议号(8bit):指上层数据使用的协议(ICMP:1,TCP:6,UDP:7)
首部校验和(16bit):这个字段只检验数据报的首部,不包括数据部分。
源地址(32bit):源ip地址,表示发送端的IP地址
目标地址(32bit):目标ip地址,表示接收端的IP地址
可选项(40bit的可变长部分):选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据
三、ICMP协议
-
ICMP是一个“错误侦测与回馈机制”
-
ICMP的主要作用是测试网络的连通性
-
通过IP数据包封装的
-
用来发送错误和控制信息
1、ICMP数据包格式
- ICMP是工作在网络层,协议号1
- 报文重要字段:Type+Code
type和code的不同组合可以表示不同功能的ICMP报文
type为3的都是不可达信息
2.ICMP协议的功能
2.1、ping:
Ping是网络设备、Windows、Unix和Linux平台上的一个命令,其实是一个小巧而实用的应用程序,该应用基于ICMP协议。
- 作用:常用于探测到达目的节点的网络可达性。
- 功能:差错检测
检测步骤:
- ping 自己 127.0.0.1 硬件
- 看双方地址是否有问题
- 看网关是否有问题
- 防火墙策略是否有问题( 配合 找网络工程师)
2.2、ping的使用方法
1.显示自己的IP地址:ipconfig
从上图观察可以得到关于自己计算机的本地IP地址以及子网掩码包括网关的内容
2.显示帮助命令:ping --help(可以出现相关命令菜单协助操作)
3.指定数据包大小:ping ip地址 -l 指定数据包大小
4.长ping:一直ping下去,ctrl+c 停止
5.指定超时等待时间:ping ip地址 -w 等待时间(即如果超出等待时间,数据包未传输成功,则将数据收回,避免浪费网络资源)
6.指定ping几次:ping ip地址 -n 次数(指定发送几个包)
7.发送缓冲区大小(即指定数据包的大小进行传输):ping ip地址 -l 数据包大小
8.追踪,设定经过几个路由设备:tracert IP地址
如上图所示可以看到该命令可以追踪到数据传输经过几个路由设备,由于ping的是本机IP地址所以经过设备只有1。
如果在ping的过程中有数据发送失败的,可以根据失败的IP地址查询到相应的设备是否存在问题。
以上ping的多种用法,ping的通是一定可以通信的,ping不通也不代表网络一定是不通的。
四、ARP协议
1、什么是ARP协议
ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的。
2、ARP协议工作过程
PC1 想和 PC2 通信 需要知道 PC2的mac地址,需要ARP 协议
- PC1首先 查看本机的 ARP 缓存表,如果有就直接发送。
- 如果没有 就会发送广播,询问,谁有192.168.1.2mac地址
- 同一网段的 所有机器 都会收到 广播,只有PC2 会回复(因为是发给PC2的)其余PC 丢弃。
- PC1 会收到PC2的回复 数据包里面会携带PC2 的 MAC地址
3、ARP功能
- 免费(无故)ARP (检测 地址是否冲突):当一台设备获取到一个Ip 地址时 ,会自动发送一个无故ARP,检测 是否有设备已使用了此地址
- 将ip地址 转化成 mac地址
五、知识延展
1、冲突域
冲突域是一个以太网术语,指的是这样一种网络情形,即网段上的一台设备发送分组时,该物理网段上的其他所有设备都必须债昕它。这很糟糕,因为如果同一个物理网段中的两台设备同时传输数据,将发生冲突(即两台设备的数字信号将在线路上相互干扰),导致设备必须在以后重传数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。前面描述的情形通常出现在集线器环境中,在这种环境中,所有主机都连接到一个集线器,它们组成一个冲突域和一个广播域。
总结:
冲突域:两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域
2、广播域
广播域的书面定义如下:广播域指的是网段中的一组设备,它们侦昕在该网段上发送的所有广播。广播域的边界通常为诸如交换机和路由器等物理介质,但广播域也可能是一个逻辑网段,其中每台主机都可通过数据链路层(硬件地址)广播访问其他所有主机。介绍广播域的基本概念后,下面来看看半双工以太网使用的一种冲突检测机制。
总结:
1、广播域:一台机器发送广播,能收到消息的机器 都是在同一广播域
2、交换机的所有端口默认在同一个广播域里,
3、路由器的 每一个端口都是一个独立的 广播域