目录
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 | |||
112 | VRRP | 虚拟路由器冗余协议 |
4.DNS解析类型
记录类型 | 说明 | 备注 |
SOA | SOA叫起始授权机构记录,SOA记录用于在众多NS记录中哪一台是主服务器。 | SOA记录还设置一些数据版本和更新以及过期时间的信息。 |
A | 把主机名解析为IP地址(映射) | www.test.com → https://blog.csdn.net/FHYAALML/article/details/1.1.1.1 |
指针PTR | 反向查询,把IP地址解析为主机名 | https://blog.csdn.net/FHYAALML/article/details/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头部,以确保在局域网中的传输路径正确。
物理层:运输包裹
- 比喻: 快递车将包裹沿着公路运送。
- 功能: 物理层负责将数据变成电信号、光信号等,在物理介质中传输。