【网络原理】IP协议

🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。

🤼专栏收录于:计算机网络原理


本博文讲解网络层重点协议之IP协议,主要讲解IP地址的组成、IP地址的分类、IP地址的管理、路由选择。这也是一名程序猿需要了解的知识,话不多说让我们进入IP地址的学习。


目录

1、IP协议

1.1 认识IP地址

1.2 IP地址的组成

1.3 IP地址的分类

2、IP地址管理

1.1 动态分配

1.2 NAT机制

3、路由选择

1、IP协议


1.1 认识IP地址

IP协议是网络层的重点协议。简单来讲,IP协议由IP地址来表示的,IP地址是使用 4 个 8 位整数共 32 位整数、并用点分十进制的形式组成的。

11000000.10101000.00000000.00000000 =》192.168.0.0。如同192.168.0.0这样的一串数据就是IP地址。


1.2 IP地址的组成

IP地址是由网络号与主机号组成,前 24 位为网络号,后 8 位为主机号。

网络号:标识网段,保证互相连接的两个网段具有不同的标识。

主机号:标识主机,同意网段内可有相同的网络号,但不能有相同的主机号。

具体来说,网络号是通过子网掩码与IP地址进行逻辑与运算得到的。举个例子,假设有一个IPv4地址为192.168.0.1,子网掩码为255.255.255.0。那么,在进行与运算后,得到的网络号就是192.168.0.0。在这个例子中,192.168.0是网络号,1是主机号。

子网掩码:在家庭网络中通常为255.255.255.0,其他网络则是由网管搭建或大型公司搭建就不一样了。

在同一局域网内,两个不同的设备网络号相同、主机号不同,在连网的时候通过路由器完成连接。

WAN接口,全称为广域网接口(Wide Area Network Interface),是指连接广域网的接口。广域网是指跨越较大地域范围的网络,例如Internet。WAN接口通常用于连接本地网络与广域网之间的设备,用于实现与外部网络的通信。常见的WAN接口类型包括以太网、光纤、电缆调制解调器(Cable Modem)和数字用户线路(Digital Subscriber Line,DSL)等。

LAN接口,全称为局域网接口(Local Area Network Interface),是指连接局域网的接口。局域网是指较小范围内的网络,例如家庭、办公室或校园内的网络。LAN接口通常用于连接本地网络中的设备,用于实现内部网络之间的通信。常见的LAN接口类型包括以太网、Wi-Fi等。


1.3 IP地址的分类

IP地址分为ABCDE五类

  1. A类地址:以0开头,范围从1.0.0.0到126.0.0.0。A类地址适用于大型网络,可以容纳约16,777,216个主机。

  2. B类地址:以10开头,范围从128.0.0.0到191.255.0.0。B类地址适用于中等规模的网络,可以容纳约65,536个主机。

  3. C类地址:以110开头,范围从192.0.0.0到223.255.255.0。C类地址适用于小型网络,可以容纳约256个主机。

  4. D类地址:以1110开头,范围从224.0.0.0到239.255.255.255。D类地址用于多播(multicast)通信。

  5. E类地址:以11110开头,范围从240.0.0.0到255.255.255.255。E类地址保留用于特殊目的,例如用于实验和研究。

以上的五类分类通常是出现在教科书中的,现在广泛使用的是无类别域间路由(CIDR)技术,不再严格按照这些分类,大家只需要了解即可。

子网掩码

  1. 255.0.0.0:用于划分A类地址。第一个8位块全是1,后面三个8位块全是0。这表示第一个8位块用于网络标识,后面三个8位块用于主机标识。可以容纳约16,777,216个主机。

  2. 255.255.0.0:用于划分B类地址。前两个8位块全是1,后面两个8位块全是0。这表示前两个8位块用于网络标识,后面两个8位块用于主机标识。可以容纳65,536个主机。

  3. 255.255.255.0:用于划分C类地址。前三个8位块全是1,最后一个8位块全是0。这表示前三个8位块用于网络标识,最后一个8位块用于主机标识。可以容纳256个主机。

特殊的IP地址

  1. 127.0.0.1:这是本地回环地址,也称为"localhost"。它用于在本地主机上测试网络服务和应用程序,可以用来访问本机上运行的网络服务,如Web服务器。

  2. 0.0.0.0:这是未指定地址,用于标识当前主机上的所有网络接口。它通常用于路由器和其他网络设备上,表示所有网络接口都可用。

  3. 255.255.255.255:这是广播地址,用于一次性向网络中的所有主机发送数据包。当需要将数据包发送给同一网络中的所有主机时,可以使用广播地址。

注意,IPv6已经逐渐被引入,并提供了更大的地址空间。IPv6不采用分类,而是使用固定长度为128位的地址来表示。 


2、IP地址管理

IP地址是由 32 位整数来表示的,因此最多能表示 42亿9千万个地址。但满足世界上所有电脑是不够的,因此我们可以通过 动态分配IP地址 NAT机制 来管理IP地址。


1.1 动态分配

为了合理分配IP地址,会给上网的设备分配IP地址,没有上网的设备不分配IP地址如关机的设备等,此时就能剩下大量的IP地址了。

动态分配没有增长IP地址,只是通过给需要上网的设备分配IP地址,缓解了IP地址的不足,因此只能一定程度上解决IP地址不够问题。

但随着IP地址的不足,IPv6已经陆续引入到现实使用当中,如支付宝。


 

1.2 NAT机制

NAT名为网络地址转换(Network Address Translation),它是一种将私有IP地址转换为公共IP地址的技术。

NAT机制把IP地址分为两大类:内网IP地址、外网IP地址。

内网IP地址10.*172.16.*-172.31.*192.168.*,如10.1.1.2、172.16.1.2等。

外网IP地址其余所有的IP地址

外网IP必须唯一,内网IP可以出现重复(尤其是在不同的局域网中)如:我在网上购物我家小区的地址是唯一的,而购物的我或者其他住户地址是不唯一的。

一个局域网内IP地址也称为内网IP,因此各个设备的网络号相同,主机号不同。内网IP如何访问外网IP呢,我们可以通过路由器来完成访问,路由器就是一个NAT设备。

网络通信是按照源IP地址与目的IP地址来进行发送的,因此内网IP地址(源IP)向外网IP地址(目的IP)发送。

由于各个设备的IP地址不同,路由器会将主机等设备的源IP地址转换为路由器的IP地址作为源IP地址来进行发送,再根据各个设备的端口号来返回相应信息。如下图所示:

因此,内网无法直接访问外网,外网无法直接方法内网,而是通过路由器等设备来完成相互访问。 路由器会根据各个设备的特殊标识(端口号等)来确定数据返回相应的设备。

NAT背景下的通信

外网设备访问外网设备,不需要任何 NAT,可直接访问。

内网设备访问其他内网设备,不允许。

外网设备访问内网设备,不允许。

内网设备访问外网设备,需要通过内网设备路由器来完成相互访问。


3、路由选择

我们在使用高德地图时,只需要输入出发地点和目的地,系统就能很好给我们分配乘车路线,那是因为这些地点都在算法中存在了。

但在互联网中我们进行网络交互时,路由器无法把整个网络环境给记录下来。但路由器记录了附近的网络,附近的网络又记录了其他的网络,这样一步步就能组成互联。

因此,在进行互联网交互前的寻找连接路径实际上类似于现实生活中的问路,一步步的把整个路线给走完,这样的过程就是路由选择。

解释路由表

每个路由器都维护一个路由表,其中包含关于其他网络和路由的信息。路由表记录了目标网络的网络地址、下一跳的路由器和出接口等信息。


本篇博文到这里就结束了,感谢点赞、收藏、评论、关注! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/17481.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day4 qtqtqtc++

cppcpp ui代码 <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>Widget</class><widget class"QWidget" name"Widget"><property name"geometry"><rec…

2023年,测试工程师最关心的几个问题内容:

2023年&#xff0c;测试工程师最关心的几个问题内容&#xff1a; 1. 自动化测试是否会取代手动测试&#xff1f;&#x1f916; 自动化测试和手动测试都在软件开发过程中扮演着重要的角色。虽然自动化测试在某些方面可以提供更高效和一致的测试覆盖&#xff0c;但它无法完全取…

