OSI是Open SystemInterconnect的缩写,意为开放式系统互联,国际标准化组织(ISO)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。高三层定义了端用户如何进行相互通信;底部4层定义了数据是如何端到端的传输,最高3层,也称为上层(Upper layer)它们不关心网络的具体情况、这些工作室下4层来完成。
Issue:为什么网络模型要分层(Why aLayerd Network Model ?) 减少复杂度 Reduces complexity 标准化接口 Standardizes interfaces 便于模块化设计Facilitates modularengineering 提供兼容性 Ensuers interoperabletechnology 推动网络的发展 Accelerates evolution 方便网络知识的教学和学习Simplifies teaching and learning
各层的作用: 应用层(Application)一搬是提供人机交互的。 表示层(Presentation)表示层一般是程序人员去定义自己软件开的格式。(其中包括视频,MP3,文件等) 会话层(Session)控制分配我们的系统资源。 上面的三层主要是开发人员需要了解的。
传输层(Transport)(TCP/UDP)传输层用于控制数据流量,并且进行调试及错误处理,以确保通信顺利。而传送端的传输层会为分组加上序号,方便接收端把分组重组为有用的数据或文件。
网络层(Network)网络层的作用是决定如何将发送方的数据传到接收方。该层通过考虑网络拥塞程度、服务质量、发送优先权、每次路由的耗费来决定节点X到节点Y的最佳路径。我们熟知的路由器就工作在这一层,通过不断的接收与传送数据使得网络变得相互联通。
数据链路层(DataLink)首先数据链路层的功能在于管理第一层的比特数据,并且将正确的数据传送到没有传输错误的路线中。创建还有辨认数据开始以及退出的位置同时予以标记。另外,就是处理由数据受损、丢失甚至重复传输错误的问题,使后续的层级不会受到影响,所以它运行数据的调试、重传或修正,还有决定设备何时进行传输。设备有:Bridge桥接器switch交换器
物理层(Physical)物理层定义了所有电子及物理设备的规范。其中特别定义了设备与物理媒介之间的关系,这包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器(在SAN中使用的主机适配器)以及其他的设备的设计定义。因为物理层传送的是原始的比特数据流,即设计的目的是为了保证当发送时的信号为二进制“1”时,对方接收到的也是二进制“1”而不是二进制“0”。因而就需要定义哪个设备有几个针脚,其中哪个针脚发送的多少电压代表二进制“1”或二进制“0”,还有例如一个bit需要持续几微秒,传输信号是否在双向上同时进行,最初的连接如何创建和最终如何终止等问题。
具体7层 | 数据格式 | 功能与连接方式 | 典型设备 | 应用层Application |
| 网络服务与使用者应用程序间的一个接口 |
| 表示层Presentation |
| 数据表示、数据安全、数据压缩 |
| 会话层Session |
| 建立、管理和终止会话 |
| 传输层Transport | 数据组织成数据段Segment | 用一个寻址机制来标识一个特定的应用程序(端口号) | 网关 | 网络层Network | 分割和重新组合数据包Packet | 基于网络层地址(IP地址)进行不同网络系统间的路径选择 | 路由器 | 数据链路层Data Link | 将比特信息封装成数据帧Frame | 在物理层上建立、撤销、标识逻辑链接和链路复用以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址 | 网桥、交换机、网卡 | 物理层Physical | 传输比特(bit)流 | 建立、维护和取消物理连接 | 光纤、同轴电缆、 双绞线、中继器和集线器 |
数据包的封装: 当主机跨网段向其他设备传输数据的时候,就要进行数据封装,就是在OSI模型的每一层加上协议信息,每一层至于接受设备上相对等层进行通信。
PDU(protocol data units,数据单元 为了实现通信并交换信息,每一层都使用协议数据单元PDU在模型中的每一层这个些都含有控制信息的PDU被附加到数据上,它们通常被附加到数据字段的报文中,但它们也可以被附加在数据字段的分层中。 在OSI模型的每一层通过封装每个PDU被附加到数据上,而且每个PDU都有特定的名称,其名称取决于每个报头中所提供的信息,这种PDU纸能由接收方设备中的对等设备独缺,在读取之后报头就被剥离然后把数据交给上一层。 数据流被送到传输层之后通过发送同步包,传输层能够建立一跳到接收方设备的虚电路。然后数据流被分割成更小的快并更具协议穿件一个传输层报文(PDV)将它附加到数据段的报头中。现在这种数据块就称为数据段,每个数据段要进行排序,以便数据流能够在接收方精确地重组。与它在发送时的顺序完全一样。然后每个数据流被交到网络层,以便通过互联网实现网络寻址和路由选择。在网络层中使用逻辑寻址(如IP)讲每个数据段送到正确的网络中。网络层协议向来自传输层的数据段中添加控制报文(LLC)所得到的数据块就称为数据包或数据报。 传输层和网络层是一起工作的。以在接收方主机中重建数据流,但它们并不讲它们的PDU放在本地网段上面。这是得到有关路由或主机信息的唯一方式。 数据链路层复制从网络层接收到数据报并将他们放到网络介质上面 .数据链路层将每个数据报封装成帧,帧的报头中包含了源和目的的主机硬件地址,如果目的设备在一个远程网络中,帧就会被送往路由器以通过互联网传送到目的地。一旦它到达目的网络就会使用一个新的帧讲数据包送往目的的主机。
在发送方设备中数据封装的过程如下: 1.用户信息转换为数据,以便在网络上面传输 2.数据转换为数据段,并在发送方和接收方主机之间建立可靠的连接 3.数据段转换为数据包或数据报,并在报文中防上逻辑地址,这样每一个数据包都可以通过互联网进行传输。 4.数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上面,使用硬件地址唯一标识每一台主机。 5.帧转换为比特流,并采用数据编码和时钟方案
注:数据流是从高层送往传输层的
网络层在每个数据段的前面添加报文,并添加逻辑地址。一旦数据段前面添加了报文PDU就称为数据包
传输层接收数据流,将他们组合成段,并通过创建虚电路来建立可靠的会话,然后他将每个段排序,并使用确认技术和流量控制。
The TCP/IP Network Model
Layer | Description | Protocols | Application | Defines TCP/IP application protocols and how host programs interface with transport layer services to use the network. | HTTP, Telnet, FTP, TFTP, SNMP, DNS, SMTP, X Windows, other application protocols | Transport | Provides communication session management between host computers. Defines the level of service and status of the connection used when transporting data. | TCP, UDP, RTP | Internet | Packages data into IP datagrams, which contain source and destination address information that is used to forward the datagrams between hosts and across networks. Performs routing of IP datagrams. | IP, ICMP, ARP, RARP | Network interface | Specifies details of how data is physically sent through the network, including how bits are electrically signaled by hardware devices that interface directly with a network medium, such as coaxial cable, optical fiber, or twisted-pair copper wire. | Ethernet, Token Ring, FDDI, X.25, Frame Relay, RS-232, v.35 |
OSI 与TCP/IP 协议栈对比
OSI # | OSI 协议层名称 | TCP/IP # | TCP/IP 协议层名称 | 封装的单元 | TCP/IP协议 | 7 | 应用层(Application) | 4 | 应用层(Application) | 数据 | FTP, HTTP, POP3, IMAP, telnet, SMTP, DNS, TFTP | 6 | 表示层(Presentation) |
|
| 数据 |
| 5 | 会话层(Session) |
|
| 数据 |
| 4 | 传输层(Transport) | 3 | 传输层(Transport) | 数据段 | TCP, UDP | 3 | 网络层(Network) | 2 | Internet | 数据包 | IP | 2 | 数据链路层(Data Link) | 1 | .网络存取 | 数据帧 |
| 1 | 物理层(Physical) |
|
| 数据位 |
|
|