网际协议IP与其配套协议

@(计算机网络)

IP协议是TCP/IP协议簇中最重要的两大协议之一。与其配套的协议有:

  • 地址解析协议–ARP
  • 逆地址解析–RARP
  • 网际控制报文协议–ICMP
  • 网际组管理协议–IGMP

其中ARP和RARP支撑IP协议运行,ICMP和IGMP的运行需要IP的支撑。

四种不同的中间设备

  • 物理层:转发器(repeater)
  • 数据链路层:网桥/桥接器(bridger)
  • 网络层:路由器(router)
  • 网络层以上:网关(gateway)

注:用网关连接两个不兼容的系统时需要再高层进行协议的转换

在数据链路层和物理层使用中间设备,仅仅是把一个网络扩大了,网路层看来,还是一个网络。称不上网络互连。

此外,网关由于比较复杂,现在是用的较少。

这么一看,网路互连的任务只能交给路由器了。

而路由器是一台专用计算机,用于实现网际互联。这是个重任,我们能畅游网络,路由器功不可没。(这里的网际互联的路由器,不是我们手边的那个小路由器)。

这是真实的情况,但是,历史往往有些奇怪,比如几何分布不是几何等等。名字和真实的事情并不是完全对应,但我们往往习惯于从名字推导含义。

由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关。–《计算机网路 5th》

也就是在TCP/IP体系里,也就是目前最大的互联网因特网中,网际互联是在网络层实现的。在逻辑上形成了一个虚拟互联网络,真实连接仍然是异构的物理互联。

在网络层统一使用IP协议进行通信。

互联网可由多种异构网络互联而成。

分类IP地址

IP地址就是给因特网上的每一个主机或路由器的每一个接口分配一个全世界唯一的32位标识符。
使得我们可以在因特网上方便寻址。

IP编址的的三个阶段:

  • 分类IP地址:最基本的编址法
  • 子网划分:对分类IP地址的改进
  • 构成超网:较新的无分类编址法

分类IP地址就是把IP地址分为若干固定类,每一类由:

  • 网络号:标识主机或路由器所连接的网络,网络号在因特网范围内是唯一的
  • 主机号:网络号指明的前提下,标识主机或路由器,唯一

两次唯一,保证了IP地址:网络号+地址号在整个因特网范围内是唯一的

A、B、C类地址都是单播地址。D类是多播地址。但是在A、B、C类地址内部,主机全1表示的是对此网络内的主机进行广播。

  • A类:(0…)8b + 24b –约占全部IP地址的50%
  • B类:(10…)16b+16b –约占全部IP地址的25%
  • C类:(110…)24b+8b –约占全部IP地址的12.5%
  • D类:1110+28b多播地址
  • E类:(1111)+保留未用

现在广泛采用的是CIDR,无分类编址,用的是超网,分类编址已经是过去式了。当然我国正在积极倡导推行IPv6,要在新的网络秩序重建下掌握更多话语权又是另外的事情了。

三类地址取值细节###:

A类网络号只有1个字节,也即8b,且第一个bit固定为0,则实际只有7bits可用。但是可以指派的网络号是27−2=1262^7-2 = 126个.
减掉的2:

  • 全0:表示本网络(this)
  • 全1:01111111:保留作为环回测试地址。比如用Flask这样的网络框架,在本地测试运行时,是127.0.0.1:5000这样的套接字。用于本地进程之间的通信。过程是:主机发送目的地址是环回地址的IP数据报,本主机上的协议栈就处理数据报中的数据,不把数据发送到网络。

即:可用的网络号是1~126

注:10.x.x.x是保留的私有地址

看完网络号,自然再来关注主机号。

A类地址主机号占3个字节,最大主机数为224−22^24-2.

减2的原因:

  • 全0的主机号表示该IP地址是该主机所在的单个网络地址,强调单个是因为主机可以连接到多个网络。流出一个全0的主机号状态标识网络号,可以在后面的网关地址概念处用到。
  • 全1的主机号:该网络上的所有主机

到这里需要强调一下,粗略计算一下,A类地址有(27−2)(224−2)≈231(2^7-2)(2^{24}-2) \approx 2^{31}个。整个IP地址共有:2322^{32}个。实际上因为前面的固定标记,以及保留的E类地址,总数还不到2322^{32}个。而A类地址直接妥妥地占到了一半。总共就126个可用的A类IP地址,一个地址就可以自由分配224−22^{24}-2个主机地址,是非常方便的。像B类,C类,一个机构稍微大一点,就不得不申请多个才能完成全部的主机互联。这其实是非常不公平的事情。毫无疑问,A类地址几乎都在北美,这也是为什么我们需要加快推进IPv6的一个侧面原因吧。IPv4不够用当然是主要的。网络空间的公平也是追求的目标。

B类地址:网络号2B固定是从10开始,那么就不存在全0全1的网络号了。但是要减1,减1的原因是:

  • 128.0.0.0不分配。

即:网络号从128.1~191.255

注:去掉私有地址:172.16.x.x~172.31.x.x

主机号一样是减2,全0全1不分配。

C类地址:3B的网络号前面的三位从110开始。那么有21位可以用。但是仍然有一个虽然不是全0全1,不分配的是:192.0.0.0.

其实B、C类网络号去1,A类去2可以这么记忆。B、C类可分配的比特中,全0也不用。因为环回地址有A类的就够了,所以只减1.
这没有任何逻辑,纯粹助记而已。

IP地址是逻辑地址,是用软件实现的。

物理地址是数据链路层和物理层使用的地址,是硬件地址。

