计算机通信会在每一个分组中附加上源主机地址和目标主机地址送给通信线路;这些发送端地址、接收端地址以及分组序号写入的部分就是“报文首部”
一个较大的数据被分为很多个分组,为了标明原始数据的归属,有必要将分组序号写入包中,接收端会根据序号,分组按序重新装配为原始数据
协议中,通常会规定报文首部应写入哪些信息,如何处理;相互通信的每台计算机则根据协议构造报文首部,读取首部等内容,发送和接收方必须对报文首部和主体保持一致的定义和解释
四、协议的标准化
计算机通信诞生之初,系统化与标准化未收到重视,不同厂商只出产各自的网络来实现通信,这样就造成了对用户使用计算机网络造成了很大障碍,缺乏灵活性和可扩展性
为解决该问题,ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统互联参考模型)
TCP/IP并非ISO指定,是由IETF(国际互联网工程任务组)建议、致力推进标准化的一种协议,其中,大学等研究机构和计算机行业是推动标准化的核心力量,现已成为业界标准协议
协议的标准化也推动了计算机网络的普及
五、协议分层和OSI参考模型
1.1 协议的分层
概念:ISO在指定标准的OSI之前,提出了作为通信协议设计指标的OSI参考模型,将协议分为七层,使得原来复杂的网络协议更加简单化
定义:在七层模型中,每个分层都接受由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务,上下层之间进行交互所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”
协议分层的优点:
每个分层可以独立使用,其实系统中某些分层发生变化,也不会影响整个系统,因此可以构造一个扩展性和灵活性都比较强的系统;
此外,通过分层可以细分通信功能,更易于单独实现每个分层的协议,界定各个分层的具体责任和义务
协议分层的劣势:
过分模块化,处理变得更加沉重,以及每个模块都不得不事先相似的处理逻辑等
1.2 OSI参考模型
实际上,分组通信协议很复杂,OSI参考模型将其分为了易于理解的七个分层,如下图:
不过,OSI参考模型只是一个模型,对各层只做了粗略的定义,并没有对接口和协议做详细的定义,想深入了解还需要学习具体的协议规范
1.3 OSI参考模型中每个分层的作用
下图表述了简单的每个分层的作用:
1.3.1 应用层:为应用程序提供服务并规定应用程序中通信相关的细节;包括的协议如下:
①:超文本传输协议HTTP:这是一种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,而服务器回应相应的网页
②:文件传送协议FTP:提供交互式的访问,基于客户服务器模式,面向连接 使用TCP可靠的运输服务
主要功能:减少/消除不同操作系统下文件的不兼容性
③:远程登录协议TELNET:客户服务器模式,能适应许多计算机和操作系统的差异,网络虚拟终端NVT的意义
④:简单邮件传送协议SMTP:Client/Server模式,面向连接
基本功能:写信、传送、报告传送情况、显示信件、接收方处理信件
⑤:DNS域名解析协议:DNS是一种用以将域名转换为IP地址的Internet服务
⑥:简单文件传送协议TFTP:客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小
⑦:简单网络管理协议(SNMP): SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议
SNMP代理:运行SNMP管理进程的被管理结点
对象:描述设备的变量
管理信息库(MIB):保存所有对象的数据结构
⑧DHCP动态主机配置协议: 发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名 Options –可选参数字段,参考定义选择列表中的选择文件
1.3.2 表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取
具体来说,就是将设备固有的数据格式转换为网络标准传输格式,不同设备对同一比特流解释的结果可能会不同;因此,主要负责使它们保持一致
1.3.3 会话层:负责建立和断开通信连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理
PS:其实在应用层、表示层、会话层这三层,协议可以共用: