计算机网络体系结构
OSI参考模型
数据封装:增加控制信息,构造协议数据单元(PDU)。
控制信息主要包括:
- 地址(Address):标识发送端 / 接收端。
- 差错检测编码(Error-detecting code):用于差错检测或纠正。
- 协议控制(Protocol control):实现协议功能的附加信息,如优先级、服务质量(Qos)、安全控制等。
物理层
物理层:解决单一bit传输问题
- 接口特性:机械特性、电气特性、功能特性、规程特性
- 比特编码、数据率、比特同步(时钟同步)
- 传输模式:单工(Simplex)、半双工(half-duplex)、全双工(full-duplex)
单一bit由谁来接收,如果传输过程中出现错误又怎么纠正它?
数据链路层
数据链路层:负责结点-结点(node-to-node)数据传输,通过组帧(Framing)能够将比特流切分开来,并根据头部尾部信息完成数据链路层协议规定的功能,例如:
- 物理寻址(Physical addressing)根据帧头中增加 发送端/接收端的物理地址 用以标识数据帧的发送端/接收端(物理地址,也称为链路地址、MAC地址、LAN地址,它是局域网或广域网定义的节点地址,地址的长度和格式是可变的)。
- 流量控制(Flow control):协商发送方与接收方的速率,避免发送端速度大于接收,淹没接收端。
- 差错控制(Error control):检测并重传损坏或丢失帧,并避免重复帧。
- 访问(接入)控制(Access control):在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权。
怎么保证源主机发送的数据经过多次路由转发,能穿越多个网络到达目的主机?
网络层
网络层:负责源主机到目的主机数据分组(packet)交付
- 逻辑寻址(Logical addressing):全局唯一逻辑地址,确保数据分组被送到目的主句,如IP地址。
- 路由(Routing):路由器(或网关)互连网络,并路由分组至最终目的主机(路径选择)。
- 分组转发
传输层
传输层:负责源-目的(端-端)(进程间)完整报文传输。
- 分段与重组:发送端对会话层信息进行分段,接收端进行重组。
- SAP寻址:确保将完整报文提交给正确的进程使用,如通过端口号确定使用的进程。
- 连接控制(逻辑连接):端到端的建立、维护、拆除。
- 流量控制(Flow control):从端的角度考虑,是否实现由各个协议规定。
- 差错控制(Error control):从端的角度考虑,是否实现由各个协议规定。
会话层
会话层:
- 对话控制(dialog controlling):建立、维护
- 对话同步(synchronization):在数据流中插入“同步点”,一旦数据传输在某个控制点附近中断了或出现意外了,下次恢复只要恢复到最近的控制点。
- 最“薄”的一层
表示层
表示层:处理两个系统间交换信息的语法与语义(syntax and semantics)问题。
- 数据表示转化:不同的计算机数据表示不同,如大端序、小端序,如果把数据从源主机原原本本复制给目的主机,由于两者字节序的不同,可能结果不同。所以,表示层将数据转换为主机独立的编码,与系统无关。到了目的主机后,目的主机表示层再把独立的编码转换成主机相关的数据。
- 加密/解密
- 压缩/解压缩
应用层
应用层:支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
典型应用层服务:
- 文件传输(FTP)
- 电子邮件(SMTP)
- Web(HTTP)
TCP/IP 参考模型
网络接口层作为具体的底层网络,只要能封装IP分组,从发送端传送到接收端。
五层参考模型