网络层协议及IP编址

简介: 网络层协议及IP编址

网络层协议

网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP协议。ping基于是ICMP协议。

IP协议

IP是Internet Protocol的缩写,经常被提及的IP,一般不是特指IP协议本身,而是泛指直接或间接与IP协议相关的内容。有IPv4和IPv6两个版本。

IP协议作用:

  • 为网络层的设备提供逻辑地址
  • 负责数据包的寻址和转发

IP报文格式:

生存时间TTL

TTL字段设置了数据包可以经过的路由器数目。

一旦经过一个路由器,TTL值就会减1,当字段为0时,数据包会被丢弃。可以用来路由器的防止环路。(二层交换机防环STP)

例:原来TTL是255,经过了一台路由器就变成了254

为什么要封装数据?

因为每层和每层的协议数据单元不一样,比如传输层的数据段发给网络层数据段的话,网络层不知道什么是数据段,因为网络层只认识数据包。

IPv4地址介绍

IP地址在网络中用于标识一个节点。IP地址用于IP报文在网络中的寻址。IP地址就像现实中的地址,可以标识网络中的一个节点,数据就是通过它来找到目的地。

掩码:网络号和主机位的界线在哪里。区分一个IP地址中的网络部分和主机部分

IP地址表示

IP地址:32bit 4个字节,用点分十进制表示。

二进制:只有1和0,方便计算机识别。

十进制:方便人去看,0-9。

最小的IP地址:0.0.0.0

最大的IP地址:255.255.255.255

IP地址范围:0.0.0.0~255.255.255.255

IP地址构成

网络部分(网络号):是一种范围,代表一个班级存在N位同学。用来标识一个网络,代表IP地址所属网络。掩码为1是网络号,为0是主机号。

  • IP地址不能反映任何有关主机位置的地理信息,只能通过网络号判断出主机属于哪个网络。
  • 对于网络号相同的设备,无论实际所处的物理位置如何,它们都是属于一个。

主机部分(主机号):代表里面存在哪些节点。用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。

网络掩码:网络号和主机位的界线在哪里区分一个IP地址中的网络部分和主机部分。

  • 32位

192.168.1.1/24 代表什么?

1、IP地址是192.168.1.1,掩码是24;

2、是C类地址,范围是1-255;

3、该子网254个可用IP地址

该地址网络号为:192.168.1.0/24

IP地址寻址:

网络部分:用来标识一个网络,代表IP地址所属网络。

主机部分:用来区分一个网络内的不同主机,能唯一标识网段上的某台设备。

网络寻址:

  • 二层网络寻址:可直接通过IP地址,找到对应的主机接口。
  • 三层网络寻址:利用网关转发来自不同网段之间的数据包。

IP地址分类(有类编址和无类)

有类:

A类:0.0.0.0~127.255.255.255   (第一位是0,所以255减去128=127)

B类:128.0.0.0~191.255.255.255  (第一位是1,所以255减去64=191)

C类:192.0.0.0~223.255.255.255   (第一二位是11,所以255减去32=223)

A/B/C类默认网络掩码:

A类:8bit,0.0.0.0~127.255.255.255/8

B类:16bit,128.0.0.0~191.255.255.255/16

C类:24bit,192.0.0.0~223.255.255.255/24

A类默认掩码8位,B类16位,C类24位

无类:掩码随意设置

例如:IP地址10.1.1.1,掩码可以设置8位,16位,24位

私网IP地址和特殊IP地址

公网IP地址:IP地址是由于IANA统一分配的,以保证任何一个IP地址在Internet上的唯一性。这里的IP地址是指公网IP地址。

私网IP地址:私网IP地址的使用使得网络可以得到更为自由的扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。

A类:10.0.0.0~10.255.255.255  8

B类:172.16.0.0~172.31.255.255   12

C类:192.168.0.0~192.168.255.255   16

NAT,网络地址转换,基本作用是实现私网IP地址与公网IP地址之间的转换。

特殊IP地址:具有特殊含义和作用

IP地址类型:

一个网络号定义的网络范围称为一个网段

网络地址:用于标识一个网络   主机全是0

广播地址:用于向该网络中的所有主机发送数据的特殊地址   主机全是1

可用地址:可分配给网络中的节点或网络设备接口的地址

二进制与十进制的转换:

2

2

2

2

2³

2²

2¹

2

十进制

128

64

32

16

8

4

2

1

二进制位

1

1

1

1

1

1

1

1

二进制: 1    1    1    1 .    1   1    1     1

十进制   2^7 2^6 2^5 2^4  2^3  2^2 2^1  2^0

           128  64   32   16     8       4 2     1

例如:十进制:192

二进制:11000000

=2^7+2^6

=128+64

=192

十进制:168

二进制:10101000

=2^7+2^5+2^3

=128+32+8

=168

IP地址计算

10.1.1.1/30的网络地址和广播地址写出来

网络地址:10.1.1.0000 0001 网络地址主机全为0,前30位不动,后两位全部变成0 ——》10.1.1.0000 0000 10.1.1.0/30

广播地址:10.1.1.0000 0001 广播地址主机全为1,前30位不动,后两位全部变成1 ——》10.1.1.0000 0011 10.1.1.3/30

例题:172.16.8.30/23的网络地址和广播地址是多神少?

网络地址:172.16.8.0/23

172.16.0000 1000.0001 1110/23 网络地址主机全是0 172.16.0000 1000.0000 0000/23

