[关闭]
@mrz1 2017-12-14T07:28:25.000000Z 字数 6839 阅读 1112

2017-12-12课程笔记(ip、路由)

笔记


回顾三次握手四次挥手

IP地址

它们可唯一标识IP 网络中的每台设备
每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
IP地址由两部分组成:
网络ID:标识网络 每个网段分配一个网络ID
主机ID:标识单个主机 由组织分配给各设备

IPv4地址格式:点分十进制记法

Pv4地址格式:点分十进制记法

IP地址分类

ABCD

  1. A类:0 0000000 -0 1111111: 1-126(0和127是保留的)
    网段数:2^7=128=126(0和127是保留的)
    每个网段中的主机数:2^24-2=16777214
    默认子网掩码:255.0.0.0
  2. B类:10 000000 -10 111111:128-191
    网段数:2^14=16384
    每个网段中的主机数:2^16-2=65534
    默认子网掩码:255.255.0.0
  3. C类:110 0 0000 -110 1 1111: 192-223
    网络数:2^21=2097152
    每个网络中的主机数:2^8-2=254
    默认子网掩码:255.255.255.0
  4. D类:组播1110 0000 -1110 1111: 224-239
  5. E类:240-255

公共IP地址

公共IP地址范围
A 1.0.0.0到9.255.255.255-----11.0.0.0到126.255.255.255
B 128.0.0.0到172.15.255.255-----172.32.0.0到191.255.255.255
C 192.0.0.0到192.167.255.255-----192.169.0.0到223.255.255.255

私有IP地址

私有IP地址范围
A 10.0.0.0到10.255.255.255
B 172.16.0.0到172.31.255.255
C 192.168.0.0到192.168.255.255

特殊地址

0.0.0.0
0.0.0.0不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
127.0.0.1~127.255.255.254
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。
224.0.0.0到239.255.255.255
组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器。224.0.0.5指OSPF路由器,地址多用于一些特定的程序以及多媒体程序
169.254.x.x
如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获取地址,系统会为主机分配这样地址。

保留地址

保留地址

公式

一个网段中主机数=2^主机ID位数-2
网段数=2^可变的网络ID位
网络ID=IP与子网掩码

0与任何数相与结果为0
1与任何数相与结果为保留原值

划分子网的数量=2^网络ID向主机ID借位的位数

划分子网:将一个大网划分多个小网,网络ID位向主机ID借位,网络ID位增多,主机ID变少

实现超网:将多个小网合并成一个大网,主机ID向网络ID借位,网络ID位减少,主机ID变多

CIDR无类

无类域间路由,网络ID位不按整8位划分,按需划分
CIDR表示法:IP/网络ID位数
子网掩码:32位二进制数,前面位为1,后面的位为0,1的位对应表示网络位,0对应的位表示主机ID位

  1. 00000000 0
  2. 10000000 128
  3. 11000000 192
  4. 11100000 224
  5. 11110000 240
  6. 11111000 248
  7. 11111100 252
  8. 11111110 254
  9. 11111111 255

练习

210.222.123.20/26 1.求网络id 2.写出十进制子网掩码

  1. 11010010.11011110.01111011.000101 00 210.222.123.20
  2. 11111111.11111111.11111111.110000 00 255.255.255.192 十进制子网掩码
  3. 11010010.11011110.01111011.000000 00 210.222.123.0 网络id

210.222.123.20/21 1.求网络id 2.写出十进制子网掩码

  1. 11010010.11011110.01111 011.00010100 210.222.123.20
  2. 255. 255.11111 000.0 255.255.248.0 十进制子网掩码
  3. 255. 255.01111 000.0 255.255.120.0 网络id

100.200.250.123/19 1.求网络id 2.写出十进制子网掩码

  1. 100.200.11111010.123
  2. 255.255.11100000.0 255.255.224.0 十进制子网掩码
  3. 100.200.11100000.0 100.200.224.0 网络id

两个主机是否在一个网段?
A:10.0.200.1/24
B:10.0.210.2/16

  1. A---->B(目标主机不可到达)
  2. 通信过程:
  3. 1 IPAA netmask = 10.0.200.1255.255.255.0=10.0.200.0
  4. 2 IPBA netmask = 10.0.210.2255.255.255.0=10.0.210.0
  5. 3 比较上面两个值
  1. A<----B(有去的路回不来,提示超时)
  2. 通信过程:
  3. 1 IPAB netmask = 10.0.200.1255.255.0.0=10.0.0.0
  4. 2 IPBB netmask = 10.0.210.2255.255.0.0=10.0.0.0
  5. 3 比较上面两个值

