计算机网络第六章 2讲
- 格式:doc
- 大小:691.50 KB
- 文档页数:7
计算机网络技术考证(中级)第六章CH6 配置和维护网络§1 配置DHCP服务一、准备1、IP地址配置在TCP/IP的网络中,IP地址的规划与配置是一件相当重要且繁杂的工作,通常有两种方法配置网络IP地址,主要配置方法1)静态配置:配置主机以固定的IP地址,此方法通常用于小型网络环境。
2)动态获取:从DHCP服务器上动态获取IP地址,DHCP服务器为DHCP客户机自动提供所有必要的配置信息,当客户机断开网络连接时,则释放IP地址,供其他工作站使用,这种方法可减轻管理员的负担。
2、DHCP服务基础1)相关概念:DHCP的全称是动态主机配置协议,用于自动为网络上的计算机分配TCP/IP信息,包括IP地址、网关和DNS服务器地址等。
DHCP的前身是BOOTP(自举协议),用于帮助无盘工作站从中心服务器获得IP地址,使用BOOT ROM而不是磁盘启动并连接网络。
2)DHCP服务器环境要求A、Windows 2000 server以上。
B、DHCP服务器的IP地址必须是静态配置的。
3)工作原理4)自动专用IP寻址(APIPA)指当DHCP客户机在尚未向DHCP服务器获得有效的IP地址前,为维持DHCP客户机之间的通信而临时分配的IP地址。
当DHCP客户机无法获得DHCP服务器的响应时,会采用保留的自动专用IP地址暂时作为自己的IP地址,同时每隔5min继续寻找DHCP服务器,以获得正确的IP地址。
自动专用IP地址的起始范围是169.254.0.1~169.254.255.2543、DHCP服务内容1)IP作用域:指分配给DHCP客户机的IP地址范围,在DHCP服务器内必须创建一个或多个作用域,当DHCP客户机租用IP地址时,DHCP服务器就从作用域内选取一个适合的、尚未分配的IP地址给客户机。
2)DHCP选项:DHCP服务器除了将IP地址和子网掩码分配给DHCP客户机外,还可以分配一些配置选项如默认网关、DHCP服务器、DNS服务器、WINS服务器地址等,这样客户端无须手动设置这些信息。
6.3 Internet传输协议⏹两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元TPDU (TransportProtocol Data Unit)。
⏹TCP/IP的传输层有两个不同的协议:(1) 用户数据报协议UDP (User Datagram Protocol)(2) 传输控制协议TCP (Transmission Control Protocol)⏹TCP 传送的数据单位协议是TCP 报文段(segment) UDP 传送的数据单位协议是UDP报文或用户数据报。
⏹UDP 在传送数据之前不需要先建立连接。
对方的传输层在收到UDP 报文后,不需要给出任何确认。
虽然UDP 不提供可靠交付,但在某些情况下UDP 是一种最有效的工作方式。
⏹TCP 则提供面向连接的服务。
TCP 不提供广播或多播服务。
由于TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。
这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。
⏹强调两点: 1. 传输层的UDP 用户数据报与网络层的IP数据报有很大区别。
IP 数据报要经过互连网中许多路由器的存储转发,但UDP 用户数据报是在传输层的端到端抽象的逻辑信道中传送的。
2. TCP 报文段是在传输层抽象的端到端逻辑信道中传送,这种信道是可靠的全双工信道。
但这样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的传输层是否建立了TCP 连接6.3 1 用户数据报协议UDP6.3.1.1 UDP (User Datagram Protocol)概述RFC 768⏹UDP 只在IP 的数据报服务之上增加了很少一点的功能,即端口(端口用来标志应用层的进程)的功能和差错检测的功能(可选功能)。
UDP头⏹UDP是一个简单的传输协议; 提供’best effort’服务, UDP报文可能会丢失和乱序;⏹虽然UDP 用户数据报只能提供不可靠的交付,但UDP 在某些方面有其特殊的优点。
⏹发送数据之前不需要建立连接(结束时也就无连接释放),因而开销小和发送数据前的延迟小收发双方不需要握手, 每个UDP报文的处理都独立于其它报文⏹UDP 的主机不需要维持复杂的连接状态表。
因为不使用拥塞控制,也不保证可靠交付.⏹UDP 用户数据报只有8个字节的首部开销。
比TCP的20个字节的首部短⏹没有拥塞控制, 可以尽快发送, 所以网络出现的拥塞不会使源主机的发送速率降低。
这对某些实时应用是很重要的。
很多实时应用(IP电话, 实时视频会议等)要求源主机以恒定的速率发送数据, 并且允许在拥塞时丢失一些数据, 但却不允许数据有太大的时延.⏹UDP尤其适用的一个领域是在客户-服务器的情形下.远过程调用RPC(RemoteProcedure Call)和UDP是一对好搭档.(无连接, 无流控,无错控,无重传,短请求短回应), 如RIP路由信息周期发送,DNS避免TCP连接建立延迟,SNMP 当网络拥塞时,UDP比用可靠的,具有拥塞控制的TCP效果好.RTP(Real-Time transport Protocol 实传输协议) RFC 1889RTP在协议栈中位置有点古怪.最终RTP被放在用户空间中,并且运行在UDP之上. 这种设计结果是, 你很难说清RTP位于哪一层上.RTP无流控,无错控,无确认, 无请求重传机制.间操作系统内核(a)RTP在协议栈中的位置(b)分组嵌套情况用户数据报UDP 有两个字段:数据字段和首部字段。
首部字段有8 个字节,由 4 个子字段(域)组成,每个子字段都是两个字节。
在计算检验和时,临时把“伪首部”和UDP 用户数据报连接在一起。
伪首部仅仅是为了计算检验和, 伪首部既不向上递交也不向下传送。
伪首部5个字段中: 17—IP协议头部中的协议字段,对应UDP; 6—IP协议头部中的协议字段,对应TCP6.3.2 传输控制协议 TCP(transmission control protocol)6.3.2.1 TCP 概述 RFC 793 RFC1122 RFC1323完成任务: 判断是否超时, 重传, 顺序组装等功能, 提供IP 无法提供的可靠性.为获得TCP 服务, 发收双方必须首先创建套接字=IP+Port. 一个套接字有可能同时被用于多个连接, 所以连接可以用两端的套接字标识符来标识, 即(socket1, socket2). 1024以下的端口号被称为IP 数据报4 4 1 1 2计算 UDP 检验和的例子10011001 00010011 → 153.1900001000 01101000 → 8.104 10101011 00000011 → 171.3 00001110 00001011 → 14.11 00000000 00010001 → 0 和 1700000000 00001111 → 15 00000100 00111111 → 1087 00000000 00001101 → 1300000000 00001111 → 1500000000 00000000 → 0(检验和) 01010100 01000101 →数据 01010011 01010100 → 数据 01001001 01001110 → 数据01000111 00000000 → 数据和 0(填充) 10010110 11101011 → 求和得出的结果01101001 00010100 → 检验和 12 字伪首部8 字节 UDP 首部 7 字节 数据 按二进制反码运算求和 将得出的结果求反码知名端口(well-known port), 被保留用于一些标准的服务.所有的TCP连接都是全双工的,并且是点到点的. 所谓全双工----同时可在两个方向上传输数据. 所谓点到点----每个连接恰好有两个端点. TCP不支持多播或广播传输模式.发送端接收端应用进程应用进程发送TCP报文段源端口和目的端口字段——各占2 字节。
端口是传输层与应用层的服务接口。
传输层的复用和分用功能都要通过端口才能实现。
序号字段——占 4 字节。
TCP 连接中传送的数据流中的每一个字节都编上一个序号。
序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移——占4 bit,它指出TCP 报文段的数据起始处距离TCP 报文段的起始处有多远。
“数据偏移”的单位不是字节而是32 bit 字(4 字节为计算单位)。
保留字段——占6 bit,保留为今后使用,但目前应置为0。
紧急比特URG ——当URG = 1 时,表明紧急指针字段有效。
它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
确认比特ACK ——只有当ACK = 1 时确认号字段才有效。
当ACK = 0 时,确认号无效。
推送比特PSH (PuSH) ——接收TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。
复位比特RST (ReSeT) ——当RST = 1 时,表明TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
同步比特SYN ——同步比特SYN 置为1,就表示这是一个连接请求或连接接受报文。
终止比特FIN (FINal) ——用来释放一个连接。
当FIN = 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
窗口字段——占 2 字节。
窗口字段用来控制对方发送的数据量,单位为字节。
TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。
检验和——占2 字节。
检验和字段检验的范围包括首部和数据这两部分。
在计算检验和时,要在TCP 报文段的前面加上12 字节的伪首部,第4字段为6,第5字段为TCP长度。
紧急指针字段——占16 bit。
紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。
选项字段——长度可变。
TCP 只规定了一种选项,即最大报文段长度MSS (Maximum Segment Size)。
MSS 告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS 个字节。
”MSS 是TCP 报文段中的数据字段的最大长度。
数据字段加上TCP 首部才等于整个的TCP 报文段。
填充字段——这是为了使整个首部长度是 4 字节的整数倍。
6.3.2.2 TCP 的数据编号与确认⏹TCP 协议是面向字节的。
TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。
⏹在连接建立时,双方要商定初始序号。
TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。
⏹TCP 的确认是对接收到的数据的最高序号表示确认。
接收端返回的确认号是已收到的数据的最高序号加1。
因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。
6.3.2.3 TCP 的流量控制与拥塞控制1. 滑动窗口的概念⏹TCP 采用大小可变的滑动窗口进行流量控制。
窗口大小的单位是字节。
⏹在TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。
⏹发送窗口在连接建立时由双方商定。
但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。
⏹发送端要发送900 字节长的数据,划分为9 个100 字节长的报文段,而发送窗口确定为500 字节。
⏹发送端只要收到了对方的确认,发送窗口就可前移。
⏹发送TCP 要维护一个指针。
每发送一个报文段,指针就向前移动一个报文段的距离。
⏹发送端已发送了400 字节的数据,但只收到对前200 字节数据的确认,同时窗口大小不变。
⏹现在发送端还可发送300 字节。
⏹发送端收到了对方对前400 字节数据的确认,但对方通知发送端必须把窗口减小到400字节。
⏹现在发送端最多还可发送400 字节的数据。
2. 慢启动和拥塞避免⏹发送端的主机在确定发送报文段的速率时,既要根据接收端的接收能力,又要从全局考虑不要使网络发生拥塞。
⏹因此,每一个TCP 连接需要有以下两个状态变量:⏹接收端窗口rwnd (receiver window) 又称为通知窗口(advertised window)。
⏹ 拥塞窗口 cwnd (congestion window)。
慢启动算法的原理⏹ 三个参数: 接收方窗口, 拥塞窗口, 阈值(threshold)—初始时刻阈值=16报文段,当 TCP 连接进行初始化时,将拥塞窗口置为 1。
图中的窗口单位不使用字节而使用报文段。