一、IP协议概述
1、IP协议作用于网络层
2、IP地址的主要作用
1.用唯一的IP地址标识每一个节点,用唯一的IP网络号标识每一个链路(每一个地方都有自己的地址,IP地址就是每一个的地址对应到网络里面就是每一个节点对应的地址;而每一条链路是由2个节点(或以上)组成,网络号就是地址的集合)
2.寻址和转发:
A.确定节点所在网络的位置,进而确定节点所在的位置
B.IP路由器选择适当的路径将IP包转发到目的节点
3.适应各种数据链路
A.根据链路的MTU对IP包进行分片和重组
B.为了通过实际的数据链路传递信息,须建立IP地址到数据链路层的映射
二、IPV4的报头
1、报头
2、各个元素的介绍:
1.Version:可以区分IPV4和IPV6的协议版本号,IPV4是0100、IPV6是0110
2.IHL(Internet header length):首部长度,该字段长度为4比特位。它标识报头的总长度,以32比特位为一个单位,在ipv4中头部被限制为最多15个32位字。有效报头的最小值为5。即0101
3.Type of service:区分服务类型,这一段共有8个比特位,前6位区分服务字段——DS字段,后两位显示拥塞字段——ECN字段
4.Total Length:总长度,它描述的是IP数据包中报头和数据包的总长度,由于其占用16个比特位,因此我们可以得出一个IP数据包的最大值为65536。
5.Identification:标识,源主机随机产生的一个号码,用于帮助重新组合一个被分段的数据包,当一个IP数据包从一个主机传输到另外一个主机时,它一般都需要通过另外一个网络,每一个物理网络都有一个最大帧的大小,也就是我们常说的最大传输单元(MTU),它限制了一个物理帧中数据的大小,当主机发送的数据超过了某一设备的MTU时,这时IP就会用一进程来对超过MTU的数据包进行分段,这个进程建立了一个小于MTU的数据报的集合,因此最终IP数据包以合适的大小发送到目标主机,由于数据包分过段,所以目标主机在接收数据包时会新建立一个缓存区来接收分段的数据包,目标主机判断某一数据包是否和其它数据包一样也是经过分段的就是通过判断标识符是否一样。在分段时只有数据会被分段,面报头是复制而作为分段数据的头部。
6.Flags:标志,占3位,但2位具有有效意义
A.标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
B.标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。
7.Fragment Offset:片位移,占13个位,片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,除了最后一个分片,每个分片的长度一定是8字节(64位)的整数倍。
8.Time To Live:TTL;生存时间,占8位,,表明是数据报在网络中的寿命,数据报在网络中可通过的路由器的最大值,标志分组在网络中的寿命。以确保分组不会永远在网络中循环。
9.Protoco:协议,占8位。指出分组携带的数据使用何种协议,即分组的数据部分应该交给哪个传输层协议,如TCP、UDP等。6表示TCP17表示UDP
10.Header Checksum:首部校验和,占16位。这个字段只检验数据报的首部,但不包括数据部分。
11.Source Address:源地址,占32位,标识发送方的IP地址
12.Destination Address:目的地址,占32位,标识接收方的IP地址
三、IP地址
1、地址格式:
IPV4地址:连接到因特网上每台主机(或路由器)都分配一个32位比特全球唯一标识符
2、IP地址的分类
网络类别 | 最大可用网络数 | 第一个可用网络号 | 最后一个可用网络号 | 每个网络最大可用主机数 |
---|
A | 2^7-2 | 1 | 126 | 2^24-2 | B | 2^14-1 | 128.1 | 191.255 | 2^16-2 | C | 2^21-1 | 192.0.1 | 113.155.255 | 2^8-2 |
A类IP地址(1.0.0.1-127.255.255.254)
一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。
A类IP地址 地址范围1.0.0.1到127.255.255.254 [2] (二进制表示为:00000001 00000000 00000000 00000001 - 01111111 11111111 11111111 11111110)。最后一个是广播地址。
B类IP地址(128.0.0.1-191.255.255.254)
一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。
B类IP地址地址范围128.0.0.1-191.255.255.254 [1] (二进制表示为:10000000 00000000 00000000 00000001----10111111 11111111 11111111 11111110)。 最后一个是广播地址。
B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为256的2次方-2=65534台。
C类IP地址(192.0.0.1-223.255.255.254)
一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。
C类IP地址范围192.0.0.1-223.255.255.254 [1] (二进制表示为: 11000000 00000000 00000000 00000001 - 11011111 11111111 11111111 11111110)。
C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台
D类IP地址(224.0.0.1-239.255.255.254)
D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。
E类IP地址(240.0.0.1-255.255.255.254)
E类IP地址用作于科研地址
3、特殊的IP地址
1.主机号全为0,网络地址,本网络本身(202.98.174.0)
2.主机号全为1,表示本网络的广播地址,又称直接广播地址(255.255.255.255)
3.127.0.0.0网段(127.0.0.1-127.255.255.255)用于回路测试,此地址表示任意主机本身,目的地址为环回地址的IP数据永远不会出现在任何网络上。(127.0.0.1可以代表本机IP地址)
4.广播地址(受限地址):255.255.255.255——全1
5.全0——0.0.0.0,代表本网段的主机,代表所有网络,常用于指定默认路由
四、ARP和RARP
1、ARP——(Address Resolution Protocol)地址解析协议:透过目标IP地址来查询目标设备的MAC地址,完成IP地址对MAC地址的一个映射。
1.工作过程
假设主机A和主机B在同一网段,现在主机A要给主机B发送数据包
(1) 主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。——直接找到MAC地址
(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。
(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。
2.4种典型情况
A.发送方是主机,要把IP数据报发送到本网络下的另一台主机,这时使用ARP找到目标主机的MAC地址
B.发送方是主机,要把IP数据报发送到另一个网络上的另一台主机,这时通过ARP找到本网络上的一个路由器的硬件地址,剩下的工作交由给路由器完成
C.发送方是路由器,要把IP数据包转发到本网络上的一台主机。这时用ARP找到目的主机的硬件地址
D.发送方是路由器,要把IP数据报转发到另一个网络上的另一台主机,这是用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由路由器完成。
2、RARP
1.RARP:反向地址转换协议(RARP:Reverse Address Resolution Protocol) 反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。
五、子网划分
1、什么是子网划分——将一些大的网络划分为一些小网络
2、计算子网地址——已知IP地址和子网掩码来求子网地址
已知:IP地址为:134.144.1.1 掩码为:255.255.255.0 求:1.子网地址;2.广播地址
ip:134.144.1.1 ———— 10000110.10010000.00000001.00000001
255.255.255.0————11111111.11111111.11111111.00000000
将两者按位与(全1则1,有0则0)
10000110.10010000.00000001.00000000——134.144.1.0
则子网地址为134.144.1.0
广播地址为134.144.1.255
3、子网划分
1、 VLSM——可变长子网掩码
2、例题
Eg:192.168.1.0/24划分为4个网段,写出每个网段的可用地址范围。
11000000.10101000.00000001.00000000
思路:借两位:00、01、10、11 有效地址范围(除去全零全一)
1、192.168.1.00000000 (0)-192.168.1.00111111 (63) (1-62)
2、192.168.1.01000000 (64)-192.168.1.01111111(127) (65-126)
3、192.168.1.10000000 (128)-192.168.1.10111111 (191) (129-190)
4、192.168.1.11000000 (192)-192.168.1.11111111 (255) (193—254)
Eg:172.16.0.0/15划分四个网段
10101100.00001000.00000000.00000000
思路:借两位 00、01、10、11
1、172.00010000.00000000.00000000——172.00010000.01111111.11111111
有效地址:172.00010000.00000000.00000001——172.00010000.01111111.11111110
172.16.0.1——172.16.127.264
2、172.00010000.10000000.00000000——172.00010000.11111111.11111111
有效地址:172.00010000.10000000.00000001——172.00010000.01111111.11111110
? 172.16.128.1——172.16.127.254
3、172.00010001.00000000.00000000——172.00010001.01111111.11111111
有效地址:172.00010001.00000000.00000001——172.00010001.01111111.11111110
? 172.17.0.1——172.17.127.254
4、172.00010001.10000000.00000000——172.00010001.11111111.11111111
有效地址:172.00010001.10000000.00000001——172.00010001.11111111.11111110
? 172.17.128.1——172.17.127.254
3、公式
|