计算机网络3-运输层-UDP

2017-07-16  本文已影响18人  raincoffee

计算机网络3-运输层-UDP

本文主要分为以下几个部分讲解。

  1. 介绍udp
  2. 说明udp分组的格式
  3. udp提供的服务
  4. 说明如何计算可选的检验和

UDP报文

udp是一种无连接 不可靠的运输协议。

udp的分组叫做用户数据报,它有8个字节的固定首部。

img

UDP服务

  1. udp使用套接字提供进程到进程的服务。

  2. 无连接服务:udp提供无连接服务,意味着每一个用户数据报都是独立的数据报。

  3. 不提供流量控制

  4. 差错控制,除了检验和之外,没有其他机制、这就表示发送方并不知道报文是丢失了还是重复交付了,当接收方通过检验和检测出差错时,就悄悄地讲这个用户数据报丢掉。伪首部是封装用书包的那个ip分组的首部的一部分,其中有些字段要填入0。其中有一个协议字段是为了确保这个分组属于udp,值为17,如果这个值在传输过程中改变了,接收端计算检验和就可能检测出来,udp就会放弃这个分组。

  5. 不提供拥塞控制

  6. 封装和解封

    当进程有报文要通过udp发送,他就把这个报文连同一堆套接字地址以及数据的长度传递给udp。udp收到数据后添加一个udp首部。然后udp把这个用户数据报连同套接字一起传递给ip。ip再加上自己的首部。在协议字段使用值17,支出该数据是从udp协议来的。然后再把这个ip传递给链路层,封装成帧,再传递给物理层。物理层把比特编码成电信号和光信号,发送到远程的机器上。

  7. 排队

    udp中,队列和端口相关联。

    在客户端,当一个进程启动时,他从操作系统哪里请求得到一个端口号。有些实现为每个进程创建一个如队列和一个出队列与之相关。

    在服务器端,创建队列的机制是不同的,在最简单的形势下,服务器进程在它开始运行时就请求为他的熟知端口创建如队列和出队列。只要服务器进程一直运行,这些对列就一直是打开的、

    所有发送给某个特定服务器程序的入报文,不管是来自相同的或者是不用的客户,都会被放入到一个队列。入队列可能会溢出。若发生溢出,udp就会丢弃这个用户数据报,并请求向客户发送端口不可达。

    当服务器想要回答客户时,他就要在请求中之名的源端口把报文送到出队列。

  8. 复用和分用

    主机上只有一个udp,但可能多个进程希望使用udp服务。那么udp进行复用和分用,
    复用:在发送端根据指定不同的端口号来区分。分用,根据目的端口号,吧每一个报文交付给适当的进程。

UDP应用

上一篇下一篇

猜你喜欢

热点阅读