TCP/IP协议作为互联网的万物之源。趁着过年的闲暇时间赶紧复习一遍。
网络协议的概念
网络协议:计算机网络和分布系统当中互相通信的对等实体之间交换信息时必须遵守规则的集合。
计算机网络协议:
- 负责在网络上建立通信通道和控制通过通道信息流的规则
- 协议依赖于网络体系结构,由硬件和软件共同实现
计算机网络协议的组成:
- 语法:用于确定协议元素的格式,即数据与控制信息的结构和格式。
- 语义:用于确定协议元素的类型,即规定了通信双方需要发出何种控制信息,完成何种动作,以及作出何种应答。
- 定时:用于确定通信速度的匹配和时序,即对事件实现顺序对详细说明。
网络体系结构:
指通信系统整体设计方法,是计算机之间相互通信的层次以及各层中的协议和层次之间接口的集合。它为网络硬件、软件、协议、存取控制和网络拓扑提供标准。
开放系统互联基本参考模型OSI(OSI/RM)
开放系统互联基本参考模型OSI(OSI/RM):
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
应用层:提供应用程序运行的环境、负责管理和执行应用程序(QQ、邮件app)
表示层:为数据在传输之前对加密、解密、压缩、解压及终端数据格式转换提供一套规则和约定(MD5加密、哈希加密)
会话层:对对话的双方进行资格审查和验证的规则,同时规定发送时的双工模式。验证不成功时结束会话。
传输层:两个主要目的:传输层可以提供在不同系统之间的进程间交互可靠服务。在网络内两个实体之间建立端到端通信信道(开端口),用来传输信息或报文分组,本层提供两端点可靠透明的数据传输;可以为会话层提供与网络类型无关的可靠信息传输机制,对会话层遮蔽了下层网络操作细节。进行分组保证数据有序到达。
分割数据与重组数据、按端口号进行寻址、连接管理、差错控制和流量控制。
网络层:负责建立、保持和终止通过中间设备的连接,同时负责通信子网内路径选择和拥挤控制(路由器、交换机)
数据链路层:将数据组成块(帧),帧是本层的传输单位。处理数据在传输中的差错,调节发送速率使之与接受方匹配,在两个网络实体之间提供数据链路的建立、维持和释放管理(mac地址)。
物理层:包括设备之间物理连接的接口和用户设备与网络终端设备之间的传输规则。
1. 机械特性:规定了物理连接时接头和插座的几何尺寸、针脚或插孔芯数和排列方式。
2. 电气特性:规定了信号状态的电压、电流识别,最大传输速率等。
3. 功能特性:规定了接口信号的来源、作用及其他信号之间的关系。
4. 过程特性:规定了使用交换电路进行数据交换的控制步骤,这些控制步骤使得比特流传输得以顺利完成。
只要遵循OSI标准,一个系统就可以和位于世界上任何地方的、也遵循这同意标准的任何系统进行通信。
- 网络中的任意一个系统都是按照层次结构来组织的
- 统一网络中,任意两个端系统必须具有相同的层次
- 每层使用其下层提供的服务,并向其上层提供服务
- 通信只在对等层之间进行,非对等层之间不能相互通信
- 实际的物理通信只在最底层完成
OSI七层模型的使用
每到一层 都要加入本层的头部信息,在数据链路层还加上了尾部信息,用于错误纠正。数据接收时,每一层剥去上一层的头部信息,以保证对等层之间实现透传。
TCP/IP模型
- TCP/IP协议是针对Internet开发的一种体系结构和协议标准
- TCP/IP协议是国际互联网Internet采用的协议标准
- TCP/IP是一组通信协议的代名词,是由一系列协议组成的协议簇
TCP/IP体系结构可以分为四个层次,由上到下分别是:
- 应用层:服务于Telnet、Ftp、Stmp等,负责处理特定应用程序细节
- 传输层:包括TCP和UDP,TCP是一个可靠的面向连接的协议,保障某一主机的字节流准确无误地投递到互联网上的另一台主机;UDP是无连接的服务,无重发和纠错功能,不保证数据的可靠传输。
- 网络层:包括IP、ICMP和IGMP,也称互联层,其主要任务是路径选择,让每个分组独立地到达目的地,在接收端由高层协议进行重排、因IP层提供数据报服务,常常将报文分组称IP数据报。
- 网络接口层:也称数据链路层或链路层,通常包括网络接口卡和设备驱动,之所以没有定义数据链路层,是因为在TCP/IP最初的设计中已经考虑到多种数据链路层协议。
TCP/IP协议集的主要协议:
协议 | 提供服务 | 相应OSI层 |
---|---|---|
IP | 数据报服务 | 3 |
ICMP | 差错和控制 | 3 |
ARP | 地址解析协议 | 3 |
RARP | 反向地址解析协议 | 3 |
TCP | 可靠流服务 | 4 |
FTP | 文件传送 | 5~7 |
TELNET | 终端仿真 | 5~7 |
DNS | 域名解析 | 5~7 |
TCP/IP基本工作原理
各层的主要协议及其功能
PDU:对等层之间传输的数据单位 Protocol Data Unit
TCP:Transmission Control protocal
UDP: User Dategram Protocol
为什么修改七层协议为四层协议:
七层模型的缺点:
- 实现起来较为复杂,开发实际网络结构运行效率较低
- 模型划分不是很合理,有些功能在不同的层中反复出现。