1、n计算机网络中的数据交换方式n电路交换、存储转发交换(报文交换、分组交换)n计算机网络协议n定义、三要素、分层思路nOSI/RM参考模型的层次划分及各层的功能nTCP/IP 参考模型的层次划分及各层的功能第一章 概述网络边缘系统local ISPcompanynetworkregional ISProuterworkstationservermobilen网络端设备:网络端设备:n PC、工作站、移动设备、工作站、移动设备、n 智能电子产品等智能电子产品等n工作模式工作模式n 客户客户-服务器模式:服务器模式:n 即即Client/Server方式方式 (C/S、B/S)n 对等模式:对等模式
2、:n 即即 Peer-to-Peer方式方式 (P2P)n网络服务网络服务n面向连接的服务面向连接的服务n面向无连接的服务面向无连接的服务网络核心系统n数据“交换”定义 :n从通信资源的分配角度来看,从通信资源的分配角度来看,“交换交换”就是按就是按照某种方式照某种方式动态地分配动态地分配传输线路的资源。传输线路的资源。n技术分类n 电路交换:电路交换:FDM、 TDMn 存储转发交换:报文交换和存储转发交换:报文交换和分组交换分组交换P1P2P3P4P1P2P3P4P3P4报文报文报文A B C D A B C DA B C D报文交换电路交换分组交换t连接建立数据传送报文P2P1连接释放数
3、据传送的特点比特流直达终点报文报文报文分组 分组 分组存储转发存储转发存储转发存储转发报文交换 VS 分组交换 VS 电路交换n定义n一组控制数据通信的规则。计算机网络中互相通信的对等实体间对等实体间交换信息时所必须遵守的规则的集合规则的集合。n网络协议的基本要素n语法、语义、同步n网络体系结构n分层思路n定义n层协议服务访问点服务接口调用n+1层协议OSI/RM参考模型TCP/IP参考模型应用层运输层网际层网络接口层主机A主机B路由器网络 2网络 1应用层运输层网际层网络接口层网际层网络接口层4321n混合模型nISO/OSI概念模型好,协议实现不好;nTCP/IP协议实现好,模型不好;n采
4、用混合模型Application LayerTransport LayerNetwork LayerData Link LayerPhysical Layer第二章 物理层n物理层的四个重要特性n机械特性、电气特性、功能特性、规程特性n奈奎斯特定律和香农公式n数据通信中的若干基本概念n模拟传输、数字传输、模拟信道、数字信道等n信号编码、调制技术n多路复用技术n常用的传输介质n(1) 理想低通信道下的最高码元传输速率 = 2W Baudn这里W是理想低通信道的频带宽,单位为赫(Hz)n即:每赫带宽的理想低通信道的最高码元传输速率是每秒2个码元。n(2) 理想带通信道的最高码元传输速率 = W B
5、audn即:每赫带宽的带通信道的最高码元传输速率是每秒1个码元。奈奎斯特定律奈奎斯特定律 信道的极限信息传输速率C可表示为:)/1 (log2NSHCnH-信道频带宽,以Hz为单位nS-信道内所传信号的平均功率nN-信道内部的高斯噪声功率nS/N-信噪比,单位:db(分贝)1010log/S N对单位db的说明:当 S/N = 10 时,信噪比为10db 当 S/N = 1000 时,信噪比为30db香农公式香农公式编码与调制n不同类型的信号在不同类型的信道上传输有不同类型的信号在不同类型的信道上传输有4种情况:种情况:数据:模拟数据 数字数据信号:模拟信号 数字信号 信道:模拟信道 数字信道
6、模拟传输和数字传输所使用的技术话音话音移频移频,调制调制模拟模拟数字数字模拟模拟模拟模拟PCM编码编码数字数字数字数字数字编码数字编码数字数字模拟数据,模拟信号模拟数据,模拟信号数字数据,模拟信号数字数据,模拟信号数字数据,数字信号数字数据,数字信号模拟数据,数字信号模拟数据,数字信号10101010调制调制宽带调制技术(数字模拟信号)010011100基带信号调幅调频调相脉冲编码调制PCMPCM编码过程举例编码过程举例数字信号编码技术(数字数字信号)n为什么要编码n数字数据为二进制数(0或1),数字信号为高电平或低电平进行传输,所以需要将二进制数转换为高电平或低电平。n常用的编码技术:n不归
7、零编码n曼彻斯特编码n差分曼彻斯特编码n块编码(4B/5B、8B/10B) 多路复用技术n定义:n为了节省通信设备与费用,常常需要在一条物理通道上同时传送多路信息,这种技术称为多路复用(Multiplexing)或称为多路共传。n常用的方案有:n频分多路复用 (FDM); 时分多路复用 (TDM)n波分多路复用 (WDM); 码分多路复用(CDM) 数字载波标准nT1标准线路的带宽计算:n以Bell系统的T1载体为例,Bell系统将24个音频个音频通道一起多路传输。n按Nyquist定理,频带宽为频带宽为4KHz的音频通道,只要每秒采样每秒采样8000次次(即125us采一次)就能捕捉其全部信
8、息。n每次采样经量化编码产生一个量化编码产生一个7bit的数据的数据,24条音频通道的条音频通道的一次采样数据放进一个帧一次采样数据放进一个帧中,帧的长度为帧的长度为193bit,每条逻辑通道占8bit(7bit数据,1bit控制信号),第193bit用于帧同步。nT1载体每秒传送每秒传送8000个个这样的帧,故要求物理通道的信道容量大于193*8000bit/s=1.544Mbit/snE1标准线路的带宽计算:n每125us为一个时间片,每时间片分为32个通道 (供32个用户轮流使用) ,则每通道占用125us / 32 = 3.90625usn每通道一次传送8位二进制数据,即每个二进制位占
9、用3.90625 / 8 = 0.48828125usn所以 E1速率 = 1/0.48828125 = 2.048Mb/s 0 1 21631125 us , 32 时隙时隙 , 2.048 Mbps帧同步帧同步信令信道信令信道30 路话音数据信道路话音数据信道 + 2 路控制信路控制信道道第三章 数据链路层n数据链路层的基本概念(数据链路层的基本功能,形成帧的四种方法)n差错控制中的编码技术(海明纠错码,循环冗余码(CRC)n停止等待协议的原理(单工,双工停等协议)n连续ARQ协议n滑动窗口协议及分析方法n高级数据链路控制规程HDLCnPPP协议错误检测:错误检测:EDC= 错误检测校正(
10、Error Detection and Correction (冗余数据))位 错误检测不可能达到 100% 可靠! 协议算法可能会忽略了某些错误, 但比例极小 较大的 EDC 字段可以产生较好的检错和纠错效果差错控制加了它就可能加了它就可能知道?知道?海明纠错码n海明纠错码的格式海明纠错码的格式n码字的编号从左到右,最左边是第一位,其中2的幂数位是检的幂数位是检验位,其余是验位,其余是k个数据位个数据位(信息元)。n海明纠错码格式如下:n 20 21 22 23 24n p1 p2 * p3 * * * p4* * * * * * * p5 n *-信息元 P-校验位海明纠错码n将编码字写成
11、串形式的一维向量11121112122212121121(p1 p2 * p3 * * * p4* * . )rrrrrrKKKrKrb bbbb bbbl lllMb bbb其中,l1 =l2 =lr =1或0(l=0为偶校验,l=1为奇校验); bij = 1 或 0 循环冗余码(CRC)n循环冗余码(CRC)n基本思想n收发双方约定一个生成多项式生成多项式G(x)(其最高阶和最低阶系数必须为1),发送方在帧的末尾加上校验序列,使带校验序列的帧的多项式能被G(x)整除;接收方收到后,用G(x)除多项式,若有余数,则传输有错。n多项式码n将位串看成系数为0或1的多项式如:110001,表示成
12、多项式 x5+x4+1 循环冗余码(CRC)n循环冗余码(CRC)nCRC的计算算法n停等协议(单工、双工)nGo-back-N ARQn滑动窗口协议 流量控制n点到点数据联络层案例n高级数据链路控制规程HDLC 高级数据链路控制规程nHDLC涉及三种类型的站:n主站(Primary Station)n主要功能是发送命令(包括数据),接收响应,负责整个链路的控制(如系统的初始、流控、差错恢复等);n从站(Secondary Station)n主要功能是接收命令,发送响应,配合主站完成链路的控制;n复合站(Combined Station)n同时具有主、从站功能,既发送又接收命令和响应,并负责整
13、个链路的控制。 高级数据链路控制规程n原理图命令命令(B)响应响应(B)主站主站A从站从站B非平衡配置:点非平衡配置:点-点点命令命令(B/C/D)响应响应(B)响应响应(C)响应响应(D)主站主站A从站从站B从站从站C从站从站D非平衡配置:点非平衡配置:点-多点多点命令命令(B)命令命令(A)响应响应(B)响应响应(A)复合站复合站A复合站复合站B平衡配置平衡配置 高级数据链路控制规程n帧的一般结构第四章 局域网n局域网的体系结构n介质访问技术nALOHA、时隙ALOHA、 CSMA、CSMA/CDnIEEE802标准系列中的主要标准标准系列中的主要标准n802.3标准n局域网的扩展n物理层
14、、数据链路层、网络层n常用设备局域网的体系结构n局域网参考模型n 对应于OSI参考模型最低两层:n物理层:透明传输位流,规定信号编码、传输媒体、拓扑结构及数据率n数据链路层(802委员会将局域网的数据链路层拆成两个子层)n介质访问控制子层 MAC(Medium Access Control)n逻辑链路控制子层 LLC(Logical Link Control)局域网的体系结构n局域网参考模型数据链路层数据链路层物理层物理层网络层网络层媒体访问控制媒体访问控制MAC逻辑链路控制逻辑链路控制LLCLogical Link Control Media Access Control 向上层提供向上层提
15、供 连接环境连接环境对下层提供对下层提供 媒体访问方媒体访问方法法局域网的体系结构nMAC子层子层:n 数据链路层中与接入各种传输媒体有关的问题。还负责在物理层的基础上进行无差错的通信。n更具体些讲,MAC子层的主要功能是:n将上层交下来的数据封装成帧进行发送(接收时进行相反的过程,将帧拆卸)n实现和维护MAC协议n比特差错检测n寻址网卡检查 MAC 地址 n网卡从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.n如果是发往本站的帧则收下,然后再进行其他的处理。n否则就将此帧丢弃,不再进行其他的处理。n“发往本站的帧发往本站的帧”包括以下三种帧:包括以下三种帧: n
16、单播(unicast)帧(一对一)n广播(broadcast)帧(一对全体)n多播(multicast)帧(一对多) CSMA/CD协议的提出n以太网采用的协调方法是使用一种特殊的协议,即以太网采用的协调方法是使用一种特殊的协议,即 (载波监听多点接入/碰撞检测)nIEEE定义了采用1-坚持CSMA/CD技术的802.3局域网标准,速率从1M到10Mbps,802.3标准与以太网协议略有差别。n原理原理n站点使用站点使用CSMA协议进行数据发送;协议进行数据发送;n在发送期间如果检测到冲突在发送期间如果检测到冲突(CD),立即终止发送,并发,立即终止发送,并发出一个瞬间干扰信号,使所有的站点都
17、知道发生了冲突;出一个瞬间干扰信号,使所有的站点都知道发生了冲突;n在发出干扰信号后,等待一段随机时间,再重复上述过程。在发出干扰信号后,等待一段随机时间,再重复上述过程。CSMA/CD的要点n“载波监听载波监听”n指每一个站在发送数据之前先要检测一下总线上是否有其他指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。以太网使用曼彻斯特编码信号。生碰撞。以太网使用曼彻斯特编码信号。n“多点接入多点接入”n许多计算机以多点接入的方式连接在一根总线上。许多计算机以多点接入的方式连接在一根
18、总线上。n“碰撞检测碰撞检测”n计算机边发送数据边检测信道上的信号电压大小,如果检测计算机边发送数据边检测信道上的信号电压大小,如果检测到电压超过一定的门限值,就认为发生了碰撞。到电压超过一定的门限值,就认为发生了碰撞。n争用期争用期n最先发送数据帧的站,在发送数据帧后至多经过时间 2 (两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。n端到端往返时延 2 称为争用期。n经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。 随机访问MAC协议CSMA/CD1 kmABt碰撞t = B 检测到信道空闲发送数据t = / 2发生碰撞t = 2 A 检测到发生碰撞 t = B
19、 发送数据B 检测到发生碰撞 t = ABABAB t = 0 A 检测到信道空闲发送数据ABt = 0t = B 检测到发生碰撞停止发送STOPt = 2 A 检测到发生碰撞STOPAB单程端到端传播时延记为 截断二进制指数类型的退避算法n以太网中随机等待时间采用二进制指数后退算法BEB(Binary Exponential Backoff):1.确定基本退避时间,一般是取争用期 22.从整数集合0,1, (2k 1)中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。 其中 K=min (n,i)n式中,n为冲突次数,i为退让极限(Back off limit)。n当n
20、i时,K=n;当ni时,K=i;当n=j时,其中j为尝试极限(Attempt limit),放弃发送,并通知高层。n以太网中,i10,j=16媒体忙?媒体忙?发送帧发送帧碰撞?碰撞?发送完?发送完?发送发送JamJamN16?N16?YesYesNoNoNoNoYesYes发送成功发送成功YesYes发送失败发送失败NoNo延迟随机时间延迟随机时间NoNoYesYes发送发送碰撞次数碰撞次数N+1N+1802.3/Ethernet v2帧格式FCSSATypePADADataPadFCSPA SALENSFDDALLC PDUPad最小帧长计算n设信号在介质上端点到端点的传播延时为t秒,数据传
21、输速率为R b/s,则在最坏情况下能使任何站监听到冲突的最小帧长为2tR bits。 以太网的物理层选项与标识方法以太网的物理层选项与标识方法 速率、信号方式、介质类型速率、信号方式、介质类型速率(速率(Mb/s)基带或宽带基带或宽带Base,Broad每段最大长度(单位每段最大长度(单位:百米)或百米)或介质类型(介质类型(T,F,X)10 Base 5传统以太网传统以太网10Base5 粗同轴粗同轴10Base2 细同轴细同轴10Base-T UTP 10Base-F MMF快速以太网和千兆以太网快速以太网和千兆以太网100Base-T UTP100Base-F MMF/SMF1000Ba
22、se-X STP/MMF/SMF1000Base-T UTP局域网扩展局域网扩展n 什么情况下需要扩展?n网络范围扩大n更多的站点加入网络n多个独立的局域网进行互联n如何扩展?n主要在三个层次上n物理层 :信号中继n数据链路层:帧转发n网络层: 报文转发扩展的局域网:集线器(Hubs)n物理层设备: 本质上是工作在位流层面上的中继器n集线器不隔离碰撞域: 任意LAN网段中的结点都可能与其他网段中的结点发生冲突n集线器的优点:n简单,廉价设备n多层结构提供了一个性能略微降低较大的互联LAN: 即使一个集线器故障,部分 LAN结点仍可以继续工作n扩展了结点间的距离 (每个Hub 100m)n集线器
23、缺点:n单一的冲突域导致了最大吞吐量不可能增加,多层结构的吞吐量实际与单个网段相同n不能连接不同类型的以太网 (e.g., 10BaseT 和 100baseT)扩展的局域网:网桥/交换机n链路层设备: 检查帧的首部的信宿地址后,选择性的进行转发n由于网桥可以缓存帧,网桥可以隔离碰撞域 n网桥优点:n隔离冲突域使得网络的最大总吞吐量提高, 对接入的结点数和地理覆盖的范围没有限制n由于是存储转发设备,所以可以连接不同的以太网n透明: 不需要改变主机的LAN网络接口适配器n在网络层上进行局域网扩展n设备:n路由器n特点:n一个网络网络上的分组分组有条件地被转发转发到另一个网络网络;n扩展后的网络被
24、路由器分隔成多个子网子网。n优缺点:n隔离广播域,限制了广播帧的泛滥;n地域范围可以任意扩展;n能根据最佳路由转发分组;n可以互联不同类型的网络;n转发速度低,成本较高,维护复杂。第五章 网络层n网络层在ISO/RM和TCP/IP模型中的地位n数据报和虚电路的比较n几种路由算法:n最短路径、泛洪算法、距离向量路由算法、链路状态算法nIPV4协议n功能、特性、数据报格式n数据报分段和重组n地址分类编址规则、寻址规则n子网掩码、组网过程nICMP的功能和报文格式nARP协议和RARP协议的作用nIPV6协议n功能、特性、数据报格式n地址编址规则、寻址规则nIPV4向IPV6的过渡技术介绍相关的路由
25、算法n最短路径算法(Dijkstra)n扩散法(flooding)n距离矢量算法n链路状态算法D-V算法的工作原理 n每个路由器用两个向量Di和Si来表示该节点到网上所有节点的路径距离及其下一个节点n相邻路由器之间交换路径信息n各节点根据路径信息更新路由表 D-V算法的缺点 n交换的路径信息量大n路径信息不一致n收敛速度慢(坏消息)n距离矢量中不考虑带宽因子n不适合大型网络L-S(链路状态)算法(Link State Routing) n基本思想 发现它的邻接节点,并得到其网络地址发现它的邻接节点,并得到其网络地址 测量它到各邻接节点的延迟或开销测量它到各邻接节点的延迟或开销 组装一个分组以告
26、知它刚知道的所有信息组装一个分组以告知它刚知道的所有信息 将这个分组发给所有其他路由器将这个分组发给所有其他路由器 计算到每个其他路由器的最短路径计算到每个其他路由器的最短路径L-S路由算法的优缺点nLSR的优点nLSR的缺点各路由器的路由信息的一致性好各路由器的路由信息的一致性好收敛性好,坏消息也一样传播得快收敛性好,坏消息也一样传播得快适用于大型网络,报文长度与网络规模关系不大适用于大型网络,报文长度与网络规模关系不大每个路由器需要有较大的存储空间每个路由器需要有较大的存储空间 计算工作量大计算工作量大 因特网网络层routingtableRouting protocolspath sel
27、ectionRIP, OSPF, BGPIP protocoladdressing conventionsdatagram formatpacket handling conventionsICMP protocolerror reportingrouter “signaling”Transport layer: TCP, UDPLink layerphysical layerNetworklayerIP包格式 04816 31版本头部长服务类型总长标识标志段偏移生存时间类型头部校验和源IP地址目的IP地址IP可选项(可以省略)充填域数据开始 v版本为版本为4(Ipv4)v头部长以头部长以32
28、位字长为单位位字长为单位 IP地址的层次结构和分类 nIP地址分为A、B、C、D、E类031NetIDHostID0前缀后缀0816311 0前缀后缀1 1 0前缀后缀1 1 1 0多址传送地址1 1 1 1保留将来使用A类类B类类C类类D类类E类类大规模网络大规模网络中规模网络中规模网络小规模网络小规模网络地址类别网络数主机数A0127(126)16777216-2B128191(16384)65536-2C192223(2097152)256-2子网划分-三维地址结构n原有地址结构是二维的(网络地址,主机地址),增加地址结构的维数,可提高地址分配的灵活性和可用性n三维结构:网络地址,子网地
29、址,主机地址n在一个C类地址中仅主机地址可由网管人员自主分配n向主机地址域借位组成子网地址n以形成三维地址结构子网掩码n子网掩码的作用n因为子网地址的位数不是固定的,所以必须告知主机地址中哪一部分是子网的网络地址段,哪一部分是主机地址段n子网掩码使用与IP编址相同格式n子网掩码的网络地址部分和子网地址部分全为1,它的主机部分全为0n一个缺省C类IP地址的掩码为n255.255.255.0因特网控制报文协议ICMPnICMP功能n由于IP数据报不保证数据不丢失,使用ICMP允许主机或路由器报告差错情况和提供有关的异常情况的报告nICMP报文格式nICMP报文作为IP数据报的数据,加上数据报表头构
30、成IP数据报nICMP由类型、代码和校验和、数据部分组成nICMP的前4个字节固定,后面数据部分可变IP数据报数据报表头ICMP报文类型Type代码Code校验和Checksum081631长度可变部分取决于ICMP的类型因特网控制报文协议ICMPnICMP报文各字段含义n类型字段n一个字节长,不同的类型值对应不同的功能n可分为两大类:差错报文和探询报文类型功能类型功能0回送应答(Echo reply)12数据报的参数故障3目的站不可达13时间戳请求4源站抑止14时间戳应答5改变路由17地址掩码请求8回送请求18地址掩码应答11数据报的时间超过ICMP使用举例 n测试报文的可达性 n路由跟踪命
31、令 n得到路径中最小的MTU ping命令命令 tracert(Unix下为下为traceroute)命令)命令 IPv6n产生的背景n1、IPV4中32比特位地址空间不够n2、 IPV4未考虑对视频、音频等要求实时性的应用支持n3、缺乏网络安全性的考虑,没有身份鉴别、加密等机制n.IPv6所作的改进n更大的地址空间。n扩展的地址层次结构。n灵活的首部格式。n改进的选项。 IPv6允许数据报包含有选项的控制信息,因而可以包含一些新的选项。n允许协议继续扩充。 n支持即插即用(即自动配置) n支持资源的预分配。IPv6支持实时视像等要求保证一定的带宽和时延的应用。n支持更多的安全性。在IPv6中
32、的加密和鉴别选项提供了分组的保密性和完整性。041631版 本位目 的 地 址源 地 址下 一 个 首 部流 标 号12通 信 量 类(128 位)(128 位)有 效 载 荷 长 度跳 数 限 制24有效载荷(扩展首部 / 数据)IPv6 的基本首部(40 B)IPv6 的有效载荷(至 64 KB)六种扩展首部 n在 RFC 2460 中定义了六种扩展首部:n 逐跳选项n 路由选择n 分片n 鉴别n 封装安全有效载荷n 目的站选项 有效载荷有效载荷IPv6 的扩展首部 基本首部下一个首部= TCP/UDP基本首部下一个首部= 路由选择路由选择首部下一个首部= 分片分片首部下一个首部= TCP
33、/UDPTCP/UDP 首部和数据 (TCP/UDP 报文段)TCP/UDP 首部和数据 (TCP/UDP 报文段)无扩展首部有扩展首部IPv6 地址的类型与地址空间 nIPv6 数据报的目的地址可以是以下三种基本类型地址之一:n(1) 单播(unicast) 单播就是传统的点对点通信。n(2) 多播(multicast) 多播是一点对多点的通信。n(3) 任播(anycast) 这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。 冒号十六进制记法(colon hexadecimal notation) n每个 16 位的值用十六
34、进制值表示,各值之间用冒号分隔。n68E6:8C64:FFFF:FFFF:0:1180:960A:FFFFn零压缩(zero compression),即一连串连续的零可以为一对冒号所取代。 nFF05:0:0:0:0:0:0:B3 可以写成:nFF05:B3 从 IPv4 向 IPv6 过渡 n向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容。nIPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。用双协议栈进行从 IPv4 到 IPv6 的过渡 双协议栈IPv6/IPv4IPv6IPv6IPv4 网络ABCDEF流
35、标号:X源地址:A目的地址:F 数据部分流标号:无源地址:A目的地址:F 数据部分双协议栈IPv6/IPv4IPv6 数据报IPv6 数据报源地址:A目的地址:F数据部分源地址:A目的地址:F数据部分IPv4 数据报IPv4 网络IPv6IPv6ABCDEFIPv4 数据报IPv4 数据报IPv4网络 IPv6IPv6ABEF隧道源地址:B目的地址:EIPv6数据报双协议栈IPv6/IPv4双协议栈IPv6/IPv4双协议栈IPv6/IPv4双协议栈IPv6/IPv4IPv4 网络流标号:X源地址:A目的地址:F 数据部分IPv6 数据报流标号:X源地址:A目的地址:F 数据部分IPv6 数据
36、报源地址:B目的地址:EIPv6数据报使用隧道技术从 IPv4 到 IPv6 过渡 第六章 传输层n传输层的地位和作用n传输层要素nUDP协议nTCP协议内容:数据段格式、连接管理、流量控制、确认重传机制、拥塞控制等TCP 段格式source port #dest port #32 bits应用数据 (可变长度)sequence numberacknowledgement numberrcvr window sizeptr urgent datachecksumFSRPAUheadlennotusedOptions (可变长度-MSS)URG: urgent data (一般不用)ACK: A
37、CK #validPSH: push data now(一般不用)RST, SYN, FIN:connection estab(setup, teardowncommands)# bytes 接收方愿意接受的按发送数据的字节计算(不是按段数!)Internetchecksum(as in UDP)三次握手建立连接连接请求连接请求CR(seq=x)接受连接,回送确认接受连接,回送确认ACK(seq=y, ACK=x1)发送数据,回送确认发送数据,回送确认DATA(seq=x1, ACK=y1)TCP 拥塞控制n方法:让每一个发送方根据所感知到的网络拥塞的程度,来限制其能向连接发送流量的速率。nQ
38、:如何感知存在拥塞?nQ:如何限制发送速率?nQ:用什么算法改变速率?TCP 拥塞控制算法:n重要变量:nCongwinnthreshold: 定义两个慢启动之间,拥塞控制阶段的门限值n三个 “阶段”nslow start(慢启动):从一个MSS开始,指数增加拥塞窗口ncongestion avoidance(拥塞避免):加性增加ncongestion measure(拥塞检测):乘性减小TCP Slowstart(慢启动)n窗口尺寸按指数递增 (每隔 RTT) (不算太慢!)initialize: Congwin = 1for (each segment ACKed) Congwin+unt
39、il (loss event OR CongWin threshold)Slowstart 算法Host Aone segmentRTTHost Btimetwo segmentsfour segmentsTCP 拥塞避免/* slowstart is over */ /* Congwin threshold */Until (loss event) every w segments ACKed: Congwin+ threshold = Congwin/2Congwin = 1perform slowstart拥塞避免1丢失事件: 超时(Tahoe TCP) 和/或三次重复 ACKs (Reno TCP) 1:出现超时事件后,拥塞控制使阈值减为当前拥塞窗口的一半,新的拥塞窗口从慢启动开始2: 在出现三次重复的ACK后,拥塞控制使阈值减为当前拥塞窗口的一半,新的拥塞窗口从拥塞避免阶段开始协议协议连接端口号连接端口号应用程序应用程序UDP53DNSUDP67BOOTP ClientUDP68BOOTP ServerUDP520RIPTCP19NNTPTCP20FTP DataTCP21FTP ControlTCP23TelnetTCP25SMTPTCP80HTTPWell-Known端口一个以上端口