IP数据包

IP数据包

目录:

1、网络层功能

2、协议字段

3、ICMP协议

4、ping格式

5、冲突域和广播域

6、ARP协议

网络层的功能

1、定义了基于IP协议的逻辑地址

2、连接不同的媒介类型

3、选择数据通过网络的最佳路径,完成逻辑地址寻址

数据封装的时候在网络层会封装ip地址的头部,形成ip数据包

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

协议字段:

 

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

版本号(4bit):指IP协议版本。并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100 十进制 是4

首部长度(4):IP数据包的包头长度(不包括数据)

优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,服务类型定义了如何处理数据一般没有使用

总长度(16):IP数据包的总长度,最长为 65535 字节,包括包头和数据。

标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片数据分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包

标志(3):和标识符一起传递,指示不可以被分片或者最后一个分片是否发出(完整)

段偏移量(13):一个数据包需要分片,指明这个分片举例原始数据开始的位置,作用重组数据

TTL(time to live)生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器 -1,当TTL的值为0时,该数据包将被丢弃 0-255(128左右是windos,64左右是linux)

协议号(8):封装的上层哪个协议,ICMP:1 TCP:6 UDP:17

首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报每经过一次路由器,都要重新计算一下首部校验和(因为,一些字段如生存时间、标志、片偏移等可能发生变化)

源地址(32):源ip地址,表示发送端的IP地址

目标地址(32):目标ip地址,表示接收端的IP地址

可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如,可以输入创建该数据包的时间等。在可选项之后,就是上层数据(增强数据包功能

注:根据实际情况可变长,例如创建时间等 上层数据

ICMP协议

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

作用:检测主机之间的双向连通

 ping的格式:

 ipconfig  显示自己IP

ping+空格+IP地址+【选项】

选项:

ping  --help   显示帮助命令

 -l  size指定数据包的 大小

  -t    长ping(ctrl+C停止)

  -w             超时等待时间

 -n             指定ping 几次

有无-n的对比

tip:
ping的通一定通
ping不通不一定网络不通

tracert 也是 icmp协议

(type和code的描述重点记忆)

 当你的服务出了问题,排错思路:

  1. ping 自己 127.0.0.1 ,ping不通表示硬件有问题

  2. 看双方地址是否有问题

  3. 看网关是否有问题(在不同的网段)

  4. 防火墙策略是否有问题(找网络工程师)

冲突域和广播域

 冲突域:两台设备同时发送消息时,互相干扰,那他们就处于同一个冲突域

广播域:

一台机器发送广播,能收到消息的机器 都是在同一广播域

交换机的所有端口默认在同一个广播域里,

路由器的 每一个端口都是一个独立的 广播域

ARP协议:

ARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议,它与网卡有着极其密切的关系,在TCP/IP分层结构中,把ARP划分为网络层,

ARP协议作用:

1.检测地址冲突

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

 2.将ip地址转换成mac 地址

ARP工作原理:

(以PC5\PC6\PC7为例子)

 1、当PC1想发送数据给PC2,首先在自己的本地ARP缓存表中检查主机PC2的MAC地址是否存在?

此时无PC6的主机mac地址

 2、如果PC1缓存中没有找到响应的条目,它将询问主机PC2的MAC地址,从而将ARP请求帧广播到本地网络的所有主机。 该帧中包括源主机PC1的IP、MAC地址,本地网络中的所有主机都接收到ARP请求,并且检查是否与自己的IP地址相匹配。如果发现请求中IP地址与自己IP不匹配,则丢弃ARP请求。

 3、主机PC2确定ARP请求中得IP地址与自己的IP地址匹配,则将主机PC1的地址和MAC地址添加到本地缓存表中。

4、主机PC2将包含其MAC地址的ARP回复消息直接发送回主机PC1(数据帧为单播)。

5、主机PC1收到PC2发的ARP回复消息,将PC2的IP和MAC地址添加至自己ARP缓存表中,本机缓存是有生存期的,默认ARP缓存表有效期120s。当超过该有效期后,则将重复上面过程。主机PC2的MAC地址一旦确定,主机PC1就能向主机PC2发送IP信息

 动态ARP表项老化:在一段时间内如果表项中的ARP映射关系始终没有使用,则会被删除。通过及时删除不活跃表项,从而提升ARP响应效率(和交换机的刷新功能很相似)

Windows系统中ARP命令

arp -a:查看ARP缓存表

arp -d:清除ARP缓存

 华为系统中ARP命令:

[Huawei]dis mac- address ## #查看mac地址信息

[Huawei]arp static <IP> <MAC> ## #绑定ARP

[Huawei]undo arp static <IP> <MAC> ###解绑定

<Huawei>reset arp all ###清除mac地址表

 

总结:

1、了解IP格式

2、熟悉ping的一些字符

3、熟记cod和type对应的描述

4、熟记ARP的作用和原理

posted @ 2022-09-05 19:38  七分人格  阅读(878)  评论(0编辑  收藏  举报