前言
OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,该体系结构标准定义了网络互联的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开放系统互连参考模型。
参考模型比较
OSI
OSI参考模型和TCP/IP参考模型有相似之处,都是基于独立的协议栈的概念。
OSI模型主要有3个主要概念:服务、接口和协议。 每一层都为上一层提供一些服务。服务定义该层做什么,而不管上面的层如何访问或该层如何工作。某一层的接口告诉其上面的进程如何访问接口,同样,接口也和该层如何工作无关。某一层中使用的协议是该层的内部事务,可以使用任何协议,只要能完成工作即可,并且某一层协议的改变不会影响到其他层。
TCP/IP参考模型最初没有明确区分服务、接口和协议。后来,人们试图将其改变以便接近于OSI。因此,OSI参考模型中的协议比TCP/IP参考模型的协议具有更好的隐藏性。
分层 | 功能 |
---|---|
应用层 | 网络服务与最终用户的一个接口 |
表示层 | 数据格式转换编码,数据压缩和解压,数据加密和解密等,表示层关心的是所传输的信息的语法和语义。 |
会话层 | 允许不同主机上的用户之间,建立、管理、终止会话,主要是针对远程访问,如当文件传输到中途时建立的连接突然断掉,是从文件的开始重传还是断点续传,这个任务由会话层来完成。 |
传输层 | 把上层数据分割成数据段,定义协议端口号,实现不同主机用户进程间的数据通信 |
网络层 | 把上层数据封装成数据包,进行逻辑地址寻址,实现不同网络间的路径选择 |
数据链路层 | 把上次数据封装成固定格式的帧,进行硬件地址寻址,差错校验等 |
物理层 | 物理连接,完成相邻节点之间的原始比特流的传输 |
分层 | 常见协议 | 典型硬件 |
---|---|---|
应用层 | Telnet、FTP、HTTP、SNMP等 | 计算机 |
表示层 | ASCII、ASN.1、JPEG、MPEG等 | 计算机 |
会话层 | Net BIOS、ZIP(Apple Talk区域信息协议)等 | 计算机 |
传输层 | TCP、UDP、SPX等 | 防火墙 |
网络层 | IP、ICMP、ARP等 | 路由器 |
数据链路层 | Ethernet、FDDI等 | 网桥、交换机 |
物理层 | IEEE 802.1A等 | 网卡、网线、集线器、中继器、调制调节器 |
集线器:是物理层设备,采取广播的形式来传输信息
交换机:是用来进行报文交换的机器。能够进行地址学习,采用存储转发的方式来交换报文。
路由器:一是连接不同的网络,二是选择信息传送的路线,选择通畅快捷的道路,能减轻网络系统的的通信负荷,提高通畅率。
TCP三次握手和四次断开
-
TCP是面向连接的协议,它在源点和终点之间建立虚拟连接,而不是物理连接
-
在数据通信之前,发送端与接收端要先建立连接,等数据发送结束后,双方再断开连接
-
TCP连接的每一方都是由一个IP地址和一个端口组成
PS: 第一次握手主机A通过一个标识为SYN标识位的数据段发送给主机B请求连接,通过该数据段告诉主机B希望建立连接,需要B应答,并告诉主机B传输的起始序列号(SYN:1 seq=x)
第二次握手是主机B用一个确认应答ACK和同步序列号SYNC标志位的数据段来响应主机A,一是发送ACK告诉主机A收到了数据段,二是通知主机A从哪个序列号做标记。(SYN:1 seq=y ACK=x+1)
第三次握手是主机A确认收到了主机B的数据段并可以开始传输实际数据。(ACK=y+1)
示例: