网站色彩的搭配原则有哪些,天猫店铺装修做特效的网站,网站优化网站建设,百度推广退款投诉#x1f525;个人主页#xff1a; 中草药
#x1f525;专栏#xff1a;【Java】登神长阶 史诗般的Java成神之路 #x1f576;️一.IP地址 IP协议#xff08;Internet Protocol#xff09;是TCP/IP协议族中最核心的协议之一#xff0c;它定义了数据包在网络中传输的标准… 个人主页 中草药
专栏【Java】登神长阶 史诗般的Java成神之路 ️一.IP地址 IP协议Internet Protocol是TCP/IP协议族中最核心的协议之一它定义了数据包在网络中传输的标准和规则。IP协议的设计初衷是为了实现大规模、异构网络的互联互通并且分割了顶层网络应用和底层网络技术之间的耦合关系以促进两者的独立发展 我们这里研究的是IPv4 主机配有IP地址路由器 :配有IP地址并能进行路由选择节点主机和路由器的统称 二.报头格式 IPv4报头结构如下所示
版本Version, 4位 - 指定使用的IP协议版本。只有两个取值4和6对于IPv4这部分值为4。首部长度Header Length, 4位 - 指明 报头的长度以32位字4字节为单位。服务类型Type of Service, TOS, 8位 IP协议以那种模式进行工作包含区分服务字段用于描述数据包的优先级和其他服务质量要求。总长度Total Length, 16位 - 表示整个IP数据报的长度以字节为单位。标识Identification, 16位 - 用于识别属于同一数据报的所有分片。涉及到组包拆包。标志Flags, 3位 - 主要用来控制分片行为。 最高位保留未使用中间位Dont Fragment, DF表示当前是否是拆包/组包最低位More Fragments, MF表示当前包是否是组包中的最后一个。分片偏移Fragment Offset, 13位 - 决定组包时候的先后顺序。生存时间Time to Live, TTL, 8位 - 数据报在网络中可以存在的最长时间每经过一个路由器 TTL不是s或者min而是次数 减一当TTL为0时数据报将被丢弃。假设构造的一个IP数据报目的IP不存在如果让这样的数据报无限传输会消耗很多网络资源。协议Protocol, 8位 - 指明上层使用的协议类型是传输给TCP还是UDP等。头部校验和Header Checksum, 16位 - 用于检测数据在传输中是否出错。源IP地址Source IP Address, 32位 - 发送方的IP地址。目标IP地址Destination IP Address, 32位 - 接收方的IP地址。选项Options - 可选字段用于携带特定的控制信息或实验用途。填充Padding - 如果需要的话用来确保报头的长度为32位的整数倍。
三.版本
IP协议有两个主要版本IPv4和IPv6。
IPv4 使用32位地址这种地址空间随着互联网的扩张而逐渐耗尽IPv6 采用128位地址极大地扩展了地址空间并引入了一些新的特性如内置的安全性如IPsec和支持即插即用的自动配置
四.主要功能
地址管理为网络上的每一个设备分配一个唯一的地址即IP地址从而使得数据可以在网络中被路由到正确的接收者路由选择IP协议决定了数据包在网络中传输的最佳路径。这涉及到根据网络拓扑选择合适的路径以确保数据包能够高效地到达目的地
五.IP地址 IP地址用来标识网络上的一个设备期望的IP地址应该是唯一的32位表示的数据范围是0-42亿9千万这样的数字在如今“移动互联网” “物联网” 时代已经不够用了因此解决IP地址不够用的问题我们有三个方案
1.动态分配IP地址 若设备上网就分配IP地址不上网就不分配地址
2.NAT 网络地址转换 NAT的核心思想是在一个网络边界路由器上维护一个地址转换表这个表记录了内部私有IP地址与外部公有IP地址之间的映射关系。当内部网络中的设备需要与外部网络通信时NAT会将数据包的源IP地址替换为公共IP地址并且可能会改变源端口号来区分不同的会话。 同一个局域网内主机A访问主机B不会涉及到NAT公网上的设备A访问公网上的设备B不会涉及到NAT一个局域网的主机A访问另一个局域网的主机BNAT机制不允许局域网上的设备A访问到公网上的设备B主要涉及到NAT机制 当内部网络中的设备发送请求到外部网络时
数据包到达NAT设备。NAT设备检查其转换表以找到相应的条目。如果没有找到则创建一个新的条目并将内部私有IP地址和端口号替换为NAT设备上的公共IP地址和一个新的端口号。修改后的数据包被转发到互联网。
对于从外部网络到内部网络的数据包NAT设备会根据其转换表逆向操作将公共IP地址和端口号转换回内部私有IP地址和端口号。 优点
节约IP地址通过使用私有IP地址范围如10.x.x.x, 172.16.x.x - 172.31.x.x, 192.168.x.x可以大大减少对全球唯一IP地址的需求。安全性NAT可以隐藏内部网络结构从而增加了一定程度的安全性。灵活性可以轻松地添加新的内部主机而不需要重新配置它们的IP地址。
缺点
性能开销NAT需要处理额外的数据包头部修改工作这可能会带来一些性能上的影响。协议支持某些协议可能依赖于特定的端口行为或者需要透明地传输IP地址信息这些情况下NAT可能会导致问题。复杂性在NAT机制的网络环境是非常复杂的随着网络规模的增长管理NAT表可能会变得复杂。 3.IPv6
该方法从根本原因解决了 IP地址不够分配的原因
IPv4用32位4个字节表示IP地址
IPv6用128位16个字节表示IP地址
除非未来人类的文明急速发展走向宇宙否则只要人类困到地球上IPv6足够人类用一辈子 IPv6与IPv4并不兼容现如今IPv6在国内的普及程度非常高已经超过70% 公网IPPublic IP与私有IPPrivate IP
他们的主要区别在于它们的应用场景以及是否可以在互联网上直接访问。 公网IP 公网IP地址是全球唯一的用于标识互联网上的设备或网络接口。这些地址可以在全球范围内路由这意味着数据包可以从世界任何地方发送到该地址。公网IP地址由互联网号码分配机构Internet Assigned Numbers Authority, IANA及其下属的区域互联网注册管理机构Regional Internet Registries, RIRs分配给互联网服务提供商ISPs或其他大型组织。例子包括 A 类地址的一部分如 1-126、B 类地址的一部分如 128-191、C 类地址的一部分如 192-223以及 IPv6 地址空间中的大部分。 私有IP 私有IP地址是在特定的内部网络中使用的这些地址不是全局唯一的。它们通常用于局域网LAN内通过网络地址转换NAT技术来实现与外部互联网的通信。私有IP地址不会在互联网上直接路由而是通过NAT设备将内部私有地址转换为一个或多个全局唯一的公网IP地址来进行通信。私有IP地址范围包括 10.0.0.0 到 10.255.255.255172.16.0.0 到 172.31.255.255192.168.0.0 到 192.168.255.255
特殊的IP地址
1.主机号全为0
此时这个IP就表示当前网段相当于网络号
因此再给局域网某个设备分配IP地址的时候不能把主机号设置为全为0
2.主机号全为1
如果将主机号全设置为1就成为了广播地址用于给同一个链路中相互链接的所有主机发送数据包
3.127.* 环回IPlookback
自发自收给这个ip发一个数据使用环回Ip用于测试网络程序大多是跨主机通信往往先自行测试一台主机的测试客户端和服务器之间鞥否正常交互
六.分包组包
为什么要分包 当一个较大的数据报Datagram需要通过最大传输单元Maximum Transmission Unit, MTU较小的链路进行传输时就需要将其拆分成更小的数据片段Fragment。这是因为不同的网络层协议和支持这些协议的物理介质可能有不同的MTU限制如果数据报超过这个限制就无法直接转发。
分包过程
当数据报的大小超过了MTU时路由器会执行以下步骤
分片将原始数据报分割成若干个更小的数据片段。添加片段信息在每个数据片段的IP头中添加必要的信息以便于在目的端进行重组。这些信息包括 标识符Identification用来标记属于同一个原始数据报的所有片段。标志位FlagsDFDont Fragment标志位如果设置为1则不允许分片MFMore Fragments标志位如果设置为1表示还有后续片段如果是0则表示是最后一个片段。片段偏移Fragment Offset表示该片段在原始数据报中的相对位置以8字节为单位。
组包过程
当数据片段到达目的地时接收端会根据以下信息进行重组
标识符Identification确认哪些片段属于同一个原始数据报。片段偏移Fragment Offset用来确定各个片段在原始数据报中的正确位置。总长度Total Length用来验证所有片段是否完整地组成了原始数据报。校验和Checksum用来检测数据报是否在传输过程中出现损坏。
如何保证数据的顺序和完整性
为了确保数据的顺序性和完整性接收方会执行如下操作
顺序性通过“片段偏移”字段来确定片段的顺序接收方可以根据该字段将接收到的片段按照正确的顺序排序。完整性通过“标识符”字段来识别属于同一个数据报的所有片段并通过“总长度”字段来检查所有片段的总和是否等于原始数据报的长度。另外“校验和”字段可以帮助检测数据报是否在传输过程中发生了损坏。
如果在重组过程中发现缺少片段或者是片段已经损坏接收端可能会丢弃整个数据报或向源主机发送一个错误消息要求重新传输。需要注意的是分片重组的过程在目的端进行中间节点仅负责传递这些分片。
七.网段划分 IP地址的网段划分指的是将一个大的IP地址范围细分为多个小的子网的过程也叫组网组建网络。这样做可以提高网络效率简化网络管理并有助于更好地控制网络流量。 组网的时候需要我们针对每个上网的设备的IP地址进行设置对于家庭网络这种相对简单的网络结构都有自动分配IP地址针对如同商场学校这种更复杂的网络环境需要手动设置
子网掩码
为了确定一个IP地址的哪一部分是网络号哪一部分是主机号我们使用子网掩码subnet mask。子网掩码也是一个32位的二进制数同样表示为点分十进制形式。它与IP地址进行按位与运算AND operation以确定网络号和主机号。
例如对于IP地址192.168.1.1如果子网掩码是255.255.255.0则网络号是前三个八位字节192.168.1而主机号是最后一个八位字节1。网络掩码也是32位的整数左半部分都是1右半部分都是0不能0 1穿插出现 网络中规定 同一个局域网中的设备网络号必须相同设备号必须不同 两个相邻的局域网网络号不同 过去提过一种花粉网络号和主机号的方案把所有的IP地址划分为五类 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 其中AB类的主机号太多了实际上一般没有这么大的局域网这属于上古网络时期的网络划分时代现在基本上已经没有了 CIDR无类别域间路由 CIDRClassless Inter-Domain Routing是一种用于替代传统分类网络的IP地址分配方式。它允许管理员使用斜杠表示法如192.168.1.0/24其中斜杠后面的数字代表子网掩码中的网络位数。例如/24意味着前24位用于网络号剩下的8位用于主机号。主要用途如下
引入一个额外的子网掩码类区分网络号和主机号
将IP地址和子网掩码进行“按位与”操作得到的是网络号 通过使用CIDR可以更加有效地利用IP地址空间。例如一个/24的子网可以进一步划分为两个/25的子网或者四个/26的子网等等直到满足所需的主机数量为止。
七.路由选择 IP地址的路由选择是指在网络中决定数据包从源地址到目的地址的最佳路径的过程。路由选择涉及到路由器如何决定数据包应该通过哪个接口转发以及如何将数据包发送到最终的目的地。下面是关于IP地址路由选择的一些详细信息 路由选择的核心是路由器如何选择合适的路径将数据包从源地址传递到目的地址。路由器使用路由表来存储关于可达网络的信息包括下一跳地址、出站接口、度量值等。当路由器接收到数据包时它会查找路由表来确定如何转发数据包。 路由表的组成 路由表是路由器内部维护的重要数据可以类似理解为hash表key相当于IP地址网络号value相当于对应的网络接口往哪个方向走 路由表通常包含以下几个要素
前缀Prefix目标网络的地址及其子网掩码。下一跳Next Hop路由器应该将数据包转发到的下一个路由器的IP地址。出站接口Interface路由器上用来转发数据包的物理接口。度量值Metric用于评估路径优劣的标准不同路由协议使用不同的度量值如跳数、带宽、延迟等。路由来源Source路由信息的来源可能是直连网络、静态路由或动态路由协议
路由的过程是“跳一跳”的问路过程
所谓的一跳就是在数据链路层的中的一个区间具体在以太网从源MAC地址到目的MAC地址之间的帧传输空间
IP数据包的传输过程也和问路一般
当IP数据包到达路由器时路由器先会查看目的IP路由器决定这个数据包是能够直接发送给目标主机还是需要发送给下一个路由器依次反复一直到达目标 IP 地址 八.总结与反思 我从来不知道什么是苦闷失败了再来前途是自己努力创造出来的。——徐特立 简介
IP协议是一种无连接、尽最大努力交付的协议它负责将数据从源主机传输到目的主机。IP协议定义了数据包的格式并规定了如何将数据包发送到目的地。IP协议有两个主要版本IPv4和IPv6两者都在当今的网络环境中发挥着重要作用。
IPv4
IPv4是最早的IP协议版本它使用32位地址可以提供大约43亿个唯一的地址。尽管IPv4在互联网发展的早期阶段表现良好但随着互联网用户的快速增长IPv4地址资源逐渐耗尽。
IPv6
为了解决IPv4地址短缺的问题IPv6应运而生。IPv6使用128位地址提供了几乎无限的地址空间。此外IPv6还引入了一些新的特性如内置的安全性和自动配置能力。
IP数据报格式
无论是IPv4还是IPv6数据报Datagram都是IP协议处理的基本单位。数据报包含头部信息和用户数据两部分。
IPv4数据报
版本Version指明所使用的IP协议版本。头部长度IHL指示头部的长度。服务类型TOS现在通常用于区分服务等级。总长度Total Length整个数据报的长度。标识符Identification用于标识数据报。标志Flags指示是否允许分片。片段偏移Fragment Offset如果数据报被分片指示各片段的相对位置。生存时间TTL数据报在网络中的存活时间。协议Protocol指示高层协议类型。头部校验和Header Checksum用于检测头部中的错误。源IP地址Source IP Address发送数据报的源地址。目的IP地址Destination IP Address接收数据报的目的地址。选项Options可选字段用于实验或特殊用途。填充Padding使头部长度为32比特的整数倍。
IPv4是最早的IP协议版本它使用32位地址可以提供大约43亿个唯一的地址。尽管IPv4在互联网发展的早期阶段表现良好但随着互联网用户的快速增长IPv4地址资源逐渐耗尽。
IPv6
为了解决IPv4地址短缺的问题IPv6应运而生。IPv6使用128位地址提供了几乎无限的地址空间。此外IPv6还引入了一些新的特性如内置的安全性和自动配置能力。 IP协议作为TCP/IP模型中的网络层协议是互联网技术的基石之一。它定义了数据在网络中的传输方式使得世界各地的设备能够相互通信。随着IPv6的普及IP协议将继续支撑着互联网的持续发展。 以上就是本期的全部内容啦若有错误疏忽希望各位大佬及时指出 制作不易希望能对各位提供微小的帮助可否留下你免费的赞呢