热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OSI七层模型以及TCP/IP模型

somerecourcecomefromnetwork,thanksallthispeople!OSI7层模型:在传输层的数据叫段,网络层叫包,数据链路层叫帧,物理

some recource come from network, thanks all this people!

OSI 7 层模型:

在传输层的数据叫段,网络层叫包,数据链路层叫帧,物理层叫比特流,这样的叫法叫PDU(协议数据单元)。

每层封装后的数据单元的叫法不同,
在应用层、表示层、会话层的协议数据单元统称为data(数据),
在传输层协议数据单元称为segment(数据段),
在网络层称为packet(数据包),
数据链路层协议数据单元称为frame(数据帧),
在物理层叫做bits(比特流)



分层的好处是利用层次结构可以把开放系统的信息交换问题分解到一系列容易控制的软硬件模块-层中,
而各层可以根据需要独立进行修改或扩充功能,
同时,有利于个不同制造厂家的设备互连,也有利于大家学习、理解数据通讯网络。

OSI参考模型中不同层完成不同的功能,各层相互配合通过标准的接口进行通信。
第7层应用层:OSI中的最高层。为特定类型的网络应用提供了访问OSI环境的手段。
应用层确定进程之间通信的性质,以满足用户的需要。
应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为应用进程的用户代理,
来完成一些为进行信息交换所必需的功能。
它包括:文件传送访问和管理FTAM、虚拟终端VT、事务处理TP、远程数据库访问RDA、制造报文规范MMS、目录服务DS等协议;
应用层能与应用程序界面沟通,以达到展示给用户的目的。
在此常见的协议有:HTTPHTTPSFTPTELNETSSHSMTPPOP3等。

第6层表示层:主要用于处理两个通信系统中交换信息的表示方式。
为上层用户解决用户信息的语法问题。它包括数据格式交换、数据加密与解密、数据压缩与终端类型的转换。

第5层会话层:在两个节点之间建立端连接。
为端系统的应用程序之间提供了对话控制机制。此服务包括建立连接是以全双工还是以半双工的方式进行设置,
尽管可以在层4中处理双工方式 ;会话层管理登入和注销过程。它具体管理两个用户和进程之间的对话。
如果在某一时刻只允许一个用户执行一项特定的操作,会话层协议就会管理这些操作,如阻止两个用户同时更新数据库中的同一组数据。

第4层传输层:—常规数据递送-面向连接或无连接。
为会话层用户提供一个端到端的可靠、透明和优化的数据传输服务机制。
包括全双工或半双工、流控制和错误恢复服务;
传输层把消息分成若干个分组,并在接收端对它们进行重组。
不同的分组可以通过不同的连接传送到主机。
这样既能获得较高的带宽,又不影响会话层。
在建立连接时传输层可以请求服务质量,该服务质量指定可接受的误码率、延迟量、安全性等参数,
还可以实现基于端到端的流量控制功能。

第3层网络层:本层通过寻址来建立两个节点之间的连接,
为源端的运输层送来的分组,选择合适的路由和交换节点,
正确无误地按照地址传送给目的端的运输层。
它包括通过互连网络来路由和中继数据 ;除了选择路由之外,
网络层还负责建立和维护连接,控制网络上的拥塞以及在必要的时候生成计费信息。常用设备有交换机;

第2层数据链路层:在此层将数据分帧,并处理流控制。
屏蔽物理层,为网络层提供一个数据链路的连接,在一条有可能出差错的物理连接上,进行几乎无差错的数据传输(差错控制)。
本层指定拓扑结构并提供硬件寻址。常用设备有网卡、网桥、交换机;

第1层物理层:处于OSI参考模型的最底层。
物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。
常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。


数据发送时,从第七层传到第一层,接收数据则相反。

上三层总称应用层,用来控制软件方面。下四层总称数据流层,用来管理硬件。除了物理层之外其他层都是用软件实现的。

数据在发至数据流层的时候将被拆分。

在传输层的数据叫段,网络层叫包,数据链路层叫帧,物理层叫比特流,这样的叫法叫PDU(协议数据单元)[2]