广播地址:172.16.9.255/23

172.16.0000 1000.0001 1110/23 广播地址主机全是1 172.16.0000 1001.1111 1111/23

请计算10.128.20.10/8这个A类地址的网络地址、广播地址以及可用地址数

网络地址:10.0.0.0/8

10.1000 0000.0001 0100.0000 1010/8 网络地址全是0 10.0000 0000.0000 0000.0000 0000/8

广播地址:10.255.255.255/8

10.1000 0000.0001 0100.0000 1010/8 广播地址全是1 10.1111 1111.1111 1111. 1111 1111/8

可用地址数:2^24-2(24是主机位,由掩码32位减去当前掩码8所得。减2是去掉网络地址和广播地址)

可用地址范围:10.0.0.1~10.255.255.254

IPv4与IPv6:

IPv4

地址长度:32bit

地址分类:单播、广播、组播地址

特点:地址枯竭;包头设计不合理;对ARP的依赖,导致广播泛滥

IPv6

地址长度:128bit

地址分类:单播、广播、任播地址

特点:无限地址;简化的报文头部、IPv6自动部署

IPv4有效的改善不足手段:

1、NAT

2、私有IP地址

3、DHCP回收IP地址

彻底改善不足手段:推行使用IPv6地址。

IP地址规划的目标是:易管理、易扩展、利用率高。

IP报文格式

IP报文长度固定为20字节,如果带有options则是20-60字节。

每行4字节,32比特,共有5行。

Version:4比特  4表示ipv4,;6表示ipv6

IHL(IP Header Lenth):4比特  IP首部长度

Type of Service:8比特  服务类型。

Total Length:16比特  总长度,整个IP数据报的长度,包括首部和数据之和,单位为字节,最长为65535,总长度不能超过最大传输单元MTU。

Identification           }

Flags                        } 分片使用的  

Fragment Offset      }

Time to Live:TTL  8比特  可经过的最多路由数量   用来防环

Protocol:协议:下一层协议。 指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分交给哪个进程处理。如果这里编号为1,交给ICMP处理。编号为6交给TCP处理,编号为89,交给OSPF处理。

Header Checksum:16比特  首部校验和,不检验数据部分,

Source address:32比特   源IP地址

Destination address:32比特   目的IP地址

Options: 可变  选项字段,扩充IP字节,最大扩充到60字节

Padding:可变  填充物,比如IP字节为20-60字节,不足20,则添加0在前面。

子网划分

为什么要子网划分?

缩小广播域,避免广播风暴

VLAN(可变长子网掩码):将一个大的有类网络,划分成若干个小的子网,使得IP地址的使用更为科学。

怎么划分子网?

一个bit存在两种可能(1和0),根据需要的子网数量,借用够用的比特数

比如:192.168.1.0/24,可用地址数2^8-2=254,现在有两个部门,需要借1位,因为2^1=2.

192.168.1.0/24

192.168.1.0000 0000/24  借一位变成:

192.168.1.0000 0000/25  网络地址:192.168.1.0/25     广播地址:192.168.1.127/25

可用地址范围:192.168.1.1~192.168.1.126

192.168.1.1000 0000/25  网络地址:192.168.1.128/25   广播地址:192.168.1.255/25

可用地址范围:192.168.1.129~192.168.1.254

那如果存在4个部门呢?那就借2位,因为2^2=4。8个部门呢?借3位,因为2^3=8

问题:现有一个C类网络地址段192.168.1.0/24,请使用可变长子网掩码给三个子网分别分配IP地址。

192.168.1.0/24            

借三位,子网掩码变成27位

192.168.1.0000 0000/27     255.255.255.1110 0000

2^3=8个子网

2^5=32个主机数(5是,32位掩码减去27位掩码)

192.168.1.0~192.168.1.31

192.168.1.32~192.168.1.63

192.168.1.64~192.168.1.95

192.168.1.96~192.168.1.127

192.168.1.128~192.168.1.159

192.168.1.160~192.168.191

192.168.1.192~192.168.1.223

192.168.1.224~192.168.1.255

ICMP协议

Internet控制消息协议ICMP,是IP协议的辅助协议。

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

ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。

ping用的就是ICMP协议。

ICMP重定向

ICMP重定向报文是ICMP控制报文的一种。在特定的情况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。

ICMP重定向过程:

1.主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。

2.网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。

3.主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。

ICMP差错检测

ICMP Echo消息常用于诊断和目的地之间的网络连通性,同时还可以提供其他消息,如报文往返时间等。

功能:Ping

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

ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

功能:Tracert

tracert基于报头中的TTL值来逐跳跟踪报文的转发路径。tracert是检测网络丢包和时延的有效手段,同时还可以发现网络中的路由环路。

相关文章
|
1月前
|
负载均衡 网络协议 算法
|
15天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
43 11
|
14天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
36 3
|
24天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
68 3
|
26天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
45 4
|
27天前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
41 4
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
28天前
|
网络协议 定位技术 网络架构
IP 路由:网络世界的导航仪
IP 路由:网络世界的导航仪
36 3
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
21天前
|
数据采集 Java API
java怎么设置代理ip:简单步骤,实现高效网络请求
本文介绍了在Java中设置代理IP的方法,包括使用系统属性设置HTTP和HTTPS代理、在URL连接中设置代理、设置身份验证代理,以及使用第三方库如Apache HttpClient进行更复杂的代理配置。这些方法有助于提高网络请求的安全性和灵活性。