OSI七层网络模型与TCP/IP四层网络模型

2.1 OSI网络分层参考模型

  网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理过的那部分通信问题;为了主协议的实现更加有效,协议之间应该能够共享特定的数据结构;同时这些协议的组合应该能处理所有可能的硬件错误以及其它异常情况。为了保证这些协议工作的协同性,应当将协议设计和开发成完整的、协作的协议系列(即协议族),而不是孤立地开发每个协议。
  在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型。一台计算机操作系统中的网络过程包括从应用请求(在协议栈的顶部)到网络介质(底部) ,OSI参考模型把功能分成七个分立的层次。图2.1表示了OSI分层模型。

  ┌─────┐
  │ 应用层 │←第七层
  ├─────┤
  │ 表示层 │
  ├─────┤
  │ 会话层 │
  ├─────┤
  │ 传输层 │
  ├─────┤
  │ 网络层 │
  ├─────┤
  │数据链路层│
  ├─────┤
  │ 物理层 │←第一层
  └─────┘
  图2.1 OSI七层参考模型

  OSI模型的七层分别进行以下的操作:

  第一层??物理层
  第一层负责最后将信息编码成电流脉冲或其它信号用于网上传输。它由计算机和网络介质之间的实际界面组成,可定义电气信号、符号、线的状态和时钟要求、数据编码和数据传输用的连接器。如最常用的RS-232规范、10BASE-T的曼彻斯特编码以及RJ-45就属于第一层。所有比物理层高的层都通过事先定义好的接口而与它通话。如以太网的附属单元接口(AUI),一个DB-15连接器可被用来连接层一和层二。
  第二层??数据链路层
  数据链路层通过物理网络链路提供可靠的数据传输。不同的数据链路层定义了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。物理编址(相对应的是网络编址)定义了设备在数据链路层的编址方式;网络拓扑结构定义了设备的物理连接方式,如总线拓扑结构和环拓扑结构;错误校验向发生传输错误的上层协议告警;数据帧序列重新整理并传输除序列以外的帧;流控可能延缓数据的传输,以使接收设备不会因为在某一时刻接收到超过其处理能力的信息流而崩溃。数据链路层实际上由两个独立的部分组成,介质存取控制(Media Access Control,MAC)和逻辑链路控制层(Logical Link Control,LLC)。MAC描述在共享介质环境中如何进行站的调度、发生和接收数据。MAC确保信息跨链路的可靠传输,对数据传输进行同步,识别错误和控制数据的流向。一般地讲,MAC只在共享介质环境中才是重要的,只有在共享介质环境中多个节点才能连接到同一传输介质上。IEEE MAC规则定义了地址,以标识数据链路层中的多个设备。逻辑链路控制子层管理单一网络链路上的设备间的通信,IEEE 802.2标准定义了LLC。LLC支持无连接服务和面向连接的服务。在数据链路层的信息帧中定义了许多域。这些域使得多种高层协议可以共享一个物理数据链路。
  第三层??网络层
  网络层负责在源和终点之间建立连接。它一般包括网络寻径,还可能包括流量控制、错误检查等。相同MAC标准的不同网段之间的数据传输一般只涉及到数据链路层,而不同的MAC标准之间的数据传输都涉及到网络层。例如IP路由器工作在网络层,因而可以实现多种网络间的互联。
  第四层??传输层
  传输层向高层提供可靠的端到端的网络数据流服务。传输层的功能一般包括流控、多路传输、虚电路管理及差错校验和恢复。流控管理设备之间的数据传输,确保传输设备不发送比接收设备处理能力大的数据;多路传输使得多个应用程序的数据可以传输到一个物理链路上;虚电路由传输层建立、维护和终止;差错校验包括为检测传输错误而建立的各种不同结构;而差错恢复包括所采取的行动(如请求数据重发),以便解决发生的任何错误。传输控制协议(TCP)是提供可靠数据传输的TCP/IP协议族中的传输层协议。
  第五层??会话层
  会话层建立、管理和终止表示层与实体之间的通信会话。通信会话包括发生在不同网络应用层之间的服务请求和服务应答,这些请求与应答通过会话层的协议实现。它还包括创建检查点,使通信发生中断的时候可以返回到以前的一个状态。
  第六层??表示层
  表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息可以被另一个系统应用层识别。表示层的编码和转化模式包括公用数据表示格式、性能转化表示格式、公用数据压缩模式和公用数据加密模式。
  公用数据表示格式就是标准的图像、声音和视频格式。通过使用这些标准格式,不同类型的计算机系统可以相互交换数据;转化模式通过使用不同的文本和数据表示,在系统间交换信息,例如ASCII(American Standard Code for Information Interchange,美国标准信息交换码);标准数据压缩模式确保原始设备上被压缩的数据可以在目标设备上正确的解压;加密模式确保原始设备上加密的数据可以在目标设备上正确地解密。
  表示层协议一般不与特殊的协议栈关联,如QuickTime是Applet计算机的视频和音频的标准,MPEG是ISO的视频压缩与编码标准。常见的图形图像格式PCX、GIF、JPEG是不同的静态图像压缩和编码标准。
  第七层??应用层
  应用层是最接近终端用户的OSI层,这就意味着OSI应用层与用户之间是通过应用软件直接相互作用的。注意,应用层并非由计算机上运行的实际应用软件组成,而是由向应用程序提供访问网络资源的API(Application Program Interface,应用程序接口)组成,这类应用软件程序超出了OSI模型的范畴。应用层的功能一般包括标识通信伙伴、定义资源的可用性和同步通信。因为可能丢失通信伙伴,应用层必须为传输数据的应用子程序定义通信伙伴的标识和可用性。定义资源可用性时,应用层为了请求通信而必须判定是否有足够的网络资源。在同步通信中,所有应用程序之间的通信都需要应用层的协同操作。
  OSI的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等。

