Internet协议——IP

Internet协议——IP

IP:通信子网的最高层。提供无连接的数据报传输机制。IP协议是点到点,核心是寻径。
配套三个协议:
ARP:地址转换协议 (Address Resolution Protocol)
RARP:反向地址转换协议 (Reverse Address Resolution Protocol)
ICMP:Internet控制报文协议(Internet Control Message Protcol)
IP配套协议关系图

IP协议与tcp/IP的关系

TCP/IP只是一个运输协议,位于运输层。TCP用到IP。

IP地址的表示

IP地址就是给每一个连接在Internet上的主机分配一个唯一的32bit地址 
IP地址的结构使我们可以Internet上很方便地进行寻址 
这就是先按IP地址中的网络号码 net-id 把网络找到
再按主机号码 host-id 把主机找到 。

IP地址指出了连接到某个网络上的某个计算机
IP地址的组成:类别字段(又叫类别比特)、网络号码字段(net-id)、主机号码字段(host-id)
如图所示:
IP地址组成

还有一些特殊的IP地址一般不作使用:

  • 全0的网络号码 这表示 本网络 或 我不知道号码的这个网络
  • 全1的网络号码
  • 全0的主机号码 这表示该IP地址就是网络的地址
  • 全1的主机号码 表示广播地址 即对该网络上所有的主机进行广播
  • 全0的IP地址 即0.0.0.0
  • 网络号码为127.X.X.X. 这里X.X.X为任何数 这样的网络号码用作本地软件回送测试 (Loopback test) 之用
  • 全1地址255.255.255.255 这表示 向我的网络上的所有主机广播 原
    先是使用0.0.0.0

如此可以了解到我们能使用的IP地址范围:
IP地址使用范围

IP地址的特点

IP地址有一些重要的特点

  1. IP地址有一些是一种非等级的地址结构 这就是说 和电话号码的结构不一样 IP地址不能反映任何有关主机位置的地理信息。
  2. 当一个主机同时连接到两个网络上时 作路由器用的主机即为这种情况该主机就必须同时具有两个相应的IP地址 其网络号码net-id是不同的这种主机成为多地址主机 multihomed host 。
  3. 按照Internet的观点 用转发器或网桥连接起来的若干个局域网仍为一个网络 因此这些局域网都具有同样的网络号码net-id.。
  4. 在IP地址中 所有分配到网络号码net-id的网络 不管是小的局域网还是很大的广域网 都是平等的。

地址转换——ARP

在得知主机的IP地址之后,还不能对目标主机进行访问,因为IP地址只是位于网络层的,并不能代表目标主机,还需要掌握目标主机的物理地址,这时就需要用到ARP协议来将IP地址转换为物理地址。
每一个主机都有一个ARP高速缓存(ARP cache),里面存放着IP地址到物理地址的映射表。
如果主机A中没有查到主机B的IP地址的物理地址,那么主机A就会运行ARP向本局域网内的所有主机发送一个ARP请求分组,这个请求中也会带着自身的物理地址,主机B收到请求之后就会向主机A发送一个响应分组,响应分组中带着主机B的物理地址的映射,主机A收到之后就会在自己的ARP高速缓存中写入主机B的IP地址到物理地址的映射。
步骤划分:

  1. ARP进程在本局域网上广播发送一个ARP请求分组 上面有主机B的IP地址。
  2. 在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组。
  3. 主机B在ARP请求分住中见到自己的IP地址 就向主机A发送一个ARP响应分组 上面写入自己的物理映射。
  4. 主机A收到主机B的ARP响应分组后 就在其ARP高速缓存中写入主机B的IP地址到物理地址的映射。

反向地址转换——RARP

有时候我们不止需要用到ARP,在某些场景下还需要用到RARP(反向地址转换),例如一些无盘工作站,只知道物理地址却不知道IP地址。这种无盘工作站一般只要运行其ROM中的文件传送代码 就可用下行装载方法 从局域网上其他主机得到所需的操作系统和TCP/IP通信软件 但这些软件中并没有IP地址 无盘工作站要运行ROM中的RARP来获得其IP地址。
RARP的工作过程大致如下:

  1. 为了使RARP能工作 在局域网上至少有一个主机要充当RARP服务器 无盘工作站先向局域网发出RARP请求分组 在格式上与ARP请求分组相似并在此分组中给出自己的物理地址。
  2. RARP服务器有一个事先做好的从无盘工作站的物理地址到IP地址的映射表当收到RARP请求分组后 RARP服务器就从这映射表查出该无盘工作站的IP地址 然后写入RARP响应分组 发回给无盘工作站 无盘工作站用这样的方法获得自己的IP地址。

计算子网掩码

