计算机网络复习(第二天)
trunk作用: 实现跨交换机的相同vlan之间的通信,只要一条链路--》干道
16进制
前24位是厂商,后24位是厂商生产的网卡的唯一标识
ip --》internet protocol 互联网协议
协议--》理解为语言,用于不同设备之间的沟通
设备 --》人
ip地址 --》互联网中每台电脑或者终端设备需要的一个通信地址
ipv4 --》internet protocol version 4 --》软件
32位二进制组成
ipv6 --》internet protocol version 6 --》软件
128位二进制组成
========================
nslookup www.qq.com 这条命令用来:查询域名对应的ip地址
域名 --》www.qq.com --》名字
ip -->身份证号码 电话号码
dns 域名查询系统-》相当于通讯簿
过程:名字 ---》dns --》ip(输入一个名字,通过dns查询到真实的ip地址)
域名是方便人好记,实际通信过程中使用的是ip地址
=====================
ip地址由两部分组成,网络部分(NETWORK),主机部分(HOST)
以下是公网上使用的地址:
A: 1~127
127.0.0.1 本地的回环地址 --》用来测试tcp/ip协议 --》任何一台电脑都有
ip地址的分类:
1~126(A类真正的地址范围)
B: 128~191
C: 192~223
其中D类和E类分别用于组播和科研,不在公网上使用
A类一个网络部分,三个主机部分(可分配IP地址为2的24次方,最多)
B类两个网络部分,两个主机部分(2的16次方)
C类三个网络部分,一个主机部分(2的8次方,即256,最多可以有254个主机,因为0和255通常保留,不用于主机地址)
- 网络地址:主机部分全为
0
(如192.168.1.0
),用于标识网络本身。 - 广播地址:主机部分全为
1
(如192.168.1.255
),用于广播通信。
以下是私有地址使用的地址
满足企业用户在内部网络中使用的需求
私有地址不能在Internet上使用
私有地址包括3组
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
NAT ---》网络地址转换 network address translation
私有地址 《--》公有地址
NAT技术可以解决ipv4地址不足的问题
NAT原理,对内部使用LAN口(私有地址),对外使用WAN口(公有地址),这样就由原来的1对1变成了1对多。
================================
IP地址和子网掩码进行与运算(&),来确定IP地址的网段
网段=网络地址 网络部分
A、B、C三类地址的默认子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
例子:
172.16.1.2 255.255.0.0 -->172.16.0.0
172.18.2.2 255.255.0.0 -->172.18.0.0
不同网段之间通信,需要使用路由器,路由器就是实现跨网段通信的设备
linux里如何查看ip地址和静态配置ip地址
ip add
ifconfig -->interface 接口 config 配置
[root@localhost network-scripts]# ip route 查看网关
ifconfig -->interface 接口 config 配置
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ 这个路径还是得记一下,etc下面的系统配置目录,再下面的网络脚本,再下面就ls展开可以找到ifcfg-ens33 ,ens33网卡的接口配置文件
[root@localhost network-scripts]#
[root@localhost network-scripts]# ls
ifcfg-ens33 ifdown-bnep ifdown-ipv6 ifdown-ppp ifdown-Team ifup ifup-eth ifup-isdn ifup-post ifup-sit ifup-tunnel network-functions
ifcfg-lo ifdown-eth ifdown-isdn ifdown-routes ifdown-TeamPort ifup-aliases ifup-ippp ifup-plip ifup-ppp ifup-Team ifup-wireless network-functions-ipv6
ifdown ifdown-ippp ifdown-post ifdown-sit ifdown-tunnel ifup-bnep ifup-ipv6 ifup-plusb ifup-routes ifup-TeamPort init.ipv6-global
[root@localhost network-scripts]# vim ifcfg-ens33
ifcfg-ens33 是ens33网卡对应的配置文件
输入命令vim ifcfg-ens33 进入配置文件(每一处的意义要清楚):
BOOTPROTO="dhcp"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.1.18
NETMASK=255.255.255.0
#PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=222.246.129.80
[root@localhost network-scripts]# cat /etc/resolv.conf 查看dns服务器地址
======================================================================
网关是网络的关卡,是路由器LAN口,LAN口配置的ip地址就是网关的ip地址
===========================================================
IP数据包格式,死记硬背记下来
最好全记下,记不住就记住最重要的五个,打勾部分
IP包头的总长度默认是20个字节
帧头 18个字节(mac地址+目的地址),帧的范围是64-1518,MTU最大传输单元-1500,这些都得记住
===========================
ip地址
网络部分 + 主机部分
主机部分全为0 --》网段地址
主机部分全为1 --》广播地址
2^8 -2
路由器一个接口就是一个广播域,会隔离广播
===========================
重点!
arp工作原理
什么是ARP协议
Address Resolution Protocol,地址解析协议
将一个已知的IP地址解析成MAC地址
每台电脑和路由器里都有一个arp缓存表
记录哪些ip对应哪些mac地址
arp报文
arp请求报文 request --》广播
arp响应报文 response --》单播
arp -n
arp工作原理,自己回顾一下,不好描述,不记得了就回去再复习:
============
Linux里面的抓包工具,相当于windows里面的科来网络分析系统软件
root@localhost network-scripts]# yum install tcpdump -y
[root@localhost network-scripts]# tcpdump -i ens33 arp -nn 抓ens33接口上的arp报文
===================================
路由器工作原理
路由器 router
route 路由
路由器里有路由表
路由表里有路由信息(条目)
目标网段 + 接口(路由器)
当路由表里面没有相应的条目的时候,会直接丢弃该数据包
两条命令可以查看路由
[root@localhost network-scripts]# ip route
default via 192.168.1.1 dev ens33 proto static metric 100
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.18 metric 100
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost network-scripts]#
路由表是存放在内核里,内核是一个程序运行在内存里
路由表是动态形成的(这一块理解有难度)
直连路由: 需要配置ip地址,并且链路是up (一个lan口就是一个网卡,就是网关的地址)
静态路由(单向的,如果添加了a到b路由器的IP地址,还要再b路由器添加到a路由器的IP才能ping通): 需要自己添加
默认路由: 是特殊的静态路由,当不知道目标网段的时候,都走这条路由
动态路由: 是需要配置动态路由协议,路由器互相之间告诉对方能到达哪里,不需要手工去配置,自动学习自动配置
下一跳地址(上图中路由表里面的接口也可以换成这个): 可以是路由器自己接口的名字或者是对方路由器接口的ip地址
[root@localhost network-scripts]# ip route add 192.168.30.0/24 via 192.168.1.1
目标网段和目标网段的子网掩码 下一跳地址
[root@localhost network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ens33 默认路由
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 直连路由
192.168.30.0 192.168.1.1 255.255.255.0 UG 0 0 0 ens33 静态路由
[root@localhost network-scripts]#
0.0.0.0 代表任意ip地址
优先级
直连路由---》静态路由---》动态路由--》默认路由
各种命令都记一下(默认路由是在不知道往哪走的时候都会必经之地,所以没它走不出去):
[root@localhost network-scripts]# ip route del default 删除默认路由
[root@localhost network-scripts]# ip route
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.18 metric 100
192.168.30.0/24 via 192.168.1.1 dev ens33
[root@localhost network-scripts]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@localhost network-scripts]# ping 192.168.50.1
connect: 网络不可达
[root@localhost network-scripts]# ip route add default via 192.168.1.1 添加默认路由
[root@localhost network-scripts]# ip route
default via 192.168.1.1 dev ens33
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.18 metric 100
192.168.30.0/24 via 192.168.1.1 dev ens33
[root@localhost network-scripts]#
电脑里配置网关地址就是添加一条默认路由
[root@localhost network-scripts]# ip route del 192.168.30.0/24 via 192.168.1.1 删除静态路由
[root@localhost network-scripts]# ip route
default via 192.168.1.1 dev ens33
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.18 metric 100
[root@localhost network-scripts]# ip route add 192.168.30.0/24 via 192.168.1.1 添加静态路由
[root@localhost network-scripts]# ip route
default via 192.168.1.1 dev ens33
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.18 metric 100
192.168.30.0/24 via 192.168.1.1 dev ens33
[root@localhost network-scripts]#