《cisco深入理解TCPIP.ppt》由会员分享,可在线阅读,更多相关《cisco深入理解TCPIP.ppt(67页珍藏版)》请在三一办公上搜索。
1、 2002,Cisco Systems,Inc.All rights reserved.,1,第十一章 传输层和应用层,早期的协议族全球范围,11.1 TCP/IP介绍,TCP/IP 的起源可以追溯到由美国国防部(DoD)高级研究计划局(DARPA)在二十世纪六十年代后期和七十年代早期进行的研究。1970 年,ARPANET 主机开始使用网络控制协议(NCP),这就是后来的传输控制协议(TCP)的雏形。,一、TCP/IP协议族历史,1972 年,Telnet 协议推出。Telnet 用于终端仿真以连接相异的系统。在二十世纪七十年代早期,这些系统使用不同类型的主机。1973 年,文件传输协议(F
2、TP)推出。FTP 用于在相异的系统之间交换文件。1974 年,传输控制协议(TCP)被详细规定下来。TCP 取代 NCP,它为人们提供了更可靠的通信服务。,1981 年,Internet 协议(IP)(又称 IP 版本 4 IPv4)被详细规定下来。IP 为端到端传递提供寻址和路由功能。1982 年,国防通信署(DCA)和 ARPA 建立了传输控制协议(TCP)和 Internet 协议(IP)作为 TCP/IP 协议套件。1983 年,ARPANET 将 NCP 替换为 TCP/IP。,1984 年,域名系统(DNS)推出。DNS 可将域名(如)解析为 IP 地址(如 192.168.5.
3、18)。1995 年,Internet 服务提供商(ISP)开始向企业和个人提供 Internet 接入。1996 年,超文本传送协议(HTTP)推出。万维网使用 HTTP。1996 年,第一套 IP 版本 6(IPv6)标准发布。,二、TCP/IP 模型与ISO/OSI模型比较,5,4,3,2,5,4,3,2,1,1,三、传输层概述,TCP/IP的传输层,TCP/IP在传输层的协议有TCP和UDP两种TCP:面向连接的、高可靠性、可重传、在目的地重组报文UDP:无连接的、不可靠的、无确认机制、无流控、不重组、传输报文、不提供软件级检查面向连接:在进行数据通讯前,先建立一个连接,例:电话系统无
4、连接:称为分组交换方式,分组数据可能经由不同路径从源到目的,例:邮政系统,面向连接,传输层的必要性和功能,必要性网络层的分组传输是不可靠的。无法了解数据到达终点的时间无法了解数据未达终点的状态。有必要增强网络层提供服务的服务质量。功能为应用进程提供端到端的连接服务。建立连接数据传输释放连接流量控制和差错控制,11.1.2 会话的建立,释放连接,两种释放连接的方法非对称式:发送释放请求后单方面地终止连接,存在丢失数据的危险;对称式:各自独立地发出释放连接请求,收到对方的释放确认后才可以释放连接。但是在实际的通信过程中,使用三次握手+定时器的方法释放连接在绝大多数情况下是成功的。,11.1.3解决
5、连接问题的方法,三次握手方案(three-way handshake)A 发出序号为X的建链请求CR TPDU;B 发出序号为Y的接受建链CC TPDU,并确认A的序号为X的建链请求;A 发出序号为X+1的第一个连接建立成功,并确认B的序号为Y+1的接受建链。三次握手方案解决了由于网络层会丢失、存储和重复包带来的问题。对于重复的连接请求CR对于重复的连接请求CR和重复的确认ACK,三次握手方案,TCP属于面向连接,所以在进行数据通讯前先要建立会话,并且同步数据包编号,发送 SYN(seq=100 ctl=SYN),接收 SYN,Host A,Host B,TCP 三次握手,发送 SYN(seq
6、=100 ctl=SYN),接收 SYN,发送 SYN,ACK(seq=300 ack=101 ctl=syn,ack),Host A,Host B,接收 SYN,TCP 三次握手,发送 SYN(seq=100 ctl=SYN),接收 SYN,发送 SYN,ACK(seq=300 ack=101 ctl=syn,ack),建立会话(seq=101 ack=301 ctl=ack),Host A,Host B,接收 SYN,TCP 三次握手,发送 SYN(seq=100 ctl=SYN),接收 SYN,发送 SYN,ACK(seq=300 ack=101 ctl=syn,ack),建立会话(se
7、q=101 ack=301 ctl=ack),Host A,Host B,接收 SYN,TCP 三次握手,DoS(拒绝服务攻击),DoS-Denial of service,利用三次握手的攻击。过程:当客户端要与服务器进行连接前,要进行三次握手。首先客户端先发出请求,服务端回复请求,攻击就在这个时候产生的,客,户端不做第三次握手,而是重新建立一个连接请求,服务器端一直保持这个回话,等待客户端的连接。这样客户端大量建立没有第三次握手的连接,导致服务器系统资源占用过高,Down机。,11.2流量控制,由于计算机的处理速度不同,在传输过程中传输层调整传输速度,流量控制和缓存,流量控制(Flow Co
8、ntrol):传输层利用可变滑动窗口协议来实现流控。所谓可变滑动窗口协议,是指发送方的发送窗口大小是由接收方根据自己的实际缓存情况给出的。为了避免控制TPDU丢失导致死锁,主机应该周期性的发送TPDU。缓存(Buffering):由于网络层服务是不可靠的,传输层实体必须缓存所有连接发出的TPDU,而且为每个连接单独做缓存,便于重传。接收方的传输层实体既可以做也可以不做缓存。,窗口,窗口大小决定在收到确认信息前一次传输的最大数据量滑动窗口TCP使用“期望确认”,就是指确认号是下一个所希望得到的段。滑动窗口中的“滑动”,指在TCP的会话期间会对窗口的大小动态地协商,TCP 简单确认,滑动窗口=1,
9、发送方,接收方,TCP 简单确认,滑动窗口=1,发送方,接收方,发送 1,接收 1,TCP 简单确认,滑动窗口=1,发送方,接收方,发送 1,接收 1,接收 ACK 2,发送 ACK 2,TCP 简单确认,滑动窗口=1,发送方,接收方,发送 1,接收 1,接收 ACK 2,发送 ACK 2,发送 2,接收 2,TCP 简单确认,滑动窗口=1,发送方,接收方,发送 1,接收 1,接收 ACK 2,发送 ACK 2,发送 2,接收 2,接收 ACK 3,发送 ACK 3,TCP 简单确认,滑动窗口=1,发送方,接收方,发送 1,接收 1,接收 ACK 2,发送 ACK 2,发送 2,接收 2,接收
10、 ACK 3,发送 ACK 3,发送 3,接收 3,滑动窗口=1,发送方,接收方,发送 1,接收 1,接收 ACK 2,发送 ACK 2,发送 2,接收 2,接收 ACK 3,发送 ACK 3,发送 3,接收 3,接收 ACK 4,发送 ACK 4,TCP 简单确认,11.2.1 TCP 顺序号和确认号,源端口,目标端口,顺序号#,确认号#,Source,Dest.,Seq.,Ack.,1028,23,10,1,我发送#10.,TCP 顺序号和确认号,我已收到#10,现在我需要#11.,源端口,目标端口,顺序号#,确认号#,1028,23,Source,Dest.,10,Seq.,1,Ack.
11、,1028,23,Source,Dest.,11,Seq.,1,Ack.,我发送#10.,TCP 顺序号和确认号,源端口,目标端口,顺序号#,确认号#,1028,23,Source,Dest.,11,Seq.,2,Ack.,1028,23,Source,Dest.,10,Seq.,1,Ack.,1028,23,Source,Dest.,11,Seq.,1,Ack.,我已收到#10,现在我需要#11.,我发送#10.,TCP 顺序号和确认号,源端口,目标端口,顺序号#,确认号#,1028,23,Source,Dest.,11,Seq.,2,Ack.,1028,23,Source,Dest.,10
12、,Seq.,1,Ack.,1028,23,Source,Dest.,11,Seq.,1,Ack.,1028,23,Source,Dest.,12,Seq.,2,Ack.,我已收到#11,现在我需要#12.,我发送#11,TCP 窗 口,发送方,接收方,TCP 窗 口,Window size=3Send 2,发送方,接收方,Window size=3Send 1,Window size=3Send 3,Window size=3Send 2,TCP 窗 口,发送方,Window size=3Send 1,Window size=3Send 3,ACK 3Window size=2,数据 3 被丢
13、弃,接收方,Window size=3Send 2,TCP 窗 口,发送方,Window size=3Send 1,Window size=3Send 3,ACK 3Window size=2,数据 3 被丢弃,Window size=3Send 4,Window size=3Send 3,接收方,Window size=3Send 2,TCP 窗 口,发送方,Window size=3Send 1,Window size=3Send 3,ACK 3Window size=2,数据 3 被丢弃,Window size=3Send 4,Window size=3Send 3,ACK 5Windo
14、w size=2,接收方,窗口,滑动窗口,11.2.2 TCP 数据格式,Source port(16),Destination port(16),Sequence number(32),Headerlength(4),Acknowledgement number(32),Reserved(6),Code bits(6),Window(16),Checksum(16),Urgent(16),Options(0 or 32 if any),Data(varies),Bit 0,Bit 15,Bit 16,Bit 31,没有顺序号和确认号,11.2.3 UDP 数据格式,Source port(1
15、6),Destination port(16),Length(16),Data(if any),1,Bit 0,Bit 15,Bit 16,Bit 31,Checksum(16),TCP和UDP的数据格式比较,TCP是面向连接可靠的所以数据会比UDP要大,UDP比较小所以用于传送视频流比较好,TCP和UDP的比较,TCP在端用户的应用之间提供了一条虚电路。TCP具有如下的特点:面向连接可靠的可将发出的报文(message)分成段(segment)在目的节点重组(reassemble)报文(message)若没有收到则重传(re-send)由接收到的分段(segment)重组成报文(messag
16、e),11.2.4 端口号,端口号的范围:0255 公共应用2551023 商业公司102465535 没有限制,端口号,TCP,端口号,FTP,传输层,TELNET,DNS,SNMP,TFTP,SMTP,UDP,应用层,21,23,25,53,69,161,RIP,520,80,HTTP,TCP 端口号,源端口,目标端口,Host A,1028,23,SP,DP,Host Z,Telnet Z,目标端口=23.,11.3 TCP/IP应用层概述,*路由器使用,应用层,传输层,Internet层,数据链路层,物理层,文件传输-TFTP*-FTP*-NFSE-Mail-SMTP远程登陆-Teln
17、et*-rlogin*网络管理-SNMP*名称管理-DNS*,TCP/IP应用层简述,1、DNS2、FTP3、HTTP4、SMTP5、SNMP6、Telnet,域名系统DNS,域名系统主要用于将便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。在ARPANET中,只存在简单的文件hosts.txt,罗列出所有的主机域名和它们的 IP地址。每天晚上,所有的主机将这个文件从维护主机中读走。在小型网络中,这个方法是可行的。如果网络中连接了成百上千的主机,这个文件就太大了。为了解决这个问题,就发明了域名系统DNS(Domain Name System)。,域名系统DNS,域名系统DN
18、S的核心是分级的、基于域的命名机制以及为了实行这个命名机制的分布式数据库系统。DNS定义在 RFC 1034和 RFC 1035中。域名和IP地址之间是多对一的关系。,DNS的树状结构图,DNS,us United States uk United Kingdom cn China.edu educational commercial sites.gov government sites.org non-profit network service,文件传输FTP,文件传输的概念有两个层次:本地操作:硬盘和软盘之间的文件传输。远程操作:本地主机和远程主机之间的文件传输。文件传输 协议File
19、Transfer Protocol(FTP)是用来在计算机之间上载(Upload)和下载(Download)文件,该协议的主要功能是完成从一个系统到另一个系统的文件复制。FTP工作在客户/服务器模式中。只有运行了FTP服务程序的计算机才支持FTP服务,成为FTP服务器。,WWW,WWW(World-Wide Web)通过超文本向用户提供全方位的多媒体信息,从而为全世界的Internet用户提供了一种获取信息、共享资源的全新途径。WWW系统是基于服务器/客户模式的。WWW是Internet上分布式的信息资源,是置于web服务器中的互连起来的超媒体资源,是客户端程序可以浏览和检索的WWW文档。客户
20、端和服务器之间的传输协议为超文本传输协议HTTP(HyperText Transfer Protocol)。,Internet的平民化,最初的Internet是用于科研部门和大专院校的。1945年,Bush第一次提出了超文本的雏形。1989年,欧洲粒子物理实验室CERN的科学家Tim Berners-Lee首先提出了WWW的概念。1990年,第一个WWW应用软件问世,并在1992年正式发表。1993年CERN研制出第一个通用的WWW浏览器Mosaic,从此大量的非科研人员开始进入Internet。1994年,以WWW方式传送的数据首次超过FTP,成为最流行的访问Internet的方式。目前,W
21、WW服务器以每年2000%在激增。,WWW的工作原理,启动WWW客户程序(浏览器),输入希望查看的主页地址(唯一资源定位器URL)。浏览器分析URL,找到信息资源所在的主机(Web服务器),与该主机建立TCP连接(端口号80)。并向该主机发出请求,要求获得某个网页内容。服务器通过TCP连接传送所需网页内容后,撤消TCP连接。客户端的浏览器在本机显示所得网页内容。如此循环往复。,URL,网 站,WWW服务器就是我们常说的网站(Web Site)站点就是作者希望其他人能够看到的一些信息,这些信息表现为一台主机(服务器)上的一些文件。网站地址一般用域名表示。http:/网页(Webpage)就是组成
22、站点的HTML文件,即浏览者所见到的内容。网页是用超文本标识语言HTML(Hyperlink Text Makeup Language)编写的文件。主页(Homepage)是浏览者进入站点后见到的第一个网页,一般的默认值为:index.htm(l)、default.htm(l)。,电子邮件系统,简单邮件传输协议,简单邮件传输协议SMTP(Simple Mail Transfer Protocol)的协议标准为RFC821,占用的TCP端口号为25。SMTP在目的和源邮件主机(Mail Host)之间进行基于TCP连接的邮件传输。SMTP的实现过程为:寻址:向DNS发送请求,得到接收方的IP地址
23、。建立连接:源邮件主机向目的邮件主机TCP端口25请求建链,TCP握手成功,目的邮件主机回送确认(220)。传输邮件:完成邮件的传送。拆除连接:源邮件主机请求断链,目的邮件主机回送确认(221)。,邮局协议3,由于用户在大多数情况下不能工作在发送和接收电子邮件的主机(mail server)上,所以需要一种从远程邮箱中读取电子邮件的简单协议邮局协议3 POP3(Post Office Protocol 3)的支持。POP3支持用户登录、读取信息、删除信息和退出功能。POP3从远程邮箱中读取电子邮件并将其保存在用户的本地主机上。,SNMP,包含三个组件:被管理设备-指包含SNMP代理的网络节点,
24、即网络基本设备,路由器、交 换机、访问服务器、hub、计算 机或打印机。代理-存在于被管理设备上的网络管 理软件模块。(Agent)网络管理系统-监测和控制被管理设备的执 行应用软件。(NMS),远程登录TELNET,远程登录 TELNET的目的是让用户从本地计算机登录进入远程计算机,使用远程计算机的资源。TELNET的标准是RFC854,采用客户/服务器模式。在用户需要登录的远程系统上必须运行Telnet服务程序,在用户的本地机上需要安装Telnet客户程序。客户机只有拥有了远程计算机的用户名和口令才可以对远程计算机进行登录访问,即只有非匿名登录。,TELNET的工作原理,远程登录时,用户是通过本地计算机的终端或者键盘将命令输入到客户程序中,客户程序会通过TCP连接(端口号为23)将命令发送到远程计算机中,由服务程序进行接收。服务程序按照命令自动执行处理,并将结果通过TCP连接返回到客户机,由客户程序接收并显示在屏幕上。,总结,TCP/IP协议族历史;传输层协议:TCP、UDP三次握手,滑动窗口协议,数据报格式,端口号等应用层协议:DNS、FTP、URL、SNMP、SMTP、POP3、TELNET,