OSI参考模型
ISO标准(ISO组织制定)
开放系统互连(open system interconnection),将不同系统进行互连所构建的模型
参考模型:不是实际的协议,并不是在实际过程汇总进行实用的模型,而是作为参考、知道的模型
目的
使两个不同的系统能够通信,而不需要改变底层的硬件或软件逻辑
不同的系统:一台计算机、一部电话
OSI不是协议,是网络体系结构的概念模型
层次体系结构
网络支持层:为通信提供传输的支持
应用支持层:通常由软件实现的,应用软件,为网络应用提供相应的支持
传输层:将上下两层结合在一起
对等层通信
层次模型在通信过程中是如何使用的。
A 和 B 通过中间节点进行通信(网络互连设备)
两个系统之间如何实现通信,其通信方式称为对等层通信。
对等层概念可通过层次模型进行对应。
下层:服务提供者
上层:服务使用者
接口:层与层之间存在一个接口,为了实现层与层之间服务的提供与使用的通道
对等层:不同主机之间的相同层次被称为对等层(Peer)。主机A的应用层和主机B的应用层互为对等层、主机A的会话层和主机B的会话层互为对等层
对等进程/对等实体
对等层协议:对等实体之间交换数据或通信时必须遵守的规则
对等层与对等实体:
每一层可以同时存在多个实体 |
数据通信-封装
7层模型,最上一层直接面向用户,最下一层直接面向物理介质。真正的数据传输方向是发送方是由高层送往底层,接收方由底层依次送往高层
PDU:协议数据单元,对等实体之间通信时所传输的信息内容,每一层封装成的PDU均有自己的名字
应用层、表示层和会话层封装成的PDU被统一称为Data(数据) |
在OSI参考模型看来,数据通信时,是一层一层处理,逐层封装好,在物理上进行实在的传输:从源主机(SOURCE)的应用层发出来的数据是有一定格式的协议数据单元,称为PDU(protocol data unit)。应用层发给下一层表示层后,在PDU前面加上了本层控制信息,也就是图中的AH,加在头部。加了头部PH的A-PDU,更新为本层的PDU,也就是要发给第五层会话层的内容。即A-PDU+PH=P-PDU。上一层向下一层发送PDU,逐层加上本层的头部后成为下一层的PDU。直至发到数据链路层,数据链路层还加一个尾部,也就是DT,起到校验作用,如果数据正确,继续传输,数据错误直接丢掉不继续传输。数据链路层发给物理层后,物理层将PDU转换为二进制编码(比特流),通过硬件转换为信号发送出去。这样源主机七层任务完成。
图右侧是目的主机的数据接收过程:接收到硬件的二进制信号后,物理层转换为PDU发个数据链路层。数据链路层拆掉头部和尾部后,将赤裸的PDU送给网络层。网络层再拆掉头部,送入下一层,逐层拆掉头部,到了送给应用层时,前面不同层添加的头部完全被拆干净,留下原本发送的最原始PDU,也就是用户数据。
在构造协议数据单元时会在头部增加控制信息,这些控制信息包括:
1) 地址:用来标识发送端和接收端,源主机得知道数据往哪发,目的主机得知道数据是发给谁的
2) 差错检测编码:用于差错检测或纠正
3)协议控制:实现协议功能的附加信息(优先级、服务质量及安全控制等)
层次功能
层次 | 功能 | 网络协议 |
---|---|---|
应用层 | 提供应用协议,用户与网络面对面菜刀接口 | HTTP、TFTP、FTP、SMTP |
表示层 | 数据的编码、翻译、压缩、解压缩、加密、解密、将数据翻译为相对应的编码格式,然后展现到应用程序中 | telnet、Rlogin、SNMP、Gopher |
会话层 | 主要用来管理会话(建立连接、保持连接、断开连接) | SMTP、DNS |
传输层 | 提供端到端的连接方式(可靠的传输方式、不可靠的传输方式、数据包重组) | TCP、UDP |
网络层 | 负责设备的IP地址寻址,寻找网络中目的位置,并在去往目的的多条路径中选择一条最佳的路径 | IP、ICMP、ARP、RARP、AKP、UUCP |
数据链路层 | 协商、流量控制、差错控制、物理寻址 | FDDI、Ethernet、Arpanet、PDN、PPP |
物理层 | 定义了网络通信接口及介质的标准,以及将上层封装的数据转换为bit的二进制方式进行传输 | IEEE802.1A,IEEE 802.2到IEEE 802.11 |
TCP/IP协议族
TCP/IP分层
TCP/IP通常被认为是一个四层协议系统,每一层负责不同的功能。
链路层:数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。一起处理与电缆(或其他任何传输媒介)的物理接口细节。
网络层:处理分组在网络中的活动,如分组的选路。网络层协议包括IP协议(网际协议)、ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)
运输层:主要为两台主机上的应用程序提供端到端的通信。
TCP(传输控制协议):为两台主机提供高可靠性的数据通信,它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确定接收到的分组,设置发送最后确认分组的超时时钟等。
UDP(用户数据报协议):为应用层提供一种非常简单的服务,不可靠的数据通信。
应用层:负责处理特定的应用程序细节
telnet:远程登录 |
TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络层协议。
TCP虽然使用不可靠的IP服务,但却提供一种可靠的运输层服务
UDP为应用程序发送和接收数据报,一个数据包是指从发送方传输到接收方的一个信息单元。UDP是不可靠的,不能保证数据报能安全无误的达到最终目的
IP是网络层上的主要协议,同时被TCP和UDP使用
ICMP是IP协议的附属协议,IP层用它来与其它主机或路由器交换报错报文和其它重要信息。
IGMP是Internet组管理协议,它用来把一个UDP数据报多播到多个主机。
ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。
封装
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层知道被当做一串比特流送入网络。
TCP传给IP的数据单元称作TCP报文段或简称为TCP端
IP传给网络接口层的数据单元称作IP数据报
通过以太网传输的比特流称作帧
以太网数据帧的物理特性是其长度必须在46~1500字节之间
编址
物理地址
- 用来标识通信的节点(物理网内部)
- 节点由所属的LAN或WAN指定
- 在局域网或广域网内是唯一的
- 也称为链路地址/硬件地址
- 并不是用于物理层,而是用于数据链路层(物理层主要完成比特流的传送,仅涉及到信号转换,不涉及寻址)
IP地址
- 标识通信节点的网络连接(逻辑网络内)
- 该地址有Internet指定,在Internet内唯一
- 32bit,点分十进制进行标识
端口地址
- 标识于通信进程
- 由操作系统来指定,在一台计算机内是唯一的
- 作用于传输层,用于标识应用层的信息
TCP/IP中的地址与层次
抓包
更新图标