这里写目录标题
一 、IP数据包
网路层负责定义数据通过网络流动所经过的路径。主要功能为:
- 定义了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径
(一)IP数据包格式
TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报,由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。
(二)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。当 TTL 的值为 0 时,该数据包将被丢弃。可以防止一个数据包在网络中无限循环地转发下去。
协议号(Protocol):协议字段,8bit。该字段用以指示在 IP数据包中封装的是哪一个协议,是 TCP还是 UDP,TCP 的协议号为 6,UDP的协议号为 17。
首部校验和(Header Checksum):该字段用于表示校验和,16bit。接收方和网关用来校验数据有没有被改动过。
源 IP 地址(Source IP Address):该字段用于表示数据包的源地址,32bit。
目标 IP地址(Destination IPAddress):该字段用于表示数据包的目的地址,32bit。
可选项(Options):选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
二 、ICMP 协议的作用
(一)什么是ICMP协议
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。
ICMP属于网络层协议,因为传输ICMP信息时,要先封装网络层的IP报头,再交给数据链路层,即ICMP报文对应IP层的数据。
(二)ICMP的封装过程
在ICMP数据的基础上添加一个ICMP的头部形成ICMP报文,将ICMP报文添加IP头部,形成上层数据,最后再在上层数据上添加帧头部完成ICMP的封装过程。
(三)PING命令
ping 命令用于测试网络连接量的程序 。ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)请求报文,测试目的站是否连通。
ping命令的基本格式
ping命令的返回信息
windows系统中ping命令常用选项:
- -t 参数会一直不停的执行ping
- -a 参数可以显示主机名称
- -n 指定发送包的个数
- -l 参数可以设定ping包的大小
- S 指定源IP去ping
在Linux系统下:
- -s 参数可以设定ping包的大小
- -c 指定发送包的个数
- -I 指定源IP去ping
跟踪路由路径命令:
WIN:tracert IP/域名
Linux:traceroute IP/域名
三 、ARP协议概述
(一)什么是ARP协议
ARP协议是地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
(二)ARP协议的工作原理
1.PC1想发送数据给PC2,会先检查自己的ARP缓存表。
2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的 MAC地址。
ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(为广播MAC地址FF-FF-FF-FF-FF-FF)。
3.交换机收到广播后做泛洪处理,除主机1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存PC1的 IP 地址和 MAC 地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4.PC1在自己的 ARP表中添加 PC2的 IP 地址和 MAC地址的对应关系,以单播方式与PC2通信。
(三)windows系统中ARP命令:
- arp -a:查看ARP缓存表
- arp -d [IP]:清除ARP缓存
- arp -s IP MAC:ARP静态绑定
如提示ARP项添加失败,解决方案:
a、用管理员模式:电脑左下角"开始”按钮右键,点击"windows PowerShell(管理员)(A)”或者进入c盘windows\system32文件夹找到cmd.exe,右键"以管理员身份运行”再执行arp -s命令
动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失。
b、(1)netsh interface ipv4 show neighbors或者netsh i i show in 查看网卡接口序号/Idx(2) netsh interface ipv4 set neighbors<接口序号>
解l除静态绑定:
netshk-c i i delete neighbors ’ Idx’
(四)广播与广播域
广 播:将广播地址作为目的地址的数据帧。
广 播 域:网络中能接收到同一个广播的所有节点的集合
广播地址:FF-FF-FF-FF-FF-FF