首先是理论的讲解:
网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。我接下来会分为以下四个比较重要的部分来和各位小伙伴进行分享:
- IP数据包格式
- ICMP协议介绍
- ARP协议介绍
- ARP***原理
网络层的功能:
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。归纳啊来说分为以下三点:
- 建立了基于IP协议的逻辑地址
- 连接不同的媒介类型
- 选择数据通过网络的最佳路径
一.IP数据包的格式:
下面我们来详细分析一下表格中每一项的内容:
1.版本(4);IPv4、IPv6
2.首部长度(4):包头格式的长度(不包含上层有效数据)
3.优先级与服务类型(8):数据包优先级(例如:如果在没有数据包优先级的情况下,我们使用迅雷下电影的时候同时打开QQ聊天发送消息,那么你发送的消息将会等迅雷下完电影之后才会将聊天信息发送出去)
4.总长度(16):首部的长度和上层有效数据的长度
5.标识符(16):每一段数据包的标记
6.标志(3):后续是否还有其它分段
7.段偏移量(13):到达目的地重组需要使用
8.TTL(8):生命周期,代表这个数据包能通过多少路由
9.协议号(8):描述上层协议,TCP(6)、 UDP(17)
10.首部校验和(16):差错校验
11.源地址(32):源IP(2的32次方,42亿)
12.目标地址(32):目标IP
12.可选项:拓展内容
13.数据:上层有效数据
二.ICMP协议:
首先我们要了解ICMP是Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。此处我们总结为以下三点:
1.ICMP是一个“错误侦测与回馈机制”
2.通过IP数据包封装的
3.用来发送错误和控制消息
三.ICMP协议的封装:
1.ICMP协议属于网络层协议
2.ICMP数据的封装过程如下图所示:
1.Ping命令的基本格式如下:
2.Ping命令的返回信息有以下三种:(此处说明微软系统一般会发送四个数据包,如果出现丢包则表示网络不稳定)
①连通后应答
②无法访问目标主机
③在规定时间内没有收到返回的应答消息,显示请求超时
Ping命令的参数:
①:-t参数会一直不停的执行ping:
1.调试故障或进行持续连通性测试时应用
2.按Ctrl+C可以中断命令
②:-a参数可以显示主机名:(此时需要注意的是“-a”必须要在IP地址前面才可以)
③:-I参数可以设定ping包的大小:
1.单位为字节可用于简单测试通信质量
2.可用于简单测试通信质量
④:-n参数可以设定ping包的数量(正常情况默认发送的数据包数量为四个,设定过之后就可以更改发送数据包的数量)
三.ARP协议概述:
1.局域网中主机的通信:
①IP地址和MAC地址
2.什么是ARP协议
①Address Resolution Protocol(地址解析协议)
②将一个已知的IP地址解析成MAC地址
说明:ARP协议为广播类型
下面我们通过图示来和大家讲解一下如何将IP地址解析为MAC地址:
具体步骤为:
- PC1发送数据给PC2,查看缓存没有PC2的MAC地址
- PC1发送ARP请求消息(广播)
- 所有主机收到ARP请求消息(其中PC2回复ARP应答,实现单播通讯,其它主机因为MAC地址不匹配则忽略此广播消息)
Windows系统中的ARP命令:
- ARP-A:查看ARP缓存表
- ARP-D:清除ARP缓存
- ARP-S IP MAC:绑定ARP
接下来我们以思科系统为例看一下其系统中的ARP命令:
四.ARP***原理:
1.欺骗其它所有计算机
2.欺骗被***计算机
ARP欺骗网关:图示如下
ARP欺骗主机:图示如下
以上所有就是对网络层的协议的介绍。
原文地址:https://blog.51cto.com/14464303/2426493