计算机网路分层协议

简介: 计算机网路分层协议

一、OSI 参考模型介绍

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考 模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了 7 层。每一层都有相关、 相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七 层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮 助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区 分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。它的最大优点是将 服务、接口和协议这三个概念明确地区分开来:服务说明某一层为上一层提供一些什么功能, 接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务;这样各层之间具有 很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服 务并且不改变相邻层的接口就可以了。网络七层的划分也是为了使网络的不同功能模块(不 同层次)分担起不同的职责,从而带来如下好处:

● 减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错;

● 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则 相对独立,一种高层协议可放在多种低层协议上运行;

● 能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手 术;

● 便于研究和教学。

OSI 分层 (7 层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

TCP/IP 分层(4 层):网络接口层、 网际层、运输层、 应用层。

五层协议 (5 层):物理层、数据链路层、网络层、运输层、 应用层。

每一层的协议如下:

  • 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)
  • 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
  • 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
  • 传输层:TCP、UDP、SPX
  • 会话层:NFS、SQL、NETBIOS、RPC
  • 表示层:JPEG、MPEG、ASII
  • 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

每一层的作用如下:

  • 物理层:通过媒介传输比特,确定机械及电气规范(比特 Bit
  • 数据链路层:将比特组装成帧和点到点的传递(帧 Frame
  • 网络层:负责数据包从源到宿的传递和网际互连(包 PackeT
  • 传输层:提供端到端的可靠报文传递和错误恢复(段 Segment
  • 会话层:建立、管理和终止会话(会话协议数据单元 SPDU
  • 表示层:对数据进行翻译、加密和压缩(表示协议数据单元 PPDU
  • 应用层:允许访问OSI环境的手段(应用协议数据单元)

二、TCP/IP四层协议

2.1 网络接口层

这是 TCP/IP 软件的最低层,负责接收 IP 数据报并通过网络发送之,或者从网络上接收 物理帧,抽出 IP 数据报,交给 IP 层。实际上 TCP/IP 参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递 IP 分组。由于这一 层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。

2.2 网际层

**网际层是整个 TCP/IP 协议栈的核心。它的功能是把分组发往目标网络或主机。**同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。 网络互连层定义了分组格式和协议,即 IP 协议(Internet Protocol)。 网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连 的任务。除此之外,网络互连层还需要完成拥塞控制的功能。 负责相邻计算机之间的通信。其功能包括三方面。

  • 一、处理来自传输层的分组发送请求,收到请求后,将分组装入 IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
  • 二、处理输入数据报:首先检查其合法性,然后进行寻径–假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
  • 三、处理路径、流控、拥塞等问题。

2.3 传输层

提供应用程序间的通信。其功能包括:**一、格式化信息流;二、提供可靠传输。**为实现 后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。在 TCP/IP 模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层 定义了两种服务质量不同的协议。即:传输控制协议 TCP(transmission control protocol)和 用户数据报协议 UDP(user datagram protocol)。

TCP 协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。 在接收端,它负责把收到的报文进行重组后递交给上层。TCP 协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。

UDP 协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。

2.4 应用层

TCP/IP 模型将 OSI 参考模型中的会话层和表示层的功能合并到应用层实现。 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登 录 TELNET 使用 TELNET 协议提供在网络其它主机上注册的接口。TELNET 会话提供了基于字 符的虚拟终端。文件传输访问 FTP 使用 FTP 协议来提供网络内机器间的文件拷贝功能。应用 层面向不同的网络应用引入了不同的应用层协议。

其中,有基于 TCP 协议的,如文件传输协 议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP)。

也有基于 UDP 协议的。

1、基于TCP的应用层协议有:HTTP、FTP、SMTP、TELNET、SSH

协议 全称 默认端口
HTTP HyperText Transfer Protocol(超文本传输协议) 80
FTP File Transfer Protocol (文件传输协议) 20用于传输数据,21用于传输控制信息
SMTP Simple Mail Transfer Protocol (简单邮件传输协议) 25
TELNET Teletype over the Network (网络电传) 23
SSH Secure Shell 22

2、基于UDP的应用层协议:DNS、TFTP(简单文件传输协议)、SNMP:简单网络管理协议

协议 全称 默认端口
DNS Domain Name Service (域名服务) 53
TFTP Trivial File Transfer Protocol (简单文件传输协议) 69
SNMP Simple Network Management Protocol (简单网络管理协议) 通过UDP端口161接收,只有Trap信息采用UDP端口162。
NTP Network Time Protocol (网络时间协议) 123

三、OSI七层模型和 TCP/IP 四层协议异同点

区别:

1、网际协议的支持情况不同,TCP/IP 一开始就考虑到多种异构网的互连问题,并将网际协 议 IP 作为 TCP/IP 的重要组成部分。ISO 和 CCITT 最初只考虑到全世界都使用一种统一的标准 公用数据网将各种不同的系统互连在一起。

2、无线连接服务的支持标准不同,TCP/IP 一开始就对面对连接服务和无连接服务并重,而 OSI 在开始的时只强调面向连接这一种服务。一直到很晚 OSI 才开始制定另一种无连接服务 的有关标准。

3、网络管理能力不同,TCP/IP 较早就有很好的网络管理功能,而 OSI 到后来才考虑这个问 题。TCP/IP 的不足 : TCP/IP 模型对“服务”,“协议”和“接口”等概念没有很清楚的区分 开,TCP/IP 模型的通用性较差。

相同:

1、都是采用协议分层的方法,将庞大且复杂的问题划分为若干个较为容易处理的范围较小 的问题

2、各协议层次的功能大体上相似,都存在网络层,传输层和应用层。网络层实现点到点通信,并完成路由选择,流浪控制和拥赛控制功能;传输层实现端到端通信,将高层的用户应 用与低层的通信子网隔离开来,并保证数据传输的最终可靠性。

3、两者都可以解决异构网的互连,实现世界上不同厂家生产的计算机之间的通信。

4、都是计算机通信的国际标准,OSI 原则上是国际通用,TCP/IP 是当前工业界使用最多的。


相关文章
|
运维 数据可视化 数据处理
PyTimeTK: 一个简单有效的时间序列分析库
时间序列分析是数据科学的重要组成部分,特别是在金融、经济、天气预报等领域。它包括分析随时间收集或索引的数据点,以确定趋势、周期或季节变化。由于时间序列数据的复杂性所以分析时间序列需要复杂统计方法,我最近在Github上发现了一个刚刚发布不久的Python时间工具包PyTimeTK ,它可以帮我们简化时间序列分析的很多步骤。
186 4
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术在自然语言处理领域中实现情感分析。通过介绍情感分析的背景和原理,结合深度学习模型如LSTM、BERT等的应用,帮助读者了解情感分析的重要性以及如何利用最新技术实现更准确的情感识别。
|
应用服务中间件 nginx
nginx优化:URI过长或request header过大导致400或414报错
当出现URI过长或请求头过大导致400或414报错时,可以通过以下方式对Nginx进行优化: 1. 调整client_max_body_size参数:该参数用于限制请求体的大小。默认情况下,Nginx的client_max_body_size参数设置为1M。如果请求体超过这个大小,Nginx会返回400错误。您可以根据实际需求适当增加这个值,例如设置为10M或更大。 ``` http { client_max_body_size 10M; } ``` 2. 调整large_client_header_buffers参数:该参数用于调整请求头缓冲区的大
5785 0
|
缓存
银河麒麟server-V10配置镜像源
银河麒麟server-V10配置镜像源
10783 0
|
监控 Kubernetes Cloud Native
浅谈基于 OpenStack 和 k8s 建设云原生研发基础设施
建设公司云原生研发基础设施,为研发部门提供安全、可靠、高效的基础资源、数据存储服务、DevOps 流水线以及运维自动化服务等。
4665 4
浅谈基于 OpenStack 和 k8s 建设云原生研发基础设施
|
Web App开发 移动开发 JavaScript
JS - 微信浏览器(H5)语音录音插件(Recorder H5)
JS - 微信浏览器(H5)语音录音插件(Recorder H5)
2471 0
|
9月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
11月前
|
Oracle 关系型数据库 MySQL
深入OceanBase内部机制:多租户架构下的资源隔离实现精讲
深入OceanBase内部机制:多租户架构下的资源隔离实现精讲
|
11月前
|
SQL 缓存 数据库
Django中ORM性能调优
【6月更文挑战第19天】 1. **索引优化**:使用`db_index=True`为模型字段创建索引,提升查询速度。 2. **批量操作**:批量创建和更新,减少数据库交互。 3. **查询优化**:利用`select_related`和`prefetch_related`减少查询次数。 4. **缓存**:使用内置缓存或Redis减少数据库访问。 5. **异步任务**:用Celery处理耗时操作,提高响应速度。 6. **数据库连接池**:管理连接,减少创建和销毁开销。 7. **SQL直接操作**:在必要时用原生SQL,避免ORM性能瓶颈。 8. **分页查询**:减少数据传输,改善用
133 10
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
883 17

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等