TCPIP协议族-UDP协议.ppt_第1页
TCPIP协议族-UDP协议.ppt_第2页
TCPIP协议族-UDP协议.ppt_第3页
TCPIP协议族-UDP协议.ppt_第4页
TCPIP协议族-UDP协议.ppt_第5页
已阅读5页,还剩36页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章用户数据报协议(UDP),课程目标理解传输层基本特点。掌握UDP数据报的基本格式。了解Socket套接字原理使用Wireshark分析UDP数据报,1.1传输层概述,第11章用户数据报协议(UDP),1.2为什么要分层,第11章用户数据报协议(UDP),1.3传输层与网络层的关系,第11章用户数据报协议(UDP),1.4传输层服务,第11章用户数据报协议(UDP),1.4传输层服务,第11章用户数据报协议(UDP),第11章用户数据报协议(UDP),Internet协议集,第11章用户数据报协议(UDP),2.进程到进程的通信运行在计算机中的进程是用进程标识符来标志的。运行在应用层的各种应用进程不能依靠进程标识符进行通信。这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对TCP/IP体系的应用进程进行标志。,第11章用户数据报协议(UDP),2.1.硬件端口与软件端口在协议栈层间的抽象的协议端口是软件端口。路由器或交换机上的端口是硬件端口。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。,第11章用户数据报协议(UDP),2.2.三类端口熟知端口,数值一般为01023。注册端口,数值为102449151,为没有熟知端口号的应用程序使用的。必须在IANA登记,以防止重复。动态端口,数值为4915265535,不用指派也不用注册,留给客户进程选择暂时使用,通信结束后,这个端口号可供其他客户进程以后使用。,3.UDP协议概述UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点。发送数据之前不需要建立连接UDP的主机不需要维持复杂的连接状态表。UDP用户数据报只有8个字节的首部开销。网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。,第11章用户数据报协议(UDP),第11章用户数据报协议(UDP),第11章用户数据报协议(UDP),伪首部,源端口,目的端口,长度,检验和,数据,首部,UDP长度,源IP地址,目的IP地址,0,17,IP数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数据,首部,UDP用户数据报,用户数据报UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。,伪首部,源端口,目的端口,长度,检验和,数据,首部,UDP长度,源IP地址,目的IP地址,0,17,IP数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数据,首部,UDP用户数据报,在计算检验和时,临时把“伪首部”和UDP用户数据报连接在一起。伪首部仅仅是为了计算检验和。,校验和的计算,计算UDP检验和的例子,1001100100010011153.1900001000011010008.1041010101100000011171.3000011100000101114.1100000000000100010和170000000000001111150000010000111111108700000000000011011300000000000011111500000000000000000(检验和)0101010001000101TE0101001101010100ST0100100101001110IN0100011100000000G和0(填充)1001011011101011求和得出的结果0110100100010100检验和,04,1,12字节伪首部,8字节UDP首部,7字节数据,按二进制反码运算求和将得出的结果求反码,全0171510871315全0TESTING全0,伪头对层次划分的破坏,伪头对层次划分的破坏,最大UDP数据报长度,UDP的复用、分用,UDP端口的管理,常用的UDP端口,端口是用报文队列来实现,UDP端口51000,UDP端口69,出队列,入队列,出队列,入队列,TFTP服务器,TFTP客户,UDP用户数据报,应用层,运输层,小结:为什么选择UDP?,UDP的使用场合,套接字编程,1.什么是套接字简单的说就是通信双方的一种约定,用套接字中的相关函数来完成通信过程。不同应用程序间的网络通信和连接主要依靠3个参数:目的IP、传输层协议、端口号。Socket原意“插座”,它绑定这三个参数区分来自不同进程或网络连接的通信,实现数据传输的并发服务。,套接字编程,套接字编程,2.套接字分类流套接字(StreamSockets):可靠的双向通信的数据流,按顺序、无错误的传递,有自己的差错控制,传输层使用TCP协议。数据报套接字(DatagramSockets):无连接套接字,传输层使用UDP协议。,套接字编程,3.套接字工作原理要通过互联网通信,至少需要一对套接字,一个运行于客户端机ClientSocket,另一个运行于服务器端ServerSocket。,套接字编程,4.Winsock基本操作函数,套接字编程,5.UDP套接字编程socket(intaf,inttype,intprotocol):创建套接字;bind():将套接字地址(本机地址和端口)与所创建的套接字联系起来。send():发送输出数据。recv():接收套接字上的输入数据。,套接字编程,shutdown():允许你将一定方向上的通讯或者双向通讯关闭。closesocket()关闭套接字,并释放分配给该套接字的资源。,套接字编程,6.Ruby对套接字的封装UDPSocket.new()创建套接字。bind(hostip,port):将主机、端口与套接字绑定。connect(desip,port):连接目的主机套接字recvfrom(len):接收端口输入;send(msg,0,desip,dport):向端口发送数据,套接字编程,shutdown():允许你将一定方向上的通讯或者双向通讯关闭。closesocket()关闭套接字,并释放分配给该套接字的资源。,套接字编程-举例分析,ruby编写的UDP通话程序抓包分析UDP数据报结构:服务器IP(Server端):13服务器监听端口:12345客户端IP(Client端):33客户端发送端口:系统随机选定。,套接字编程-举例分析(服务器端),套接字编程-举例分析(客户端),上机总结,局域网中1004端口的大量UDP广播包迅雷在用户下载完成之后进行了隐藏的上传以增大他们资源的下载速度,这个上传以UDP方式实现,会进行一段时间后停止,就造成了不断发送广播的现象。,上机总结,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论