OSI的七层体系结构概念清楚,理论也很完整,但是它比较复杂而且不实用。在这里顺带提一下之前一直被一些大公司甚至一些国家政府支持的OSI失败的原因:

  1. OSI的专家缺乏实际经验,他们在完成OSI标准时缺乏商业驱动力
  2. OSI的协议实现起来过分复杂,而且运行效率很低
  3. OSI制定标准的周期太长,因而使得按OSI标准生产的设备无法及时进入市场(20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来,但基于TCP/IP的互联网已经抢先在全球相当大的范围成功运行了)
  4. OSI的层次划分不太合理,有些功能在多个层次中重复出现

五层协议的体系结构

学习计算机网络时我们一般采用折中的办法,也就是中和OSI和TCP/IP的有点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。

结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。

1 应用层(application layer)

应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元称为报文。

域名系统(Domain Name System缩写DNS,Domain Name被译为域名)

域名系统是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(百度百科)例如:一个公司的Web网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM公司的域名是www.ibm.com、Oracle公司的域名是www.oracle.com、Cisco公司的域名是www.cisco.com等。

HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。(百度百科)

2 运输层(transport layer)

运输层的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个线程,因此运输层有复用和分用的功能。所谓复用就是指多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

运输层主要使用以下两种协议:

  1. 传输控制协议TCP(Transmisson Control Protocol)--提供面向连接的,可靠的数据传输服务。
  2. 用户数据协议UDP(User Datagram Protocol)--提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)。

UDP的主要特点:

  1. UDP是无连接的;
  2. UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);
  3. UDP是面向报文的;
  4. UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);
  5. UDP支持一对一、一对多、多对一和多对多的交互通信;
  6. UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

TCP的主要特点:

  1. TCP是面向连接的。(就好像打电话一样,通话前需要先拨号建立连接,通话结束后要挂机释放连接);
  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一);
  3. TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达;
  4. TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双方通信的数据;
  5. 面向字节流。TCP中的“流”(stream)指的是流入进程或从进程流出的字节序列。“面向字节流”的含义是:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。

3 网络层(network layer)

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在TCP/IP体系结构中,由于网络层使用IP协议,因此分组也叫IP数据报,简称数据报

这里要注意:不要把运输层的“用户数据报UDP”和网络层的“IP数据报”弄混。另外,无论是哪一层的数据单元,都可笼统地用“分组”来表示。

网络层的另一个任务就是选择合适的路由,使源主机运输层所传下来的分株,能通过网络层中的路由器找到目的主机。

这里强调指出,网络层中的“网络”二字已经不是我们通常谈到的具体网络,而是指计算机网络体系结构模型中第三层的名称.

互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Prococol)和许多路由选择协议,因此互联网的网络层也叫做网际层IP层

4 数据链路层(data link layer)

数据链路层通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装程帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。 控制信息还使接收端能够检测到所收到的帧中有误差错。如果发现差错,数据链路层就简单地丢弃这个出了差错的帧,以避免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在链路层传输时出现差错(这就是说,数据链路层不仅要检错,而且还要纠错),那么就要采用可靠性传输协议来纠正出现的差错。这种方法会使链路层的协议复杂些。

5 物理层(physical layer)

在物理层上所传送的数据单位是比特。 **物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。**使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。

在互联网使用的各种协中最重要和最著名的就是TCP/IP两个协议。现在人们经常提到的TCP/IP并不一定单指TCP和IP这两个具体的协议,而往往表示互联网所使用的整个TCP/IP协议族。

上面我们对计算机网络的五层体系结构有了初步的了解,下面附送一张七层体系结构图总结一下。图片来源:https://blog.csdn.net/yaopeng_2005/article/details/7064869

本文转自:https://juejin.im/post/5b5f20686fb9a04f844adbdd

