目录
[1.1 为什么要进行网络分层?](#1.1 为什么要进行网络分层?)
[1.2 TCP/IP和OSI参考模型](#1.2 TCP/IP和OSI参考模型)
[1.3 TCP/IP参考模型对应协议](#1.3 TCP/IP参考模型对应协议)
[5.1 封装](#5.1 封装)
1.OSI和TCP/IP参考模型
1.1 为什么要进行网络分层?
- 某一层所做的改动不会影响到其他的层,利于设计、开发和故障排除。
- 通过定义在模型的每一层实现功能,鼓励产业的标准化。
- 通过网络组件的标准化,允许多个供应商协同进行开发。
- 允许各种类型的网络硬件和软件互相通信,无缝融合。
- 促进网络技术快速迭代,降低成本。
1.2 TCP/IP和OSI参考模型
|------------------------------|---------------|---------------------------------------------------|--------------------------|---------------|
| 应用层(高层处理数据) | 应用层 | 各种应用程序、协议 | 数据(APDU) | 进程号 |
| 应用层(高层处理数据) | 表示层 | 数据和信息的语法转换内码, 数据压缩解压、加密解密 | PPDU | |
| 应用层(高层处理数据) | 会话层 | 为通信双方指定通信方式,并创建、注销会话 | SPDU | |
| 传输层 | 传输层 | 提供可靠或者不可靠的 端到端传输 | 数据段,报文(segment) | 端口号 |
| 网络层 | 网络层 | 逻辑寻址;路由选择 | 数据包/报/分组(packet) | IP地址 |
| 物理层(也叫网络接口层)(低层传输数据) | 数据链路层 | 将分组封装成帧; 提供节点到节点的传输; 差错控制 | 数据帧(frame) | MAC地址 |
| 物理层(也叫网络接口层)(低层传输数据) | 物理层 | 在媒介上传输比特流;提供机械和电气规约 | 比特流(bit) | |
具备流量控制的功能层次是:数据链路层和传输层
TCP/IP协议有时候分为五层(数据链路层和物理层分开),有时候被分为四层,不要太纠结。
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控制报文协议 |
| 网络层 | 基于IP协议 | 2 | IGMP | Internet组管理协议 |
| 网络层 | 基于IP协议 | 6 | TCP | 传输控制协议 |
| 网络层 | 基于IP协议 | 17 | UDP | 用户数据报协议 |
| 网络层 | 基于IP协议 | 41 | IPv6 | 互联网协议第6版 |
| 网络层 | 基于IP协议 | 47 | GRE | 通用路由封装协议 |
| 网络层 | 基于IP协议 | 50 | ESP | 封装安全载荷协议 |
| 网络层 | 基于IP协议 | 51 | AH | 身份验证标头 |
| 网络层 | 基于IP协议 | 89 | OSPF | 224.0.0.1-在本地子网的所有主机 224.0.0.2-在本地子网的所有路由器 224.0.0.5-运行OSPF协议的路由器 224.0.0.6-OSPF指定/备用指定路由器DR/BDR |
| 网络层 | 基于IP协议 | 112 | VRRP | 虚拟路由器冗余协议 |
4.DNS解析类型
|---------|---------------------------------------|-------------------------------------|
| 记录类型 | 说明 | 备注 |
| SOA | SOA叫起始授权机构记录,SOA记录用于在众多NS记录中哪一台是主服务器。 | SOA记录还设置一些数据版本和更新以及过期时间的信息。 |
| A | 把主机名解析为IP地址(映射) | www.test.com → 1.1.1.1 |
| 指针PTR | 反向查询,把IP地址解析为主机名 | 1.1.1.1 →www.test.com |
| 名字服务器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头部,以确保在局域网中的传输路径正确。
物理层:运输包裹
- 比喻: 快递车将包裹沿着公路运送。
- 功能: 物理层负责将数据变成电信号、光信号等,在物理介质中传输。