Linux 网络基础

1. 网络的分类

  • 局域网(Local Area Network, LAN)是指范围在几百米到十几公里内办公楼群或校园内的计算机互相连接所构成的计算机网络。
  • 城域网(Metropolitan Area Network, MAN )所采用的技术基本上与局域网想类似,只是规模上要更大一些,城域网既可以覆盖相距不远的几栋办公楼,也可以覆盖一个城市。
  • 广域网(Wide Area Network, WAN)通常跨接很大的物理范围,如一个国家。

除了上述的划分,网络还可以按照所有者分为公网,私网,这是两种internet接入方式,以公网接入方式上网的计算机得到的IP 是internet 上的非保留地址(供世界计算机设备分配的ip,此ip可作为身份标识),公网的计算机和internet上的其他计算机可以随意互联。私网则反之,其使用的是保留地址(类似于192.168.X.X,不可在公网作为身份标识)。

2. IP 地址

ip(internet protocol)意思是“网络之间互联的协议”,也就是为计算机网络相互连接通信而设计的协议。

ip地址类型分为: 公有IP地址,私有IP地址

  • 公有IP地址 (public address):公有地址由inter NIC (internet network information center, 因特网信息中心)负责,这些ip地址分配给注册并向inter NIC 提出申请的组织机构,通过它访问互联网。

公网ip分类:

类型 最大网络数 ip地址范围 最大主机数
A 类 126(2^7-2) 1.0.0.0 - 127.255.255.255 16777214
B 类 16384 (2^14 ) 128.0.0.0 - 191.255.255.255 65534
C 类 2097152 (2^21) 192.0.0.0 - 223.255.255.255 254
  • 私有IP地址(private address):属于非注册地址,专门为组织内部使用,例如:

私网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 家庭,工作室等

3. 网卡

网卡是一个网络组建,属于硬件。主要负责计算机之间数据的封装和解封。

  • MAC地址:网卡的物理地址,也是网卡的标识,默认是全球唯一的,但是特殊情况下可以改。

MAC 与IP的区别:

  • 长度不同: ip为32位(实际上ip为4组每组8位的二进制值), MAC 为48位
  • 分配依据不同:ip除某些服务器是固定ip外其他都是动态的,并且隔一段时间就会更换一次(地址租期),而MAC 是网卡在出厂时生产商分配的。
  • 网络寻址不同:由OSI 参考模型,ip地址是基于第三层工作(网络层),而MAC地址是基于第二层(数据链路层)工作的。

4. 网线

网线是连接网络必不可少的,在网络中常见的网线主要有双绞线(RJ 45),铜轴电缆,光纤。

5. 交换机

交换机(switch)是一种用于电(光)信号转发的网络设备,交换机可以为接入交换机的任意两个网络节点提供独享的电信号通路。目前主要品牌有:华为,华三(H3C),思科,锐捷

6. 路由器

路由器(Router)也叫网关设备(Gateway)是用于链接多个逻辑上分开,相对独立的网络。

7. 拓扑结构图

所谓“拓扑”就是把实体抽象成与其大小,形状无关的“点”,而把连接实体的线路抽象成“线”,进而以图示来表示这些点和线之间的方法,其目的在于研究这些点,线之间的相互关系,表示点和线之间关系的图被称为拓扑结构图。
常见的网络拓扑结构:星型结构, 总线结构,环形结构,树型结构,网状拓扑结构,混合型结构,蜂窝网络结构

8. 相关命令

8.1 ping

检测当前主机与目标主机之间的联通性,但是不一定准确,有些服务器不回复ping请求

  • 语法:ping 主机地址 //也可使用ip地址,域名,主机名等

该命令在windows和linux下通用,区别是linux 下默认是一直ping,而windows默认只发送4次数据包。

8.2 netstat

表示查看网络的连接信息

  • 语法1:netstat -ntlp

    -t: 只显示tcp协议
    -n: 将字母转化为数字
    -l: 列出状态为监听的服务
    -p: 显示进程相关信息

  • 语法2:netstat -an
    -a:列出所有网络服务
    -n:将数字转化为数字
    [tcp] : 通过浏览器访问,则一般是tcp协议
    [udp] : 通过客户端访问,一般是udp协议

8.3 traceroute

查找当前主机与目标主机之间的所有网关,但并不是所有路由器都响应此请求。此命令会给沿途所有网关发送一个icmp的数据包,该命令需要安装。类似与查看快递沿途到了那些地方

  • 语法:traceroute 主机地址 //也可使用ip地址,域名,主机名等

在windows下也有类似命令:tracert 主机地址 相比与linux下的命令,tracert 速度更慢,但是丢包率小,linux 下一旦有一个路由拒绝访问,基本上就无法再跟踪接下来的路由器。

在线工具网站: tool.chinaz.com

8.4 arp

地址解析协议ARP(Address Resolution Protocol),是一个根据ip地址解析物理地址(mac)的协议。

  • 当一个主机发送数据时,首先查看本机MAC地址缓存中有没有目标主机的MAC地址,如果有就使用缓存中的结果,如果没有,arp协议就会发出一个广播,该广播数据包要求查询目标主机ip地址对应的mac地址,拥有该ip的主机会发出回应,回应中包含目标主机的mac地址,这样发送方就获得了目标主机的mac地址。

  • 如果目标主机不在本地子网中,则arp解析到的mac地址是默认网关的mac地址

  • 语法:arp 选项
    -a : 查看本地的mac地址缓存。
    -d 主机地址 : 删除指定的主机地址缓存

  • windows下也是同样的用法,但是windows下的arp命令可以获取跟网卡通信过的所有ip的mac地址

8.5 tcpdump

一般用来抓取数据包。

  • 语法:

    1. tcpdump 协议 port 端口号 //监听此端口号下符合制定协议的数据包
    2. tcpdump 协议 port 端口号 host 主机地址 //监听次端口号下符合指定协议的数据包并过滤出由指定主机发出的包
    3. tcpdump -i 网卡设备名称 // 监听所有经过此网卡的数据包

    案例: 抓取22号端口的数据包
    tcpdump port 22
    例如:00:09:17.xxxx IP 192.158.21.1.rimf-ps > 192.168.21.136.ssh 00:09:17.xxxx :监听数据的精确时间
    IP :使用的协议类型
    ">"数据的流向
    192.158.21.136:数据包的一个方向
    192.158.21.1 : 数据包的另一个方向


本文章使用limfx的vscode插件快速发布