《第3章_TCPIP协议栈.ppt》由会员分享,可在线阅读,更多相关《第3章_TCPIP协议栈.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1999,Cisco Systems,Inc.8-1第三章第三章第三章第三章TCP/IPTCP/IP协议栈协议栈协议栈协议栈 1999,Cisco Systems,IICND8-2本章目标本章目标本章目标本章目标通过本章的学习,您应该掌握以下内容通过本章的学习,您应该掌握以下内容:掌握掌握TCP/IP分层模型分层模型掌握三次握手过程掌握三次握手过程理解理解OSI和和TCP/IP模型的区别和联系模型的区别和联系 1999,Cisco Systems,IICND8-3早期的协议族早期的协议族全球范围全球范围TCP/IPTCP/IP介绍介绍介绍介绍主机主机InternetTCP/IP主机主机 19
2、99,Cisco Systems,IICND8-4TCP/IP TCP/IP 协议族协议族协议族协议族7654325432应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层数据链路层数据链路层物理层物理层1应用层应用层主机到主机层主机到主机层Internet层层1网络接入层网络接入层 1999,Cisco Systems,IICND8-5Page Page 5 5/31/31TCP/IPTCP/IP模型与模型与模型与模型与OSIOSI模型的比较模型的比较模型的比较模型的比较相同点相同点两者都是以协议栈的概念为基础两者都是以协议栈的概念为基础协议栈中的协议彼此相互独立协议栈中的协议彼此
3、相互独立下层对上层提供服务下层对上层提供服务不同点不同点OSI是先有模型;是先有模型;TCP/IP是先有协议,后有模型是先有协议,后有模型OSI适用于各种协议栈;适用于各种协议栈;TCP/IP只适用于只适用于TCP/IP网络网络层次数量不同层次数量不同 1999,Cisco Systems,IICND8-6应用层概述应用层概述应用层概述应用层概述*路由器使用路由器使用应用层应用层主机到主机层主机到主机层Internet层层文件传输文件传输-TFTP*-FTP*-NFSE-Mail-SMTP远程登陆远程登陆-Telnet*-rlogin*网络管理网络管理-SNMP*名称管理名称管理-DNS*网络
4、接入层网络接入层 1999,Cisco Systems,IICND8-7主机到主机层概述主机到主机层概述主机到主机层概述主机到主机层概述Transmission ControlProtocol(TCP)User Datagram Protocol(UDP)应用层应用层主机到主机层主机到主机层Internet层层网络接入层网络接入层面向连接面向连接非面向连接非面向连接 1999,Cisco Systems,IICND8-8Page 8/33TCPTCP的封装格式的封装格式的封装格式的封装格式源端口号源端口号目标端口号目标端口号32位序列号位序列号32位确认号位确认号4位位首部长首部长度度保留保留
5、(6位)位)URGACKPSHRSTSYNFIN16位窗口大小位窗口大小16位校验和位校验和16位紧急指针位紧急指针可选项可选项数据数据0151631发送发送TCP进程进程对应的端口号对应的端口号目标端接收进目标端接收进程的端口号程的端口号0 232-1范围内,数据段范围内,数据段标记,用于到目的端对到标记,用于到目的端对到达包的重组达包的重组0 232-1范围内,对发送范围内,对发送端的确认信息,告诉发送端端的确认信息,告诉发送端这个序号之前的数据段都收这个序号之前的数据段都收到了到了紧急指针有效位,与紧急指针有效位,与1616位紧急指针配合使位紧急指针配合使用用确认序列号有确认序列号有效位
6、,表明该效位,表明该数据包包含确数据包包含确认信息认信息为为1时,请求重时,请求重新建立新建立TCP连接连接为为1时,请求建时,请求建立连接立连接为为1时,数据发时,数据发送完毕,请求断送完毕,请求断开连接开连接滑动窗口的大小,滑动窗口的大小,指明本地可接收数指明本地可接收数据的字节数据的字节数通知接收端立即将数通知接收端立即将数据提交给用户进程,据提交给用户进程,不在缓存中停留,等不在缓存中停留,等待更多的数据待更多的数据 1999,Cisco Systems,IICND8-9TCP TCP 端口号端口号端口号端口号源端口源端口目标端口目标端口Host A102823SPDPHost ZTe
7、lnet Z目标端口目标端口=23.1999,Cisco Systems,IICND8-10发送发送 SYN(seq=100 ctl=SYN)接收接收 SYNHost AHost BTCP TCP 三次握手三次握手三次握手三次握手1 1999,Cisco Systems,IICND8-11发送发送 SYN(seq=100 ctl=SYN)接收接收 SYN发送发送 SYN,ACK(seq=300 ack=101 ctl=syn,ack)Host AHost B接收接收 SYN12TCP TCP 三次握手三次握手三次握手三次握手 1999,Cisco Systems,IICND8-12发送发送 S
8、YN(seq=100 ctl=SYN)接收接收 SYN发送发送 SYN,ACK(seq=300 ack=101 ctl=syn,ack)建立会话建立会话(seq=101 ack=301 ctl=ack)Host AHost B123接收接收 SYNTCP TCP 三次握手三次握手三次握手三次握手TCP连接建立连接建立 1999,Cisco Systems,IICND8-13Page Page 1313/33/33TCPTCP的四次断开的四次断开的四次断开的四次断开发送发送 FIN,请求断开连接请求断开连接(seq=101,ack=301,ctl=FIN,ACK)Host AHost B1发送发
9、送 ACK(seq=301,ack=102ctl=ACK)24发送发送ACK(seq=102,ack=302 ctl=ACK)Seq100Seq300Ack1013发送发送 FIN,请求断开连接请求断开连接(seq=301,ack=102 ctl=FIN,ACK)1999,Cisco Systems,IICND8-14Page Page 1414/33/33TCPTCP的流控机制滑动窗口的流控机制滑动窗口的流控机制滑动窗口的流控机制滑动窗口Host AHost B123Ack=301,win=3Seq=300,ack=101,win=3Seq=100,win=3Ack=104,win=1Seq
10、=101,win=3Seq=102,win=3Seq=103,win=3Seq=104,win=303接收方的缓冲区接收方的缓冲区接收方的缓冲区接收方的缓冲区0132发送窗口大小为发送窗口大小为3通报窗口大小为通报窗口大小为1缓冲区满缓冲区满应用程序读取应用程序读取了了1个数据段个数据段实际发送窗口大小实际发送窗口大小变为变为1通报窗口大小为通报窗口大小为3 1999,Cisco Systems,IICND8-15Page Page 1515/33/33TCPTCP的流控机制拥塞控制的流控机制拥塞控制的流控机制拥塞控制的流控机制拥塞控制2 21 1Win10Win10Cwnd=5Win10传输
11、时窗口大小为传输时窗口大小为10中间链路带宽比较窄,传中间链路带宽比较窄,传输时窗口大小根据拥塞窗输时窗口大小根据拥塞窗口(记为口(记为cwnd)的大小变)的大小变为为5Win10,1999,Cisco Systems,IICND8-16Page Page 1616/33/33TCPTCP的流控机制拥塞控制的流控机制拥塞控制的流控机制拥塞控制的流控机制拥塞控制2 22 2Host AHost B123Ack=301,win=3Seq=300,ack=101,win=3Seq=100,win=3Ack=102,win=3Seq=101,win=3Seq=102,win=3Seq=103,win=
12、3Seq=102,win=3通报窗口大小为通报窗口大小为3,但因为,但因为中间链路拥塞,丢包,只中间链路拥塞,丢包,只接收到接收到102一个确认一个确认重传重传102,实际传输的,实际传输的窗口大小减小窗口大小减小 1999,Cisco Systems,IICND8-17TCP TCP 顺序号和确认号顺序号和确认号顺序号和确认号顺序号和确认号源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#Source Dest.Seq.Ack.102823101我发送我发送#10.1999,Cisco Systems,IICND8-18TCP TCP 顺序号和确认号顺序号和确认号顺序号和确认号顺序号和
13、确认号我已收到我已收到#10,现在我需要现在我需要#11.源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ack.我发送我发送#10.1999,Cisco Systems,IICND8-19TCP TCP 顺序号和确认号顺序号和确认号顺序号和确认号顺序号和确认号源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#102823Source Dest.1111Seq.2Ack.102823Source Dest.1010Seq.1Ack.102823Source Dest
14、.1111Seq.1Ack.我已收到我已收到#10,现在我需要现在我需要#11.我发送我发送#10.1999,Cisco Systems,IICND8-20TCP TCP 顺序号和确认号顺序号和确认号顺序号和确认号顺序号和确认号源端口源端口目标端口目标端口顺序号顺序号#确认号确认号#Source Dest.101010Seq.1Ack.我已收到我已收到#11,现在我需要现在我需要#12.我发送我发送#11Source Dest.Seq.Ack.1028231111112102823Source Dest.1 1Seq.11Ack.231028Source Dest.Seq.Ack.231028
15、2 212 1999,Cisco Systems,IICND8-21端口号端口号端口号端口号TCP端口号端口号FTP传输层传输层TELNETDNSSNMPTFTPSMTPUDP应用层应用层2123255369161RIP520 1999,Cisco Systems,IICND8-22TCPTCP的应用的应用的应用的应用端口端口协议协议说明说明21FTP文件传输协议,用于上传、下载文件传输协议,用于上传、下载23Telnet用于远程登录,通过连接目标计算机的这一端口,得到验证后用于远程登录,通过连接目标计算机的这一端口,得到验证后可以远程控制管理目标计算机可以远程控制管理目标计算机25SMTP简
16、单邮件传输协议,用于发送邮件简单邮件传输协议,用于发送邮件53DNS域名服务,当用户输入网站的名称后,由域名服务,当用户输入网站的名称后,由DNS负责将它解析成负责将它解析成IP地址,这个过程中用到的端口号是地址,这个过程中用到的端口号是5380HTTP超文本传输协议,通过超文本传输协议,通过HTTP实现网络上超文本的传输实现网络上超文本的传输Page 22/33 1999,Cisco Systems,IICND8-23Page 23/33UDPUDP的封装格式的封装格式的封装格式的封装格式16位源端口号位源端口号16位目标端口号位目标端口号16位位UDP长度长度16位位UDP校验和校验和数据
17、数据发送端的发送端的UDP进程端进程端口号口号接收端的接收端的UDP进程端进程端口号口号包含数据的长度,可包含数据的长度,可以算出数据的结束位以算出数据的结束位置置UDP的差错控制的差错控制(可选)(可选)0151631没有顺序号和确认号没有顺序号和确认号 1999,Cisco Systems,IICND8-24Page 24/33UDPUDP的使用的使用的使用的使用端口端口协议协议说明说明69TFTP简单文件传输协议简单文件传输协议53DNS域名服务域名服务123NTP网络时间协议网络时间协议111RPC远程过程调用远程过程调用DNS服务器支持服务器支持TCP和和UDP两种协议的查询方式,而
18、且端口都是两种协议的查询方式,而且端口都是53。大多数的查询都是。大多数的查询都是UDP查询的,一般需要查询的,一般需要TCP查询的有两种查询的有两种情况:情况:当查询数据较大以至于产生了数据分段,这时,需要利用当查询数据较大以至于产生了数据分段,这时,需要利用TCP的分片能力来进行数据传输。的分片能力来进行数据传输。当主(当主(master)服务器和辅()服务器和辅(slave)服务器之间数据同步通信)服务器之间数据同步通信的时候。的时候。1999,Cisco Systems,IICND8-25Internet Internet 层概述层概述层概述层概述OSI 网络层对应的是网络层对应的是T
19、CP/IP的的internet层层Internet Protocol(IP)Internet Control MessageProtocol(ICMP)Address ResolutionProtocol(ARP)Reverse AddressResolution Protocol(RARP)应用层应用层主机到主机层主机到主机层Internet层层网络接入层网络接入层 1999,Cisco Systems,IICND8-26Page 26/46IPIP包头的格式包头的格式包头的格式包头的格式版本版本(4)首部长度首部长度(4)优先级与服务类型优先级与服务类型(8)总长度(总长度(16)标识符(
20、标识符(16)标志标志(3)段偏移量(段偏移量(13)TTL(8)协议号(协议号(8)首部校验和(首部校验和(16)源地址(源地址(32)目标地址(目标地址(32)可选项可选项数据数据20字字节节版本字段,版本字段,IP v4优先级与服务类优先级与服务类型,提供型,提供3层的层的QoSIP包头部长度,包头部长度,因为长度可变,因为长度可变,因此需要定义因此需要定义IP数据总长度数据总长度上层来的数据到上层来的数据到IP层会被分段,这几层会被分段,这几个字段用来对数据包进行标识,使在个字段用来对数据包进行标识,使在数据到达目的端重组的时候,不会乱数据到达目的端重组的时候,不会乱序序生命周期字段,
21、经过一个生命周期字段,经过一个路由器值减路由器值减1,为,为0时,数时,数据包丢弃。为了防止一个据包丢弃。为了防止一个数据包在网络中无限的循数据包在网络中无限的循环下去。环下去。协议字段,用来标识封协议字段,用来标识封装的上层数据是装的上层数据是UDP还还是是TCP,UDP是是17,TCP是是6 1999,Cisco Systems,IICND8-27决定上层协议决定上层协议协议域协议域协议域协议域TransportLayerInternetLayerTCPUDPProtocolNumbersIP176 1999,Cisco Systems,IICND8-28ICMPICMP协议协议协议协议A
22、pplicationTransportInternetNetwork AccessDestination UnreachableEcho(Ping)OtherICMP1 1999,Cisco Systems,IICND8-29ARPARP协议协议协议协议172.16.3.1172.16.3.2IP:172.16.3.2=?我需要知道我需要知道176.16.3.2的物理的物理地址地址.1999,Cisco Systems,IICND8-30ARPARP协议协议协议协议172.16.3.1172.16.3.2IP:172.16.3.2=?我知道你的请求,这是我我知道你的请求,这是我的物理地址的物理
23、地址我需要知道我需要知道176.16.3.2的物理的物理地址地址.1999,Cisco Systems,IICND8-31ARPARP协议协议协议协议172.16.3.1IP:172.16.3.2 Ethernet:0800.0020.1111 172.16.3.2IP:172.16.3.2=?我知道你的请求,这是我我知道你的请求,这是我的物理地址的物理地址我需要知道我需要知道176.16.3.2的物理的物理地址地址.1999,Cisco Systems,IICND8-32ARPARP协议协议协议协议映射映射 IP EthernetLocal ARP172.16.3.1IP:172.16.3.
24、2 Ethernet:0800.0020.1111 172.16.3.2IP:172.16.3.2=?我知道你的请求,这是我我知道你的请求,这是我的物理地址的物理地址我需要知道我需要知道176.16.3.2的物理的物理地址地址.1999,Cisco Systems,IICND8-33RARPRARP协议协议协议协议Ethernet:0800.0020.1111 IP=?我的地址我的地址是多少?是多少?1999,Cisco Systems,IICND8-34RARPRARP协议协议协议协议Ethernet:0800.0020.1111 IP=?我的地址我的地址是多少?是多少?我听到了广播我听到了
25、广播你的地址是你的地址是 172.16.3.25.1999,Cisco Systems,IICND8-35RARPRARP协议协议协议协议Ethernet:0800.0020.1111IP:172.16.3.25Ethernet:0800.0020.1111 IP=?我的地址我的地址是多少?是多少?我听到了广播我听到了广播你的地址是你的地址是 172.16.3.25.1999,Cisco Systems,IICND8-36RARPRARP协议协议协议协议映射映射 Ethernet IPEthernet:0800.0020.1111IP:172.16.3.25Ethernet:0800.0020
26、.1111 IP=?我的地址我的地址是多少?是多少?我听到了广播我听到了广播你的地址是你的地址是 172.16.3.25.1999,Cisco Systems,IICND8-37本章总结本章总结本章总结本章总结通过本章的学习,您应该掌握以下内容通过本章的学习,您应该掌握以下内容:掌握掌握TCP/IP分层模型分层模型掌握三次握手过程掌握三次握手过程理解理解OSI和和TCP/IP模型的区别和联系模型的区别和联系 1999,Cisco Systems,IICND8-38问题回顾问题回顾问题回顾问题回顾1.1.OSIOSI和和TCP/IPTCP/IP层次模型的区别层次模型的区别2.2.TCP/IPTC
27、P/IP的优点的优点3.3.ARPARP和和RARPRARP各用在什么场合各用在什么场合 1999,Cisco Systems,IICND8-39Page Page 3939/51/51路由器路由器路由器路由器转发转发数据包数据包数据包数据包时时的封装的封装的封装的封装过过程程程程Host AHost BABe0e1e0e1192.168.1.2/2400-11-12-21-11-11192.168.1.1/2400-11-12-21-22-2210.1.1.1/800-11-12-21-33-3310.1.1.2/800-11-12-21-44-44192.168.2.1/2400-11-12-21-55-55192.168.2.2/2400-11-12-21-66-6600-11-12-21-22-2200-11-12-21-11-11SA:192.168.1.2/24DA:192.168.2.2/2400-11-12-21-55-5500-11-12-21-66-66SA:192.168.1.2/24DA:192.168.2.2/2400-11-12-21-33-3300-11-12-21-44-44SA:192.168.1.2/24DA:192.168.2.2/24