东大桥做网站的公司,福建漳发建设有限公司网站,随州公司做网站,磁力屋torrentkitty一#xff1a; IP 地址
IP地址#xff08;Internet Protocol Address#xff09;是指互联网协议地址#xff0c;又译为网际协议地址。
IP地址是IP协议提供的一种统一的地址格式#xff0c;它为互联网上的每一个网络和每一台主机分配一个逻辑地址#xff0c;以此来屏蔽物…一 IP 地址
IP地址Internet Protocol Address是指互联网协议地址又译为网际协议地址。
IP地址是IP协议提供的一种统一的地址格式它为互联网上的每一个网络和每一台主机分配一个逻辑地址以此来屏蔽物理地址的差异。
IP地址是一个32位的二进制数通常被分割为4个“8位二进制数”也就是4个字节如01100100.00000100.00000101.00000110通常用“点分十进制”的方式来表示即 a.b.c.d 的形式a,b,c,d都是0~255之间的十进制整数。如100.4.5.6。
1.1 IPv4和IPv6
IP协议有两个版本IPv4和IPv6。此后凡是提到IP协议没有特殊说明的默认都是指IPv4。IPv4数量2^32大约43亿左右而TCP/IP协议规定每个主机都需要有一个IP地址。对于全世界计算机来说这个数量是不够的所以后来推出了IPv6长度128位是IPv4的4倍。但因为目前IPv4还广泛的使用且可以使用其他技术来解决IP地址不足的问题所以IPv6也就没有普及。
1.2 IP地址的组成
IP地址分为两个部分网络号和主机号
网络号标识网段标识一个局域网保证相互连接的两个网段具有不同的标识主机号标识主机标识了一个局域网内的主机同一网段内主机之间具有相同的网络号但是必须有不同的主机号
通过合理设置网络号和主机号就可以保证在相互连接的网络中每台主机的IP地址都是唯一的那么我们该如何划分网络号和主机号呢
过去曾经提出一种划分网络号和主机号的方案把所有IP 地址分为五类如下图所示
类别范围适用网络网络数量主机最大连接数A0.0.0.0 ~ 127.255.255.255大型网络12616,777,214 224-2B128.0.0.0 ~ 191.255.255.255中等规模网络约16,00065,534 (216-2)C192.0.0.0 ~ 223.255.255.255小型网络-254 (28-2)D224.0.0.0 ~ 239.255.255.255---E240.0.0.0 ~ 247.255.255.255---
请注意类别 D 和 E 用于特殊用途不分配给实际的网络和主机,主机最大连接数减去2是扣除主机号为全0和全1的特殊IP地址。
特殊的IP地址
将IP地址中的主机地址全部设为0就成为了网络号代表这个局域网将IP地址中的主机地址全部设为1就成为了广播地址用于给同一个链路中相互连接的所有主机发送数据包127.*的IP地址用于本机环回loop back测试通常127.0.0.1本机环回主要用于本机到本机的网络通信系统内部为了性能不会走网络的方式传输对于开发网络通信的程序即网络编程而言常见的开发方式都是本机到本机的网络通信。
在上述的分类中存在IP地址浪费的问题
单位一般会申请B类网络C类连接主机数量有限但实际网络架设时连接的主机数量又常远小于65534B类连接主机数造成IP地址浪费同理A类网络的IP地址也会造成大量的浪费。
2.当一个单位申请了一个网络号并且想将该网络中的IP地址再分给它下属的几个小单位时那么这将导致IP地址资源的浪费因为每个下属单位都需要一个独立的网络号那么这将导致IP地址资源的浪费。
为了解决以上问题引入子网掩码来进行子网划分。
1.3 子网掩码
子网掩码格式和IP地址一样也是一个32位的二进制数。其中左边是网络位用二进制数字“1”表示1的数目等于网络位的长度右边是主机位用二进制数字“0”表示0的数目等于主机位的长度。
子网掩码的作用
划分ABC三类 IP 地址子网
如一个B类IP地址191.100.0.0按A ~ E类分类来说网络号二进制数为16位网络号16位主机号。
假设使用子网掩码 255.255.128.0即17 来划分子网意味着划分子网后高17位都是网络位/网络号也就是将原来16位主机号划分为1位子网号15位主机号。
此时IP地址组成为网络号子网号主机号网络号和子网号统一为网络标识划分子网后的网络号/网段 网络通信时子网掩码结合IP地址可以计算获得网络号划分子网后的网络号及主机号划分子网后的主机号。一般用于判断目的IP与本IP是否为同一个网段。
对于网络通信来说发送数据报时目的主机与发送端主机是否在同一个网段流程是不一样的。
1.4通过IP地址和子网掩码计算主机号
将 IP 地址和子网掩码进行“按位与”操作二进制相同位与操作两个都是1结果为1否则为0得到的结果就是网络号IP地址减去网络号剩下的就是主机号
让我们以一个例子来说明。假设有一个IP地址是192.168.0.100以点分十进制表示并且子网掩码是255.255.255.0。我们将它们转换为二进制形式
通过使用子网掩码进行逻辑运算我们可以将给定的IP地址分为网络部分和主机部分。以下是具体的步骤 将IP地址和子网掩码都转换为二进制形式。 IP地址192.168.0.100 子网掩码255.255.255.0 转换为二进制 IP地址11000000.10101000.00000000.01100100 子网掩码11111111.11111111.11111111.00000000
子网掩码11111111.11111111.11111111.00000000 意味着划分子网后高24位都是网络位/网络号剩下的8为是主机号 进行逻辑运算按位与。 将IP地址的每一位与子网掩码的对应位进行逻辑与运算。 IP地址11000000.10101000.00000000.01100100 子网掩码11111111.11111111.11111111.00000000 网络部分11000000.10101000.00000000.00000000 得到网络部分和主机部分的二进制值后可以将它们转换回十进制形式。 网络部分11000000.10101000.00000000.00000000 主机部分00000000.00000000.00000000.01100100 转换为十进制形式 网络部分192.168.0.0 主机部分0.0.0.100
通过子网掩码可以将一个IP地址空间划分成多个子网。子网掩码是一个32位的二进制数字其作用是指示哪些位是网络部分哪些位是主机部分。
通过使用子网掩码进行地址划分可以将一个IP地址空间合理地分配给不同的网络和主机。这样就避免了IP地址的浪费因为每个子网都可以被包含在一个更大的地址范围内而不需要使用单独的IP地址。
例如如果我们有一个IP地址段为10.0.0.0/24子网掩码为255.255.255.0/24代表子网掩码的长度这意味着有256个可用的IP地址从10.0.0.0到10.0.0.255。如果我们将这个地址空间划分为4个子网每个子网有64个可用IP地址那么我们可以使用10.0.0.0/26、10.0.0.64/26、10.0.0.128/26和10.0.0.192/26。
这对于大规模的网络环境尤为重要因为IP地址是有限的资源通过子网划分我们可以更有效地利用IP地址避免浪费。
二 MAC地址
MAC地址即 Media Access Control Address用于标识网络设备的硬件物理地址。
主机具有一个或多个网卡路由器具有两个或两个以上网卡其中每个网卡都有唯一的一个MAC地址。网络通信即网络数据传输本质上是网络硬件设备将数据发送到网卡上或从网卡接收数据。硬件层面只能基于MAC地址识别网络设备的网络物理地址。
MAC地址用来识别数据链路层中相连的节点长度为48位即6个字节。一般用16进制数字加上冒号的形式来表示例如08:00:27:03:fb:19
MAC地址在网卡出厂时就确定了不能修改。虚拟机中的MAC地址不是真实的MAC地址可能会冲突也有些网卡支持用户配置MAC地址。
广播数据报发送一个广播数据报表示对同网段所有主机发送数据报。广播数据报有一个特殊的MAC地址FF:FF:FF:FF:FF:FF
2.1 网络数据传输
以下为主机B传输数据到主机C经过的网络设备 对于以上经过的网络设备
主机配有IP地址但是不进行路由控制的设备路由器即配有IP地址又能进行路由控制节点主机和路由器的统称
集线器和二层交换机不会对数据报封装和分用不算在下一跳设备。
对于网络数据传输不是想象中那样数据直接从源主机到达目的主机而是类似在地图中从A到B的过程
就好比唐僧去西天取经行程为长安、五指山、黑风山、女儿国……大雷音寺。
IP地址描述的是路途总体的起点和终点
源IP就是整个行程的起点长安目的IP对应为整个行程的终点大雷音寺
而行进也必须一个地点一个地点的前进由MAC地址来描述路途上每一个区间的起点和终点
从长安到五指山为一跳的区间源MAC为长安目的MAC为五指山从五指山到黑风山为下一跳的区间源MAC为五指山目的MAC为黑风山。
2.2 总结IP地址和MAC地址
IP地址描述的是路途总体的起点和终点是给人使用的网络逻辑地址。MAC地址描述的是路途上的每一个区间的起点和终点即每一跳的起点和终点是给网络硬件设备使用的网络物理地址。
三网络设备及相关技术
3.1 集线器转发所有端口 集线器是工作在物理层的网络设备发送到集线器的任何数据都只是简单的将数据复制并转发到其他所有端口。端口指集线器后边的物理端口 3.2 交换机MAC地址转换表转发对应端口 交换机工作在数据链路层交换机内部会记录并维护一张MAC地址转换表
MAC地址转换表主要记录MAC地址与端口之间的映射。端口指交换机后边的物理端口主机连接到交换机及主机发送数据的时候交换机可以学习并记录该主机MAC地址与端口信 息。交换机接收到数据报以后在MAC地址转换表中通过目的MAC查找到对应的端口则目的主机为该端口相连接的主机。只需要将数据报转发到对应端口上即可。 4. 以上是使用MAC地址转换表通过目的MAC能找到对应端口的情况如果找不到交换机设置数据报目的MAC为广播地址FF:FF:FF:FF:FF:FF发送到其他所有端口目的主机返回响应后交换机再记录该主机MAC与端口的映射信息。
3.3 主机网络分层从上到下封装
发送数据报时发送端主机都需要先根据网络分层从上到下封装
源IP与目的IP标识整个路途的起点和终点源MAC与目的MAC标识了每一跳的起点和终点
此时还需要根据发送端主机源主机与接收端主机目的主机是否在同一网段来设置下一跳设备
源主机和目的主机在同一个网段时下一跳设备就是目的主机发送端主机和接收端主机在不同网段时发送端主机是无法知道目的主机在哪此时会设置下一跳设备为网关设备
所谓网关我们这里可以简单理解为不同网段的网络互连时需要使用网关设备。
通常的网关设备是路由器可以划分公网和局域网内网同时还可以把局域网划分为多个子网不同网段Windows中可以在网络设置中更改适配器设置查看网关IP 以上两种情况下一跳设备IP地址都可以获取到但该设备的MAC地址即目的MAC可能不知道就需要使用以下ARP寻址
3.4 主机路由器ARP缓存表ARP寻址
首先ARP是一个介于数据链路层和网络层之间的协议ARP协议建立了IP地址与MAC地址的映射关系在数据链路层寻找下一跳设备MAC地址的过程称为ARP寻址
主机和路由器中都保存了一张ARP缓存表通过IP地址可以找到对应的MAC地址。根据下一跳设备的IP地址在ARP缓存表中能找到对应的MAC地址则可以设置目的MAC并发送 数据报。如果找不到则发送ARP广播数据报目的MAC为广播地址询问下一跳设备的MAC地址。
这个过程类似于QQ群喊话张三下一跳设备IP地址我要给你发快递发送数据报请告诉我你的收货地址MAC地址。参见以下流程
3.5 路由器路由NAPT
路由器主要有两个作用
网关
公网是指连接全球范围的互联网它由各种网络设备和基础设施组成用于在全球范围内实现信息传输和数据交换。公网可以被任何人访问和使用例如访问网站、发送电子邮件、视频通话等。
子网是指在一个大的网络中划分出来的较小网络。一个IP地址由两部分组成网络部分和主机部分。子网允许对大型网络进行细分管理并提供更高效的数据传输和资源分配。通过在网络中定义子网掩码可以确定IP地址的网络部分和主机部分。
路由器作为网关可以划分公网和局域网某些路由器还可以将局域网划分为多个子网不同网段家庭用的路由器不能划分局域网子网企业级专业路由器才能划分。
公网端口即WAN口为单独的网卡具有公网IP地址和公网MAC地址。划分的多个子网是由局域网端口即LAN口划分每个端口都有单独的网卡具有该网段IP地址和MAC地址。 路由器作为网关
划分局域网多个子网时可以直接通过ARP寻址找到局域网任意主机。这里的局域网就是路由器下的多个子网组成的局域网。划分公网和局域网时局域网内主机发送数据报到公网主机时需要基于NAPT协议将局域网主机的IP地址和端口号转换为路由器公网IP和端口号指路由器中运行的程序的端口。
局域网IP端口需要转换为公网IP端口原因是接收端返回的响应数据报目的IP和目的端口无法使用局域网IP和端口。
路由
所谓路由即在复杂的网络结构中找出一条通往终点的路线网络通信网络数据传输路由器中的路由功能就类似于规划路线往哪个方向行进能更快到达目的地。
3.6 冲突域
主机之间通过网络设备集线器、交换机的物理端口、网线相连时两个主机在同一时刻同时发送数据报如果存在冲突则该网络范围为一个冲突域Collision Domain。
冲突域是基于第一层物理层又称为碰撞域。 所谓的冲突类似两个人主机在一个房间网络范围同时说话导致房间内其他人无法听清讲话的内容即产生了冲突。 冲突域中的网络通信要解决冲突就得按时间顺序来发送多个数据报同一时刻网络设备只能接收并转发一个数据报多余的会丢弃让发送端主机重新发送。
集线器接收到数据报后是将数据报简单的复制、转发到其他所有端口如果有两个数据报要同时转发就会出现冲突。整个集线器即集线器的所有端口为一个冲突域。 交换机接收到数据报后是将数据报转发到对应的一个端口两个数据报同时转发到不同端口不存在冲突但同时转发到一个端口就出现冲突。即交换机可以分割冲突域分割后一个端口为一个冲突域。
3.7 广播域
广播是指某个网络中的主机同时向网络中其它所有主机发送数据IP、MAC地址设置为广播地址这个数据所能传播到的范围即为广播域Broadcast Domain。
广播域基于第二层数据链路层。
集线器接收到广播数据报仍是简单的复制、转发到其他所有端口所以集线器的所有端口为一个广播域。 交换机接收到广播数据报会转发到其他所有端口而路由器可以隔离广播域
路由器某个LAN口网卡接收到广播数据报如果发现是同网段则丢弃即广播数据不会扩散到路由器以外。 3.8 网络数据传输流程
3.8.1 局域网传输流程集线器
使用集线器网络互联的情况下发送端主机发送数据包时需要先从上到下封装数据报。但封装时目的MAC可能并不知道需要先进行ARP寻址
发送端在本机ARP缓存表中根据目的IP查找对应的MAC地址如果找到则可以在数据链路层以太网帧头中设置目的MAC并发送数据包如果没有找到需要先发送ARP广播请求让接收端即目的主机告诉自己目的MAC是多少发送端更新本机ARP缓存表保存目的IP与目的MAC的映射有了目的MAC就可以按照第2个步骤发送数据了。 如果本机ARP缓存表中找不到目的MAC则需要先发送广播请求
3.8.2 局域网传输流程交换机 3.8.3 局域网传输流程交换机路由器 3.8.4 广域网数据传输流程