Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19732643
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: 系统运维

2008-04-23 17:08:22

§1.3网络软件

      §1.3.1     协议层次

       层的目的:为上层提供服务,屏蔽下层的具体实现。类似于虚拟机。

       协议:通信方关于通信的协定。

       Peers:可能是进程,硬件设备,甚至人。

       比如,5层的层,协议,接口图如下:

       接口:存在于相邻层。它定义了下层为上层提供的原语和服务。层要求轮廓清晰,以适应不同的实现。

       一组层和协议称为网络架构。实现细节和接口规格不属于网络架构。

      

 

       H4包含控制信息,比如序列号,以防下层没有这些控制。一些层中,headers可以包含大小,时间和其他控制字段。

       多数网络在第3层有大小限制,所以需要切分消息。第3层负责决定外出路由的选择。

       2层添加了头和尾。

       低层通常实现在hardware or firmware

      

      §1.3.2     层的设计问题

       寻址

       数据传输规则:数据传输有单向和双向。有多少个logical channels。许多网络为每个连接提供2个以上的逻辑通道,一个传输数据,一个传输紧急数据。

       错误控制:包含查错,纠错,接收结果汇报等。

       流控:flow control。有的直接或者间接报告接收方的状态。有的则要求发送方按协议的速度发送。

       长消息的拆分,短消息的组合。

       多路复用与多路分解

       Routing 甚至可能分层,比如某国的法律不允许某些信息经过。

 

      §1.3.3     面向连接和无连接服务

       面向连接服务有2种细微差别的变种:消息序列和字节流。按是否有边界保护来区分。当发送21024-byte消息时,前者是2个单独的1024-byte消息。后者是一个2048-byte消息。排版的时候,有边界比较好。

       网络电话等不需要太多的纠错。

       datagram service是无连接的,另外还有acknowledged datagram service

       request-reply service,一般用于client-server model

 

        为什么要提供无连接的服务。1,可能无法提供可靠通信,比如以太网,要由上层来处理。2,可靠服务的时延和开销比较大。

 

      §1.3.4     服务原语
阅读(6940) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-04-24 10:46:06

1.3.4 服务原语 服务通常由一组原语组成。如果协议栈由OS实现,一般表现为系统调用。 比如a reliable byte stream的原语可能如下: §1.3.5 服务和协议的关系 服务是垂直的,协议是平行的。服务不涉及具体的实现,是层间的接口。