10.0.0.0/8 中国移动给全国32省划分独立的子网
1新的子网的netmask
2新的子网主机数
3最小和最大的子网的网络ID
4最大的子网的IP范围

  1. 10.00000 000.0.0 借五位
  2. 255.11111000.0.0->255.248.0.0 新的子网的netmask
  3. 2^19-2=524286 新的子网主机数
  4. 10.00000 000.0.0-->10.0.0.0/13 最小子网的网络ID
  5. 10.11111 000.0.0-->10.248.0.0/13 最大的子网的网络ID
  6. 10.11111 000.0.00000001 最小的子网
  7. 10.11111 111.255.254 最大的子网
  8. 10.248.0.1-->10.255.255.254最大的子网的IP范围

10.0.0.0/8 中国移动给全国32省划分独立的子网,第10个子网是河南,对河南各地市划分16个子网
1新的子网的netmask
2新的子网主机数
3最小和最大的子网的网络ID
4最大的子网的IP范围

  1. 10.01001 000.0.0/13 10.72.0.0/13 第十个子网
  2. 10.01001000.0 0000000.0/17 划分16个子网
  3. 255.255.10000000.0 255.255.128.0 新的子网的netmask
  4. 2^15-2=32766 新的子网主机数
  5. 10.01001 000.0 0000000.0 10.72.0.0/17 最小的子网的网络ID
  6. 10.01001 111.1 0000000.0 10.79.128.0/17 最大的子网的网络ID
  7. 10.01001 111.1 0000000.1
  8. 10.01001 111.1 1111111.254
  9. 10.72.0.1/17->10.79.255.254/17 最大的子网的IP范围

实现超网

  1. 220.78.168.0/24 > 220.78.10101 000.0
  2. 220.78.169.0/24 > 220.78.10101 001.0
  3. 220.78.170.0/24 > 220.78.10101 010.0
  4. 220.78.168.0/24 > 220.78.10101 011.0
  5. ......
  6. 220.78.175.0/24 > 220.78.10101 111.0
  7. 由此可以看出
  8. 220.78.168.0/21 超网

跨网络通信

跨网络通信:路由;

路由分类:
主机路由(具体到那个电脑)
网络路由(某个网络区域)
默认路由()

优先级:精度越高,优先级越高

路由表构成

1 网络ID netmask:目标主机所在网络ID
2 接口interface:到达目标主机所在网络ID,从当前router哪个出口发出去,可以到达,出口就是接口
3 网关gateway:到达非直连网络时,将数据发送到下一个路由器的邻近我的接口的IP,即网关

动态主机配置协议DHCP

Created with Raphaël 2.1.2客户端客户端服务器服务器DHCP客户端广播(发现报文discover)DHCP服务器广播(提供消息offer)DHCP客户端对请求(消息作出响应request)DHCP服务器确认消息(结束交换过程ack)

有租期提前一半的时间续租;
第一次失败后 用到八分之七向网络中发送广播;

DHCP

基本网络配置

将Linux主机接入到网络,需要配置网络相关设置。

一般包括如下内容:
主机名(linux主机名本地意义;修改/etc/hosts 文件手动添加则可以具备网络功能)
IP/netmask
路由:默认网关
DNS服务器
主DNS服务器
次DNS服务器
第三DNS服务器

CentOS 6网卡名称

  1. 接口命名方式:CentOS 6
  2. 以太网:eth[0,1,2,...]
  3. pppppp[0,1,2,...](拨号网络)
  4. 网络接口识别并命名相关的udev配置文件:
  5. /etc/udev/rules.d/70-persistent-net.rules
  6. 查看网卡:
  7. dmesg|grep i eth
  8. ethtool -i eth0 //查看网卡驱动
  9. 卸载网卡驱动:
  10. modprobe -r e1000 //卸载网卡驱动
  11. rmmod e1000 //加载网卡驱动
  12. 装载网卡驱动:
  13. modprobe e1000
  14. system-config-network 配置网卡页面
  15. system-config-network-qui 配置网卡页面
  16. setup 都包括

实验:centos6修改网卡名称

  1. vim /etc/udev/rules.d/70-persistent-net.rules 修改这个文件
  2. ethtool -i eth0 //查看网卡驱动
  3. modprobe -r e1000 //卸载网卡驱动
  4. modprobe e1000 //加载网卡驱动
  5. 不行的话就检查以下
  6. service network restart //重新启动网络服务
  7. service NetworkMansger stop //关闭图形界面小电脑
  8. vim /etc/sysconfig/network-scripts/ifcfg-eth0 //删除旧的地址

