第11章 udp 与tcp
学习目标:
1、 掌握uDP与TCP两种协议的机制
2、 了解传输层的各项功能
本章重点:
l UDP
l TCP的特性
l TCP传送机制
l TCP信息包
本章难点:
l TCP的特性
讲授方式:
l 面授
课时分配: 2
思考题:习题集十一
讲授内容:
前面第8章至第10章陆续介绍了网络层相关的协议与功能。本章将要介绍传输层的协议。
在DoD模型中,传输层位于网络层与应用层之问,主要的功能是负责应用程序之
间的通讯。就有连接端口管理、流量控制、错误处理,与数据重发都是传输层的工作。
本章将介绍TCP~P协议组合在传输层的两个协议:UDP与TCP,借此说明传输
层的各项功能。
1 1.1 UDP
l UDP(User Datagram Protoc01)是一个常用的协议,仅提供连接端口(Port)处理
的功能。UDP具有以下特性:
>UDP报头可记录信息包来源端与目的端的连接端口信息,让信息包能够正确
地送达目的端的应用程序。
>非连接式(Connectionless)的传送特性。
l 与TCP相比,由于UDP仅提供基本传输层的功能,因此在应用上不像TCP应用
得广泛。使用UDP的应用程序,通常是基于以下的考虑:
> 为了要降低对计算机资源的需求。
> 应用程序本身己提供数据完整性的检查机制,因此毋须依赖传输层的协议来执
行此工作。
>要使用多点传送(Multicast)或广播传送(Broadcast)等一对多的传送方式时,
必须使用UDP。
一、连接端口
1、连接端口:
连接端口的英文为Port,它并非像是计算机平行口或串行口等实体的接头,而是属
于一种逻辑上的概念。每一部使用TCP/IP的计算机,都会有许多连接端口,并使用编号加
以区分。应用程序若通过TCP/IP存取数据,必须独占一个连接口编号。因此,当主机收
到m信息包后,可以凭此连接端口号,判断要将信息包送给哪…。个应用程序来处理。
2、UDP最重要的功能是管理连接端口。UDP便是利用连接端口来解决IP信息包应该送至哪一个应用程序的问题。
3、 连接端口号与IP地址两者合起来称为Socket Address(简称为Socket),可用来定
义IP信息包最后送达的终点,亦即目的地应用程序。
提示:一般而言,Socket有两种意义:一种是指Socket Address,一种是指WinSock
之类的API。
二、UDP信息包的结构
UDP信息包是由以下两部分所组成:
>UDP报头:主要是用来记录来源端与目的端应用程序所用的连接端口号。
>UDP数据:转发应用层(ApplicationLayer)的信息。这部分可视为UDPPayload,
1 1-2 TCP的特性
1、 TCP为传输层的协议,与UDP同样地具备处理连接端口的功能。除了连接端口功能外,更重要的是TCP提供了一种“可靠”的传送机制
2、 可靠的传输模式具有的几个特点:
l 数据确认与重送
l 流量控制
l 连接向导
1 1-3 TCP传送机制
一、确认与重发
二、SlidingWindow技术
三、Send/ Receive Window
四、流量控制主要是靠SlidingWindow的大小(称为Window
Size)来调整:
五、以Byte为单位
六、双向传输
一、 传送机制小结
关于TCP几项重要的传送机制:
>TCP传送包含确认与重发的机制,让来源端可以知道数据是否确实送达,并
在发现问题时,来源端可重新传输数据。
>TCP传送包含流量控制的机制,利用双边的SlidingWindow,可视情况随时调
整数据传送的速度。
1 1-4 TCP信息包
TCP信息包是由以下两部分所组成(见图11.24)。
>TCP报头:记录来源端与目的端应用程序所用的连接端口号,以及相关的Sequence Number、响应序号、Window Size等。
>TCP数据:转发上层协议(Application Layer)的信息。这部分可视为TCPPayload,不过一般都称为TCP Segment,本章我们将它称为“TCP数据”。
第十二章 DNS和DHCP
学习目标:
1、 理解DNS及DHCP
2、 熟悉这两种协议
本章重点:
DNS基础
l DNS基础
l DHCP基础
l TCP信息包
本章难点:
l DNS名称解析
l DNS查询流程
讲授方式:
l 面授
课时分配: 2
思考题:习题集十二
讲授内容:
前面数章已陆续介绍了TCP/IP协议组合在DOD模型前3层(数据链路层、网络层、传输层)的协议,从本章开始将介绍应用层的协议。
在TCP/IP协议组合中,应用层涵盖了许多种的协议,包括DNS、DHCP、HTTP、
SMTP、FTP等许多常见的协议。本章主要介绍DNS与DHCP这两种协议。
1 2-1 DNS基础
上网时,我们能利用易懂易记的名称来和对方沟通,是因为有DNS(DommnName System,
域名系统)的存在。
通过DNS,我们可以由一部主机的完整域名(FQDN,Fuuy Qualified Domain Name)查到其IP地址,也可以由其II,地址反查到主机的完整域名。
一、完整域名
所谓“完整域名”(FQDN,Fully Qualified Domain Name)是由“主机名” “域
名” “.”所组成,以“www.sina.com.cn”为例:
>WWW:就是这台Web服务器的主机名称。
>sina.com.cn:就是这台Web服务器所在的域名。
二、DNS名称解析
1、DNS系统是由DNS服务器(DNS Server)和DNS客户端(DNS Client)所组成。当
用户输入一个FQDN后,DNS客户端会向DNS服务器请求查询此FQDN的IP地
址,而服务器则会去对照其手上的数据,并将IP地址回复给客户端。
2、客户端要求服务器由FQDN查出IP地址的操作称为正向名称查询(ForwardName
Query),一般就直接说名称查询,而服务器查出IP地址并返回给客户端的操作就叫做
正向名称解析(ForwardNameResolution),一般又简称为名称解析。
3、请求由IP地址查询FQDN则称为反向名称查询(Reverse Name Query),简称反向查询。而服务器所对应的操作自然也就称为反向解析。
1 2.2 DNS的结构
整个DNS结构就设计成4层,分别是根域(Rnot Domain)、顶层域(Top
Level Domain)、第二层域(Second Level Domain)和主机(Host)。
12.3 DNS查询流程
当我们使用浏览器阅读网页时,在地址栏输入网站的FQDN后,操作系统会调用
解析程序(Resolver,即客户端负责DNS查询的TCP/IP软件),开始解析此FQDN所
对应的IP地址
一、递归查询
递归查询
DNS客户端要求DNS服务器解析DNS名称时,采用的多是递归查询(Recursive
Query)。当客户端向DNS服务器提出递归查询时,DNS服务器会按照下列步骤来解
析名称:
1.若DNS服务器本身具有的信息足以解析该项查询,则直接响应客户端其查询的名
称所对应的IP地址。
2.若DNS服务器本身无法解析该项查询时,会尝试向其他DNS服务器查询。
3.若其他DNS服务器无法解析该项查询时,则告知客户端找不到数据。
二、反复查询
反复查询(Iterative Query)一般多用在服务器对服务器之间的查询操作。这个查询
方式就像对话一样,整个操作会在服务器间一来一往,反复的查询而完成。
12-4 DNS资源记录
当我们建立好区域之后,就必须在区域文件内添加数据,而这些数据就是所谓的
资源记录(Resource Record)。
1 2.5 DHCP基础
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)的出现,可以有效
解决这个问题。DHCP可以动态地分配IP地址给每台网络上的计算机,而且也能指
定TCP/IP的其他参数,大幅度减少网络管理员的负担。
一、DHCP原理
从逻辑上来看,DHCP结构其实由3部分组成,分别是DHCP客户端、DHCP服务
器及领域(scope)。
二、DHCP的优点
1、不易出错
2、易于维护
3、IP地址可重复使用
1 2.6 DHCP运作流程
从DHCP客户端向DHCP服务器要求租用IP开始,直到完成客户端的TCP/IP设
置,简单来说由4个阶段组成:
1、请求租用lP地址
2、提供可租用的IP地址
3、请求IP租约
4、同意IP租约