通过ip地址求子网掩码
对于无须再划分子网的ip地址,子网掩码很简单,按照定义即可得出,如:B类地址的子网掩码为255.255.0.0;C类地址的子网掩码位255.255.255.0,以此类推。
对于还需要将高位主机位再划分出子网网络号,其余主机位是子网的主机号,该如何计算出子网掩码?
(1)利用子网数来计算
将ip地址将要划分的子网数目转换为二进制,得到该二进制的位数N;
将ip地址类的子网掩码中的主机号最高N位置为1,就得到了该ip地址划分子网的子网掩码。
例如:将ip地址158.243.0.0划分为28个子网
28转换为二进制为:11100,N位5;
该ip地址为B类网络,类子网掩码为255.255.0.0,将主机位最高前5位置为1后得到:255.255.248.0。即为划分成 28个子网的B类IP地址 158.243.0.0的子网掩码。
(2)利用主机数求子网掩码
将主机数转化为二进制数,得到二进制位数N;
如果主机数小于等于254(去掉两个特殊地址),则二进制位数N<8,如果大于254,则 N>8,这就是说主机地址将占据不止8位。
将该类ip地址的子网掩码的主机位为全部置1,得到255.255.55.255,再将主机位低N位全部置0,就得到子网掩码。
例如:将ip地址158.243.0.0划分为700台主机
700转换为二进制为:1 1100 0000‬ ,N为9;
将255.255.255.255中主机地址后9位置0,得到:11111111.11111111.11111110.00000000,即255.255.254.0,就是ip地址158.243.0.0子网掩码。
————————————————
版权声明:本文为CSDN博主「星光不负赶路人_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/YIUECHEN/article/details/105549490

IP数据报的格式

在TCP/IP的标准中 各种数据格式常常以32bit 即4字节 为单位来描述。
IP数据报

IP数据报首部的固定部分

  1. 版本
    版本字段站4 bit,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前使用的IP协议版本为4。
  2. 首部长度
    首部长度字段占4bit,可表示的最大数值是15个单位( 一个单位为4字节),因此IP的首部长度的最大值是60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后一个填充字段加以填充。这样,数据部分永远在4字节的整数倍时开始,这样在实现起来会比较方便。首部长度限制为60字节的缺点是有时 (如采用源站选路时)不够用。但这样做的用意是要用户尽量减少额外的开销。
  3. 服务类型
    服务类型字段共8bit长,用来获得更好的服务。其意义见图的上面部分所示。
    服务类型字段的前三个比特表示优先级,它可使数据报具有8个优先级中的一个。
    第4个比特是D比特,表示要求有更低的时延。第5个比特是T比特,表示要求有更高的吞吐量。第6个比特是R比特,表示要求有更高的可靠性,即在数据报传的过程中,被结点交换机丢弃的概率要更小些。第7个比特是C比特,是新增加的,表示要求选择价格更低廉的路由。最后一个比特目前尚未使用。
  4. 总长度
    总长度指首部和数据之和的长度,单位为字节,总长度字段为16bit,因此数据报的最大长度为65535字节。这在当前是够用的。
    当很长的数据报要分段进行传送时,“总长度”不是指未分段前的数据报长度,而是指分段后每个段的首部长度与数据长度的总和。
  5. 标识
    标识字段的意义和OSI的IPDU中的数据单元标识符的意义一样。是为了使分段后的各数据报段最后能准确地重装成为原来的数据报。请注意:这里的“标识” 并没有顺序号的意思,因为IP是无连接服务,数据报不存在按序接收的问题。
  6. 标志
    标志字段占3bit,目前只有前两个比特有意义。
    标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面还有分段的数据报。MF=0表示这已是若干数据报段中的最后一个。
    标志字段中间的一位记为DF(Don’t Fragment ),只有当DF=0时才允许分段。
  7. 段偏移
    段偏移字段的意义和OSI的IPDU中规定的相似,只是表示的单位不同。这里是以8个字节为偏移单位,可见IP数据报的段偏移字段(13bit长)和OSI的IPDU的段偏移字段(16bit长)是相当的。
  8. 寿命
    寿命字段记为TTL(Time To Live),其单位为秒,寿命的建议值是32秒,但也可设定为3-4秒,或甚至255秒。
  9. 协议
    协议字段占8bit,它指出此数据携带的运输层数据是使用何种协议,以便目的主机的IP层知道应将此数据报上交给哪个进程。常用的一些协议和响应的
    协议字段值是 UDP (17),TCP(6),ICMP(1),GGP(3),EGP(8),IGP(9),OSPF(89),以及ISO的TP4(29)。
  10. 首部检验和
    此字段只检验数据报的首部,不包括数据部分。不检验数据部分是因为数据报每经过一个结点,结点处理机就要重新计算一下首部检验和(一些字段如寿命、标志、段偏移等都可能发生变化)。如将数据部分一起检验,计算的工作量就太大了。
  11. 地址
    源站IP地址字段和目的站IP地址字段都各占4字节。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dazzlecure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值