网络层协议与应用
网络层的功能
1.定义了基于IP协议的逻辑地址(在全局范围内进行数据的转发)2.连接不同的媒介类型3(路由器).选择数据通过网络的最佳路径
1. IP数据包格式
1.1 IP字段
版本(Version):该字段包含IP的版本号,4bit。目前IP的版本位4(IPv4).
首部长度(Header Length):该字段用于表示IP数据包头长度,4bit。IP数据包头最短为20字节,但是其长度是可变的,具体长度取决于可选项字段的长度,最大达到40字节。
优先级与服务类型(Priority&Type of Service):该字段用于表示数据包的优先级和服务器类型,8bit。通过在数据包中划分一定的优先级,用于实现QoS(服务质量)的要求。
总长度(Total Length): 该字段用以指示整个IP数据包的标识符,16bit。 当IP对上层数据进行分片时,它将给所有的分片分配同一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。总长度=首部长度(IP头部长度)+TCP头部+上层数据
标识符:(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地址(Destinstion IP Address):该字段用于表示数据包的目标地址,32bit。
可选项(Options):可选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据。
2. ICMP协议(Internet控制报文协议):检测网络的连通性
1、ICMP是一个“错误侦测与回馈机制”2、通过IP数据包封装的3、用来发送错误和控制消息
ICMP协议号属于网络层协议
2.1ping的命令(即ICMP )
ping的命令的基本格式为
C:>ping[-t][-l字节数][-a][-i]IP_Address|target_name
Windows系统中ping命令常用选项:
-t 参数会一直不停的执行ping
-a 参数可以显示主机名称
-l 参数可以设定ping包的大小 ###在Linux系统下为: -s
-n 指定发送包的个数 ###在Linux系统下为: -c
-s 指定源IP去ping ### 在Linux系统下为: -I(大写i)
跟踪路由路径命令:
WIN:tracert IP/域名
Linux: traceroute IP/域名
3.广播与广播域
广播:将广播地址作为目的地址的数据帧
广播域:网络中能接收到同一个广播的所有节点的集合
广播地址为FF-FF-FF-FF-FF-FF
4.ARP协议(在局域网中通过IP地址获取MAC地址)
局域网中主机的通信:IP地址与MAC地址
ARP协议(Address Resolution Protocol):将一个已知的IP地址解析成MAC地址
4.1 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通信。
4.2 ARP相关命令
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命令
b、(1)netsh inferface ipv4 show neighbors 或者netsh i i show in <查看网卡接口序号/Idx>
(1)netsh interface ipv4 set neighbors <接口序号>
解除静态绑定
netsh -c i i delete neighbors ‘Idx’
动态学习到的ARP的老化时间是120s,并且静态绑定的ARP条目在计算机关机或重启后会消失
华为系统中的ARP命令
[Huawei]dis mac-sddress ###查看MAC地址信息
[Huawei]arp static ###绑定ARP
[Huawei]undo arp static ###解绑定ARP
reset arp all ###清除MAC地址表