linux网络

查看自己计算机的IP地址

ifconfig

子网

子网就是一组相互连接的、带有按序排列的IP地址的主机。通常这组主机会在同一个物理网络
中。例如,10.23.2.1至10.23.2.254的主机可以构成一个子网,甚至10.23.1.1至10.23.255.254
的都可以。
划分子网需要考虑两点:一个是网络前缀,一个是子网掩码( Mask )。假若你要建立一个包含10.23.2.1到10.23.2.254的子网,那么它们通用的网络前缀就是10.23.2.0,子网掩码就是255.255.255.0。

前缀和掩码是怎样表示子网中的可用IP的?将点分四组序列转换成位,会比较易懂。掩码标
记了子网内主机能共用的IP位。现将10.23.2.0和255.255.255.0转换成位:

10.23.2.0:          00001010 00010111 00000010 00000000
255.255.255.0:		11111111 11111111 11111111 00000000

再将前缀中与掩码的那些1对应的位加粗: 相与的结果
00001010 00010111 00000010 00000000

可将剩下未加粗部分的任何位设为1,以获得可用的IP地址(除了全0和全1)。
把它们合在一起,你就知道一个IP为10.23.2.1、子网掩码为255.255.255.0的主机是如何跟其
他以10.23.2打头的主机共处一个子网的了。这整个子网可记为10.23.2.0/255.255.255.0。

路由和内核路由表

将各子网连通的过程,就是识别路由器的过程。

地址为10.23.2.4的主机A能够直接访问本地网络10.23.2.0/24上的其他主机。当要访问互联网上的其他主机时,它需要通过IP为10.23.2.1的路由器。

Linux内核是如何区分两个不同类型的目标地址的呢?其实,它是通过一种叫路由表的配置
文件来决定自身的路由行为的。 route -n 命令可以显示出路由表

在这里插入图片描述

最后两行显示路由信息。 Destination 列是网络前缀, Genmask 列是对应的掩码。这里有两个
网络:0.0.0.0/0(所有IP都可在这里找到对应)和 10.23.2.0/24。每个网络的 Flags 列都有个 U ,意
味着该路由是活动的。

这些Destination的差异在于 Gateway 与 Flags 的组合。0.0.0.0/0的 Flags 有 G ,表示需要通过
Gateway (10.23.2.1)才能访问它。而10.23.2.0/24的 Flags 无 G ,表示它能被直接访问。该行的 Gateway
列记为0.0.0.0,其他列暂时不管。

注解 : -n 选项指定显示IP地址而非主机名和网络名。这个选项值得记住,因为其他网络命令如
netstat 也有该项。

默认网关

  • 0.0.0.0/0能匹配互联网中的所有IP,它是默认路由,其 Gateway 列( route -n 所示的)的地址
    是默认网关。如果目标地址没有匹配到其他网络,那就将信息从默认网关送出,到默认路由里找。
    你可以给主机取消默认网关的配置,那它将只能访问路由表中所剩的网域。

基本 ICMP 和 DNS 工具

用于查找路由和连接问题的网际控制报文协议(Internet Control Message Protocol,以下简称ICMP),以及使用名称代替IP地址以便人们记忆的域名系统(Domain Name Service,以下简称DNS)。

ping

  • ping (见http://ftp.arl.mil/~mike/ping.html)是最常见的网络调试工具之一。它发送一个ICMP
    请求报文给一台主机,这会使该接收者回送报文。
    在这里插入图片描述
  • 来回时间是指数据包从发出到收回所经历的时间。如果包无法到到目的地,那么最后一站的路由器会返回 host unreachable (无法到达主机)的信息。有线局域网应该做到没有丢包和快速响应(上面的例子来自无线局域网)。

注解: 因为一些安全性问题,互联网上有些主机是不会响应ICMP请求的,所以你可能打得开一
些网站,但使用 ping 却无法收到响应。

raceroute

  • traceroute 这 个 基 于 ICMP 的 工 具 。 执 行traceroute host 能显示数据包到达目标主机所走过的路。( traceroute -n 主机名不查找主机名。)它的优点之一,就是能告诉你每个路由之间的回程用时
  • traceroute 的输出信息可能会不连续,在某步出现超时,而后面的步又能正常显示。那很可
    能是那一步的路由拒绝返回 traceroute 想要的调试信息,而往后的路由却愿意返回结果。此外,
    一些路由或者会推迟处理那些调试请求,而优先处理那些不带调试的。

DNS与 host

  • IP地址难记而且常更换,所以我们用www.example.com这种名字来指代它。你系统上的DNS库通常会帮你搞定这种转换,但有时你可能会想自己手动转换。 host 命令用于找出域名的IP地址:
  • 也可以用 host 来反查IP地址的域名,即输入IP地址而不是域名。不过这个不太可靠。因为不同的主机名可以指向同一个IP地址,所以DNS无法得知哪个主机名才是你要的

物理层与以太网

物理层:以太网。在IEEE 802标准的家族中,以太网有很多种,从有线到无线,但它们总有一些共性,如下所列。

  • 有以太网上的设备都有各自的介质访问控制(Media Access Control,以下简称MAC)地址,有时这也叫硬件地址。它与主机的IP地址无关,而且它在主机所处的以太网中是唯一的(但在互联网这种大型的软件网络中不一定唯一)。MAC地址形如10:78:d2:eb:76:97。
  • 以太网上的设备以帧的形式发送信息,帧里除了实际的数据,还有发送者和接收者的MAC地址。

以太网是一个单独的网络。假设你有一台主机连接了两个不同类型的以太网(两个不同的网络接口设备),你是无法直接使帧通过该主机从一个以太网传送到另一个以太网的,除非该主机建立了一种特殊的桥梁。而这就是网际层(如互联网层)的工作了。一般约定一个以太网就是一个互联网中的子网。如果要将帧送到另一个子网,工作在网际层的路由器会把它解包,重新封装,再发给目标,这也正是互联网的做法。

理解内核网络接口

网际层与物理层的连接方式必须使得网际层拥有不依赖于硬件环境的灵活性。Linux内核自
有一套用于沟通这两层的方法,叫作(内核)网络接口。所谓配置网络接口,就是把网际层的IP
地址跟物理层的硬件标识对应起来。网络接口的名字通常概括了它的硬件类型,例如eth0(计算
机的第一块以太网卡)和wlan0(无线接口)。

配置网络接口

(1) 接上网络硬件,并保证内核有它的驱动。如果有,可以使用 ifconfig -a 来显示该硬件对应的网络接口。
(2) 进行任意物理层设置,如可以配置网络名称和密码。
(3) 给网络接口绑定一个IP地址和掩码,使得驱动(物理层)能识别子网(网际层)。
(4) 添加必要的路由,包括默认网关。
如果是一些连在一起的大型工作站,那会简单一些:第一步由内核来做,第二步不用做,第三步和第四步分别需要你用 ifconfig 和 route 命令来执行。

手动设置IP地址和掩码,需要执行以下命令:

ifconfig interface address netmask mask
这里 interface 是网络接口的名字,例如 eth0 。当网络接口能用了的时候,就可以添加路由
了(其实就是设置默认网关):
route add default gw gw-address
参数 gw-address 是你默认网关的IP地址,它必须处于你其中一个网络接口的地址和掩码所定
义的子网之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug钞能力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值