lwIP TCP/IP 协议栈笔记之十二: IP协议

目录

1. IP地址

1.1 IP地址概述

1.2 IP地址编址

1.3 特殊IP地址

1.3.1 受限广播地址

1.3.2 直接广播地址

1.3.3 多播地址

1.3.4 环回地址

1.3.5 本网络本主机

2. 局域网与广域网的概念

2.1 局域网

2.2 广域网

3. 网络地址转换(NAT)

4. IP 数据报

5. IP 数据报的数据结构

6. IP 数据报分片

7. IP 数据报发送

8. IP 数据报接收


IP 协议(Internet Protocol),又称之为网际协议,IP 协议处于IP 层工作,它是整个TCP/IP 协议栈的核心协议,上层协议都要依赖IP 协议提供的服务,IP 协议负责将数据报从源主机发送到目标主机,通过IP 地址作为唯一识别码,简单来说,不同主机之间的IP地址是不一样的,在发送数据报的过程中,IP 协议还可能对数据报进行分片处理,同时在接收数据报的时候还可能需要对分片的数据报进行重装等等。

IP 协议是一种无连接的不可靠数据报交付协议,协议本身不提供任何的错误检查与恢复机制。

1. IP地址

1.1 IP地址概述

为了标识互联网中的每台主机的身份,设计人员为每个接入网络中的主机都分配一个IP 地址(Internet Protocol Address),是一个32 位的整数地址,只有合法的IP 地址才能接入互联网中并且与其他主机进行通信,IP 地址是软件地址,不是硬件地址,硬件MAC 地址是存储在网卡中的,应用于本地网络中寻找目标主机。而IP 地址能让一个网络中的主机能够与另一个网络中的主机进行通信,无需理会这些主机之间的MAC地址。

简述一下主机与路由器连入网络的通信的方法:一台主机通常只有一条链路连接到网络,一般只有一个网卡;当主机中想发送一个数据报时,它就在该链路上发送,一个网卡对应一个MAC 地址与IP 地址,当然,主机也可能有多个网卡,这样子主机就有多个MAC 地址与IP 地址。

每个IP 地址长度为32 比特(4 字节),因此总共有 个可能的IP 地址,大约有40亿个IP 地址能被使用的。这些地址一般按所谓点分十进制记法(dotted-decimal notation)书写,即地址中的每个字节用它的十进制形式书写,各字节间以点分隔开。例如, IP 地址为192.168.0.122,192 是该地址第一个8 比特的十进制等价数,168 是该地址第二个8 比特的十进制等价数,依次类推。

1.2 IP地址编址

每个主机的IP 地址的一部分都由其所在的子网决定的,所以又出现了IP 地址分类编址的概念,网络的类型决定了IP 地址将如何划分成网络部分和节点部分,在分类编址中,设计者把所有的IP 地址划分为5 大类,分别为A、B、C、D、E 五类,每一类地址都觉定了其中IP 地址的一部分组成。

  • A类地址

(1)A类地址第1字节为网络地址,其它3个字节为主机地址。它的第1个字节的第一位固定为0.

(2)A类地址网络号范围:0.0.0.0---127.0.0.0 地址范围0.0.0.0到127.255.255.255

(3)A类地址中的私有地址和保留地址:

         ① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。

              范围(10.0.0.0---10.255.255.255)

         ② 127.X.X.X是保留地址,用做循环测试用的。

  • B类地址