2.2 TCP/IP分层模型

  TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。图2.2表示了TCP/IP分层模型的四层。
  ┌────────┐┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
  │        ││D│F│W│F│H│G│T│I│S│U│ │
  │        ││N│I│H│T│T│O│E│R│M│S│其│
  │第四层,应用层 ││S│N│O│P│T│P│L│C│T│E│ │
  │        ││ │G│I│ │P│H│N│ │P│N│ │
  │        ││ │E│S│ │ │E│E│ │ │E│它│
  │        ││ │R│ │ │ │R│T│ │ │T│ │
  └────────┘└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
  ┌────────┐┌─────────┬───────────┐
  │第三层,传输层 ││   TCP   │    UDP    │
  └────────┘└─────────┴───────────┘
  ┌────────┐┌─────┬────┬──────────┐
  │        ││     │ICMP│          │
  │第二层,网间层 ││     └────┘          │
  │        ││       IP            │
  └────────┘└─────────────────────┘
  ┌────────┐┌─────────┬───────────┐
  │第一层,网络接口││ARP/RARP │    其它     │
  └────────┘└─────────┴───────────┘
      图2.2 TCP/IP四层参考模型
  TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。
  TCP/IP分层模型的四个协议层分别完成以下的功能:
  第一层??网络接口层
  网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。
  第二层??网间层
  网间层对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息。
  第三层??传输层
  传输层对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP协议(Use Datagram Protocol)提供不可靠的用户数据报服务。
  第四层??应用层
  应用层对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等,这也是本书将要讨论的重点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python小学生课本剧_二年级上学期课本剧

