好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

cisco深入理解TCPIP.ppt

67页
  • 卖家[上传人]:鲁**
  • 文档编号:586053953
  • 上传时间:2024-09-03
  • 文档格式:PPT
  • 文档大小:3.05MB
  • / 67 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • © 2002, Cisco Systems, Inc. All rights reserved.1第十一章第十一章 传输层和应用层传输层和应用层 •早期的协议族早期的协议族•全球范围全球范围11.1 TCP/IP11.1 TCP/IP介绍介绍主机主机InternetTCP/IP主机主机 •TCP/IP 的起源可以追溯到由美国国防部的起源可以追溯到由美国国防部 (DoD) 高级研究计划局高级研究计划局 (DARPA) 在二十世在二十世纪六十年代后期和七十年代早期进行的研纪六十年代后期和七十年代早期进行的研究•1970 年,年,ARPANET 主机开始使用网络主机开始使用网络控制协议控制协议 (NCP),这就是后来的传输控制,这就是后来的传输控制协议协议 (TCP) 的雏形一、TCP/IP协议族历史 • 1972 年,年,Telnet 协议推出协议推出Telnet 用于用于终端仿真以连接相异的系统在二十世终端仿真以连接相异的系统在二十世纪七十年代早期,这些系统使用不同类纪七十年代早期,这些系统使用不同类型的主机型的主机• 1973 年,文件传输协议年,文件传输协议 (FTP) 推出 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.18)•1995 年,年,Internet 服务提供商服务提供商 (ISP) 开始向企开始向企业和个人提供业和个人提供 Internet 接入•1996 年,超文本传送协议年,超文本传送协议 (HTTP) 推出。

      万维推出万维网使用网使用 HTTP•1996 年,第一套年,第一套 IP 版本版本 6 (IPv6) 标准发布标准发布 二、二、TCP/IP TCP/IP 模型与模型与ISO/OSIISO/OSI模型比较模型比较5432543211应用层应用层表达层表达层会话层会话层传输层传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层传输层传输层Internet层层网络访问控制层网络访问控制层TCP/IP模型ISO/OSI模型 三、传输层概述三、传输层概述Transmission ControlProtocol (TCP)User Datagram Protocol (UDP)应用层应用层传输层传输层Internet层层数据链路层数据链路层物理层物理层面向连接面向连接非面向连接非面向连接 TCP/IP的传输层•TCP/IP在传输层的协议在传输层的协议有有TCP和和UDP两种两种•TCP::面向连接的、高可靠性、可重传、在目面向连接的、高可靠性、可重传、在目的地重组报文的地重组报文•UDP::无连接的、不可靠的、无确认机制、无无连接的、不可靠的、无确认机制、无流控、不重组、传输报文、不提供软件级检查流控、不重组、传输报文、不提供软件级检查•面向连接:在进行数据通讯前,先建立一个连面向连接:在进行数据通讯前,先建立一个连接,例:系统接,例:系统•无连接:称为分组交换方式,分组数据可能经无连接:称为分组交换方式,分组数据可能经由不同路径从源到目的,例:邮政系统由不同路径从源到目的,例:邮政系统 面向连接 传输层的必要性和功能•必要性必要性–网络层的分组传输是不可靠的。

      网络层的分组传输是不可靠的–无法了解数据到达终点的时间无法了解数据到达终点的时间–无法了解数据未达终点的状态无法了解数据未达终点的状态–有必要增强网络层提供服务的服务质量有必要增强网络层提供服务的服务质量•功能功能–为应用进程提供端到端的连接服务为应用进程提供端到端的连接服务•建立连接建立连接•数据传输数据传输•释放连接释放连接–流量控制和差错控制流量控制和差错控制 11.1.2 会话的建立 释放连接•两种释放连接的方法两种释放连接的方法–非对称式:发送释放请求后单方面地终止连接,非对称式:发送释放请求后单方面地终止连接,存在丢失数据的危险;存在丢失数据的危险;–对称式:各自独立地发出释放连接请求,收到对称式:各自独立地发出释放连接请求,收到对方的释放确认后才可以释放连接对方的释放确认后才可以释放连接•但是在实际的通信过程中,使用三次握手但是在实际的通信过程中,使用三次握手 + 定时器的方法释放连接在绝大多数情况下定时器的方法释放连接在绝大多数情况下是成功的是成功的 11.1.3解决连接问题的方法•三次握手方案三次握手方案(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)接收接收 SYNHost AHost BTCP TCP 三次握手三次握手1 发送发送 SYN (seq=100 ctl=SYN)接收接收 SYN发送发送 SYN, ACK (seq=300 ack=101 ctl=syn,ack)Host AHost B接收接收 SYN12TCP TCP 三次握手三次握手 发送发送 SYN (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 三次握手三次握手 发送发送 SYN (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 三次握手三次握手 DoS(拒绝服务攻击) DoS-Denial of service,利用三次握手的攻击。

      过程:当客户端要与服务器进行连接前,要进行三次握手首先客户端先发出请求,服务端回复请求,攻击就在这个时候产生的,客户端不做第三次握手,而是重新建立一个连接请求,服务器端一直保持这个回话,等待客户端的连接这样客户端大量建立没有第三次握手的连接,导致服务器系统资源占用过高,Down机 11.2流量控制由于计算机的处理速度不同,在传输过程中传输层调整传输速度 流量控制和缓存•流量控制流量控制(Flow Control )::传输层利用传输层利用可变滑动可变滑动窗口协议窗口协议来实现流控所谓可变滑动窗口协议,是来实现流控所谓可变滑动窗口协议,是指发送方的发送窗口大小是由接收方根据自己的实指发送方的发送窗口大小是由接收方根据自己的实际缓存情况给出的为了避免控制际缓存情况给出的为了避免控制TPDU丢失导致丢失导致死锁,主机应该周期性的发送死锁,主机应该周期性的发送TPDU•缓存缓存(Buffering)::由于网络层服务是不可靠的,由于网络层服务是不可靠的,传输层实体必须缓存所有连接发出的传输层实体必须缓存所有连接发出的TPDU,而且,而且为每个连接单独做缓存,便于重传接收方的传输为每个连接单独做缓存,便于重传。

      接收方的传输层实体既可以做也可以不做缓存层实体既可以做也可以不做缓存 窗口窗口窗口大小决定在收到确认信息前一次传输的最大数据量滑动窗口滑动窗口—TCP使用“期望确认”,就是指确认号是下一个所希望得到的段滑动窗口中的“滑动”,指在TCP的会话期间会对窗口的大小动态地协商 TCP TCP 简单确认简单确认•滑动窗口 = 1发送方发送方 接收方接收方 TCP TCP 简单确认简单确认•滑动窗口 = 1发送方发送方 接收方接收方发送发送 1接收接收 1 TCP TCP 简单确认简单确认•滑动窗口 = 1发送方发送方 接收方接收方发送发送 1接收接收 1接收接收 ACK 2 发送发送 ACK 2 TCP TCP 简单确认简单确认•滑动窗口 = 1发送方发送方 接收方接收方发送发送 1接收接收 1接收接收 ACK 2发送发送 ACK 2发送发送 2接收接收 2 TCP TCP 简单确认简单确认•滑动窗口 = 1发送方发送方 接收方接收方发送发送 1接收接收 1接收接收 ACK 2发送发送 ACK 2发送发送 2接收接收 2接收接收 ACK 3发送发送 ACK 3 TCP TCP 简单确认简单确认•滑动窗口 = 1发送方发送方 接收方接收方发送发送 1接收接收 1接收接收 ACK 2发送发送 ACK 2发送发送 2接收接收 2接收接收 ACK 3发送发送 ACK 3发送发送 3接收接收 3 •滑动窗口 = 1发送方发送方 接收方接收方发送发送 1接收接收 1接收接收 ACK 2发送发送 ACK 2发送发送 2接收接收 2接收接收 ACK 3发送发送 ACK 3发送发送 3接收接收 3接收接收 ACK 4发送发送 ACK 4TCP TCP 简单确认简单确认 11.2.1 TCP 11.2.1 TCP 顺序号和确认号顺序号和确认号源端口源端口目标端口目标端口…顺序号顺序号#确认号确认号#Source Dest. Seq.Ack.102823101我发送我发送 #10. TCP 顺序号和确认号我已收到我已收到 #10,现在我需要现在我需要 #11.源端口源端口目标端口目标端口…顺序号顺序号#确认号确认号#102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ack.我发送我发送 #10. TCP TCP 顺序号和确认号顺序号和确认号源端口源端口目标端口目标端口…顺序号顺序号#确认号确认号#102823Source Dest.1111Seq.2Ack.102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ack.我已收到我已收到 #10,现在我需要现在我需要 #11.我发送我发送 #10. TCP TCP 顺序号和确认号顺序号和确认号源端口源端口目标端口目标端口…顺序号顺序号#确认号确认号#102823Source Dest.1111Seq.2Ack.102823Source Dest.1010Seq.1Ack.102823Source Dest.1111Seq.1Ack.102823Source Dest.1212Seq.2Ack.我已收到我已收到 #11,现在我需要现在我需要 #12.我发送我发送 #11 TCP TCP 窗窗 口口发送方发送方接收方接收方 TCP TCP 窗窗 口口Window size = 3Send 2发送方发送方接收方接收方Window size = 3Send 1Window size = 3Send 3 Window size = 3Send 2TCP TCP 窗窗 口口发送方发送方Window size = 3Send 1Window size = 3Send 3ACK 3Window size = 2数据数据 3 被丢弃被丢弃接收方接收方 Window size = 3Send 2TCP TCP 窗窗 口口发送方发送方Window size = 3Send 1Window size = 3Send 3ACK 3Window size = 2数据数据 3 被丢弃被丢弃Window size = 3Send 4Window size = 3Send 3接收方接收方 Window size = 3Send 2TCP TCP 窗窗 口口发送方发送方Window size = 3Send 1Window size = 3Send 3ACK 3Window size = 2数据数据 3 被丢弃被丢弃Window size = 3Send 4Window size = 3Send 3ACK 5Window size = 2接收方接收方 窗口 滑动窗口 11.2.2 TCP 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 0Bit 15Bit 16Bit 31 •没有顺序号和确认号没有顺序号和确认号11.2.3 UDP 11.2.3 UDP 数据格式数据格式Source port (16)Destination port (16)Length (16)Data (if any)1Bit 0Bit 15Bit 16Bit 31Checksum (16) TCP和UDP的数据格式比较TCP是面向连接可靠的所以数据会比UDP要大,UDP比较小所以用于传送视频流比较好 TCP和UDP的比较•TCP在端用户的应用之间提供了一条虚电路。

      在端用户的应用之间提供了一条虚电路•TCP具有如下的特点:具有如下的特点:–面向连接面向连接–可靠的可靠的–可将发出的报文可将发出的报文(message)分成段分成段(segment)–在目的节点重组在目的节点重组(reassemble)报文报文(message)–若没有收到则重传若没有收到则重传(re-send)–由接收到的分段由接收到的分段(segment)重组成报文重组成报文(message) 11.2.4 端口号端口号的范围:0~255 公共应用255~1023 商业公司1024~65535 没有限制 端口号端口号TCP端口号端口号FTP传输层传输层TELNETDNSSNMPTFTPSMTPUDP应用层应用层2123255369161RIP52080HTTP TCP TCP 端口号端口号源端口源端口目标端口目标端口…Host A102823…SPDPHost ZTelnet Z目标端口目标端口 = 23. 11.3 TCP/IP11.3 TCP/IP应用层概述应用层概述* 路由器使用路由器使用应用层应用层传输层传输层Internet层层数据链路层数据链路层物理层物理层文件传输文件传输- TFTP *- FTP *- NFSE-Mail- SMTP远程登陆远程登陆- Telnet *- rlogin *网络管理网络管理- SNMP *名称管理名称管理- DNS* TCP/IP应用层简述•1、DNS•2、FTP•3、HTTP•4、SMTP•5、SNMP•6、Telnet 域名系统DNS•域名系统主要用于将便于人们记忆的主机域名域名系统主要用于将便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的和电子邮件地址映射为计算机易于识别的IP地地址。

      址•在在ARPANET中,只存在简单的文件中,只存在简单的文件hosts.txt,,罗列出所有的主机域名和它们罗列出所有的主机域名和它们的的 IP地址每天晚上,所有的主机将这个文件从维护主机中天晚上,所有的主机将这个文件从维护主机中读走在小型网络中,这个方法是可行的在小型网络中,这个方法是可行的•如果网络中连接了成百上千的主机,这个文件如果网络中连接了成百上千的主机,这个文件就太大了为了解决这个问题,就发明了域名就太大了为了解决这个问题,就发明了域名系统系统DNS(Domain Name System) 域名系统DNS•域名系统域名系统DNS的核心是分级的、基于域的命名的核心是分级的、基于域的命名机制以及为了实行这个命名机制的分布式数据机制以及为了实行这个命名机制的分布式数据库系统•DNS定义在定义在 RFC 1034和和 RFC 1035中•域名域名和和IP地址之间是多对一的关系地址之间是多对一的关系 tsinghuapkucnedujpcomorg...ukca...ROOTROOTeducomorg...mitcmu...zjueeemcs...mailwwwwwwcsftp顶层顶层顶层顶层第二层第二层第二层第二层第三层第三层第三层第三层第四层第四层第四层第四层第五层第五层第五层第五层DNS的树状结构图 DNS•us – United States •uk – United Kingdom •cn – China–.edu – educational sites–.com – commercial sites –.gov – government sites –.org – non-profit sites–.net – network service 文件传输FTP•文件传输的概念有两个层次:文件传输的概念有两个层次:–本地操作:硬盘和软盘之间的文件传输。

      本地操作:硬盘和软盘之间的文件传输–远程操作:本地主机和远程主机之间的文件传输远程操作:本地主机和远程主机之间的文件传输•文件传输文件传输 协议协议File Transfer Protocol (FTP)是是用来在计算机之间上载用来在计算机之间上载((Upload))和下载和下载((Download))文件,该协议的主要功能是完文件,该协议的主要功能是完成从一个系统到另一个系统的文件复制成从一个系统到另一个系统的文件复制•FTP工作在客户工作在客户/服务器模式中只有运行了服务器模式中只有运行了FTP服务程序的计算机才支持服务程序的计算机才支持FTP服务,成为服务,成为FTP服务器 WWW•WWW(World-Wide Web)通过超文本向用户提供通过超文本向用户提供全方位的多媒体信息,从而为全世界的全方位的多媒体信息,从而为全世界的Internet用户提供了一种获取信息、共享资源的全新途径用户提供了一种获取信息、共享资源的全新途径•WWW系统是基于服务器系统是基于服务器/客户模式的客户模式的•WWW是是Internet上分布式的信息资源,是置于上分布式的信息资源,是置于web服务器中的互连起来的超媒体资源,是客户服务器中的互连起来的超媒体资源,是客户端程序可以浏览和检索的端程序可以浏览和检索的WWW文档。

      文档•客户端和服务器之间的传输协议为超文本客户端和服务器之间的传输协议为超文本传输传输协协议议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的方式–目前目前,,WWW服务器以每年服务器以每年2000%在激增 WWW的工作原理•启动启动WWW客户程序客户程序(浏览器浏览器),输入希望查看的,输入希望查看的主页地址主页地址(唯一资源定位器唯一资源定位器URL)。

      •浏览器分析浏览器分析URL,,找到信息资源所在的主机找到信息资源所在的主机(Web服务器服务器),与该主机建立,与该主机建立TCP连接连接(端口号端口号80)并向该主机发出请求,要求获得某个网页内容向该主机发出请求,要求获得某个网页内容•服务器通过服务器通过TCP连接传送所需网页内容后,撤消连接传送所需网页内容后,撤消TCP连接•客户端的浏览器在本机显示所得网页内容客户端的浏览器在本机显示所得网页内容•如此循环往复如此循环往复 URL 网 站•WWW服务器就是我们常说的网站服务器就是我们常说的网站 (Web Site)–站点就是作者希望其他人能够看到的一些信息,这些站点就是作者希望其他人能够看到的一些信息,这些信息表现为一台主机信息表现为一台主机(服务器服务器)上的一些文件上的一些文件–网站地址一般用域名表示网站地址一般用域名表示•–网页网页(Webpage)就是组成站点的就是组成站点的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地址•建立连接:源邮件主机向目的邮件主机建立连接:源邮件主机向目的邮件主机TCP端口端口25请求建链,请求建链,TCP握手成功,目的邮件主机回送确认握手成功,目的邮件主机回送确认(220)•传输邮件:完成邮件的传送传输邮件:完成邮件的传送•拆除连接:源邮件主机请求断链,目的邮件主机回送确认拆除连接:源邮件主机请求断链,目的邮件主机回送确认(221) 邮局协议3•由于用户在大多数情况下不能工作在发送和接收由于用户在大多数情况下不能工作在发送和接收电子邮件的主机电子邮件的主机(mail server)上,所以需要一种上,所以需要一种从远程邮箱中读取电子邮件的简单协议邮局协议从远程邮箱中读取电子邮件的简单协议邮局协议3 POP3((Post Office Protocol 3))的支持。

      的支持•POP3支持用户登录、读取信息、删除信息和退出支持用户登录、读取信息、删除信息和退出功能功能POP3从远程邮箱中读取电子邮件并将其保从远程邮箱中读取电子邮件并将其保存在用户的本地主机上存在用户的本地主机上 SNMP包含三个组件包含三个组件:§被管理设备被管理设备-----指包含指包含SNMP代理的网络节点,代理的网络节点, 即网络基本设备,路由器、交即网络基本设备,路由器、交 换机、访问服务器、换机、访问服务器、hub、、计算计算 机或打印机机或打印机§代理代理--------------存在于被管理设备上的网存在于被管理设备上的网络管络管 理软件模块理软件模块Agent)§网络管理系统网络管理系统------监测和控制被管理设备的监测和控制被管理设备的执执 行应用软件行应用软件NMS) 远程登录TELNET•远程登录远程登录 TELNET的的目的是让用户从本地计算机目的是让用户从本地计算机登录进入远程计算机,使用远程计算机的资源登录进入远程计算机,使用远程计算机的资源。

      TELNET的标准的标准是是RFC854,,采用客户采用客户/服务器模服务器模式•在用户需要登录的远程系统上必须运行在用户需要登录的远程系统上必须运行Telnet服服务程序,在用户的本地机上需要安装务程序,在用户的本地机上需要安装Telnet客户客户程序客户机只有拥有了远程计算机的用户名和程序客户机只有拥有了远程计算机的用户名和口令才可以对远程计算机进行登录访问,即只有口令才可以对远程计算机进行登录访问,即只有非匿名登录非匿名登录 TELNET的工作原理•远程登录时,用户是通过本地计算机的终远程登录时,用户是通过本地计算机的终端或者键盘将命令输入到客户程序中,客端或者键盘将命令输入到客户程序中,客户程序会通过户程序会通过TCP连接(端口号为连接(端口号为23)将)将命令发送到远程计算机中,由服务程序进命令发送到远程计算机中,由服务程序进行接收•服务程序按照命令自动执行处理,并将结服务程序按照命令自动执行处理,并将结果通过果通过TCP连接返回到客户机,由客户程连接返回到客户机,由客户程序接收并显示在屏幕上序接收并显示在屏幕上 总结•TCP/IP协议族历史;•传输层协议:TCP、UDP•三次握手,滑动窗口协议,数据报格式,端口号等•应用层协议:DNS、FTP、 URL 、SNMP、SMTP、POP3、TELNET 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.