OSI与TCP/IP各层的结构与功能相关推荐

  1. OSI与TCP/IP各层的结构与功能,都有哪些协议

    前言: 今天更新一下计算机网络的一些非常重要的知识,可能很多人都不知学计算机网络有什么用,我想说的是它真的比较重要,像咱们学校只要是学计算机这个专业都要学习这门课程.另外大家要是去一些像BAT,阿里, ...

  2. OSI 模型 TCP/IP 各层的作用以及协议 vlan的三种端口 (交换部分二)

    目录 OSI模型 OSI各层的作用 各层的协议 数据通信 物理层的主要功能 网卡 中继器 集线器 数据链路层功能 数据链路层协议 以太网概述 以太网地址(MAC地址) 数制概念 网络层作用 协议 IP ...

  3. OSI模型 TCP/IP模型 数据包结构

  4. OSI七层模型和TCP/IP四层体系分层结构

    一.OSI七层模型 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型 ...

  5. OSI和TCP/IP网络参考模型傻傻分不清?图解和各层作用详细说明

    1.OSI参考模型 1.1 产生背景 在网络发展的早期时代,网络技术的发展变化速度非常快,计算机网络变得越来越复杂,新的协议和应用不断产生,而网络设备大部分都是按厂商自己的标准生产,不能兼容,很难相互 ...

  6. 1.2.3 TCP/PI参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较

    文章目录 1.TCP/IP.OSI.五层参考模型结构图 2.TCP/IP.OSI的相同点 3.TCP/IP.OSI的不同点 4.五层参考模型结构 5.五层参考模型数据封装与解封装(数据传输) 1.TC ...

  7. 1.2.3 TCP/PI参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较(转载)

    原文链接:https://blog.csdn.net/weixin_43914604/article/details/104597450 本博客为个人学习.研究或者欣赏用,如有侵权,请与我联系删除,谢 ...

  8. TCP/PI参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较...

    1.TCP/IP.OSI.五层参考模型结构图 2.TCP/IP.OSI的相同点 3.TCP/IP.OSI的不同点 4.五层参考模型结构 为了学习计算机网络,采取折中的方法,综合学习OSI和TCP/IP ...

  9. 计算机网络(OSI、TCP/IP、网络协议、常见网络设备工作原理)

    目录 OSI模型 TCP/IP模型 网络协议 IP协议 IP数据报格式 IP数据报分片 IPv4地址 NAT协议 ARP/RARP协议 ARP RARP DHCP协议 ICMP协议 ICMP差错报告报 ...

最新文章

  1. 在Docker Hub上你可以很轻松下载到大量已经容器化的应用镜像,即拉即用——daocloud国内镜像加速...
  2. Docker selenium自动化 - 使用python操作docker,python运行、启用、停用和查询容器实例演示
  3. 有赞 Flink 实时任务资源优化探索与实践
  4. Longest Substring With At Most K Distinct Characters
  5. linux cd 一些用法
  6. 请说明计算机基本术语中字节,二进制中的3位可以表示几种状态
  7. 用Windows Live Writer客户端写51CTO博客
  8. 为什么都建议学java而不是python-学java好还是Python好?
  9. java 队列实现_队列的实现(JAVA)
  10. Prometheus Operator 安装
  11. java短信接口开发完整项目_java项目接入第三方短信接口
  12. 水哥 liunx之旅之输入法
  13. 基于android的轻餐饮点餐APP-计算机毕业设计
  14. 个人简历管理系统-总结
  15. RAC - RACSignal
  16. 计算机登录界面没有用户显示不出来,电脑开机时提示用户界面失败:无法加载登录用户界面的解决方法...
  17. ccsa安学网小程序_CCSA安学网安全题库完整
  18. PHP扫二维码直接跳地址
  19. 古诗生成-pytorch
  20. stream流的应用与并行流

热门文章

  1. python--打字练习的成绩判定
  2. 【未雨绸缪】海南测控天线系统防御台风的措施
  3. You can't specify target table 'Person' for update in FROM clause
  4. std::enable_if的用法
  5. 【B端·BI系统实战分析】BI系统概述
  6. js逆向-ast混淆还原入门案例(2)
  7. 技术汇总:第七章:三种验证方式
  8. C++多态的好处和作用(用实例说话)
  9. 在vue中使用Echarts的3D柱状图
  10. Android中常用的加密方式