学习笔记 |《计算机是怎样跑起来的》 | TCP、IP网络

LAN是什么?WAN是什么?

  • LAN是Local Area Network局域网的缩略语。
  • WAN是Wide Area Network广域网的缩略语。

协议

  • 信息可以以电信号的形式在网线中传播,所以计算机彼此之间就能够进行信息交换。但为了交换信息,还必须在发送者和接受者之间事先确定发送方式。这种对信息发送方式的规定或约束就称为“协议”。

IP地址

  • IP地址是一个32比特的整数,每8比特为一组,组间用“.”分隔,分成4段表示。8比特所表示的整数换算成十进制后范围是0~255,因此可用作IP地址的整数是0.0.0.0255.255.255.255,共计4294967296个。
  • 4个二进制数可以表示的范围是从0000到1111,共16个数。而因为最开始的0000和最后的1111具有特殊的用途,所以笔者的办公室内最多可以配置14台计算机,它们的主机地址范围是从0001到1110。但是这其中又有一台路由器,所以实际上最多只能放置13台计算机。
  • 通过IP地址就可以轻松地对计算机进行分组管理了。
  • 子网掩码的作用是标识出在32比特的IP地址中,从哪一位到哪一位是网络地址,从哪一位到哪一位是主机地址。
  • 子网掩码中,值为1的那些位对应着IP地址中的网络地址,后面值为0的那些位则对应着主机地址

MAC地址是什么?

  • MAC地址就是能够标识网卡的编号。
  • 几乎所有的网卡都会在上市前被分配一个不可变更的MAC地址。

DHCP 动态主机设置协议

  • DHCP的全称是Dynamic Host Configuration Protocol动态主机设置协议
  • DHCP服务器上记录者可以被分配到LAN内计算机的IP地址范围和子网掩码的值。
  • 默认网关通常会配置路由器的IP地址。
  • DNS服务器的IP地址也可以从DHCP服务器获取。

路由器

  • 存储路由表,转发信息。
  • 在一台路由器的路由表中,只会记录通往与之相邻的路由器的路径,而并不会记录世界范围内的所有传输路径。
  • 路由表由5列构成。Network Destination、Netmask、Gateway、Interface这四列记录着数据发送的目的地和路由器的IP地址等信息。Metric这一列记录着路径的权重,这个值由某种算法决定,比如数据传输过程中经过的路由器的数量。如果遇到有多条候选路径都可以通往目的地的情况,路由器就会选择Metric值较小的那条路径。
在路由表中还有如下的规则:
  • 如果数据的发送目的地就在本LAN中,则可以直接发送数据而无需经过路由器转发;
  • 反之如果在LAN外(或发送目的地的IP地址不在路由表中),则需要经过路由器转发。
  • 通常把数据经过路由器转发的过程成为“路由”。

DNS

  • 把域名解析为IP地址。
  • 每个计算机都有一个主机名,每个LAN也都有一个域名。
  • 通常把这种由主机名和域名组合起来形成的名字称作FQDN(Fully Qualified Domain Name,完整限定域名)。
  • DNS服务器通常被部署在各个LAN中,里面记录者FQDN和IP地址的对应关系表。世界范围内的DNS服务器是通过相互合作运转起来的。如果一台DNS服务器无法解析域名,它就会去询问其他的DNS服务器。

ARP 地址解析协议

  • 用于实现由IP地址到MAC地址的转换,这种功能被称作ARP(Address Resolution Protocol地址解析协议)。
  • ARP的工作方式很有意思。它会对LAN中的所有计算机提问:“有谁的IP地址是210.160.205.80吗?有的话请把你的MAC地址告诉我。”通常把这种同时向所有LAN内的计算机发送数据的过程称作“广播”(Broadcast)。通过广播询问,如果有某台计算机回复了MAC地址,那么这台计算机的IP地址和MAC地址的对应关系也就明确了。
  • 如果为了查询MAC地址,每回都要进行广播询问,那么查询的效率就会降低。于是ARP还提供了缓存的功能,当向各个计算机都询问完一轮之后,就会把得到的MAC地址和IP地址的对应关系缓存起来(临时保存在内存中)。存起来的这些对应关系信息称作“ARP缓存表”。

TCP/IP是什么?

  • TCP/IP是Transmission Control Protocol/Internet Protocol传输控制协议和网际协议的缩略语。
  • IP协议用于指定数据发送目的地的IP地址以及通过路由器转发数据。
  • TCP协议则用于通过数据发送者和接收者相互回应对方发来的确认信号,可靠地传输数据。通常把像这样的数据传送方式称作“握手”(Handshake)。
  • TCP协议中还规定,发送者要先把原始的大数据分割成以“”(Packet)为单位的数据单元,然后再发送,而接收者要把收到的包拼装在一起还原出原始数据。
    学习笔记 |《计算机是怎样跑起来的》 | TCP、IP网络
    学习笔记 |《计算机是怎样跑起来的》 | TCP、IP网络

  • 在所有网络上的计算机中,有些是服务器(Server,服务的提供者),有些是客户端(Client,服务的利用者)。
  • 在服务器上运行的程序为客户端提供服务。
  • 集线器”(Hub)是负责把各台计算机的网线相互连接在一起的集线设备。
  • 路由器”(Router)是负责把公司内的网络和互联网连接起来的设备。
    学习笔记 |《计算机是怎样跑起来的》 | TCP、IP网络
以太网中的每台计算机都需要先确认一件事:
  • 在网线上有没有其他的计算机正在传输电信号,也就是说要先确保没有人在占用网络,然后才能发送自己想传输的电信号。谁先抢到了网线的使用权,谁就先发送。万一遇到了多台计算机同时都想发送电信号的情况,只需要让这些计算机等待一段长度随机的时间后再重新发送相同的电信号即可。这套机制叫作CSMA/CDCarrier Sense Multiple Access with Collision Detection带冲突检测的载波监听多路访问)。
  • 所谓载波监听Carrier Sense),指的是这套机制会去监听(Sense)表示网络是否正在使用的电信号(Carrier)。
  • 多路复用Multiple Access)指的是多个(Multiple)设备可以同时访问(Access)传输介质。
  • 带冲突检测(with Collision Detection)则表示这套机制会去检测(Detection)因同一时刻的传输而导致的电信号冲突(Collision)。
  • 在小规模的LAN中,像这样略显粗躁的CSMA/CD机制是可以正常运转的。因为CSMA/CD归根结底也只是一种适用于LAN的机制。
    学习笔记 |《计算机是怎样跑起来的》 | TCP、IP网络
  • 在以太网中,发送给一台计算机的电信号也可以被其他所有的计算机收到。一台计算机收到了电信号以后会先做判断,如果是发送给自己的则选择接收,反之则选择忽略。
  • 可以用被称作MAC(Media Access Control)地址的编号来指定电信号的接收者。在每一块网卡所带有的ROM(Read Only Memory,只读存储器)中,都预先烧录了一个唯一的MAC地址。网卡的制造厂商负责确定这个MAC地址是什么。因为MAC地址是由制造厂商的编号和产品编号两部分组成的,所以世界上的每一个MAC地址都是独一无二的。