mirror of
https://github.com/Didnelpsun/CS408.git
synced 2026-02-08 05:14:48 +08:00
更新传输层
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,2 +1,63 @@
|
||||
# 传输层
|
||||
|
||||
## 基本概念
|
||||
|
||||
**例题** 可靠传输协议中的“可靠”指的是()。
|
||||
|
||||
$A.$使用面向连接的会话
|
||||
|
||||
$B.$使用尽力而为的传输
|
||||
|
||||
$C.$使用滑动窗口来维持可靠性
|
||||
|
||||
$D.$使用确认机制来确保传输的数据不丢失
|
||||
|
||||
解:$D$。如果一个协议使用确认机制对传输的数据进行确认,那么可以认为它是一个可靠的协议;如果一个协议采用“尽力而为”的传输方式,那么是不可靠的。例如,$TCP$对传输的报文段提供确认,因此是可靠的传输协议;而$UDP$不提供确认,因此是不可靠的传输协议。
|
||||
|
||||
**例题** 若用户程序使用$UDP$进行数据传输,则()层协议必须承担可靠性方面的全部工作。
|
||||
|
||||
$A.$数据链路层
|
||||
|
||||
$B.$网际层
|
||||
|
||||
$C.$传输层
|
||||
|
||||
$D.$应用层
|
||||
|
||||
解:$D$。传输层协议需要具有的主要功能包括:创建进程到进程的通信;提供流量控制机制。$UDP$在一个低的水平上完成以上功能,使用端口号完成进程到进程的通信,但在传送数据时没有流量控制机制,也没有确认,而且只提供有限的差错控制。因此$UDP$是一个无连接、不可靠的传输层协议。如果用户应用程序使用$UDP$进行数据传输,那么必须在传输层的上层即应用层提供可靠性方面的全部工作。
|
||||
|
||||
## UDP协议
|
||||
|
||||
### UDP协议概念
|
||||
|
||||
**例题** 下列网络应用中,()不适合使用$UDP$协议。
|
||||
|
||||
$A.$客户机/服务器领域
|
||||
|
||||
$B.$远程调用
|
||||
|
||||
$C.$实时多媒体应用
|
||||
|
||||
$D.$远程登录
|
||||
|
||||
解:$D$。$UDP$的特点是开销小,时间性能好且易于实现。在客户/服务器中,它们之间的请求都很短,使用$UDP$不仅编码简单,而且只需要很少的消息;远程调用使用$UDP$的理由和客户/服务器模型一样;对于实时多媒体应用,需要保证数据及时传送,而比例不大的错误是可以容忍的,所以使用$UDP$也是合适的,而且使用$UDP$协议可以实现多播,给多个客户端服务﹔而远程登录,需要密码和账户,必须保证安全性,需要依靠一个客户端到服务器的可靠连接,使用$UDP$是不合适的。
|
||||
|
||||
### UDP帧格式
|
||||
|
||||
**例题** 一个$UDP$首部的信息(十六进制表示)为$0xF7\,21\,00\,45\,00\,2C\,E8\,27$。
|
||||
|
||||
1)源端口、目的端口、数据报总长度、数据部分长度分别是什么?
|
||||
|
||||
2)该$UDP$数据报是从客户发送给服务器还是从服务器发送给客户?使用该$UDP$服务的程序使用的是哪个应用层协议?
|
||||
|
||||
解:
|
||||
|
||||
1)第$1$、$2$个字节为源端口,即$F7\,21$,转换成十进制数为$63265$。第$3$、$4$个字节为目的端
|
||||
口,即$00\,45$,转换成十进制数为$69$。第$5$、$6$个字节为$UDP$长度(包含首部和数据部分),即$00\,2C$,转换成十进制数为$44$,数据报总长度为$44B$,数据部分长度为$44-8=36B$。
|
||||
|
||||
2)由1)可知,该$UDP$数据报的源端口号为$63265$,目的端口号为$69$,前一个为客户端使
|
||||
用的端口号,后一个为熟知的$TFTP$协议的端口,可知该数据报是客户发给服务器的。
|
||||
|
||||
## TCP协议
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user