(1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。它的第1个字节的前两位固定为10.

(2) B类地址网络号范围:128.0.0.0---191.255.0.0。地址范围128.0.0.0到191.255.255.255。

(3) B类地址的私有地址和保留地址

          ① 172.16.0.0---172.31.255.255是私有地址

         ② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。

         191.255.255.255是广播地址,不能分配

  • C类地址

(1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。

(2)C类地址网络号范围:192.0.0.0---223.255.255.0。地址范围 192.0.0.0到223.255.255.255

(3) C类地址中的私有地址:

         192.168.X.X是私有地址。(192.168.0.0---192.168.255.255)

  • D类地址

(1) D类地址不分网络地址主机地址,它的第1个字节的前四位固定为1110。

(2) D类地址范围:224.0.0.0---239.255.255.255

  • E类地址

(1) E类地址不分网络地址和主机地址,它的第1个字节的前五位固定为11110。

(2) E类地址范围:240.0.0.0---255.255.255.254

IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。 

1.3 特殊IP地址

一些特殊用途的地址,这些地址是不允许分配给任何一个网络的主机使用的。

1.3.1 受限广播地址

广播通信是一对所有的通信方式,受限广播地址用于定义整个互联网,如果设备想使IP 数据报被整个网络所接收,就发送这个目的地址全为1 的广播包,但这样会给整个互联网带来灾难性的负担,所以在任何情况下,路由器都会禁止转发目的地址为255.255.255.255 的广播数据包,因此这样的数据包仅会出现在本地网络中(局域网),255.255.255.255 这个地址指本网段内的所有主机, 相当于“房子里面的人都听着”通知所有主机。

1.3.2 直接广播地址

直接广播地址是主机号全为1 而得到的地址,广播地址代表本网络内的所有主机,使用该地址可以向网络内的所有主机发送数据,比如一个IP 地址是192.168.0.181,这是C 类地址,所以它的主机号只有一个字节,那么对主机号全取1 得到一个广播地址192.168.0.255,向这个地址发送数据就能让同一网络下的所有主机接收到。

A、B、C 三类地址的广播地址结构如下:

  • A 类地址的广播地址为:XXX.255.255.255(XXX 为A 类地址的第一个字节取值范围)。
  • B 类地址的广播地址为:XXX. XXX.255.255(XXX 为B 类地址的前两个字节取值范围)。
  • C 类地址的广播地址为:XXX. XXX. XXX.255(XXX 为C 类地址的前三个字节取值范围)。

注意:这个地址在IP 数据报中只能作为目的地址。另外,直接广播地址使一个网段中可分配给设备的地址数减少了1 个。

1.3.3 多播地址

多播地址用在一对多的通信中,即一个发送者,多个接收者,不论接受者员数量的多少,发送者只发送一次数据包。多播地址属于分类编址中的D 类地址, D 类地址只能用作目的地址,而不能作为主机中的源地址。

1.3.4 环回地址

127 网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如在电脑中使用ping 命令去ping 127.1.1.1 就可以测试本地TCP/IP 协议是否正常。用通俗的话表示,就是“我自己”,不能以127 网段中的IP 地址作为主机地址,因此A 类地址又少了一个可用网络号。

1.3.5 本网络本主机

IP 地址32bit 全为0 的地址(0.0.0.0)表示的是本网络本主机,这个IP 地址在IP 数据报中只能用作源IP 地址,这发生在当设备启动时但又不知道自己的IP 地址情况下。在使用DHCP 分配IP 地址的网络环境中,这样的地址是很常见的,主机为了获得一个可用的IP 地址,就给DHCP 服务器发送IP 数据报,并用这样的地址(0.0.0.0)作为源地址,目的地址为255.255.255.255(因为主机这时还不知道DHCP 服务器的IP 地址),然后DHCP服务器就会知道这个主机暂时没有IP 地址,那么就会分配一个IP 给这个主机。

2. 局域网与广域网的概念

2.1 局域网

局域网(Local Area Network,缩写为LAN),又称内网,指覆盖局部区域(如办公室或楼层)的计算机网络,局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能,是在一定区域内由多个计算机连接组成的网络,比如腾讯、阿里的内网,在内部的计算机上的数据可以互联互通、数据共享等。简单来说,当我们使用的开发板接入路由器的时候,电脑的网络也接入路由器,那么开发板与电脑就组成局域网,数据在链路层上是互联互通的。当然,板子也能通过网线直连电脑,这样子也是组成一个局域网络,数据可以在两个主机之间进行通信。

2.2 广域网

广域网(Wide Area Network,缩写为 WAN),又称广域网、外网、公网。是连接不同地区计算机以进行通信的网络,这种网络通常会跨越很大的范围,覆盖的范围从几十公里到几千公里,它能连接多个地区、城市并能提供远距离通信服务,但是注意的是我们说的广域网并不等同于互联网。

互联网就是由无数个局域网,通过广域网线路汇聚互联起来,就形成了互联网。互联网的特点是开放、互联,如果一个公司的局域网没有连接到互联网,那这个局域网就不属于互联网,仅仅属于内部通信的网络。

示意图虽然简单,却把LAN、WAN、Internet 三者全包含了。无线路由器把电脑、手机等设备连接到局域网LAN 上,并分配IP 地址,即局域网IP,我们可以称之为LAN-IP,LAN-IP 所到之处,就是局域网的范围,像我们电脑的IP 地址(192.168.0.xxx)就是一个局域网IP&#x

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值