目录
1.OSI和TCP/IP参考模型
1.1 为什么要进行网络分层?
1.某一层所做的改动不会影响到其他的层,利于设计、开发和故障排除。
2.通过定义在模型的每一层实现功能,鼓励产业的标准化。
3.通过网络组件的标准化,允许多个供应商协同进行开发。
4.允许各种类型的网络硬件和软件互相通信,无缝融合。
5.促进网络技术快速迭代,降低成本。
1.2 TCP/IP和OSI参考模型
应用层(高层处理数据) |
应用层 |
各种应用程序、协议 |
数据(APDU) |
进程号 |
表示层 |
数据和信息的语法转换内码,数据压缩解压、加密解密 |
PPDU |
||
会话层 |
为通信双方指定通信方式,并创建、注销会话 |
SPDU |
||
传输层 |
传输层 |
提供可靠或者不可靠的端到端传输 |
数据段,报文(segment) |
端口号 |
网络层 |
网络层 |
逻辑寻址;路由选择 |
数据包/报/分组(packet) |
IP地址 |
物理层(网络接口层,低层传输数据) |
数据链路层 |
将分组封装成帧;提供节点到节点的传输;差错控制 |
数据帧(frame) |
MAC地址 |
物理层 |
在媒介上传输比特流;提供机械和电气规约 |
比特流(bit) |
具备流量控制的功能层次是:数据链路层和传输层
1.3 TCP/IP参考模型对应协议
应用层 |
Telnet、FTP、HTTP、SMTP、POP |
DNS、BOOTP、TFTP、SNMP |
传输层 |
TCP |
UDP |
网络(际)层 |
ICMP、Routing Protocol(静态.RIP.OSPF等)、IP |
|
数据链路层 |
Ethernet、Frame-Relay、PPP/PPPOE、HDLC |
|
物理层 |
双绞线、光纤、跳线/尾纤、配线架/理线架 |
2.对应协议和端口
端口号 |
传输层协议 |
用途 |
说明 |
20 |
TCP |
FTP、数据 |
文件传输协议(数据连接(大)) |
21 |
TCP |
FTP、控制 |
控制连接 |
22 |
TCP |
SSH |
远程终端(安全) |
23 |
TCP |
Telnet |
远程终端(不安全) |
25 |
TCP |
SMTP |
简单邮件传输协议(发) |
53 |
TCP/UDP |
DNS |
域名解析 |
67 |
UDP |
DHCP、服务器 |
动态主机配置(接受请求信息) |
68 |
UDP |
DHCP、客户机 |
接受DHCP服务器的消息回复 |
69 |
UDP |
TFTP |
简单文件传输协议(小) |
80 |
TCP |
HTTP |
超文本传输协议 |
110 |
TCP |
POP3 |
邮件协议(收) |
143 |
TCP |
IMAP |
交互邮件访问协议(同步) |
161 |
UDP |
SNMP |
网络管理协议 |
162 |
UDP |
SNMP-trap |
|
179 |
TCP |
BGP |
边界网关路由协议 |
443 |
TCP |
HTTPS(SSL/TLS) |
HTTP的安全版 |
500 |
UDP |
IKE |
IPsec的IKE |
520 |
UDP |
RIP |
路由信息协议 |
3389 |
TCP |
RDP |
远程桌面管理协议 |
系统端口:取值范围为[0,1023],上面那些就是。
登记端口:为了没有熟知端口号的应用程序使用的,端口范围为[1024,49151]。这些端口必须在IANA登记以避免重复。
客户端:使用端口仅在客户进程运行时动态使用,使用完毕后,进程会释放端口。该端口范围为[49152,65535]
ISIS:数据链路层
ARP:以太网
3.基于IP的封装
层次 |
协议封装 |
协议号 |
协议名称 |
备注 |
网络层 |
基于IP协议 |
1 |
ICMP |
Internet控制报文协议 |
2 |
IGMP |
Internet组管理协议 |
||
6 |
TCP |
传输控制协议 |
||
17 |
UDP |
用户数据报协议 |
||
41 |
IPv6 |
互联网协议第6版 |
||
47 |
GRE |
通用路由封装协议 |
||
50 |
ESP |
封装安全载荷协议 |
||
51 |
AH |
身份验证标头 |
||
89 |
OSPF |
224.0.0.1-在本地子网的所有主机 |
||
112 |
VRRP |
虚拟路由器冗余协议 |
4.DNS解析类型
记录类型 |
说明 |
备注 |
SOA |
SOA叫起始授权机构记录,SOA记录用于在众多NS记录中哪一台是主服务器。 |
SOA记录还设置一些数据版本和更新以及过期时间的信息。 |
A |
把主机名解析为IP地址(映射) |
|
指针PTR |
反向查询,把IP地址解析为主机名 |
|
名字服务器NS |
为一个域指定授权域名服务器,该域的所有子域也被委派给这个服务器 |
北如某个区域ns1.domain.com进行解析 |
邮件服务器MX |
指明区域的邮件服务器及优先级 |
建立电子邮箱服务,需要MX记录将指向邮件服务器地址。 |
别名CNAME |
指定主机名的别名 |
www.test.com别名为webserver12.test.com |
AAAA |
IPv6域名解析 |
DNS常用命令:
查看DNS缓存内容:ipconfig /displaydns
清空DNS缓存内容:ipconfig /flushdns
5.数据封装与解封过程分析
5.1 封装
(从上到下,解封装相反)
应用层 |
数据 |
APDU(进程号) |
传输层 |
TCP报头:数据 |
数据段,报文(segment) |
网络层 |
IP头部:TCP报头:数据 |
数据包,分组(packet) |
数据链路层 |
MAC头部:IP头部:TCP报头:数据 |
数据帧(frame) |
物理层 |
1100001010101100 |
比特流(bit) |
例子:
应用层:准备商品
- 比喻: 你在网上下单了一件商品,比如一部手机。
- 功能: 应用层生成要发送的数据,就像商家准备好你的商品。
传输层:打包商品
- 比喻: 商家把手机放进一个盒子里,并贴上订单号。
- 功能: 传输层将数据打包成数据段,并附加传输信息(如TCP头部)来确保传输可靠。
网络层:贴上地址标签
- 比喻: 在包裹上贴上收件人和发件人的地址。
- 功能: 网络层在数据包上添加IP头部,确定数据的来源和目的地。
数据链路层:贴上运输标签
- 比喻: 快递公司给包裹贴上内部追踪条形码。
- 功能: 数据链路层在数据帧上添加MAC头部,以确保在局域网中的传输路径正确。
物理层:运输包裹
- 比喻: 快递车将包裹沿着公路运送。
- 功能: 物理层负责将数据变成电信号、光信号等,在物理介质中传输。