目录
一.网络层的功能
网络层:就是选择最佳的途径转发数据包(不同网段之间只能进行路由器进行转发)
1.定义了基于IP协议的逻辑地址
2.连接不同的媒介类型
3.选择数据通过网络的最佳途径
4.网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能
5.基本数据单位为IP数据报
6.包含的主要协议:
-
IP协议(Internet Protocol,因特网互联协议);
-
ICMP协议(Internet Control Message Protocol,因特网控制报文协议)
-
ARP协议(Address Resolution Protocol,地址解析协议);
-
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)
二.IP数据包格式
1.协议字段
1.1.IP头部的组成
*源IP地址:该字段用于表示数据包的源地址,32bit
*目的IP地址:该字段用于表示数据包的目的地址,32bit
*IP版本(IPV4/IPV6): 该字段包含的是 IP 的版本号,4bit。目前 IP 的版本为 4(即 IPv4)
*IP头部长度:该字段用于表示IP数据包头长度,4bit。IP数据包头最短为20字节,但是其长度是可
变的,具体长度取决于可选项字段的长度
优先级与服务质量(不需要高宽带低延迟的场景 了解即可):该字段用于表示数据包的优先级和
服务类型,8bit。通过在数据包中划分一定的优先级,用于实现 QoS(服务质量)的要求
总长度(包含IP头部和上层数据):该字段用以指示整个 IP数据包的长度,16bit。最长为65535字
节,包括包头和数据
标识符 :该字段用于表示IP数据包的标识符,16bit。当IP对上层数据进行分片时,它将给所有的
分片分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组
标志 :标志字段,3bit。对当前的包不能进行分片(当该包从一个以太网发送到另一个以太网
时),或当一个包被分片后用以指示在一系列的分片中,最后一个分片是否已发出
段偏移量:该字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一个分片序列中如何
将各分片重新连接起来
*TTL(每经过一个路由器TTL-1,为0时会被丢弃):该字段用于表示 IP数据包的生命周期,8bit
*协议号(UDP为17 TCP为6):协议字段,8bit
头部校验和可选项:该字段用于表示校验和,16bit。接收方和网关用来校验数据有没有被改动过
三.ICMP协议(Internet控制报文协议)
1.ICMP协议的封装
四.Ping命令
1.windows系统中ping命令常用选项
-t参数会一直不停的执行ping
-a 参数可以显示主机名称
-I参数可以设定ping包的大小 ###在Linux系统下为:-s
-n 指定发送包的个数 -c
-S 指定源IP去ping -I
2.跟踪路由路径命令
WIN: tracert IP/域名
Linux: traceroute IP/域名
五.广播与广播域
六.APR协议
地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的
硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址
ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置
1.ARP工作原理
- PC1想发送数据给PC2,会先检查自己的ARP缓存表
- 如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的 MAC地址 ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)
- 交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答,并在自己的ARP表中缓存PC1的 IP 地址和 MAC 地址的对应关系,而其他主机则丢弃这个ARP请求消息
- PC1在自己的 ARP表中添加 PC2的 IP 地址和 MAC地址的对应关系,以单播方式与PC2通信
2.APR相关命令
windows系统中ARP命令:
arp -a ###查看ARP缓存表
arp -d [IP] ###清除ARP缓存
arp -s IP MAC ###ARP静态绑定
注:
如提示ARP项添加失败,解决方案:
a、用管理员模式:
1)电脑左下角“开始”按钮右键,点击 “Windows终端(管理员)”
2)搜索 “Windows PowerShell(管理员)(A)” ,右键“以管理员身份运行”
3)进入C盘windows\system32文件夹找到cmd.exe,右键“以管理员身份运行”
再执行arp -s命令
b、(1) netsh interface ipv4 show neighbors 或者 netsh i i show in 查看网卡接口序号/Idx
(2) netsh interface ipv4 set neighbors <接口序号> <IP> <MAC>(了解即可)
解除静态绑定
netsh -c i i delete neighbors 'Idx'
动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失
3.总结
ARP:地址解析协议:IP地址转换成mac地址
同一网段(网络号相同才是同一网段),不同网段需要路由器
1.发送数据包需要知道对方的mac地址
2.先查缓存表,表里有则直接走。不会再进行ARP请求
3.表里没有则发送ARP广播,在网段中广播,有则相应(单播形式),跟我无关则直接丢弃
4.会把收到的对方的IP地址和他的mac地址保存在本机的ARP缓存表当中,下次就可以直接请求
5.如果没有响应,直接丢弃