1.1 协议分层
两个实体之间进行通信就需要有一个协议。而当这个通信比较复杂的时候,我们就有必要将这个任务划分为多层。这个时候就需要多个协议,每个层之间有各自的协议。
分层结构:通信过程之间的任务必须是按照分层机构中指定的顺序执行的。
服务:发送方的每一层都要使用下一层的服务。
1.2 OSI模型
OSI模型的主要作用就是展示两个不同系统之间是怎么进行通信的,且不需要改变底层的硬件或者软件的逻辑。它包括有七个层,也就是,物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。而每个层之间是存在有接口的,每个接口都定义了该层应该想上层提供什么样的信息和服务。其中,物理层,数据链路层,网络层,是网络支撑层,这些层的任务是在物理上把数据从一个设备传送到另一个设备。而会话层,表示层,应用层是用户支撑层,这些层使得一些原本没有关系的软件系统之间有了互操作性。而运输层就是把这两部分链接起来。
封装:封装的概念是这样。第二层的分组全部被封装到第一层中,形成了第一层中的数据部分。也就是第N层分组中的数据部分就是第N+1层中的完整分组。
大小端表示:采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,大端方式将低位存放在高地址,小端方式将低位存放在低地址。采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。
下面对各个层次做一个简单的概括。
物理层:
功能:比特流在物理媒介(或媒体)中传输
* 接口和媒介的物理特性
* 信号编码:比特的表示
* 数据传输速率
* 比特的同步
* 线路配置
* 物理拓扑
* 传输方式:单工、半双工、全双工
数据链路层:
功能:将物理层转换为可靠的链路
* 组帧
* 物理编址
* 流量控制
* 差错控制
* 接入控制
网络层:
功能:将分组从源节点交付到目的节点
* 逻辑编址
* 拓扑发现
* 路由选择
* 分组转发
运输层:
功能:进程到进程的报文交付
* 服务点编址
* 分段与重装
* 连接控制
* 流量控制
* 拥塞控制
* 差错控制
会话层:
功能:对话控制
* 对话控制
* 同步
表示层:
功能:信息的语法和语义
* 转换
* 加密
* 压缩
应用层:
功能:让用户方便使用网络
* 各种常用网络服务,如email,www等
1.3TCP/IP协议族
TCP/IP协议族其实只有四层也就是网络接口层,网际层,运输层,应用层。但一般的书籍都是将其看作5层来进行学习,也就是,物理层,数据链路层,网络层,传输层,应用层。而这个结构与OSI进行对比,很容易发现TCP/IP结构没有表示层和会话层。每层的功能和OSI类似,这里不再赘述。
1.4 编址
实施TCP/IP协议的互联网需要用到四个级别的地址:物理地址(数据链路层),逻辑地址(网络层),端口地址(传输层),特定应用地址(应用层)。
物理地址:网络节点链路层地址(通常为硬件地址)。仅对链路层(局域网或广域网)有效。
逻辑地址:逻辑地址是网络层地址,用来唯一地标志连接在Internet上的一台主机;逻辑地址是全局性地址,与底层的物理网络无关。
端口地址:用于区别同一台主机中的不同进程。
特定应用地址:如email地址、URL等