能让两台或两台以上的计算机相互通信的结构,叫做计算机网络。
为了实现计算机之间能够相互通信,有两个问题需要解决
为了解决这两个问题,人们定义和开发了两种协议
两台计算机,一根交叉网线
首先,你要知道你这台电脑在正在使用什么网络接口。以太网端口通常用“eth”加上一个从0开始的数字来指定。你可以使用ip
命令来查询计算机上的接口:
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
link/loopback 00:00:00:00:00:00 brd ...
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
link/ether dc:a6:32:be:a3:e1 brd ...
3: wlan0: <BROADCAST,MULTICAST> ...
link/ether dc:a6:32:be:a3:e2 brd ...
在这个例子中,eth0
是正确的接口名称。
通常情况下,IP地址是从路由器获得的。当一台电脑连接到一个网络时,它请求一个网络地址,路由器通过MAC地址识别到设备,并给这台电脑分配一个IP地址。这就是计算机在网络上能找到彼此的方法。
在这个简单的网络中,没有路由空荡荡来分配IP地址及注册设备,因此我们需要手动手配IP地址,使用IP
命令来给计算机分配IP地址:
sudo ip address add 192.168.0.0
给另外一台计算机分配IP地址
sudo ip address add 192.168.0.1
现在计算机有了网线连接网口,又有了唯一的IP地址用来识别身份。但是还有一个重要问题:计算机还不知道自己是网络的一部分。
路由器的另外一功能是设置计算机A到机算B的网络网络路径,称作路由表。
路由表可以看作计算机网络的城市地图。
我们可以通过route
命令来查看路由表
$ route
Kernel IP routing table
Destination | Gateway | Genmask | Flags|Metric|Ref | Use | Iface
$
也可以使用ip
命令来查看
$ ip route
$
通过ip
命令一条路由信息:
sudo ip route add 192.168.0.0/24 dev eth0 proto static
这条命令为eth0
接口添加一个地址范围(192.168.0.0~192.168.0.255)的路由表。
它将路由协议设置为“静态”。
通过route
命令来查询路由表:
$ route
Kernel IP routing table
Destination | Gateway | Genmask | ... | Iface
link-local | 0.0.0.0 | 255.255.255.0 | ... | eth0
或使用ip
命令从不同角度来查询路由表:
$ ip route
169.254.0.0/24 dev eth0 proto static scope link
探测相邻网络
现在你的网络有了传输方式、寻址方法以及网络路由表。你可以使用你的计算机联系别的计算机了。
向别的计算机发送一个最简章的消息,就是ping
$ ping -c1 169.254.0.2
64 bytes from 169.254.0.2: icmp_seq=1 ttl=64 time=0.233 ms
--- 169.254.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.244/0.244/0.244/0.000 ms
你可以通过下面的命令看到与你交互的计算机
$ ip neighbour
169.254.0.2 dev eth0 lladdr e8:6a:64:ac:ef:7c STALE
对于多台计算机入网,使用一对一的网线接口的方案是不可行的。所以人们发明了网络交换机。
网络内的计算机都通过网线连接到网络交换机上,相当于一个集线器。它能将收到的消息,发送给所有连在它上面的计算机。由每个计算机本身进行识别这条消息是不是给它的,识别方法就是消息里包括的目标计算机IP地址。
现在还有一种方法,就是连接WIFI AP,这样就也扩充网络。
随着入网的计算机越来越多,每一个都进行配置网络是不切实际的,这时就需要一台专用的设备来自动设置。
原文:https://www.cnblogs.com/hanyli/p/14802157.html