本章重点是OSI模型和TCP/IP协议族相关概念,以及IP地址相关的计算,考试中占4分左右。
1 网络模型
1.1 OSI七层模型
OSI模型即开放式系统互联模型(Open System Interconnection Model),是一个试图使各种计算机在全世界范围内互联为网络的标准框架。不过OSI七层模型是一个参考模型,实际应用时一般划分为5层。
OSI七层模型、TCP/IP四层协议和五层协议如下图所示:
应用层:用户与网络的接口,通过应用程序之间的交互完成特定的网络应用;
表示层:负责数据加密、转换、压缩;
会话层:控制网络连接建立与终止;
传输层:提供应用程序之间的逻辑通信,在封装的时候会携带目标端口号,保证数据传输的可靠性,TCP和UDP就在这一层;
网络层:负责地址管理和路由选择,相关设备有:路由器;
数据链路层:负责设备之间的数据帧的传送和识别,相关设备有:网桥、交换机;
物理层:将数据转换为bit流通过物理介质以光电信号的传递,相关设备有:网线、网卡、光纤、集线器、中继器、调制解调器等。
记忆口诀:物理网叔会使用;
1.2 TCP/IP协议族
功能 | 相关协议 |
网页相关 | HTTP(80), HTTPS(443) |
电子邮件相关 | SMTP(25),POP3(110),IMAP4(143),MIME, PGP |
远程访问/管理 | TELNET(23), RAS |
域名、IP解析 | DNS(53) |
FTP访问 | FTP(20/21) |
轻量目录访问 | LDAP |
1.2.1 电子邮件协议
电子邮件通信传输过程如下图所示,MTA通过SMTP协议发送、转发邮件,例如:sendmail、postfix;MUA是收发邮件所使用的邮件客户端,发送时使用SMTP协议,接收时通过IMAP4和POP3协议与服务器通信,常见的有:outlook、thunderbird、mutt、foxmail等。
1.2.2 网页相关协议
网页相关的协议中最常用的是万维网协议(World Wide Web, WWW),是基于客户机/服务器方式的信息发现技术和超文本技术的综合。www协议使用统一资源定位符(Uniform Resource Locator, URL)可以唯一标识一个资源,URL不区分大小写,其形式为:
<协议>://<主机地址>[:端口号]/<路径>/文件名
协议:有http (端口号80) 和 https(端口号443),其中https是http的安全版;
主机地址:IP地址或域名;
端口号:非必须
http 404表示链接指向的网页不存在,即原始网页的URL失效;
1.2.3 FTP协议
FTP(File Transfer Protocol,文件传输协议)由服务器和客户端组成,使用21端口传输FTP命令和参数,使用20端口完成数据的传输。
1.2.4 其他协议
ARP (Address Resolution Protocol,地址解析协议)
ICMP (Internet Control Messages Protocol,网络控制报文协议)
IP (Internet Protocol,网际协议)
TCP (Transfer Control Protocol,传输控制协议)
UDP (User Datagram Protocol,用户数据包协议)
1.2.4 常见协议端口
POP3 | 110端口,邮件收取 |
SMTP | 25端口,邮件发送 |
FTP | 20数据端口/21控制端口,文件传输协议 |
HTTP | 80端口,超文本传输协议,网页传输 |
DHCP | 67端口,IP地址自动分配 |
SNMP | 161端口,简单网络管理协议 |
DNS | 53端口,域名解析协议,记录域名与IP的映射关系 |
TCP | 可靠的传输层协议 |
UDP | 不可靠的传输层协议 |
ICMP | 因特网差错控制协议,ping命令使用该协议 |
IGMP | 网际组管理协议 |
ARP | 地址解析协议,IP地址转为MAC地址 |
RARP | 反向地址解析协议,MAC地址转为IP地址(淘汰) |
1.3 常见设备部署
集线器:工作在物理层,数据帧会广播到所有的端口,这些端口共享带宽,即构成一个冲突域。
网桥:工作在数据链路层,可以将多个物理网络连接成一个逻辑网络,基于MAC地址转发数据包,不能隔离广播信息;
交换机:工作在数据链路层,用于连接多个局域网,基于MAC地址来决定数据帧发送到哪个端口,每个端口有独立的带宽,即每个端口下都是一个独立的冲突域,也不能隔离广播信息。
路由器:工作在网络层,主要作用是路由选择,使用专门的协议(如IP)将整个网络划分为多个子网,各个子网之间逻辑独立,路由器负责各个子网之间的报文转发和广播隔离,
防火墙:一般放在安全边界区,工作在网络层和传输层,用来控制网络连接的访问和流量。防火墙也可以工作在应用层,防止计算机病毒、恶意软件和黑客攻击等,称为应用防火墙;
2 IP
2.1 IP地址组成
IP,Iternet Protocol,网际互联协议。IPv4由32位二进制数组成,分为网络号和主机号。
网络号:指明主机所在的物理网络的编号,其位数决定了可以分配的网络数(2^n-2);
主机号:主机在物理网络中的编号,其位数决定网络中可以分配的主机数;
IP地址一般使用点分十进制来表示,如192.168.2.101。
按照网络规模的大小,IP地址可以分为五类
可分配的主机数-2的原因是,全为0和全为1的地址有特殊的含义,全为0表示网络地址,全为1表示广播地址。
由于32位的IPv4已经用完,又推出了128位的IPv6,使用16进制表示,IPv4与IPv6之间通信相关的技术有:双协议栈、隧道技术、翻译技术。
2.2 子网掩码
子网,即主网的一个子集,可以确定网络区域,分开主机和路由器的每个接口,从而产生若干个分离的网络岛。
子网掩码,Subnet mask,是一个用于划分网络地址和主机地址的32位地址。结合IP地址一起使用,以区分网络标识和主机标识。子网掩码有两种表示方式:
- 点分十进制:如255.255.255.0
- 位计数:172.21.0.0/24 24表示网络号是24位,掩码的高24位全为1;
通过地址掩码和IP地址可以计算IP的所属网段:即将地址掩码和IP地址进行AND运算。
子网掩码可以将一个大的网络(子网)划分为若干个小网络,有定长子网掩码和变长子网掩码之分:
定长子网掩码:借用n位主机号将一个网络平均划分为2^n个子网,若此时主机号还剩m位,每个子网可以分配2^m个IP(去掉网络号和广播号有2^m-2个);
变长子网掩码:使用不同的掩码将一个网络划分为若干个大小不同的子网,每个子网可分配的IP数与主机号的位数相关。
2.3 特殊含义的IP地址
IP | 说明 |
127网段 | 回播地址 |
全0地址 | 为获取IP地址时,使用的地址(用于源地址),网络地址 |
全1地址 | 本地子网的广播(用于目标地址) |
主机号全1地址 | 特定子网的广播(用于目标地址) |
10.0.0.0/8 | 10.0.0.1至10.255.255.254 |
172.16.0.0/12 | 172.16.0.1至172.31.255.254 |
192.168.0.0/16 | 192.168.0.1至192.168.255.254 |
169.254.0.0 | 保留地址,用于DHCP实现(windows) |
▶▶示例
- 假设地址块为192.168.252.0/24,分别使用定长子网掩码和变长子网掩码给下图的小型网络分配IP地址。
解析
首先分析图中的网络,N1网络有60台主机,则需要60个IP,还需要一个网络地址和一个广播地址,再加一个路由器的接口地址,一共需要63个地址;N2需要23个地址;N3需要13个地址;N4中没有主机,但是连接了两个路由器,需要两个路由器的接口地址,以及一个网络地址和一个广播地址,共4个地址。
- 定长子网掩码
对于192.168.252.0/24,主机号有8位。需要分为4个网络,2^2=4,则至少要借用2位主机号,对于N1网络需要63个IP地址,2^6=64,则主机号至少要有6位,因此借用2位主机号用作子网号,分别为00,01,10,11,则可以划分为4个子网:
子网1: 0000 0000 ~ 0011 1111
地址范围:192.168.252.0/26 ~ 192.168.252.63/26
网络地址:192.168.252.0
广播地址:192.168.252.63
主机地址:192.168.252.1 ~ 192.168.252.62
子网2:0100 0000 ~ 0111 1111
地址范围:192.168.252.64/26 ~ 192.168.252.127/26
网络地址:192.168.252.64
广播地址:192.168.252.127
主机地址:192.168.252.65 ~ 192.168.252.126
子网3:1000 0000 ~ 1011 1111
地址范围:192.168.252.127/26 ~ 192.168.252.191/26
网络地址:192.168.252.127
广播地址:192.168.252.191
主机地址:192.168.252.128 ~ 192.168.252.190
子网4:1100 0000 ~ 1111 1111
地址范围:192.168.252.192/26 ~ 192.168.252.255/26
网络地址:192.168.252.192
广播地址:192.168.252.255
主机地址:192.168.252.193 ~ 192.168.252.254
- 可变长子网掩码
N1网络需要的IP数最多,首先给N1网络分配,
N1网络需要63个地址,分配6位主机号 0000 0000
地址范围:192.168.252.0/26 ~ 192.168.252.63/26
网络地址:192.168.252.0
广播地址:192.168.252.63
主机地址:192.168.252.1 ~ 192.168.252.62
N2网络需要23个地址,分配5位主机号 0100 0000,(子网号取01是因为00已经被N1使用)
地址范围:192.168.252.64/26 ~ 192.168.252.95/26
网络地址:192.168.252.64
广播地址:192.168.252.95
主机地址:192.168.252.65 ~ 192.168.252.94
N3网络需要13个地址,分配4位主机号 0110 0000
地址范围:192.168.252.96/26 ~ 192.168.252.111/26
网络地址:192.168.252.96
广播地址:192.168.252.111
主机地址:192.168.252.97 ~ 192.168.252.110
N4网络需要4个地址,分配2位主机号 0111 0000
地址范围:192.168.252.112/26 ~ 192.168.252.115/26
网络地址:192.168.252.112
广播地址:192.168.252.115
主机地址:192.168.252.113 ~ 192.168.252.114
注:可变长子网中,根据各子网中的主机个数由多到少分配,让每个子网中的IP连续即可。
3 DNS与DHCP
3.1 DNS
域名,又称网域,是连接到互联网上的计算机的唯一地址标识。由一串用点分隔的名字组成,用于在数据传输时对计算机定位标识。
一个完整的域名由以下部分组成:
顶级域名:(Top-level Domain, TLD) 域名中最后面的部分,不同的TLD表示不同的含义;
二级域名:(Second-Level Domain, SLD) 域名中位于顶级域名前的部分,由注册者命名;
三级域名:(Sub Domain) 也叫子域名,用于进一步细分网站内容,如www。
常见的顶级域名及其含义
域名 | 含义 |
com | 商业机构 |
net | 网络服务机构 |
org | 非盈利机构 |
gov | 政府机构 |
edu | 教育机构 |
mil | 军事机构 |
au | 澳大利亚 |
cn | 中国 |
tw | 台湾地区 |
hk | 香港地区 |
域名系统(Domain Name System,DNS),提供一种域名到IP地址的转换服务,客户端向DNS服务器发送域名查询请求,DNS服务器高速客户机IP地址。DNS占用53端口,同时使用TCP和UDP。
DNS服务器解析域名的过程:
首先会在浏览器的缓存中查找对应的IP地址,如果查找到就直接返回,查不到继续下一步;
①将请求发送给本地DNS服务,在本地域名的缓存中查询,查到返回结果,查不到继续下一步;
②本地DNS服务器向根域名服务器发送请求,查到返回IP,查不到返回一个所查询域名的顶级域名服务器地址。
③本地DNS服务器向顶级域名服务器发送请求,接收请求的服务器查询自己的缓存,如果查到就返回IP,查不到就返回相关的下一级的权威域名服务器地址;
④本地DNS服务器向权威域名服务器发送请求,权威域名服务器返回查询的IP;
⑤本地DNS服务器将结果保存在缓存中,以便下次使用,并将结果返回给浏览器。
DNS解析是一个包含迭代查询和递归查询的过程。
递归查询是指查询请求发出后,域名服务器代为下一级域名服务器发出请求,最后向用户返回查询的结果,使用递归查询,用户只需要发送一次查询请求(一定会返回要查询的结果)。
迭代查询指的是发送查询请求后,域名服务器返回单次的查询结果(地址或下一级服务器地址),下一级的查询由用户自己请求。使用迭代查询,用户需要发送多次查询请求(不一定返回结果,有可能返回其他服务器地址)。
3.2 DHCP
动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)主要作用是集中的管理、分配IP地址,使客户端动态的获得IP地址和配置信息。
DHCP是一个应用层协议,使用客户/服务器方式,客户端和服务端通过广播进行交互,基于UDP。DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租(DHCP客户端获取到IP地址后,租约默认为8天,租期达到50%时,会向提供当前IP的DHCP服务器申请续租,如果联系不上,租期达到87.5%时,会向其他DHCP服务器请求IP)。
DHCP协议,客户端请求IP的过程如下图所示:
3.3 网络规划与设计
分层化网络模型可以帮助设计者按层次设计网络结构,不同的层次赋予不同的功能,为不同的层次选择不同的设备和系统。最常见的是三层网络模型,分为核心层、汇聚层和接入层。
接入层:用户接入、计费管理、MAC地址认证、收集用户信息;
汇聚层:网络访问策略控制、数据包处理、共创中、寻址。需要更高的性能,更少的接口和更高的交换速率。
核心层:告诉数据交换,常用冗余机制。使用双星(树)结构。
3.4 常见网络故障诊断
了解以下几个命令即可
命令 | 功能 | 常用 |
ipconfig | 一般用于显示网络配置,IP、子网掩码、网关等。 | ipconfig /all 显示所有网络配置 |
tracert | 跟踪路由,用于圈定IP数据包访问目标所用的路由。 | |
ping | 检查网络是否畅通或连接速度。 | ping [addr] 测试是否与addr连通 |
route | 查看和配置路由表 | route |
netstat | 显示网络统计信息,包括网络连接和端口活动 | netstat -a 显示所有连接 |