在日常上网过程中,无论是刷网页、看视频还是聊天,数据总得从一台设备传到另一台。这个过程就像寄快递,需要写清楚寄件人和收件人的地址。在网络通信中,负责“写地址”和“找地址”的就是网络层协议栈中的寻址方式。
IP地址:网络世界的门牌号
每台联网设备都会被分配一个IP地址,就像每家每户都有一个唯一的门牌号。目前主流的是IPv4和IPv6两种格式。IPv4由四个0到255之间的数字组成,比如192.168.1.100;而IPv6则更长,像2001:0db8:85a3::8a2e:0370:7334,能提供的地址数量几乎是无限的。
当你在办公室用笔记本访问公司官网时,你的电脑会通过DHCP自动获取一个内网IP,比如192.168.1.100。这个地址让路由器知道该把回信发给谁。
子网掩码:划分地址范围的尺子
光有IP还不够,还得知道哪些设备属于同一个局域网。这时候就需要子网掩码。它用来区分网络部分和主机部分。例如,IP是192.168.1.100,子网掩码是255.255.255.0,那就说明前三个段是网络号,最后一个段是主机号。
这就好比一栋楼里有100个房间(192.168.1.x),只要前三位一样,就说明在同一层楼,可以直接敲门送信,不用走楼梯间转发。
默认网关:跨网络通信的桥梁
如果目标IP不在本地网络,比如你想访问百度的服务器,数据就得交给“出口负责人”——默认网关。通常是路由器的内网地址,如192.168.1.1。它负责把数据包转发到外网,一路送到目的地。
你可以把它想象成小区的快递代收点。你寄出的包裹先交给代收点,再由他们联系更大的物流中心进行运输。
路由表:数据包的导航地图
系统怎么知道该把数据往哪发?靠的是路由表。它记录了不同网络地址该走哪条路径。可以用命令查看当前系统的路由信息:
route print # Windows
ip route show # Linux
当数据包出发前,系统会查这张“地图”,决定是直接本地投递,还是交给网关转发。
DNS解析:把域名翻译成IP
我们记不住IP地址,所以用域名来访问网站,比如www.baidu.com。但网络层只认IP,这就需要DNS帮忙翻译。当你在浏览器输入网址后,系统会向DNS服务器发起查询,拿到对应的IP地址后再建立连接。
这个过程就像查电话簿,名字对应号码,有了号码才能拨通电话。
ARP协议:找到局域网内的MAC地址
虽然网络层用IP寻址,但真正传输时,数据链路层需要用MAC地址。ARP协议的作用就是根据IP查出对应的MAC地址。比如,你的电脑要发数据给192.168.1.101,就会广播问一句:“谁是192.168.1.101?请告诉我你的MAC地址。”对方回应后,通信就能开始。
这个机制确保了数据能在局域网里精准送达每一台设备。