上面我们简单的说明了7层体系的OSI参考模型,为了方便起见,我们常常把上面的7个层次分为低层与高层。
低层为1~3层,是面向通信的,高层为4~7层,是面向信息处理的。


OSI是一个定义良好的协议规范集,并有许多可选部分完成类似的任务。
它定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务。是作为一个框架来协调和组织各层所提供的服务。
OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。
OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。

这里写图片描述

TCP/IP 四层模型: 实际使用的

当用户输入要浏览的网站信息后就由应用层产生相关的数据,
通过表示层转换成为计算机可识别的ASCII码,再由会话层产生相应的主机进程传给传输层。
传输层将以上信息作为数据并加上相应的端口号信息以便目的主机辨别此报文,得知具体应由本机的哪个任务来处理;
在网络层加上IP地址使报文能确认应到达具体某个主机,再在数据链路层加上MAC地址,转成bit流信息,
从而在网络上传输。报文在网络上被各主机接收,通过检查报文的目的MAC地址判断是否是自己需要处理的报文,
如果发现MAC地址与自己不一致,则丢弃该报文,一致就去掉MAC信息送给网络层判断其IP地址;
然后根据报文的目的端口号确定是由本机的哪个进程来处理,这就是报文的解封装过程。


应用层:Telnet,FTP,SMTP,SNMP.
传输层:TCP ,UDP,UGP
互联网层: IP,ICMP,IGMP
网络接口层:ARP,RARP

client:
socket(),setsockopt(),fcntl(),iocntl()
|
|
connect()
|
|
read(),write(),recv(),send(),recvfrom(),sendto(),writev()
|
|
data Processing


server:
socket(),setsockopt(),fcntl(),iocntl()
|
|
bind()
|
|
accept(), select(), poll(), epoll
|
|
read(),write(),recv(),send(),recvfrom(),sendto(),writev()
|
|
data Processing

这里写图片描述

对比:
OSI TCP/IP
  ┌─────┐
  │ 应用层 │←第七层
  ├─────┤
  │ 表示层 │ 应用层
  ├─────┤
  │ 会话层 │
  ├─────┤-----------------------------------------
  │ 传输层 │ 传输层
  ├─────┤-----------------------------------------
 网络层  │ IP层
  ├─────┤-----------------------------------------
  │数据链路层│
  ├─────┤ 网络接口层
  │ 物理层 │←第一层
  └─────┘

推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
  • 微软评估和规划(MAP)的工具包介绍及应用实验手册
    本文介绍了微软评估和规划(MAP)的工具包,该工具包是一个无代理工具,旨在简化和精简通过网络范围内的自动发现和评估IT基础设施在多个方案规划进程。工具包支持库存和使用用于SQL Server和Windows Server迁移评估,以及评估服务器的信息最广泛使用微软的技术。此外,工具包还提供了服务器虚拟化方案,以帮助识别未被充分利用的资源和硬件需要成功巩固服务器使用微软的Hyper - V技术规格。 ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Linux本身是非常安全可靠的,假使在Linux系统中有某个安全缺陷,由于Linu ... [详细]
  • 网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
  •    实现了uboot对非linuxkernel的引导。虽然有一个IH_TYPE_STANDALONE,但是没有实现。nnd.只能自己想办法。实现详细见 ... [详细]
  • 本人新手,用Unity3D想做一个简单的赛车游戏,现在的问题是转弯的时候很容易出现翻车的情况,求解决思路比如说你的中心是在(0,0,0),你把他设置成(0,-1.0,0)之类的就可 ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • IP双栈环境下网络应用迁移
    IPv4向IPv6迁移有多种途径,在选择具体的迁移方式时,当前环境中运行的应用是否支持IPv6是重要的考量因素之一,同时在编写新的应用时,需要考虑新编写的应用不仅可以适应当前主流的IPv4环境, ... [详细]
  • SVN 功能说明(简版)
    Subversion(SVN)是什么?SVN是一种版本管理系统,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会 ... [详细]
author-avatar
fo切為祢
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有