本文是在阅读完《计算机是怎样跑起来的》后,对第九章的部分整理。

缩略语

  • TCP/IP:Transmission Control Protocol / Internet Protocol,传输控制协议 / 因特网互联协议
  • LAN:Local Area Network,局域网
  • WAN:Wide Area Network,广域网
  • WLAN:Wireless Local Area Networks,无线局域网
  • DHCP :Dynamic Host Configuration Protocol,动态主机设置协议

查看网卡的MAC地址

在 cmd 中输入

ipconfig /all

可以看到显示了很多信息,显示的物理地址就是MAC地址。

查看计算机的IP地址

IP地址是一个32位比特的整数,每8比特为一组,组间用“.”分隔,分成4段表示。8比特所表示的整数换算成十进制后范围是0~255,因此可用作IP地址的整数是0.0.0.0~255.255.255.255。
同样,在 cmd 中输入

ipconfig /all

可以看到所需的信息

路由器是数据传输过程中的引路人

在分组管理下,IP地址中的网络地址部分可以代表一个组中的全部计算机,即一个LAN中的计算机全体。互联网就是用路由器把多个LAN连接起来所形成的一张大网。
路由器(Router,又称路径器)是一种电讯网络设备,提供路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转送。路由工作在OSI模型的第三层——即网络层。
在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。
在 cmd 中输入

route print

列出路由表。
路由表由5列构成

  1. Network Destination(网络目标,数据发送的目的地,数据包需要发送到的下一个路由器的 IP 地址)
    Network Destination是目标主机、子网地址、网络地址或默认路由。默认路由的目标为 0.0.0.0。
  2. Netmask(网络掩码,网络掩码与目标结合使用以决定使用路由的时间)
  3. Gateway(网关,数据包需要发送到的下一个路由器的 IP 地址)
  4. Interface(接口,用于接通下一个路由器的 LAN 或请求拨号接口)
  5. Metric(跃点数,路径的权重)。

查看路由器的路由过程

数据经过路由器转发的过程称为“路由”(Routing)。
在 cmd 中执行 tracert 命令后,就可以查看路由的过程。执行时需要在 tracert 的后面指定一个主机名(或计算机名),作为数据的发送目的地。这样看到的转发路径是相反的。

tracert www.baidu.com

通过查看路由的过程,我们可以看到实验结果按照1~13的顺序列出了数据前进道路上途径的IP地址。最后的第13行是指定主机名的Web服务器。

DNS服务器可以把主机名解析成IP地址

叫做DNS(Domain Name System,域名系统)的服务器把域名解析为IP地址。正如上面查看路由过程时,我们所看到的那样,指定的主机名解析为最后一行的IP地址。
在 cmd 中执行 nslookup

nslookup

屏幕上会显示一个提示符“>”,表示现在可以询问DNS服务器了。
提示符上面的前两行是LAN内的DNS服务器的FQDN(Fully Qualified Domain Name,完整限定域名)和IP地址。
试着输入www.baidu.com,然后按下Enter键,结果会输出Baidu的Web服务器的IP地址。
想要退出nslookup,输入exit即可。

查看IP地址和MAC地址的对应关系

实现由IP地址到MAC地址的转换,这种功能被称作ARP(Address Resolution Protocol,地址解析协议)。
同时向所有LAN内的计算机发送数据的过程称作“广播”(Broadcast)。通过广播询问,如果有某台计算机回复了MAC地址,那么这台计算机的IP地址和MAC地址的对应关系也就明确了。
ARP的工作流程是自动进行的。ARP提供了缓存的功能,当向各个计算机都询问完一轮后,会把得到的MAC地址和IP地址的对应关系缓存起来(临时保存在内存中)。存起来的这些对应关系信息称作“ARP缓存表”。
在 cmd 中输入

arp -a

查看当前ARP缓存表中的内容。


最后推荐一下《图解TCP/IP》这本书,我目前还没开始看……