网络基础---网络层详解(图文清晰易懂!!!)

目录

一、网络层的功能

二、IP数据包的格式

三、ICMP协议

1.ICMP协议的概念和作用

2.ping命令

2.1 ping 的格式

2.2 ping选项

 2.3 当我们ping不通时,及服务器出现问题,如何排错

2.4 信息传递时出现的问题类型和具体情况 

四、冲突域和广播域

1.冲突网

2.广播网

五、ARP协议--协助分装数据包

1.ARP协议概述和作用

2.ARP协议工作原理

2.1在同一局域网内的MAC寻址

2.2不同局域网内的MAC寻址


一、网络层的功能

  • 定义了基于IP协议的逻辑地址,就是ip地址

  • 连接不同的媒介类型

  • 在网络中选择最佳路径转发数据

二、IP数据包的格式

数据封装的时候在网络层会封装ip地址的头部,形成ip数据包 IP数据包格式(分为20字节的固定部分,表示每个ip数据包必须包含的部分,和40字节的可变长部分。

  • 版本: 你使用的ip协议版本 ,例如是ipv4还是 ipv6
  • 首部长度:IP头部的长度 0000-1111(不包括数据)
  • 优先级与服务器类型:区别数据包的优先处理级别
  • 总长度:整个数据包的长度

----数据的分片及重组

  • 标识符 :确定数据的分片是否来自于同一个文件--一个文件占一个位置
  • 标志 :代表数据过小不需要分片;代表该组最后一个数据包
  • 段偏移量:该数据片离起点的位置坐标

----数据的分片及重组

----mtu 最小数据单元 1500字节 分片/包

  • TTL:生命周期 0-255,经过一个三层设备,就会减一;如果为0,设备会认为该包为无效的数据包就会丢弃。
  1. 二层交换机 不减 TTL
  2. 三层交换机  减   TTL
  • 延伸:
  1. TTL大于等于128 windows系统
  2. TTL小于等于 64 linux系统
  • 协议号:上层协议, icmp 测试协议(三层):1 ,tcp:6, udp:17
  • 首部校验和:只检测ip头部的完整性
  • 源地址:源ip地址,表示发送端的IP地址

  • 目标地址:目标ip地址,表示接收端的IP地址

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

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

三、ICMP协议

1.ICMP协议的概念和作用

  • Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议
  • ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
  • icmp作用:检测网络的双向联通性

2.ping命令

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

2.1 ping 的格式

ping   空格   IP地址   [选项]

-l   指定数据包的大小

2.2 ping选项

显示自己 IP地址   ipconfig
ping    --help     显示帮助命令
-t                       长ping
-l  size               发送缓冲区大小。
-w                      超时等待时间
-n                      指定ping 几次    
   

ping   -t      ip地址        长ping                      ctrl+c  停止

ping   -l      指定包的大小(1600 2000)      ip地址

ping   -w    指定等待时间(默认是秒:2 )  ip 地址

ping   -n     指定的次数(5) ip 地址

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

----可能问题出在icmp ,禁用了 icmp 协议

 2.3 当我们ping不通时,及服务器出现问题,如何排错

  1. ping 自己 127.0.0.1 硬件

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

  3. 看网关是否有问题

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

2.4 信息传递时出现的问题类型和具体情况 

四、冲突域和广播域

1.冲突网

冲突域是一个以太网术语,指的是这样一种网络情形,即网段上的一台设备发送分组时,该物理网段上的其他所有设备都必须债昕它。这很糟糕,因为如果同一个物理网段中的两台设备同时传输数据,将发生冲突(即两台设备的数字信号将在线路上相互干扰),导致设备必须在以后重传数据。冲突对网络性能有严重的负面影响,因此绝对要避免冲突。前面描述的情形通常出现在集线器环境中,在这种环境中,所有主机都连接到一个集线器,它们组成一个冲突域和一个广播域。

总结:

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

2.广播网

广播域的书面定义如下:广播域指的是网段中的一组设备,它们侦昕在该网段上发送的所有广播。广播域的边界通常为诸如交换机和路由器等物理介质,但广播域也可能是一个逻辑网段,其中每台主机都可通过数据链路层(硬件地址)广播访问其他所有主机。介绍广播域的基本概念后,下面来看看半双工以太网使用的一种冲突检测机制。

总结---广播域:

  • 一台机器发送广播,能收到消息的机器都是在同一广播域,
  •  交换机的所有端口默认在同一个广播域里,
  • 路由器的 每一个端口都是一个独立的 广播域

五、ARP协议--协助分装数据包

1.ARP协议概述和作用

1.通过 ip地址 找到 mac地址 (将一个已知的ip地址转换成 mac地址)
2.检测地址是否冲突
在配置好ip地址的一瞬间,arp协议会发送一个广播, 检测此地址是否被使用
源地址: 192.168.1.1
目的地址: 192.168.1.1

2.ARP协议工作原理

ARP 协议工作时有一个大前提,那就是 ARP 表。

在一个局域网内,每个网络设备都自己维护了一个 ARP 表,ARP 表记录了某些其他网络设备的 IP 地址-MAC 地址映射关系,该映射关系以 <IP, MAC, TTL> 三元组的形式存储。

2.1在同一局域网内的MAC寻址

假设当前有如下场景:IP 地址为192.168.10.11的主机 A,想要给同一局域网内的 IP 地址为192.168.10.14主机 D,发送 IP 数据报文。

首先。我们要清楚的是:

当主机发送 IP 数据报文时(网络层),仅知道目的地的 IP 地址,并不清楚目的地的 MAC 地址,而 ARP 协议就是解决这一问题的。

为了达成这一目标,主机 A 将不得不通过 ARP 协议来获取主机 D 的 MAC 地址,并将 IP 报文封装成链路层帧,发送到下一跳上。在该局域网内,关于此将按照时间顺序,依次发生如下事件:

1、主机 A 检索自己的 ARP 表,发现 ARP 表中并无主机 D 的 IP 地址对应的映射条目,也就无从知道主机 D 的 MAC 地址。主机 A 将构造一个 ARP 查询分组,并将其广播到所在的局域网中。

  • ARP 分组是一种特殊报文,ARP 分组有两类,一种是查询分组,另一种是响应分组,它们具有相同的格式,均包含了发送和接收的 IP 地址、发送和接收的 MAC 地址。当然了,查询分组中,发送的 IP 地址,即为主机 A 的 IP 地址,接收的 IP 地址即为主机D 的 IP 地址,发送的 MAC 地址也是主机 A 的 MAC 地址,但接收的 MAC 地址绝不会是主机 D的 MAC 地址(这是我们要查询的,因为A不知到D的MAC地址),而是一个特殊值——FF-FF-FF-FF-FF-FF(广播地址)。也就是说,查询分组将广播给该局域网内的所有设备

2、主机 A 构造的查询分组将在该局域网内广播,理论上,每一个设备都会收到该分组,并检查查询分组的接收 IP 地址是否为自己的 IP 地址,如果是,说明查询分组已经到达了主机 D,否则,该查询分组对当前设备无效,丢弃之。

3、主机 D 收到了查询分组之后,验证是对自己的问询,接着构造一个 ARP 响应分组,该分组的目的地只有一个——主机 A,发送给主机 A。同时,主机D提取查询分组中的 IP 地址和 MAC 地址信息,在自己的 ARP 表中构造一条主机 A 的 IP-MAC 映射记录。

  • ARP 响应分组具有和 ARP 查询分组相同的构造,不同的是,发送和接受的 IP 地址恰恰相反,发送的 MAC 地址为发送者本身,目标 MAC 地址为查询分组的发送者,也就是说,ARP 响应分组只有一个目的地,而非广播

4、主机 A 终将收到主机 B 的响应分组,提取出该分组中的 IP 地址和 MAC 地址后,构造映射信息,加入到自己的 ARP 表中。

2.2不同局域网内的MAC寻址

更复杂的情况是,发送主机 A 和接收主机 B 不在同一个子网中。

假设一个一般场景,两台主机所在的子网由一台路由器联通。而且路由器的多个接口都各自维护一个 ARP 表,而非一个路由器只维护一个 ARP 表。

接下来,回顾同一子网内的 MAC 寻址,如果主机 A 发送一个广播问询分组,那么 A 所在子网内的所有设备(接口)都将不会捕获该分组,因为该分组的目的 IP 地址在另一个子网中,本子网内不会有设备成功接收。

那么,主机 A 应该发送怎样的查询分组呢?整个过程按照时间顺序发生的事件如下:

1、主机 A 查询 ARP 表,期望寻找到目标路由器的本子网接口的 MAC 地址。

  • 目标路由器指的是,根据目的主机 B 的 IP 地址,分析出 B 所在的子网,能够把报文转发到 B 所在子网的那个路由器。

1.1主机 A 未能找到目标路由器的本子网接口的 MAC 地址,将采用 ARP 协议,问询到该 MAC 地址,由于目标接口与主机 A 在同一个子网内,该过程与同一局域网内的 MAC 寻址相同。

2、主机 A 获取到目标接口的 MAC 地址,先构造 IP 数据报,其中源 IP 是 A 的 IP 地址,目的 IP 地址是 B 的 IP 地址,再构造链路层帧,其中源 MAC 地址是 A 的 MAC 地址,目的 MAC 地址是本子网内与路由器连接的接口的 MAC 地址。主机 A 将把这个链路层帧,以单播的方式,发送给目标接口。

3、目标接口接收到了主机 A 发过来的链路层帧,解析,根据目的 IP 地址,查询转发表,将该 IP 数据报转发到与主机 B 所在子网相连的接口上。到此,该帧已经从主机 A 所在的子网,转移到了主机 B 所在的子网了。

4、路由器接口查询 ARP 表,期望寻找到主机 B 的 MAC 地址。
路由器接口如未能找到主机 B 的 MAC 地址,将采用 ARP 协议,广播问询,单播响应,获取到主机 B 的 MAC 地址。

5、路由器接口将对 IP 数据报重新封装成链路层帧,目标 MAC 地址为主机 B 的 MAC 地址,单播发送,直到目的地。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值