网络配置方式

  1. 静态指定:
  2. ifconfig, route, netstat(老)
  3. ip: object {link, addr, route}, ss, tc
  4. system-config-network-tuisetup
  5. 配置文件
  6. 动态分配:
  7. DHCP: Dynamic Host Configuration Protocol
  8. [root@centos7 ~]#which netstat 查看来自那个包
  9. /usr/bin/netstat
  10. [root@centos7 ~]#rpm -qf /usr/bin/netstat
  11. net-tools-2.0-0.22.20131004git.el7.x86_64
  12. [root@centos7 ~]#rpm -qi net-tools
  13. package /usr/bin/netstat is not installed

配置网络接口

  1. ifconfig命令
  2. ifconfig[interface]
  3. ifconfig -a
  4. ifconfig IFACE [up|down]
  5. ifconfig interface [aftype] options | address ...
  6. ifconfig IFACE IP/netmask [up]
  7. ifconfig IFACE IP netmask NETMASK
  8. 注意:立即生效
  9. 启用混杂模式:[-]promisc
  10. ifconfig eth1 down 关闭eth1 简写ifdown eth1
  11. ifconfig eth1 up 打开eth1 简写ifup eth1
  12. ifconfig eth1 1.1.1.1/24 临时加ip down up 临时就没了
  13. ifconfig eht1:2 2.2.2.2/24 添加更多的网卡别名
  14. service network restart //重新启动网络服务临时网卡 也就没了
  15. ifconfig -s eth0 查看数据包的统计信息

route命令

  1. 路由管理命令
  2. 查看:route -n
  3. 添加:route add
  4. route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
  5. 目标:192.168.1.3 网关:172.16.0.1
  6. route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
  7. 本机 主机 网关 接口
  8. 目标:192.168.0.0 网关:172.16.0.1
  9. route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
  10. route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
  11. 网络 主机 网关 接口
  12. 默认路由,网关:172.16.0.1
  13. route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
  14. route add default gw 172.16.0.1
  15. 删除:route del
  16. route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]
  17. 目标:192.168.1.3 网关:172.16.0.1
  18. route del -host 192.168.1.3
  19. 目标:192.168.0.0 网关:172.16.0.1
  20. route del -net 192.168.0.0 netmask 255.255.255.0

配置动态路由

通过守护进程获取动态路由
•安装quagga包
•支持多种路由协议:RIP、OSPF和BGP
•命令vtysh配置

netstat命令

  1. netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
  2. 显示网络连接:
  3. netstat[--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
  4. -t: tcp协议相关
  5. -u: udp协议相关(没有状态)
  6. -w: raw socket相关
  7. -l: 处于监听状态
  8. -a: 所有状态
  9. -n: 以数字显示IP和端口;
  10. -e:扩展格式
  11. -p: 显示相关进程及PID
  12. 正在连接远程主机数最多是netsta -nt
  13. Windows查看netsta -nt
  14. 常用组合:-tan, -uan, -tnl, -unl
  15. 显示路由表:
  16. netstat{--route|-r} [--numeric|-n]
  17. -r: 显示内核路由表
  18. -n: 数字格式
  19. 显示接口统计数据:
  20. netstat{--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] netstat -i //每个接口吞吐流量
  21. netstat -Ieth0 //eth0接口吞吐流量
  22. netstat I=IFACE
  23. ifconfig -s eth0 //eth0接口吞吐流量

实验:静态路由

问题

  1. 关闭iptables(防火墙)和selinux
  2. chkconfig iptables off(下次开机启动)
  3. service itpables stop(现在关闭)
  4. vim /etc/sysconfig/selinux或者/etc/selinux/config
  5. SELINUX=disabled或者permissive
  6. setenforce 0 立即生效
  7. 1R1
  8. ifconfig eth0 192.168.27.200/24
  9. ifconfig eth1 10.0.0.200/8
  10. echo 1 > /proc/sys/net/ipv4/ip_forward //默认为0 改为1才能转发数据包
  11. route add -net 172.18.0.0 gw 10.0.0.201 //添加路由
  12. 2R2
  13. ifconfig eth0 172.18.0.200/16
  14. ifconfig eth1 10.0.0.201/8
  15. echo 1 > /proc/sys/net/ipv4/ip_forward //默认为0 改为1才能转发数据包
  16. route add -net 192.168.27.0 gw 10.0.0.200 //添加路由
  17. 3 A
  18. ifconfig eth0 192.168.27.100/24
  19. route add default gw 192.168.27.200 添加网关
  20. [root@centos6 ~]#cat /proc/sys/net/ipv4/ip_forward //默认为0 改为1才能转发数据包
  21. 0
  22. tcpdump -i ens33 -nn icmp //抓包
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注