网络层的功能

114 阅读6分钟

(学习笔记的第五页)

IP数据包格式

IP数据包是一种可变长分组,它由首部和数据负载两部分组成。 首部长度一般为20-60字节(Byte),其中后40字节是可选的,长度不固定,前20字节格式为固定。 数据负载部分的长度一般可变,整个IP数据包的最大长度为65535B。

IP数据包格式(分为20字节的固定部分,表示每个ip数 据包必须包含的部分,和40字节的可变长部分)

1.版本号(4bit):
指IP协议版本。并且通信双方使用 的版本必须一致,目前我们使用的是IPv4,表示为 0100\ 2.首部长度(4):
IP数据包的包头长度(不包括数据)
3.优先级与服务类型(8)
该字段用于表示数据包的 优先级和服务类型。通过在数据包中划分一定的优先 级,用于实现 QoS(服务质量)的要求.
4.总长度(16):
IP数据包的总长度,最长为 65535 字 节,包括包头和数据。
5.标识符(16):
该字段用于表示IP数据包的标识符。 当IP对上层数据进行分片时,它将给所有的分片数据 分配一组编号,然后将这些编号放入标识符字段中, 保证分片不会被错误地重组。标识符字段用于标志一 个数据包,以便接收节点可以重组被分片的数据包
标志(3):
和标识符一起传递,指示不可以被分片 或者最后一个分片是否发出(完整)
段偏移量(13):
在一个分片序列中如何将各分片连 接起来,按什么顺序连接起来 TTL(time to live)
生命周期(8):
可以防止一个 数据包在网络中无限循环的转发下去,每经过一个路 由器 -1,当TTL的值为0时,该数据包将被丢弃 0-255
协议号(8):
封装的上层哪个协议,ICMP:1 TCP:6 UDP:17
首部校验和(16):
这个字段只检验数据报的首部, 不包括数据部分。这是因为数据报每经过一次路由 器,都要重新计算一下首部校验和(因为,一些字段 如生存时间、标志、片偏移等可能发生变化)
源地址(32):
源ip地址,表示发送端的IP地址
目标地址(32):
目标ip地址,表示接收端的IP地址 可选项:选项字段根据实际情况可变长,可以和IP一 起使用的选项有多个。例如,可以输入创建该数据包 的时间等。在可选项之后,就是上层数据\

ICMP协议

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。

ICMP协议是用来在网络设备传递差错和控制信息,对收集网络信息、诊断和排除网络故障等等方面起到至关重要的作用

功能:
Ping是网络设备、Windows、Unix和Linux平台上的一个命令,其实是一个小巧而实用的应用程序,该应用基于ICMP协议。 Ping常用于探测到达目的节点的网络可达性。

ping命令 Ping --help 显示帮助命令
Ping -t 长ping
Ping  ip地址 -t  ctrl+c停止
Ping -a 将地址解析为主机名
Ping -a 地址名
Ping -l XXX 发送缓冲大小
(XXX是指定包的大小)
Ping -w 超时等待时间
Ping -w 等待时间(默认2秒) ip地址
Ping -n 指定ping几次
Ping -n 指定的次数(例:5) ip地址

ARP

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

功能
检测地址冲突
无故ARP:
当一台设备获取到一个Ip地址时,会自动发送一个无故ARP,检测是否有设备已使用了此地址。

工作原理(结合交换机原理)
两台局域网主机互相通信为例讲解原理ARP解析过程
1.当P.C1想发送数据给PC2,首先在自己的本地ARP缓存表中检查主机PC2的MAC地址是否存在?
2.如果RC1缓存中没有找到响应的条目,它将询问主机PC2的MAC地址,从而将ARP请求帧广播到本地网络的所有主机.
该帧中包括源主机PC1的P、MAC地址,本地网络中的所有主机都接收到ARP请求,并且检查是否与自己的LP地址相匹配。如果发现请求中IP地址与自己IP不匹配,则丢弃ARP请求。
3主机R.2确定ARP请求中得P地址与自己的P地址匹配,则将主机PC1的地址和MAC地址添加到本地缓存表中。4.主机RC2将包含其MAC地址的ARP回复消息直接发送回主机PC1(数据帧为单播)。
5.主机PC1收到PC2发的ARP回复消息,将PC2的2和MAC地址添加至自己ARP缓存表中,本机缓存是有生存期的,默认ARP缓存表有效期120s。当超过该有效期后,则将重复上面过程。主机PC2的MAC地址一旦确定,主机P.C1就能向主机PC2发送P信息\

总结

这篇文章写了IP数据包格式、ICMP协议和ARP协议,如对你有用,令我深感荣幸。