0719_Linux基础(12)

225 阅读3分钟

TCP/ IP 网络模型

TCP/IP 网络模型是一种简化的四层协议,以便计算机通过互联网流量互通信息,这四层分别是:应用层、传输层、网络层、数据链路层。 网络这一块不是本篇笔记的重点,本篇笔记主要记录在 Linux 如何使用相关命令查看、修改网络的配置信息。

IPV4 网络

IPv4 是当今互联网上主要使用的网络协议。IP 地址 是一个 32 位的数字,通常我们会使用点分十进制(四组 0 ~ 255 的数字),此类地址分为两个部分:网络位和主机位。位于同一个子网(网络位相同)的主机无需经过路由设备即可通信,同一个子网中的各个电脑 IP 的主机位一定要不相同,不然会产生冲突。

那如何去获取某一个 IP 地址的网络位(或者说网络地址)呢?答案就是子网掩码,通过子网掩码与 IP 地址进行与操作,就可以得到主机的网络位啦。

在同一个子网中有两个特殊的地址,一个是主机位全为 0 (称为网络地址),另一个主机位全为 1 (称为广播地址),这两个 IP 是不会分配给主机的。

下一代的IP协议叫做 IPv6,它是由 128 位数字组成,足够为世界上所有的沙子分配 IP 地址了,不过现在普及率不高

路由

上面说到,在同一个网段中能够不经过路由就进行通信,那在不同的网段中的两台主机要通信,则一定会经过路由设备。 路由的过程其实说简单也简单,就是将流量转发到最有可能的下一个路由设备上去,经过重重传递到达目的地。

基本网络信息查看

使用 ip link show 能够列出系统上的所有网络接口,使用 ip addr show 命令可以查看单个网络接口的详细信息。

需要显示关于网络性能的统计信息的话,则需要使用 ip -s link show 命令了。

检查主机之间的连接

如何查看两个主机之间是否连通呢,ping 命令相信都不模式, Windows 的 cmd 控制台里也有这样一个命令。不过在 linux 系统下,使用会稍微有点差异。如果只使用 ping命令,会一直执行,直到手动终止,所以一般我们都会这样去使用 ping -c4

查看路由表

使用 ip route 可以查看路由表信息,如果 ip -6 route 则是查看 IPv6 路由表。

追踪流量

若需要追踪流量通过多少个路由器到达远程主机,则可以使用 traceroute (如果没有,需要安装,或使用旧的 tracepath 命令),这个命令默认使用 UDP 数据包来追踪路径,以便快速的识别某个路由器或中间路由器是否存在问题。(你会发现,有可能存在 三个星号的问题,这可能是防火墙封掉了ICMP的返回信息)。

同样 traceroute -6 表示对 IPv6 的流量追踪。

额外提一句 ss (新)命令可以用来获取socket统计信息,它可以显示和 netstat (旧)命令类似的内容。

1.png

2.png