c2c网站建设,迁移WordPress后无法访问,南昌县建设局网站,合肥重点工程建设局文章目录一、认识IP协议二、IP协议头部格式三、IP地址划分1. IP地址分类2. 子网划分四、IP地址数量危机1. IP地址的数量限制2. NAT技术五、私网IP和公网IP六、路由1. 认识路由2. 路由表生成算法一、认识IP协议
IP协议是Internet Protocol#xff08;互联网协议#xff09;的…
文章目录一、认识IP协议二、IP协议头部格式三、IP地址划分1. IP地址分类2. 子网划分四、IP地址数量危机1. IP地址的数量限制2. NAT技术五、私网IP和公网IP六、路由1. 认识路由2. 路由表生成算法一、认识IP协议
IP协议是Internet Protocol互联网协议的简称它是一种网络层的协议。IP协议的主要作用是在互联网中传输数据包也称为IP数据包它定义了数据包在互联网上如何寻址、路由和传输的方式。
IP协议是一种面向无连接的协议不保证数据包的可靠传输也不保证数据包的传输顺序。因此IP协议一般与传输层的协议如TCP协议一起使用以保证数据包的可靠传输和有序性。
IP协议还定义了IP地址的格式和分配方式。IP地址是一个32位的二进制数通常用点分十进制表示法来表示。在互联网中每个设备都必须拥有唯一的IP地址这样才能与互联网相通。
IP协议是互联网中最基本的协议之一它为互联网上的数据通信提供了基础的支持。
二、IP协议头部格式
IP协议头部格式如下 各协议字段说明
版本占4位协议版本号通常为4表示IPv4。首部长度占4位IP协议头部长度即头部中有多少个32位字节通常为5个。服务类型占8位用于标记数据包的优先级、延迟、可靠等。其中3位优先权字段已经弃用4位TOS字段和1位保留字段。4位TOS字段分别表示最小延时、最大吞吐量、最高可靠性、最小成本。这四者之间相互冲突只能选择一个。对于SSH和Telnet这样的程序最小延时比较重要对于FTP这样的程序最大吞吐量比较重要。总长度占16位表示整个IP数据包的长度包括头部和数据部分。标识占16位用于唯一标识一个 IP 数据包的片段。如果IP数据包在数据链路层被分片那么每一个片段中的标识相同。标志占3位第一位保留第二位为 1 表示禁止分片为 0 则允许分片第三位表示分片的情况如果为 0 表示后面还有分片为 1 则表示当前是最后一个分片。片偏移占13位用于指示当前分片在原始数据包中的偏移量。实际偏移的字节数就是片偏移量乘以 8 得到的。因此除了最后一个报文外其他报文的长度必须是 8 的整数倍。生存时间Time To LiveTTL占8位表示数据包到达目的地的最大跳数。一般是64每次经过一个路由TTL的值减 1 一直减到 0 还没有到达那么该数据包就会被丢弃。该字段主要是用来防止出现路由循环。协议占8位表示数据包的上层协议类型如TCP、UDP、ICMP等。首部校验和占16位用于检测头部在传输过程中出现的错误。源地址源IP地址。目的地址目的IP地址。可选字段可选字段用于扩展头部通常不使用。填充填充字段用于保证头部长度位 32 位的整数倍。
三、IP地址划分
1. IP地址分类
IP地址分为两个部分网络号和主机号
网络号保证互相连接的两个网段具有不同的标识。主机号同一个网段内主机之间有相同的网络号但主机号不同以便区分不同的主机。
如下图 不同的子网其实就是把网络号相同的主机放到一起。如果在子网中新增一台主机则该主机的网络号与这个子网的网络号一致但是主机号必须保证和该子网中的其他主机不同。
在刚开始设计互联网络时为了便于寻址以及层次化构造网络IP地址根据网络号划分出五种IP类型A类地址、B类地址、C类地址、D类地址和E类地址。如下图所示
A类地址以0开头第一个字节8位用于网络地址后面三个字节24位用于主机地址。它的网络号可以表示1~126之间的数字它的默认子网掩码为255.0.0.0。B类地址以10开头前两个字节16位用于网络地址后面两个字节16位用于主机地址。它的网络号可以表示128~191之间的数字它的默认子网掩码为255.255.0.0。C类地址以110开头前三个字节24位用于网络地址后面一个字节8位用于主机地址。它的网络号可以表示192~223之间的数字它的默认子网掩码为255.255.255.0。D类地址以1110开头用于多播地址multicast addresses不用于单个主机或网络。E类地址以1111开头保留地址不分配给主机或网络使用。
其各自的范围如下 A类0.0.0.0 到 127.255.255.255 B类128.0.0.0 到 191.255.255.255 C类192.0.0.0 到 223.255.255.255 D类224.0.0.0 到 239.255.255.255 E类240.0.0.0 到 247.255.255.255 2. 子网划分
随着互联网的飞速发展这种划分方案的局限性很快显现出来大多数组织都申请B类网络地址导致B类地址很快就分配完了而A类却浪费了大量地址 例如申请了一个B类地址理论上一个子网内能允许6万5千多个主机。A类地址的子网内的主机数更多然而实际网络架设中不会存在一个子网内有这么多的情况因此大量的IP地址都被浪费掉了。 针对这种情况提出了新的划分方案称为CIDR(Classless Interdomain Routing无类别域间路由)。
CIDR是一种用于分配IP地址的方法与传统的IP地址划分方式不同CIDR将IP地址划分为一个个的子网每个子网的大小可以根据需要灵活调整。CIDR可以在不改变网络地址和主机地址划分的基础上更好地利用IP地址空间避免浪费IP地址提高IP地址的使用效率。
利用CIDR划分子网的步骤如下 确定需要划分的IP地址范围例如192.168.0.0~192.168.0.255。 根据需要分配的子网数量确定网络前缀长度。例如如果需要将该地址范围分为4个子网则网络前缀长度为26位2的2次方等于4需要2个二进制位来表示4个子网。 将IP地址范围划分为多个子网每个子网的大小由网络前缀长度确定。 为每个子网分配一个独立的网络地址和主机地址范围。
例如将192.168.0.0/24划分为4个子网每个子网大小相同即每个子网有64个IP地址。根据CIDR表示法网络前缀长度为26位子网划分如下所示
子网1192.168.0.0/26网络地址为192.168.0.0广播地址为192.168.0.63。子网2192.168.0.64/26网络地址为192.168.0.64广播地址为192.168.0.127。子网3192.168.0.128/26网络地址为192.168.0.128广播地址为192.168.0.191。子网4192.168.0.192/26网络地址为192.168.0.192广播地址为192.168.0.255。
CIDR IP子网划分可以更好地利用IP地址空间并提供更灵活的子网划分方式。它也更容易管理因为每个子网都有一个独立的网络地址和主机地址范围这使得网络管理更加简单和高效。
四、IP地址数量危机
1. IP地址的数量限制
我们知道IP地址(IPv4)是一个4字节32位的正整数。那么一共只有 2^32 次方个IP地址大概是43亿左右。而TCP/IP协议规定每个主机都需要有一个IP地址这意味着一共只有43亿台主机能接入网络吗 实际上由于一些特殊的IP地址的存在数量远不足43亿。另外 IP 地址并非是按照主机台数来配置的而是每一个网卡都需要配置一个或多个IP地址。
CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率、减少了浪费但是IP地址的绝对上限并没有增加)但仍然不够用。这时候有三种方式来解决
动态分配IP地址只给接入网络的设备分配IP地址。因此同一个MAC地址的设备每次接入互联网得到的IP地址不一定是相同的。NAT技术网络地址转换。IPv6:IPv6并不是IPv4的简单升级版。这是互不相干的两个协议彼此并不兼容。IPv6 用 16 字节 128 位来表示一个 IP 地址但是目前还没有普及。
2. NAT技术
网络地址转换NAT是一种网络协议用于在私有网络和公共网络之间转换IP地址。它通常用于家庭、小型办公室或企业网络以便在一个公共IP地址下运行多个私有IP地址。
NAT技术可以隐藏内部网络的真实IP地址从而增加了网络安全性。它可以防止来自互联网的未经请求的数据包进入内部网络并且可以使内部网络中的主机更难受到攻击。
在NAT中路由器会分配一个公共IP地址给内部网络中的每一个主机并在必要时将数据包从公共IP地址转换到内部主机的私有IP地址。这使得内部网络中的多个主机可以共享单个公共IP地址从而减少了IP地址的使用量。
然而NAT技术也存在一些限制例如它可能会影响某些应用程序的性能特别是需要建立点对点连接的应用程序例如视频会议或P2P文件共享。
五、私网IP和公网IP
如果一个组织内部组建局域网IP地址只用于局域网内的通信而不直接连到因特网上。理论上使用任意的IP地址都可以但是RFC 1918规定了用于组建局域网的私有IP地址
10.*前8位是网络号共 16,777,216 个地址。172.16.* 到 172.31.* 前12位是网络号,共 1,048,576 个地址。192.168.*前16 位是网络号共 65,536 个地址。
包含在以上范围中的IP地址都作为私有IP其余的则称为全局IP(或公网IP)。
如下图所示
一个路由器可以配置两个IP地址一个是 WAN 口 IP 一个是 LAN 口 IP (子网IP)。路由器 LAN 口连接的主机都从属于当前这个路由器的子网中。不同的路由器子网IP其实都是一样的通常都是 192.168.1.1。子网内的主机 IP 地址不能重复但是子网之间的 IP 地址可以重复。每一个家用路由器其实又作为运营商路由器的子网中的一个节点。这样的运营商路由器可能会有很多级最外层的运营商路由器WAN口 IP 就是一个公网IP了。子网内的主机需要和外网进行通信时路由器将 IP 首部中的 IP 地址进行替换替换成 WAN 口 IP。这样逐级替换最终数据包中的IP地址成为一个公网 IP 。 这种技术就是 NAT(Network Address Translation网络地址转换)。
六、路由
1. 认识路由
路由是将网络数据包从一个网络节点传递到另一个网络节点的过程。在网络中路由器是负责路由数据包的设备。当一个数据包进入路由器时路由器会根据其目标IP地址来确定数据包应该转发到哪个网络节点。
在路由的过程中路由器需要查找路由表以确定数据包应该转发到哪个节点。路由表是一个数据结构它包含了网络中的所有节点和它们之间的联系。当一个数据包到达路由器时路由器会将其目标IP地址与路由表中的地址进行匹配以便找到下一个节点的地址。
那么如何判定当前这个数据包该发送到哪里呢? 这个就依靠每个节点内部维护一个路由表
路由表可以通过route命令查看。如果目的IP命中了路由表就直接转发即可。路由表中的最后一行主要由下一跳地址和发送接口两部分组成当目的地址与路由表中其它行都不匹配时就按缺省路由条目规定的接口发送到下一跳地址。
假设某主机上的网络接口配置和路由表如下
这台主机有两个网络接口一个网络接口连到192.168.10.0/24网络另一个网络接口连到192.168.56.0/24网络。路由表的 Destination 是目的网络地址Genmask 是子网掩码Gateway 是下一跳地址Iface 是发送接口Flags 中的 U 标志表示此条目有效(可以禁用某些条目)G 标志表示此条目的下一跳地址是某个路由器的地址没有G标志的条目表示目的网络地址是与本机接口直接相连的网络不必经路由器转发。
2. 路由表生成算法
路由表是用于将IP地址映射到网络路径的数据结构路由表生成算法用于确定路由表中的网络路径。常见的路由表生成算法包括以下几种 静态路由管理员手动配置的路由它们不会自动更新或更改。静态路由比较容易实现但需要管理员手动配置并且不适用于复杂的网络环境。 RIPRouting Information Protocol是一种距离向量路由协议使用跳数作为距离指标每个路由器将其邻居的路由表传递给其它路由器以便每个路由器都能获得整个网络的路由信息。 OSPFOpen Shortest Path First是一种链路状态路由协议每个路由器将其连接到的所有路由器和网络的信息发送给其它路由器以便每个路由器都能计算出整个网络的最短路径。 BGPBorder Gateway Protocol是一种路径向量路由协议用于在互联网上交换路由信息。它使用AS路径作为路由选择的标准每个AS自治系统都将其拥有的网络告知其它AS以便确定全局路由。
这些算法都有其优点和局限性网络管理员需要根据网络拓扑、带宽、延迟等因素来选择适合的路由表生成算法。