`
xitong
  • 浏览: 6187877 次
文章分类
社区版块
存档分类
最新评论

OSI参考模型详解【原】

 
阅读更多

OSI参考模型详解

最近遇到个麻烦的问题,由于内网只对外暴露了一台服务器,而我需要在外网访问装在内网其他机器上的postgres数据库。第一时间我想到了nginx的反向代理,不过那是处理http协议用的,没辙。我猜想访问postgres数据库应该离不开tcp协议,可以使用某个工具针对5432端口做一个tcp的代理。费了九牛二虎之力最终通过Linux的iptable实现了(在此再次鄙视没有经过验证胡乱转载的文章)。于是乎,静心沉思,整个计算机系统,那么多的协议,到底是如何工作的?之间有什么关系呢?还好以前管理过公司的网络,让我想到了也许OSI参考模型可以给我答案。

OSI(Open Ssytem Interconnect),中文名称为“开放式网络互联”,说白了就是一套定义了计算机之间怎样通信的模型,由国际标准化组织制定,绝对靠谱。相信大部分人对OSI的理解都还停留在背诵的层面上。在此我先从低到高列出OSI模型的7层结构,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。这些层次分为低三层和高四层,低层为高层提供服务。两台计算机的应用程序要通信,几乎都得穿透这7层。下面开始介绍。


一,各层详解

1,物理层

传输单元:比特流bit,110110110…….还用解释么

工作设备:光纤、双绞线、中继器和集线器

常见概念:RJ-45(就是那个网线接口)、IEEE802.2(网卡)

功能描述:建立和取消物理连接,传输bit流。

2,数据链路层

传输单元:数据帧frame,数据帧里有帧头和帧体,帧头包含收发双方的mac地址等,帧体主要就是一个数据包(IP包),也就是从网络层拿到的包。一般一个数据帧含有一个数据包(IP包),在有拆分的情况下可能含有多个包。

一些设备:网桥、二层交换机(也就是傻瓜交换机,知道为什么叫二层了吧)

常见概念:ARP(地址解析协议,负责将IP解析到MAC上)、MAC(物理地址)

功能描述:将bit流封装成帧frame;物理寻址;链路的建立分离取消;同时可以控制流量;通过复杂的数据校验算法和数据重发机制,在不可靠的物理介质上提供可靠传输。

3,网络层

传输单元:数据包packet,也叫IP包,数据包里有包头和包体,包头含收发双方IP地址等,包体含TCP(传输控制协议)、UDP(用户数据协议)、进程信息、端口号和实体数据,这些都是从传输层传过来的。

一些设备:路由器、三层交换机

常见概念:IP(协议)

功能描述:数据包与数据帧的转换;路由选择;流量控制。

一个疑惑:为什么说抓包工具能看到mac地址呢?难道抓包工具的包指的不是IP包,而是数据链路层的数据帧?望高手解答。

4,传输层

传输单元:TCP方式叫数据段Segment,UDP方式叫数据报Datagram。网络层的一个IP包可能含有一个或者多个TCP或者UDP。

一些设备:四层交换机(可以配置端口映射的那种)

常见概念:TCP(协议)、UDP(协议)、端口

功能描述:端到端的通信,根据网络层提供的服务质量,创建单个或者多个连接。

5,会话层

传输单元:报文

一些设备:暂无

常见概念:QOS(交换机上见过,暂时没去研究干嘛用的)

功能描述:访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。使通信会话在通信失效时从校验点继续恢复通信。

6,表示层

传输单元:报文

一些设备:暂无

常见概念:暂无

功能秒速:这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。

7,应用层

传输单元:报文

一些设备:暂无

常见概念:Telnet、FTP、HTTP、SMTP、DNS

功能描述:应用层为操作系统或网络应用程序提供访问网络服务的接口。

解释完毕,附上xmind图好理解


二,TCP/IP相关

TCP/IP模型

TCP/IP模型其实就是OSI模型的浓缩版,源于美国国防部,与OSI对应关系如下:

应用层----------应用层、表示层、会话层

传输层----------传输层

网络层----------网络层

网络接口层----------数据链路层、物理层

TCP/IP协议

TCP/IP协议有网络层的IP协议和传输层的TCP协议组成。一般的TCP/IP协议指的都是TCP/IP协议族。

TCP/IP协议族

包括TCP/IP核心协议以及几乎OSI里面的其他所有协议,比如ARP、HTTP、DNS等。

三,其他信息

协议

生活中的协议都很好理解,即大家一起商讨好的某种规范。计算机里面的协议也类似。

比如HTTP协议,规定了从浏览器发出请求到获得内容的整个过程的规范。具体说就是浏览器对某个IP的某个端口(默认80,HTTPS为443)发出一个socket连接请求,同时在该socket中写入客户端的基本信息,浏览器类别、请求路径、请求方式、允许返回的内容类别等。这些信息先写哪些再写哪些,之间哪里空格哪里换行都规定好了。服务端建立连接后从socket的输入流中拿到这些信息,处理后往socket的输出流中写入返回信息,先写响应头再写正文,响应头的格式和与请求头一样要求很严格。最后还要负责关闭socket连接,好让浏览器知道东西拿完了。最后浏览器解析拿到的数据并呈现出来。网上有很多简单http服务器实现的代码,改天有空我再发一个出来。

对于TCP协议或者IP协议,其实也差不多,无非就规定好数据包或者数据段的格式和传输方式。

HTTP是应用层的协议,根据OSI模型可以知道其底层传输的是TCP的东西,所以说linux的iptable很强大,比nginx能控制得更底层。


Socket

Socket,即套接字,用于描述IP和端口,是一个通信句柄。一个IP和一个端口可以创建一个socket。

分享到:
评论

相关推荐

    OSI参考模型详解

    OSI(Open System Interconnect)开放式系统互联,一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。

    TCPIP协议栈与OSI参考模型详解.doc

    TCPIP协议栈与OSI参考模型详解.doc

    OSI 七层模型详解

    OSI模型详解 OSI 七层模型详解 开放式系统互联模型(OSI)是 1984 年由国际标准化组织(ISO)提出的一个参考模型。

    osi模型详解.docx

    osi七层模型参考

    TCP/IP协议详解(完整目录版)

    1.1.2 OSI参考模型 3 1.1.3 模型的使用 5 1.2 TCP/IP参考模型 7 1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 ...

    VLAN技术详解

    LAN(Virtual Local Area Network)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可...VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,VLAN之间的通信是通过第3层的路由器来完成的。

    VLAN技术深度详解

    VLAN(Virtual Local Area Network)又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可...VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,VLAN之间的通信是通过第3层的路由器来完成的。

    网络知识详解 网络知识详解

    Internet简介—一个全局...OSI参考模型 vs. TCP/IP协议集 以太网原理—集线器 vs. 交换机 IP协议—编址、路由、访问控制、地址翻译 高层应用—DNS、HTTP、FTP、E-mail 传输介质与结构化布线 网络管理 网络管理经验分享

    TCP/IP详解 卷三

    TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、...

    HCIA-Datacom培训视频.rar

    03互联网参考模型OSI七层模型,mp4 04 TCPIP四层参考模型.mp4 O5ENSP模拟器安装使用及TCP三次握手详解,mp4 06TCP四次挥手详解.mp4 07IP报文封装及数据链路层封装。mp4 O8ARP地址解析协议详解及实战mp4 09VRP平台...

    计算机网络基础视频教程(第一部分)

    计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础5.1.IP地址的格式、组成及分类 计算机网络基础5.2.可变长度子网...

    计算机网络基础视频教程(第二部分)

    计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础5.1.IP地址的格式、组成及分类 计算机网络基础5.2.可变长度子网...

    计算机网络基础视频教程(第四部分)

    计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础5.1.IP地址的格式、组成及分类 计算机网络基础5.2.可变长度子网...

    计算机网络基础视频教程(第五部分)

    计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础5.1.IP地址的格式、组成及分类 计算机网络基础5.2.可变长度子网...

    计算机网络基础视频教程(第三部分)

    计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础5.1.IP地址的格式、组成及分类 计算机网络基础5.2.可变长度子网...

    H3CNE题库 附带详解

    1. 以下工作于OSI 参考模型数据链路层的设备是__A____。(选择一项或多项) A. 广域网交换机 B. 路由器 C. 中继器 D. 集线器 * A 数据链路层传输的是帧,交换机是基于帧转发的;B 路由器是三层(网络层)设备;C 中继...

Global site tag (gtag.js) - Google Analytics