1. 网络中体系结构的七层、四层、五层是怎么回事?
OSI(Open System Interconnection)开放系统互连参考模型的七层协议体系结构:概念清楚,理论比较完整,但既复杂又不用。
TCP/IP 四层体系结构:简单,易于使用。
五层原理体系结构:综合 OSI 和 TCP/IP 的优点,为了学术学习。
2. 为什么需要分层设计?
如果没有分层设计,一个软件厂商要设计所有通信细节,包含物理层接口与信号编码,地址寻址,传输机制与保障
3. OSI参考模型遵循的几大原则
- 各个层之间有清晰的边界,便于理解
- 各个层实现特定的功能,且相互不影响
- 每个层是服务者又是被服务者,既为上一层服务,又被下一层服务
- 层次的划分有利于国际标准协议的定制
- 层次的数目应该足够多,以避免各个层功能重复
4. OSI参考模型遵循的几大优点
- 简化了相关网络操作
- 提供了即插即用的兼容性和不同厂商之间的标准接口
- 使各个厂商能够设计出互操作的网络设备,加快数据通信网络发展
- 防止一个区域网络的变化影响另一个区域的网络,因此,每一个区域的网络都能单独快速升级
- 把复杂的网络问题分解为小的简单问题,易于学习和操作
OSI七层模型协议数据单元
APDU | 应用层 | 7 提供应用程序间通信 |
PPDU | 表示层 | 6 处理数据格式、数据加密 |
SPDU | 会话层 | 5 建立、维护和管理会话 |
Segement | 传输层 | 4 建立主机端到端连接 |
packet | 网络层 | 3 寻址和路由选择 |
Frame | 数据链路层 | 2 提供介质访问、链路管理等 |
Bit | 物理层 | 1 比特流传输 |
5. TCP/IP模型每层作用
- 链路层:处理与电缆(或其他任何传输媒介)的物理接口细节
- 网络层:处理分组在网络中的活动,例如分组选路
- 运输层:为两台主机上的应用程序提供端到端的通讯
- 应用层:处理特定的应用程序细节
6. 运行FTP的两台主机
- 大多数网络应用程序都被设计成客户-服务器模式
- 双方都有对应的一个或多个协议进行通讯
- 应用程序通常是用户进程,而下三层一般在内核执行
- 应用层关系应用程序的细节,下三层处理通讯细节
7. 通过路由器连接的两个网络
- 端系统(end system)
- 中间系统(intermediate system)
- 应用层和运输层使用端到端(end-to-end协议)
- 网络层提供的是逐跳(next-to-hop)协议
- 网络IP提供的是一种不可靠的服务,只是尽可能快的把分组从源结点送到目的结点,但不提供可靠性保障
- TCP在不可靠的IP层上提供一个可靠的运输层
- 互联网的目的之一就是在应用程序中隐藏所有的物理细节
8. TCP/IP协议族中不同层次的协议
- TCP使用不可靠的IP服务,并提供一种可靠的运输层服务
- UDP为应用程序发送和接收数据报,和TCP不同,UDP是不可靠的(查询:DNS,数据传输TFTP,实时流量:语音视频流)
- IP是网络层上的主要协议,同时被TCP和UDP使用
- ICMP是IP协议的附属协议
9. 封装
- 以太网数据帧的物理特性使其长度在46~1500字节之间(超过1500要分片,不足46要垫片填充补齐再发送)
- 以太网的帧首部也有一个16bit的帧类型域(ip,arp,rarp)(以太网协议号)
- IP在首部中存入一个长度为8bit的数值,称作协议域(icmp,igmp.tcp.udp,esp,gre)(IP协议号)
- TCP和UDP都用一个16bit的端口号来表示不同的应用程序(telnet,http)
10. 分用:以太网的帧进入驱动程序,根据以太网首部中的帧类型进行分用,再根据IP首部中的协议值进行分用,
最后根据TCP或UDP首部中的端口号进行分用,找到对应的应用程序
11. 端口号
- 服务器一般都是通过知名端口号来识别的(ftp 21,telnet 23)
- 客户端口号又称作临时端口号(即存在时间很短暂)
- 大多数TCP/IP实现给临时端口分配1024~5000之间的端口号
- 大于5000的端口号是为其他服务器预留的
科普:大多知名端口为奇数的由来
如果仔细检查这些标准的简单服务以及其他标准的TCP/IP服务(如telnet,ftp,SMTP)的端口号时,大多数都是奇数(HTTP例外,表示它并不是最老的一批协议)。这是有历史原因的,因为这些端口号都是从NCP端口号派生来的(NCP,即网络控制协议,是ARPANET的运输层协议,是TCP的前身)NCP是单工的,不是全双工,因此每个应用程序需要两个连接,需预留一对奇数和偶数端口号。当TCP和UDP成为标准的运输层协议时,每个应用程序只需要一个端口号,因此就使用了NCP中的奇数
最基本协议号端口号
- 以太网协议号
IP:0x0800 ARP:0x0806 PPPOE 0x8863 0x8864
- IP协议号
(ICMP:1 TCP:6 UDP:17 GRE:47 ESP:50 AH:51)
- 端口号
(FTP:20 21 SSH:22 TELNET: 23 SMTP:25 TACACS+:49 HTTP:80 HTTPS:443 IKE:500 Radius 1645 1646 1812 1813)