硬件地址固化在网卡上的ROM中,硬件地址又称之为MAC地址。

发送数据从高往下,封装到数据链路层的帧时,数据链路层看不到IP地址,在每段链路之间的跨越都是通过MAC地址进行的。

既然数据链路层看不到IP地址也就意味着源IP地址和目的IP地址在转发过程中不会改变,而可被数据链路层看到的MAC地址,在每一段跳跃时都要改变。值得注意的是用私有地址的NAT路由器,要有一次穿上公网(因特网)可识别的IP地址。又一次变化。如果对方主机也连接在NAT路由器上,则在目的端又有一次变化。

在计算机网络中,甚至在整个计算机相关的系统中,屏蔽下层的实现细节是一种非常重要的设计思想。在更高层次的抽象上谈论问题,是对问题的简化,可是本身这种抽象的把握需要一定的理解。

网际协议IP与其配套协议相关推荐

  1. 网络层(2.网际协议IP)

    目录 一.虚拟互联网络 二.分类的IP地址 1. IP地址及其表示方法 2. 常用的三种类别的IP地址 A类地址: B类地址: C类地址: 三类对比: IP地址的重要特点: 三.IP地址与硬件地址 四 ...

  2. 网际协议IP(计算机网络)

    目录 一.异构网络互连的复杂性 二.网络互相连接的中间设备 三.路由器互连异构网络 四.分组在互联网中的传送 五.互连网络与虚拟互连网络 六.网际层的 IP 协议及配套协议 一.异构网络互连的复杂性 ...

  3. 网际协议IP简单总结

    文章目录 网际协议IP 1. 与IP协议配套使用的三个协议 2. 虚拟网络的中间设备 3. IP地址的编址方法 4. 分类的IP地址 5. IP地址和硬件地址 6. 地址解析协议ARP ARP高速缓存 ...

  4. 计算机网络:网络层——网际协议IP

    网络层提供了两种服务: 网络层向上只提供简单灵活的.无连接的.尽最大努力交付的数据服务,这是因特网采用的设计思路. 网络层不提供服务质量的承诺. 网络层两种服务的对比: 网际协议IP 与IP协议配套使 ...

  5. 计算机网络实验ip数据报转发,计算机网络实验报告三网际协议IP.doc

    计算机网络实验报告三网际协议IP 计算机网络实验报告 实验题目:网际协议IP学号:201200301106日期:2014/11/20班级:2012级软工3班姓名: 李凯峰实验目的: 1.掌握IP数据报 ...

  6. 可用子网数要不要减2_网络层 | 网际协议IP(2)

    01 简介 在<网络层 | 网际协议IP(1)>中,我们讲了IPv4地址的格式.分类.特殊IP地址和私有地址,今天我们来讲一讲划分子网和构成超网. 之前也提到过,早期的IP地址是没有分类的 ...

  7. 计算机网络网际协议实验报告,计算机网络课程网际协议IP地址实验报告.doc

    重庆师范大学 课程名称:计算机网络 实验题目:网际协议IP 姓 名: 专 业: 学 院: 指导老师: 时 实验三 网际协议IP 实验目的: 掌握IP数据报的报文格式 掌握IP检验和计算方法 掌握子网掩 ...

  8. IP实时传输协议RTP/RTCP详解

    1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音.视频数据传输的标准协议RTP( Real-time Transp ...

  9. 常见TCP/IP、HTTP协议以及三次握手和四次挥手

    面试常见TCP/IP.HTTP协议以及三次握手和四次挥手 IP(Internet Protocol):网际协议 IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的 ...

最新文章

  1. 四十二、Linux网络管理,软件安装,进程管理总结
  2. Place the Guards
  3. 程序员特有的9个坏习惯
  4. php为图片添加渐变背景,HTML_CSS实例:通过定义渐变边框给图片加阴影,一般我们可以使用背景图的方 - phpStudy...
  5. python雪花算法生成id_理解分布式id生成算法SnowFlake
  6. mybatis之xml中日期时间段查询的sql语句
  7. FaceWarehouse: a 3D Facial Expression Database for Visual Computing
  8. 国密SM2非对称加密算法(对本地文件的加解密)代码展示
  9. 每次循环都会创建新的数组,导致内存占用过多
  10. 共享单车调度_共享单车的调度算法
  11. 【图形学】我理解的伽马校正(Gamma Correction)
  12. 国内有哪些顶级技术团队的博客值得推荐?
  13. _itemmod_extract_enchant随机附魔提取
  14. 闲鱼面试:Thread.sleep(0) 到底有什么用?
  15. 微信小程序实现星星评分
  16. timer延迟1us_STM32 Systick定时器在实现1us延时的问题与解决
  17. 责任链模式:“张三为了纪念王二请假的悲催经历想出来的一种设计模式”
  18. 关于word页眉页码不连续,页脚页码连续的办法
  19. c语言识别按了esc键_c语言输入esc
  20. C++ LeetCode简单程序:罗马数字转整数

热门文章

  1. gnuplot 常用命令大全
  2. Git基础教程(一)
  3. C++动态类型与静态类型
  4. 计算机中的方法,计算机中文本的表示方法
  5. php curl iis,解决IIS运行PHP出现Call to undefined function curl_init()的问题
  6. 原子自增_多线程系列-(六)原子类与CAS(了解即可)
  7. python 去除水印_python 利用opencv去除图片水印
  8. linux kworker cpu,Kworker,它是什么,为什么它占用这么多 CPU?
  9. asp.net 抓取html内容,c# – 如何从ASP.NET获取网页的HTML内容
  10. 基于java的随机森林算法_基于Spark实现随机森林代码