我们把这美丽的景色看个够。 (二人分别立在舞台两边,向远处眺望,作观赏状。) 小洁:(开心地)啊,岸上的景色真美! 小刚:瞧,那些奇形怪状的石头真好看! (石蛙、石鹰、石兔、石龟边舞边上…

用数组存储循环序号的数据

一个i&#xff08;i<10&#xff09;对应四个坐标值&#xff0c;需要用4*i大小的一维数组循环存储&#xff0c;或者用二维数组b[i][4]存储&#xff0c;i行4列。 一维存储方法&#xff08;类似于opencv存储彩图的顺序&#xff09;for (int i 0; i < viewMatches.size(); i…

spring 事物合并_Spring系列合并

spring 事物合并Spring Collection合并是我第一次遇到的功能&#xff0c;它是对StackOverflow 问题的回答 这是一种创建基本集合&#xff08;列表&#xff0c;集合&#xff0c;地图或属性&#xff09;并在其他Bean中修改此基本集合的方法&#xff0c;下面通过一个示例对此进行最…

2018/11/29 一个64位操作系统的设计与实现 03 (在Bochs上运行Boot程序)

使用命令dd强制将引导程序boot.bin写入引导扇区: dd ifboot.bin of/home/parallels/Documents/bochs-2.6.9/boot.img bs512 count1 convnotrunc 在P39页有完整的讲解命令的意思 注意: 书中使用的: of../../bochs-2.6.9/boot.img 是错误的. 使用命令: ./bochs -f .bochsrc 书中使…

怎么把python解释器配置在pycharm中_在PyCharm中配置项目(三):配置Python解释器...

PyCharm是一种Python IDE&#xff0c;其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外&#xff0c;该IDE提供了一些高级功能&#xff0c;以用于Django框架下的专业Web开发。PyCharm最新版本2019.2发布&#xff0c;功能改进提高Python语言开发效率&#…

mysql 赋给用户权限 grant all privileges on

遇到了 SQLException: access denied for localhost (using password: no) 解决办法 grant all privileges on *.* to joelocalhost identified by 1; flush privileges; 拿 joe 1 登陆 附&#xff1a; mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用…

辨析矩阵内积(hadamard、kronecker)

1. matmul product&#xff08;一般矩阵乘积&#xff09; m x p矩阵A与p x n矩阵B&#xff0c;那么称 m x n 矩阵C为矩阵A与矩阵B的一般乘积&#xff0c;记作C AB &#xff0c;其中矩阵C元素 [cij]为矩阵A、B对应两两元素之和&#xff0c;表示为&#xff1a; 例子&#xff1a…

Drools 6.5.0.Final提供

最新版本和最出色的Drools 6.5.0.Final版本现已可供下载。 这是我们先前构建的增量版本&#xff0c;重点是对6.x系列进行一些重要的改进。 您可以在此处找到更多详细信息&#xff0c;下载和文档&#xff1a; Drools网站 资料下载 文献资料 发行说明 请阅读下面的一些发行…

第一阶段总结

在这一周的冲刺周期里&#xff0c;我做了如下的事情&#xff1b; 1.在网上找到适当的图片作为软件图标&#xff1b; 2.编程出窗口的基本框架&#xff1b; 3.调整窗口的长宽高&#xff1b; 4.编写相关代码&#xff1b; 5.整合部分代码&#xff1b; 个人评分&#xff1a;99 转载于…

测试电梯的测试用例_测试用例设计经典面试题

测试用例设计经典面试题之电梯、杯子、笔、桌子、洗衣机、椅子、ATM等按测试的类型逐一测试测试类型主要分为&#xff1a;界面测试、性能测试(压力测试)、安全测试、兼容性测试几个方向。1.测试项目&#xff1a;电梯需求测试&#xff1a;查看电梯使用说明书、安全说明书等界面测…

mysql grant查看用户权限命令

本文章来给大家总结一些常用的来查看mysql用户权限命令的一些方法总结&#xff0c;在mysql中查看用户权限命令是show grants for了&#xff0c;下面我来详细介绍grants这个命令&#xff0c;有需要了解的朋友可参考。 语句 代码如下复制代码 show grants for 你的用户 比如&a…

[JSON].valueOf( keyPath )

语法&#xff1a;[JSON].valueOf( keyPath ) 返回&#xff1a;[任意类型 | null] 说明&#xff1a;获取键名路径原值&#xff0c;它保留原始值的类型 示例&#xff1a; b sysFile.binary("test.asp") 获取文件流数据 set a toJson() a.set "obj", b 将流…

任意门怎么用团发_平开门、推拉门都out了!衣柜门这样设计,实用方便又大气!...

▲ 点击蓝字“装修PLUS”&#xff0c;有关装修的问题&#xff0c;答案全在这里点击获取2020年装修精准报价冬天的时候&#xff0c;天天穿同一件外套去公司也不合适&#xff0c;但每天都换洗外套也不现实&#xff0c;所以最好的办法就是好几件外套轮流穿&#xff0c;然后换下不洗…

实践中的事件源和CQRS

任何尝试实施完全符合ACID的系统的人都知道&#xff0c;您需要做很多事情。 您需要确保可以自由创建&#xff0c;修改和删除数据库实体而不会出错&#xff0c;在大多数情况下&#xff0c;解决方案将以性能为代价。 可以用来解决此问题的一种方法是根据一系列事件而不是可变状态…

Lintcode--1(463)--整数排序

题目&#xff1a;给一组整数&#xff0c;按照升序排序&#xff0c;使用选择排序&#xff0c;冒泡排序&#xff0c;插入排序或者任何 O(n2) 的排序算法1、冒泡排序原理&#xff1a;从第一个整数开始第一趟&#xff0c;比较相邻的两个元素&#xff0c;大的放在后面&#xff1b;一…

Preparing Cities for Robot Cars【城市准备迎接自动驾驶汽车】

Preparing Cities for Robot Cars The possibility of self-driving robot cars has often seemed like a futurists dream, years away from materializing in the read world. 自动驾驶机器人汽车的可能性貌似看起来常常是未来主义者的梦想&#xff0c;在真实世界里的实现还…

百度地图no result available_【整理之路二】百度地图的路径规划和调用本机地图导航...

推荐看完之后注意一下最后的东西一、细说百度地图的路径规划路径规划主要有这么几种1.公交路径规划1.1 市内公交规划&#xff08;暂时不在这里说&#xff09;1.2 跨市/省公交规划// 导入头文件#import <BaiduMapAPI_Search/BMKSearchComponent.h>#import <BaiduMapAPI…

最短路径—Dijkstra算法和Floyd算法

Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法&#xff0c;用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展&#xff0c;直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法&#xff0c;在很多专业课…

实现两个数的交换(异或,加减)

1、 通常我们通过设置临时变量来实现两个数的交换&#xff0c;如下&#xff1a; void swap(int *a,int *b){int temp;temp*a;*a*b;*btemp;} 2、还可以通过异或来实现两个不同整数的交换&#xff0c;如下&#xff1a; void swap(int &a,int &b){tempa^b; //设a为临…

url override and HttpSession implements session

背景 HttpSession默认使用Cookie存储Session ID&#xff0c;如果在用户禁用浏览器Cookie的功能后&#xff0c;仍打算运用HttpSession来进行会话管理&#xff0c;那么可以搭配URL重写来实现。 实现方法 使用HttpServletResponse的encodeURL()方法协助产生URL。  服务器端调用r…