• 2006-11-20

    第五章 网络原理和协议 - [多线程程序设计]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://xingzhesun.blogbus.com/logs/3867584.html

    第二部分 WinsockAPI
    第五章 网络原理和协议
    5.1协议的特征
    5.1.1 面向消息
    对每个离散写命令来说,如果传送协议把他们当做一条 独立的消息在网上传送,我们就说该协议是面向协议的。在接收端接收数据时,返回的数据是发送端写入的一条离散消息。这成为:保护消息边界。
    无保护消息边界的协议成为“基于流的协议”,这个术语常用来指代附加特性,流服务的定义是连续的数据传输;不管消息边界是否存在,接收端都会尽量地读取有效数据。对发送端来说 ,意味着允许将原始消息分解成小消息或把几条消息积累在一起,形成一个较大的数据包。对接收端来说,则是数据一到达网络堆栈,网络堆栈就开始读取它,并将它缓存下来等候进程处理。是否将各个对立的数据包累积在一起受许多因素的影响,比如最大传输单元或Nagle算法。
    伪流(pseudo-stream):使用的协议是基于消息的,发送的数据在各自独立的数据包内,但在接收端可以把这些消息缓存在一起,这样接收端便可以读取任意大小的数据块。
    5.1.2面向连接和无连接
    5.1.3可靠性与次序性 可靠性和次序性两者不能兼得。
    51.4从容关闭 面向连接 TCP协议连接双方都必须执行一次关闭以便完全中断连接。发送方FIN->接收方ACK->发送方
    5.1.5广播数据 即数据从一个工作站发出,局域网内的其他所有工作站都能收到它。每台机器都必须对该消息进行处理。网络堆栈。
    5.1.6多播数据 是指一个进程发送数据的能力,这些数据即将由一个或者多个接收端进行接收。多播要求对收发数据感兴趣的所有主机加入一个特定的组,视频会议。
    5.1.7服务质量(Qos)实时视频流式传输
    5.1.8部分消息 大消息
    5.1.9路由选择的考虑
    5.3winsock2协议信息
    WSAEnumProtocals()
    WSAStartup()
    int WSACleanup()
    SOCKET socket(int af, int type, int protocol);
    原始套接字 允许你把其他协议封装在UDP数据包中,比如“互联网控制消息协议”(ICMP)。ICMP的目的是投递互联网主机间的控制、错误和信息类型消息。
    Winsock API和OSI模型
    每个传输协议都会提供一种传输数据的方法,但他们本身又是另一个网络协议的成员,而网络协议位于网络层,比如UDP和TCP就是传输协议但两者又都属于因特网协议IP。
    winsockAPI安装在“会话层”和“传输层”之间。提供了一种为制定传输层协议打开、计算和关闭会话的能力。

    收藏到:Del.icio.us