分类: 系统运维
2008-04-23 17:08:22
层的目的:为上层提供服务,屏蔽下层的具体实现。类似于虚拟机。
协议:通信方关于通信的协定。
Peers:可能是进程,硬件设备,甚至人。
比如,5层的层,协议,接口图如下:
接口:存在于相邻层。它定义了下层为上层提供的原语和服务。层要求轮廓清晰,以适应不同的实现。
一组层和协议称为网络架构。实现细节和接口规格不属于网络架构。
H4包含控制信息,比如序列号,以防下层没有这些控制。一些层中,headers可以包含大小,时间和其他控制字段。
多数网络在第3层有大小限制,所以需要切分消息。第3层负责决定外出路由的选择。
第2层添加了头和尾。
低层通常实现在hardware or firmware。
寻址
数据传输规则:数据传输有单向和双向。有多少个logical channels。许多网络为每个连接提供2个以上的逻辑通道,一个传输数据,一个传输紧急数据。
错误控制:包含查错,纠错,接收结果汇报等。
流控:flow
control。有的直接或者间接报告接收方的状态。有的则要求发送方按协议的速度发送。
长消息的拆分,短消息的组合。
多路复用与多路分解
Routing 甚至可能分层,比如某国的法律不允许某些信息经过。
面向连接服务有2种细微差别的变种:消息序列和字节流。按是否有边界保护来区分。当发送2个1024-byte消息时,前者是2个单独的1024-byte消息。后者是一个2048-byte消息。排版的时候,有边界比较好。
网络电话等不需要太多的纠错。
datagram service是无连接的,另外还有acknowledged datagram service。
request-reply service,一般用于client-server model。
为什么要提供无连接的服务。1,可能无法提供可靠通信,比如以太网,要由上层来处理。2,可靠服务的时延和开销比较大。
chinaunix网友2008-04-24 10:46:06
1.3.4 服务原语 服务通常由一组原语组成。如果协议栈由OS实现,一般表现为系统调用。 比如a reliable byte stream的原语可能如下: §1.3.5 服务和协议的关系 服务是垂直的,协议是平行的。服务不涉及具体的实现,是层间的接口。