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模型的每一层加上协议信息,每一层至于接受设备上相对等层进行通信。


PDUprotocol 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

数据位