本人习惯边学习,边总结精华,以下内容就是学习linuxcast.net的nash_su老师学习的个人笔记。
另外个人强烈推荐itercast.net教学视频,虽然现在服务器已关闭,但是在百度云上还是有一整套视频下载。
IP编址
- IP地址是一个双层编址方案,一个IP地址标识一个主机(更准确地说是一个网卡接口)
- 现在应用最广泛的是IPV4编址,已经开始逐渐向IPV6编址切换
- IPV4地址为32位长,IPV6地址为128位长
- 一个IPV4地址分为两部分:网络部分和主机部分
- 网络部分用来标识所属区域(像家庭住址),主机部分用来标识该区域中的哪个主机(像姓名)
- IPV4地址共32位,通常使用点分十进制方式表示
- 整个IP地址分为4个部分,每个部分8位(二进制)
标红的部分,是点分十进制,即用点分开的十进制数字。
下面的一排是二进制数字,总共32位。
子网掩码
- 我们通过子网掩码来确定IP地址网络部分的位数
- IP地址和子网掩码是成对出现的
- 子网掩码与IP地址一样,拥有32bit,每一位与IP地址中的每一位一一对应
- IP地址中相对应子网掩码为1的部分为网络部分,也就是IP地址所属于哪一块区域
此图中,可以明显看到子网掩码中前24位表示IP地址的网络部分,换句话说,所有IP地址为192.168.1.xxx都为同一网络区域。
通信
同一网络
Mac地址(网卡地址)用于在同一个网络区域内,不同主机通过地址解析协议(ARP)进行通讯。
不同网络
通过路由器(一个或若干个)转发
在不同网络之间传输数据的功能叫做路由功能,一般有多个接口,连接到不同的网络中,并且通过路由表进行数据转发。
域名
.net一般指的是网络公司
.com 一般指的是普通盈利性公司
.org 一般指的是免费的或开源的机构
.edu 一般指的是教育机构
.gov 一般指的是政府机构
DNS
每个域名代表一个IP,而DNS服务就是用来在IP于域名之间进行转换的。域名只是为了方便记忆,真正的数据传输通信还是通过IP地址。域名向IP地址的转换,通过DNS服务器。
一般一台电脑请求一个域名,会先把请求发送给DNS服务器,然后DNS解析域名,转换为IP地址响应给客户端,客户端拿着IP地址再去访问相应的主机或服务器。
对于linux系统有非常有用的网络调试指令:
测试网络连通性
ping ip
ping 域名
测试DNS解析
host + 域名
dig + 域名
显示路由表
ip route
追踪到达目标地址的网络路径
traceroute + 域名
使用mtr进行网络质量测试
mtr + 域名
故障排查
和做其他任何事情一样,网络连接不正常故障排查也是有顺序的,有诀窍的。
总的原则:故障排查遵循从底层到高层,从自身到外部的流程。
依照如下顺序,一步一步排查: