技术原理 路由器属于网络层设备,能够根据IP包头的信息,选择一条最佳路径,将数据包转发出去。实现不同网段的主机之间的互相访问。路由器是根据路由表进行选路和转发的。 配置R1的静态NAT 配置fa0/0的接口为inside网络。即使用私有IP地址的网络。 网络的数据包source地址,将192.168.118.1的ip静态的翻译成172.168.118.1 Router(config-if)#exit Router(config)#ip nat inside Outside local address(外部本地地址)----为内部网络主机所知的一台外部主机的IP地址。 Outside global address(外部全局地址)----外部网络的某台主机拥有者分配给该主机的IP地址。 更新中。。。。
switch(config-line)# password 5ijsj //设置进入控制台访问的密码 三层交换机 命令 Switch(config)#ip routing //该开启路由功能 Switch(config)#no switchport //该端口启用三层路由功能 Switch(config-if)#ip address 192.168.5.1 255.255.255.0 //配置IP地址 Switch(config-if)#no shutdown //开启端口 用了这么久 总是把线搞忘 因此整理一下 下面为 思科模拟器的 各种线,依次介绍 依次对应 自动选择连接类型 串行DCE线( serial DCE ) DCE(数据通信设备或者数据电路终端设备):该设备和其与通信网络的连接构成了网络终端的用户网络接口。 它提供了到网络的一条物理连接、转发业务量,并且提供了一个用于同步DCE设备和DTE设备之间数据传输的时钟信号。调制解调器和接口卡都是DCE设备的例子。
那么一共只有 2的32次方 个IP地址, 大概是43亿左右. 而TCP/IP协议规定, 每个主机都需要有一个IP地址. 这意味着, 一共只有43亿台主机能接入网络么? 这个就依靠每个节点内部维护一个路由表; [唐僧问路例子2] 路由表可以使用route命令查看 如果目的IP命中了路由表, 就直接转发即可; 路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配 将较大的IP包分成多个小包, 并给每个小包打上标签; 每个小包IP协议头的 16位标识(id) 都是相同的; 每个小包的IP协议头的3位标志字段中, 第2位置为0, 表示允许分片, 第3位来表示结束标记 MSS的值就是在TCP首部的40字节变长选项中(kind=2); MSS和MTU的关系 查看硬件地址和MTU 使用ifconfig命令, 即可查看ip地址, mac地址, 和MTU; ARP 字段为2表示ARP应答。
IPV4地址,由于生态缘故,IPV6并未广泛普及使用; IP标识位 IP标识位作为IP协议的报头字段,用来表示IP数据包是否对传输层传输下来的数据包进行分片处理了; 如果传输层下来的数据包过大,其大小超出了 最大传输单元 MTU其实是为链路层服务的,规定MTU其实就是怕不同的链路层的接收能力不同,所以就规定了一个指标用来控制,防止传输下来的数据包过大; 而检查处理获取合格的大小的数据包,如果过大不合格,需要经过网络层的分片操作分成合格大小的数据包 ; 豆哥发言: 分片产生的原因:网络中不同链路层协议规定了各自的 MTU(最大传输单元),比如以太网的 MTU 通常是 1500 字节。 网络层在将数据封装成 IP 数据包时,会把 TCP 数据包中的数据部分按照 MTU 的大小进行分割。第一个 IP 数据包的报文数据是 “HELLO”,第二个是 “WORLD”。 而 TCP 报头信息在分片过程中不会改变,因为它是用于传输层的端到端通信,与网络层的分片机制无关。
IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。 查找ip有个cmd命令:tracert 后面加ip地址,可以查所经过的路由! 局域网的IP 在一个局域网中,有两个IP地址比较特殊,一个是网络号,一个是广播地址。网络号是用于三层寻址的地址,它代表了整个网络本身;另一个是广播地址,它代表了网络全部的主机。 网络号是网段中的第一个地址,广播地址是网段中的最后一个地址,这两个地址是不能配置在计算机主机上的。 例如在192.168.0.0,255.255.255.0这样的网段中,网络号是192.168.0.0,广播地址是192.168.0.255。 因此,在一个局域网中,能配置在计算机中的地址比网段内的地址要少两个(网络号、广播地址),这些地址称之为主机地址。
——陆陇其 https://github.com/lionsoul2014/ip2region 今天分享一个ip解析库ip2region 这里相关的java实现: https://github.com/ lionsoul2014/ip2region/tree/master/binding/java maven依赖: <dependency> <groupId>org.lionsoul</groupId > <artifactId>ip2region</artifactId> <version>2.7.0</version> </dependency> 然后是完全基于文件的查询 import org.lionsoul.ip2region.xdb.Searcher; import java.io.*; import java.util.concurrent.TimeUnit; public } } 缓存整个xdb 我们也可以预先加载整个 ip2region.xdb 的数据到内存,然后基于这个数据创建查询对象来实现完全基于文件的查询,类似之前的 memory search。
了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP 地址和 MAC 地址。 那么 IP 地址是怎么来的,又是怎么没的?MAC 地址与 IP 地址又有什么区别? 就像 192.168.1.73 ,就是我本机以太网的 IP 地址。 IP 地址是一个网卡在网络世界中的通讯地址,相当于我们现实世界的门牌号码。 这个 24 的含义就是,前24 位是网络号,后 8 位是主机号。 公有 IP 地址和私有 IP 地址 ? 继续看上面的表格。表格最右列是私有 IP 地址段。 无论是在学校还是在办公室,都会有网络管理员把分配好的 IP 给你,直接使用就可以了。但是有时候也会好奇,网管是怎么分配 IP 的呢?难不成通过命令行一个个配置? MAC 地址 在我们查询 IP 地址的输出结果中,有一行: Link encap:Ethernet HWaddr 28:d2:44:ce:77:51 这个被称为 MAC 地址,是一个网卡的物理地址
php
$ip='47.93.97.127';
$long=sprintf("%u",ip2long($ip));//string(9) "794648959" 9位
var_dump($long );
echo "
";
$ip='247.193.197.127';
$long=ip2long($ip);//int(-138295937)
var_dump($long);
echo "
";
$ip='247.193.197.127';
$long2=sprintf("%u",ip2long($ip));
var_dump($long2); //string(10 ) "4156671359" 10位
echo "
";
var_dump(long2ip($long2));//string(15) "247.193.197.127"
$ip=’47.93.97.127
它相当于“张三爸爸”,制定并执行“策略”,以弥补IP层的不足。 2. 16位总长度 作用:指整个IP数据报的总长度,包括头部和数据部分。 详解:单位是字节。由于该字段是16位,最大值为2^16-1=65535字节。 例子2的详细解释 IP地址:140.252.20.68(十六进制:8C FC 14 44) 子网掩码:255.255.255.240(十六进制:FF FF FF F0) 网络号:140.252.20.64 子网地址范围计算:主机位有4位,所以每个子网有 2^4 =16个地址。网络号是 140.252.20.64,结束地址是网络号加15(因为从0到15),即 140.252.20.79。 2.5 IP地址的数量限制 我们知道,IP地址(IPv4)是一个4字节32位的正整数,那么一共只有 2的32次方 个IP地址,大概是43亿左右,而TCP/IP协议规定,每个主机都需要有一个IP地址.
它规定了数据包(也称为IP数据包)在网络中的传输方式,确保了数据能够从一个网络节点传输到另一个网络节点,无论这些节点位于世界的哪个角落。 其实就是在表示当前分片在原报文中处在哪个位置,实际偏移的字节数是这个值 * 8( 2^3 ) 得到的。 子网掩码也是一个32位的正整数,通常用一串 “0” 来结尾 将IP地址和子网掩码进行 “按位与” 操作,得到的结果就是网络号 网络号和主机号的划分与这个IP地址是A类、B类还是C类无关 IP地址与子网掩码做与运算可以得到网络号 *的IP地址用于本机环回(loop back)测试,通常是127.0.0.1 IP地址的数量限制 IP地址(IPv4)是一个4字节32位的正整数,那么一共只有 2^{32} 个IP地址,大概是43亿左右 简单来说就是从主机1到主机2走的路径,中途的路由器会判定能不能直接送达,不能则跳到下一个路由器,路由器能够根据目标地址信息,将数据包从源网络转发到目标网络,确保数据包能够快速准确地到达目的地。
(ip分为共有与私有) 2.ip = 目标网络 + 目标主机(所有网络都是通过子网构成的,一台主机出发的时候会通过路由器到达目标网络,然后再交到目标主机,其中中间会通过很多路由器) 3.网络这个世界是北京新设计过的 路由器的特性 1.路由器本质也是特定的一个子网主机,也是要配置ip。 2.路由器一定至少要连接两个子网,路由器相当于同时再两个子网当中。 FC 14 00 子网地址范围:140.252.20.0~140.252.20.255(实际上能划分主机号的个数是255-2) 140.252.20.0是网络号,140.252.20.255是广播地址 IP 地址为 4 字节; op 字段为 1 表示 ARP 请求,op 字段为 2 表示 ARP 应答。 2.在同一个局域网中,可以通过自己的IP和子网掩码得到网络号,然后拼接IP地址(遍历主机号为1-254),ping所有的主机,得到所有主机的MAC和IP地址。
主要从以下几个方面来介绍: 1.给Linux服务器配置IP(本章节) 2.探测对方网络连通性(ping & telnet) 3.下载对方文件(wget) 4.请求对方服务器(curl) 5.检查本地服务状态 vi 编辑文件,进入以后按i进入编辑模式,删除自带的所有配置,参考最简便的方式配置ip,ip和实际环境相对应。 ,生产环境这个命令要慎重,因为它可能让你失去网络 systemctl restart network #查看ip是否配置正常 ip a //也可以使用ifconfig,默认最小化安装没这个命令 5.配置文件解释 DNS1、DNS2:DNS服务器地址,可以设定一个或者两个,用于域名解析。 具体使用哪些参数取决于你的网络配置需求。 6.总结 1.这个是比较常用的配置ip的方式,永久生效。 2.也可以通过命令直接配置,但是这个重启以后会丢失。 3.ip不仅可以配置单个,也可以配置多个。
主机:一般配有IP地址,路由器一般即配有IP地址, 又能进行路由控制,而节点是主机和路由器的统称。 IP协议不提供可靠性 对于IP,它是由主机号和网络号组合而成,即IP=主机号+网络号。 在网络中,每一个设备节点都有一个唯一的IP地址,而IP地址是由网络号和主机号组成的。 大网络划分成小网络后,每一个小网络都有自己的网络地址和主机地址范围,相应的IP就会在相应的小网络中,便于网络的管理。 网络号: 保证相互连接的两个网段具有不同的标识。 2.私有IP地址可以重复使用,而公网IP不能重复使用,每个公网IP地址只能分配给一个设备使用。 3.私有IP地址可以通过NAT技术进行转换,从而访问公网,而公有IP地址不需要。 转发过程例2: 如果要发送的数据包的目的地址是202.10.1.2依次和路由表前几项进行对比, 发现都不匹配。
(IP协议则是IP地址寻址);如果通信双方在不同网络内,需要网络层中的网络地址进行寻址,即必须通过三层进行 二、IP协议 基本概念: 主机: 配有IP地址, 但是不进行路由控制的设备 路由器: 即配有IP 那么一共只有 2的32次方 个IP地址, 大概是43亿左右. 的主机进行通信为例讲解 NAPT 的工作机制 解释: 主机 163.221.120.9 的端口号是 80,私网中有 2 个客户端 10.0.0.10 和 10.0.0.11 同时进行通信,并且这 2 个客户端的本地端口都是 1025。 此时,仅仅转换 IP 地址为全局地址 202.244.174.37 ,会令转换后的数字完全一致 因此,为了区分这 2 个会话,只要将 10.0.0.11 的端口号转换为 1026 就可以解决问题。
IP协议 IP(Internet Protocol,互联网协议)是 TCP/IP 协议族中最重要的协议之一,它是一种无连接、面向数据报的协议,负责将数据包从源节点传输到目的节点。 IP 协议具有以下特点: IP 协议是无连接的,即发送数据时不需要建立连接,也不需要在数据传输完成后关闭连接。 IP 协议是面向数据报的,即将每个数据包单独封装为一个数据报进行传输。 IP 协议通过 IP 地址唯一标识每个节点,并通过路由协议选择最佳路径进行数据包的转发和路由。 下面是 IP 协议头的结构: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
在linux系统下,经常会遇到要查看当前所在局域网的公网IP地址 最近在解决网络问题时,需要查看本机的出口公网IP信息 由于网络出局错综复杂,第三方接口方,需要提交这边的外网IP地址 可以通过访问一个url ,就可以得到了 curl https://httpbin.org/ip 效果如下: ?
IP协议 IP的意义:IP地址将数据从B主机跨网络可靠的发送给主机C 这里和传输层联系一下:传输层提供的是策略,网络层提供能力。 网段划分 IP地址=网络号+主机号 网络号: 保证相互连接的两个网段具有不同的标识 主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号 不同的子网其实就是把网络号相同的主机放到一起 那么一共只有 2 的 32 次方 个 IP地址, 大概是 43 亿左右. 三种解决方案: 动态分配 IP 地址: 只给接入网络的设备分配 IP 地址. 转发过程例 2: 如果要发送的数据包的目的地址是 202.10.1.2 依次和路由表前几项进行对比, 发现都不匹配 按缺省路由条目, 从 eth0 接口发出去, 发往 192.168.10.1
网段划分 IP地址分为两部分:网络号和主机号 网络号: 保证相互连接的两个网段具有不同的标识; 主机号: 同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号; 不同的子网其实就是把网络号相同的主机放到一起 通过合理设置主机号和网络号,就可以保证在相互连接的网络中,每台主机的 IP 地址都 不相同。 那么问题来了, 手动管理子网内的 IP,是一个相当麻烦的事情。 32 位的正整数, 通常用一串 "0" 来结尾; 将 IP 地址和子网掩码进行 "按位与" 操作, 得到的结果就是网络号; 网络号和主机号的划分与这个 IP 地址是 A 类、B 类还是 C 类无关; 那么一共只有 2 的 32 次方 个 IP 地址,大概是 43 亿左右。而TCP/IP 协议规定,每个主机都需要有一个 IP 地址。 这意味着,一共只有 43 亿台主机能接入网络吗??? *:前 16 位是网络号,共 65,536 个地址 包含在这个范围中的,都称为私有 IP,其余的则称为全局 IP(或公网 IP)。
以上面的拓扑结构为例,在没有配置路由的情况下,计算机1 和 2 无法互相通信,因为 1 发给 2 的包在到达路由器 A 后,它不知道怎么转发它。B 也同样。 管理员可以配置如下的静态路由来实现 1 和 2 之间的通信: 计算机配置默认网关: 计算机1 上:route add default gw 192.168.1.1 计算机2 上:route add default gw 192.168.3.1 路由器配置: R1 上:ip route 192.168.3.0 255.255.255.0 f0/1 (意思为:目标网络地址为 192.168.3.0/24 的数据包, 经过 f0/1 端口发出) R2 上:ip route 192.168.1.0 255.255.255.0 f0/1 (意思为:目标网络地址为 192.168.1.0/24 的数据包,经过 f0/1 端口发出 ) R2 上:ip route 192.168.1.0 255.255.255.0 192.168.2.1 1.1.4 路由分类之动态路由 动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整
ifconfig 早期网络管理的指令,目前Linux新的发行版本很多默认不带ifconfig命令,但可以以通过安装软件包net-tools方式进行使用. ifconfig 查看当前所有 新型的网络管理命令,目前基本取代了ifconfig,新的Linux发行版本时一定有ip命令的。 地址192.168.0.1 或者: ip a a 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1 ip a ip link show 显示网络接口信息 ip link set eth0 up 开启网卡 ip link set eth0 down # 关闭网卡 ip link set eth0 promisc on # 开启网卡的混合模式 ip mtu 1400 # 设置网卡最大传输单元 ip addr show # 显示网卡IP信息 ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址