第二次CCF计算机软件能力认证

第一题&#xff1a;相邻数对 给定 n 个不同的整数&#xff0c;问这些数中有多少对整数&#xff0c;它们的值正好相差 1。 输出格式 输入的第一行包含一个整数 n&#xff0c;表示给定整数的个数。 第二行包含所给定的 n 个整数。 输出格式 输出一个整数&#xff0c;表示值正好相…

Linux驱动进阶(二)——设备驱动中的阻塞和同步机制

文章目录 前言阻塞与非阻塞等待队列等待队列概述等待队列的实现等待队列的使用 同步机制实验同步机制设计实验验证 小结 前言 阻塞和非阻塞是设备访问的两种基本方式。使用这两种方式&#xff0c;驱动程序可以灵活地支持阻塞与非阻塞访问。在写阻塞与非阻塞的驱动程序时&#…

algo算法实验平台代码分享

algo算法实验平台代码分享 1. 介绍 本实验平台包括前端及后台两个模块&#xff0c;前端由 vue开发而来&#xff0c;后端主要采用 python编写&#xff0c;主要用于算法效果测试测评及改进。 原平台算法已做脱敏&#xff0c;使用者可以根据自己需求进行改写或开发&#xff0c;此…

hive on spark小文件问题【hive.merge.sparkfiles参数不生效】

hive on spark小文件问题【hive.merge.sparkfiles参数不生效】 我也是查看了我们目前集群的版本是spark是3.2.3版本 hive是3.1.3版本&#xff0c;都是比较新的版本&#xff0c;正常是支持这个参数的 在测试环境中&#xff0c;如果在sql中不使用group by函数其实可以可以生效的…

jquery实现甘特图时效管理

一、效果图 二、html文件 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html lang"en"><head><script src"../../../baoBiaoHtml/js/jquery-1.9.0.js"></script><script src"../..…

cyclo(Ser-Ser),23409-30-5,环(L-丝氨酰基-L-丝氨酰),具有明确的生物活性

​资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ 产品描述&#xff1a; cyclo(Ser-Ser)&#xff08;CAS号&#xff1a;23409-30-5&#xff09;&#xff0c;环二肽(2,5-哌嗪二酮)是Z小的环肽&#xff0c;许多天然环二肽化合物都具有明确的生物活性&#xff0c;例如作为抗…

1.2 向量基础

什么是向量 向量的定义 ①向量是有大小和方向的有向线段。 ②向量没有位置&#xff0c;只有大小和方向 ③向量的箭头是向量的结束&#xff0c;尾是向量的开始 ④向量魔术的位移能被认为是宇宙平行的唯一序列 &#xff08;向量的数组不是向量的位置&#xff0c;而是向量在各个维…

安全用电管理平台针对电气火灾的解决方案 安科瑞 许敏

摘要&#xff1a; 安全用电管理平台是针对我国当前电气火灾事故频发而设计的一套电气火灾预警和预防管理系统&#xff0c;该系统是基于移动互联网、云计算技术、通过物联网传感终端&#xff08;现场监控模块、传输模块&#xff09;&#xff0c;将供电侧、用电侧电气安全参数实时…

西门子plc以太网模块电脑与300plc以太网连接

内容概况 捷米特ETH-S7200-JM01它不占用PLC编程口&#xff0c;编程软件和上位机软件可以通过以太网对PLC进行数据监控和采集&#xff0c;同时触摸屏也可以通过扩展RS485口与PLC进行通讯。这样的多重通讯功能&#xff0c;让PLC的使用更加灵活和方便&#xff01; NetSCADA组态监…

用C#写汉诺塔问题

假设要将n个圆盘从A->C&#xff0c;中间可以借助B&#xff0c;那么递归思路是这样的&#xff0c;我们先将除最大的一个圆盘外的其它n-1个圆盘从A->B,借助C&#xff0c;然后将最大的一个圆盘搬到C&#xff0c;最后将刚才的n-1个盘子&#xff0c;从B->C借助A&#xff0c…