通过七个简单的实验理解TCP/IP网络
问题:
-
LAN是什么的缩略语?
局域网Local Area Network。与此相对的,互联网那样的大规模网络称为广域网Wide Area Network。
-
TCP/IP是什么的缩略语?
传输控制协议和网际协议Transmission Control Protocol/Internet Protocol。TCP/IP协议族是互联网所使用的一套标准协议。
-
MAC地址是什么?
能够识别网卡的编号。
知识点:
-
基本概念:
- 服务器Server
- 客户端Client
- 集线器Hub:负责把各台计算机的网线连接起来,形成局域网LAN
- 路由器Router:负责把局域网与互联网连接起来
- 以太网使用CSMA/CD机制(Career Sense Multiple Access with Collision Detection,带冲突检测的载波监听多路访问):
- 载波监听指的是是这套机制会去监听表示网络是否正在使用的电信号
- 多路复用指的是多个设备可以同时访问传输介质
- 带冲突检测则表示这套机制会去检测因同一时刻的传输而导致的电信号冲突
- 以太网中,发送给一台计算机的电信号也可以被其他所有的计算机收到。收到电信号后会先做判断,如果是发送给自己的则选择接收,反之则选择忽略。可以用MAC地址(Media Access Control)的编号来指定电信号的接收者。在每一块网卡所带有的ROM(Read Only Memory)中都预先烧录了一个唯一的MAC地址,由厂商负责确定。因为MAC地址是由制造厂商的编号和产品编号两部分组成的,所以每一个MAC地址都是独一无二的。
-
实验1:查看网卡的MAC地址——标识网卡
-
实验2:查看计算机的IP地址——方便分组
-
实验3:查看子网掩码——标识出在32比特的IP地址中,哪些是网络地址(子网掩码为1),哪些是主机地址(子网掩码为0)
比如,255.255.255.240表示前28位是网络地址,后4位是主机地址。4个二进制可以表示的范围是0000~1111,共16个数,而因0000和1111具有特殊的用途,所以最多可配置14台计算机(其中还必须包括一台路由器)。
-
实验4:了解DHCP服务器的作用——动态主机设置协议Dynamic Host Configuration Protocol
DHCP服务器上记录着可以被分配到LAN内计算机的IP地址范围和子网掩码的值。作为DHCP客户端的计算机在启动时,就可以从中知道哪些IP地址还没有分配给其他计算机。
-
实验5:路由器是数据传输过程中的指路人
在分组管理下,IP地址中的网络地址部分可以代表一个组中的全部计算机,即一个LAN中的计算机全体。互联网就是用路由器把多个LAN连接起来所形成的一张大网。路由器就是决定数据传输路径的设备。
一个不属于LAN内计算机的IP地址会被LAN内计算机所忽略,但不会被路由器忽略。因为路由器的工作原理就是查看附加到数据上的IP地址中的网络地址部分,只要发现它不属于LAN内,就把它发到LAN外,即互联网的世界中。
路由表用于记录应该把数据转发到哪里。在一台路由器的路由表中,只会记录通往与之相邻的路由器的路径,而并不会记录世界范围内的所有传输路径。
route print
路由表由5列构成,网络目标、网络掩码、网关、接口这4列数据记录着数据发送的目的地、路由器的IP地址等信息。跃点数记录着路径的权重,这个值由某种算法决定,比如数据传输过程中经过的路由器的数量。如果遇到有多条候选路径都可以通往目的地的情况,路由器就会选择跃点数较小的那条路径。如果数据的发送目的地就在本LAN中,则可以直接发送数据而无须经过路由器转发;反之如果在LAN外,则需要经过路由器转发。
-
实验6:查看路由器的路由过程
tracert [目的地]
-
实验7:DNS服务器可以把主机名解析成IP地址
域名系统Domain Name System的服务器为我们把网址这样的域名解析为了IP地址。
完整限定域名Fully Qualified Domain Name:主机名.LAN域名,这个名字与IP地址的作用是等价的,解析的过程叫做域名解析。
DNS服务器通常被部署在各个LAN中,里面记录着FQDN和IP地址的对应关系表。世界范围内的DNS服务器是通过相互合作运转起来的。如果一台DNS服务器无法解析域名,它就会去询问其他的DNS服务器。
nslookup > [域名] > exit
-
实验8:查看IP地址和MAC地址的对应关系
地址解析协议Address Resolution Protocol:用于实现由IP地址到MAC地址的转换
它的工作原理是向LAN内所有计算机直接提问,这种同时向LAN内所有计算机发送数据的过程称为广播Broadcast,如果有某太计算机回复了MAC地址,对应关系就明确了。
如果每次都要广播询问,那么查询效率就会降低,于是ARP还提供了缓存的功能,可以用
arp -a
来查看ARP缓存表。 -
TCP的作用以及TCP/IP网络的层级模型
IP协议用于指定数据发送目的地的IP地址以及通过路由器转发数据。
TCP协议用于通过数据发送者和接收者相互回应对方发来的确认信号,可靠地传输数据。通常把这样的数据传送方式称作握手Handshake。TCP协议中还规定,发送者要先把原始的大数据分割成以包Packet为单位的数据单元,然后再发送,而接收者要把收到的包拼装在一起还原出原始数据。
硬件上发送数据的是网卡。在网卡之上是设备驱动程序(用于控制网卡这类硬件的程序),设备驱动程序之上是实现了IP协议的程序,IP程序之上则是实现了TCP协议的程序,而再往上才是应用程序,比如Web或电子邮件。