目录
1. OSI与TCP/IP模型的网络协议层次结构差异
协议分层模型有:TCP/IP四层模型、TCP/IP五层模型、OSI七层模型。
OSI七层模型和TCP/IP模型都是网络通信协议的抽象框架,用于指导网络通信的设计和实现。它们的主要区别在于层次划分和实际应用的广泛程度。
1.1 OSI模型的七层结构
应用层:负责为应用软件提供网络服务。
表示层:负责数据的翻译、加密和压缩。
会话层:负责建立、管理和终止应用程序之间的会话。
传输层:负责提供端到端的数据传输服务,如TCP(传输控制协议)和UDP(用户数据报协议)。
网络层:负责对子网间的数据从源到目的地的传输和路由选择。
数据链路层:负责在网络实体间建立和维护数据链路,确保物理层传输的数据无误,通过帧的方式传输数据。
物理层:负责在物理媒介上传输原始的比特流,如电缆、集线器、中继器等。
总结:
OSI模型是一个理论上的模型,它详细定义了网络通信的各个层次和功能,但在实际应用中,并没有被广泛采用。
1.2 TCP/IP模型的四层结构
应用层:为应用程序提供网络服务,如HTTP、FTP、SMTP等。
传输层:与OSI模型相同,提供了主机到主机的通信服务,包括通用的可靠服务使用面向连接的TCP实现,以及一般的不可靠的服务使用无连接的UDP实现。
网络层:要协议是IP(互联网协议),负责数据包的路由和传输。这一层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报首部,考查IP首部,通常有多个首部,包括IP选项。
链路层(或网络接口层):相当于OSI模型的物理层和数据链路层,负责在网络媒介上传输帧。这是TCP/IP模型的最低层,负责管理电脑硬件设备功能。
1.3 TCP/IP模型的五层结构
应用层:负责程序之间的沟通,简单的电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议等(Telent)等。
传输层:负责两台主机之间的数据传输。
网络层:负责地址管理和路由选择。
数据链路层:负责设备之间的数据帧的传送和识别。
物理层:负责传输比特流。
2. OSI七层模型和TCP/IP协议模型的区别
1.TCP/IP是一个协议簇;而OSI(开放系统互联)则只是一个模型,且TCP/IP的开发时间在OSI之前,TCP/IP参考模型比OSI参考模型层次更清晰简练。
2. TCP/IP是由一些交互性的模块做成的分层次的协议,其中每个模块提供特定的功能;OSi则指定了哪个功能是属于哪一层的。TCP/IP参考模型比OSI参考模型有更好的网络管理功能。
3. TCP/IP是五层结构,而OSI是七层结构。OSI的最高三层在TCP中用应用层表示。
4. 五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP,对于我们程序猿来说,我们需要搞懂 TCP/IP五层协议 中的前四种协议即可。因为物理层主要是一些传输介质(网线等)类似于电脑的硬件部分,我们软件开发无需深入了解哈。
2.1 区别总结:
- 层次划分:OSI模型有七层,而TCP/IP模型通常有四层或五层。
- 实际应用:TCP/IP模型是实际互联网的基础,而OSI模型更多用于教学和理论分析。
- 抽象程度:OSI模型提供了更详细的层次划分和功能定义,而TCP/IP模型更注重实用性。
尽管如此,两者在很多概念上是相似的,例如网络层、传输层和应用层在两个模型中都有对应的层次。
说明:
网络编程是通过应用层进行的,因此我们在后期 网络编程 的学习中,把应用层的一些规范与使用深入学习即可,而其他层我们只需要了解它们是什么就足够了哈。
3. 网络协议分层的优点
网络协议通常采用分层的模式,是每一个子问题设计一个单独的协议。这样做使得每个协议的设计、分析、实现和测试比较容易。其优点有:
(1)可使各层之间互相独立,某一层可以使用其下一层提供的服务而不需知道服务是如何实现的。
(2)灵活性好,当某一层发生变化时,只要其接口关系不变,则这层以上或以下的各层均不受影响。
(3)结构上可以分割开,各层可以采用最合适的技术来实现。
(4)易于实现和维护,因为它可实现分层次调试,快捷方便。
(5)能促进标准化工作,创建更好的互连环境。