目录
[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.通过定义在模型的每一层实现功能,鼓励产业的标准化。
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控制报文协议                                                                                                |
| 网络层 | 基于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头部,以确保在局域网中的传输路径正确。
 
物理层:运输包裹
- 比喻: 快递车将包裹沿着公路运送。
 - 功能: 物理层负责将数据变成电信号、光信号等,在物理介质中传输。