首页 TCPIP协议详解

TCPIP协议详解

举报
开通vip

TCPIP协议详解null第六章 TCP/IP协议第六章 TCP/IP协议学习目标学习目标了解什么是TCP/IP协议 TCP/IP协议体系结构 了解TCP/IP协议栈的相关协议学习完本课程,您应该能够:教学重难点教学重难点重点: TCP/IP协议体系结构 难点: TCP/IP协议栈的相关协议 课程内容课程内容 TCP/IP协议体系概述 TCP/IP的分层及基本工作原理 TCP/IP协议集的主要协议TCP/IP协议体系概述TCP/IP协议体系概述TCP/IP协议源于1969年,是针对Internet开发的一种体系结构和...

TCPIP协议详解
null第六章 TCP/IP 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 第六章 TCP/IP协议学习目标学习目标了解什么是TCP/IP协议 TCP/IP协议体系结构 了解TCP/IP协议栈的相关协议学习完本课程,您应该能够:教学重难点教学重难点重点: TCP/IP协议体系结构 难点: TCP/IP协议栈的相关协议 课程内容课程内容 TCP/IP协议体系概述 TCP/IP的分层及基本工作原理 TCP/IP协议集的主要协议TCP/IP协议体系概述TCP/IP协议体系概述TCP/IP协议源于1969年,是针对Internet开发的一种体系结构和协议 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,目的在于解决异种计算机网络的通信问题。使得网络在互联时能为用户提供一种通用、一致的通信服务。是Internet采用的协议标准。 TCP/IP是一组通信协议的代名词,是由一系列协议组成的协议簇。它本身指两个协议集: TCP(传输控制协议)。 IP(互联网络协议)。 TCP/IP协议体系概述TCP/IP协议体系概述TCP/IP协议的基本传输单位是数据包(Datagram)。 TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头,包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式。 IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方,如果传输过程中出现数据丢失、失真等情况,TCP协议会自动要求数据重传。TCP/IP协议体系概述TCP/IP协议体系概述InternetTCP/IP的分层及基本工作原理TCP/IP的分层及基本工作原理 TCP/IP协议族是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统。TCP/IP协议体系TCP/IP协议体系应用层(Application Layer): 包含各种网络应用协议。如HTTP、FTP、telnet、SMTP、DNS、SNMP等。 传输层(Transport Layer): 负责在源主机和目的主机的应用程序间建立、管理和拆除可靠而又有效的端到端连接 。主要有TCP和UDP两个传输协议。TCP/IP协议体系TCP/IP协议体系网络互联层(Internet Layer): 负责将分组独立地从信源传送到信宿,主要解决路由选择、拥塞控制和网络互联等问题。如最重要的协议——IP。 网络接口层(Network Access Layer): 负责将IP分组封装成适合在物理网络上传输的帧格式并传输;或将从物理网络接收到的帧解封,取出IP分组交给网络互联层。当前几乎所有的物理网络上都可运行TCP/IP协议。TCP/IP的分层及基本工作原理TCP/IP的分层及基本工作原理TCP/IP的分层及基本工作原理TCP/IP的分层及基本工作原理TCP/IP的分层及基本工作原理TCP/IP的分层及基本工作原理nullTCP/IP体系结构与协议栈之间关系TCP/IP与OSI的比较 TCP/IP与OSI的比较 应用层协议 TCP协议栈不仅包括第3层和第4层的规范(如IP和TCP),也包括一些普通应用 规范,即应用层规范,其中某些应用也能在网络设备如路由器和交换机上实现。TCP/IP协议栈应用层网络接口层网络层传输层 文件传输 —TFTP — FTP — NFS 电子邮件 —SMTP 远程登录 — Telnet — rlogin 网络管理 —SNMP 域名管理 — DNS 应用层协议应用层协议应用层协议1、Telnet: 它允许一个用户在一个远程的客户机上,访问另一台机器上的资源。应用层协议应用层协议2 、FTP: 文件传输协议实际上就是传输文件的协议,它可以应用在任意两个主机之间。应用层协议应用层协议3、TFTP: 简单文件传输协议是FTP的简化版本,只有在你确切地知道想到得到的文件名及他的准确位置时,才可有选择的使用TFTP。应用层协议应用层协议4、SNMP: 简单网络管理协议采集并使用一些有价值的网络信息。应用层协议应用层协议5、SMTP: 简单邮件传输协议,是对应于我们普遍使用的被称为E-mail的应用,他描述了邮件投递中的假脱机、排列及方法。应用层协议应用层协议6、DNS: 域名服务可以解析主机名,特别是Internet名。应用层协议应用层协议7、DHCP/BootP: 动态主机配置协议可以为主机分配IP地址。应用层协议应用层协议8、HTTP: 超文本WWW。应用层协议应用层协议9、HTTPS: 加密WEB通信。传输层协议传输层协议 传输层的服务允许用户按照传输层的数据格式分段及封装应用层送来的数据。这一层数据流提供了端到端的传输服务,它在发送主机与接收主机之间构建了一个逻辑连接 。它允许在Internet上两台主机之间信息的无差错传输。TCP还进行流量控制,以避免发送过快而发生拥塞。传输层协议传输层协议传输层包括两个协议: TCP协议: 即传输控制协议,是一个可靠的、面向连接的协议。 UDP协议: 采用无连接的方式,不管发送的数据包是否到达目的主机,数据包是否出错。收到数据包的主机也不会告诉发送方是否正确收到了数据,它的可靠性是由上层协议来保障的。 传输层协议 TCP协议栈不仅包括第3层和第4层的规范(如IP和TCP),也包括一些普通应用 规范,即应用层规范,其中某些应用也能在网络设备如路由器和交换机上实现。TCP/IP协议栈应用层网络接口层网络层传输层 文件传输 —TFTP — FTP — NFS 电子邮件 —SMTP 远程登录 — Telnet — rlogin 网络管理 —SNMP 域名管理 — DNS 传输层协议传输层协议传输层协议1、传输控制协议 TCP: TCP将数据分成数据报,用能够到达目的地的路径信息连行包装,接收端则将这些数据进行重组。它提供可靠的、面向连接的数据报传递服务。 TCP协议位于IP协议的上层,为数据提供错误校验,流量控制及序列信息用以补充IP协议的不足。 传输层协议传输层协议1、传输控制协议 TCP: TCP是面向连接的协议。所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。面向连接服务是在数据交换之前,必须先建立连接。当数据交换结束后,则应终止这个连接。 面向连接服务具有:连接建立、数据传输和连接释放这三个阶段。在传送数据时是按序传送的。TCP 数据格式TCP 数据格式源端口Source port (16)目标端口Destination port (16)序列号Sequence number (32)Header length (4)应答号Acknowledgement number (32)Reserved (6)Code bits (6)Window (16)Checksum (16)Urgent (16)可选项Options (0 or 32 if any)数据Data (varies)20 BytesBit 0Bit 15Bit 16Bit 31TCP数据封装示意图 TCP数据封装示意图 TCP协议工作机制(三次握手)TCP协议工作机制(三次握手)发送SYN信息(序号=x)接收SYN信息(序号=x)发送ACK 信息(确认号=y+1)主机A主机B接收SYN信息 (序号=y, 确认号=x+1)发送SYN信息(序号=y, 确认号=x+1)接收ACK 信息(确认号=y+1)null第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。 TCP 三次握手null发送 SYN (seq=100 ctl=SYN)接收 SYNHost AHost BTCP 三次握手null第二次握手: 服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。TCP 三次握手null发送 SYN (seq=100 ctl=SYN)接收 SYN发送 SYN+ACK (seq=300 ack=101 ctl=syn,ack)Host AHost B接收 SYNTCP 三次握手null第三次握手: 客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 TCP 三次握手null发送 SYN (seq=100 ctl=SYN)接收 SYN发送 SYN+ACK (seq=300 ack=101 ctl=syn,ack)建立会话 (seq=101 ack=301 ctl=ack)Host AHost B接收 SYNTCP 三次握手第一次“握手” 第一次“握手” 首先分析建立“握手”第一个过程包的结构,如图2-13所示。第二次“握手” 第二次“握手” SYN为1,开始建立请求连接,需要对方计算机确认,对方计算机确认返回的数据包。 第三次“握手” 第三次“握手” 对方计算机返回的数据包中ACK为1并且SYN为1,说明同意连接。 这个时候需要源计算机的确认就可以建立连接了。确认数据包的结构。 传输层协议传输层协议2、用户数据报协议UDP: UDP是无连接的服务。在无连接服务的情况下,两个实体之间的通信不需先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留。这些资源将在数据传输时动态地进行分配。无连接服务的另一特征就是它不需要通信的两个实体同时是活跃的(即处于激活态)。当发送端的实体正在进行发送时,它才必须是活跃的。优点是灵活方便和比较迅速,但不能防止报文的丢失、重复或失序,特别适合于传送少量零星的报文。UDP数据封装示意图: UDP数据封装示意图: 传输层协议UDP数据格式UDP数据格式没有顺序号和确认号源端口号Source port (16)目标端口号Destination port (16)Length (16)Data (if any)1Bit 0Bit 15Bit 16Bit 31Checksum (16)8 Bytes传输层协议网络层协议TCP/IP协议栈应用层网络接口层网络层传输层 IP ICMP ARP RARP — ICMP(Internet Control Message Protocol): 提供控制和传递消息的 功能(但通信时需用IP封装); — ARP(Address Resolution Protocol): 为已知的IP地址确定网络接口层的 MAC地址; — RARP(Reverse Address Resolution Protocol) :为已知的网络接口层MAC 地址确定对应的IP地址。 4个协议中仅IP具有全网的寻址能力,而ICMP、ARP和RARP均无全网的 寻址能力,ICMP需要在不同网络之间传递,因此必须用IP封装,ARP和 RARP只在一个网络的内部进行通信,不需要在网络之间寻址,所以无须 用IP封装。网络层协议网络层协议网络层协议1、网际协议(IP): 主要负责在主机之间寻址和选择数据包的路由。IP协议不含错误恢复的编码,属于不可靠的协议。IP数据报格式IP数据报格式网络层协议网络层协议2、地址解析协议ARP: ARP (Address Resolution Protocol )把基于TCP/IP软件使用的IP地址解析成局域网硬件使用的媒体访问控制(MAC)地址。 ARP是一个广播协议——网络上的每一台机器都能收到请求。每一台机器都检查请求的IP和自己的地址,符合要求的主机回答请求。网络层协议 源主机A要向目的主机B发送数据,为什么主机A除知道目的主机B的IP地址外,源主机A还必须要知道目的主机B的MAC地址? IP地址具有全网范围内的寻址能力,主机A和B可能分别处在不同网络,主机A要访问主机B首先要知道主机B的IP地址,不然找不到主机B所在的网络。 在现行寻址机制中,主机的以太网网卡只能识别MAC地址,而不能识别IP地址,若数据帧中不指明主机B的MAC 地址,主机B的网卡不能识别该帧是发给自己的,因此主机A仅知道主机B的IP地址还不够,还必须知道主机B的MAC地址,才能完成对主机B的访问;网络之间是用IP地址寻址,网络之内(同一物理网段或称IP子网)是用MAC地址寻址。 且尽管MAC地址和IP地址一样都是在全网范围内唯一定义的,但MAC的寻址能力仅局限在一个物理网段(一个IP子网)中。网络层协议网络层协议网络层协议2、地址解析协议ARP: null2、 主机A如何通过主机B的IP地址解析得到主机B的MAC地址?(1)源主机A与目的主机B位于同一物理网段 —当主机A不知道主机B的MAC地址时,发送ARP request 广播包; — 主机B 收到 ARP request 广播包后,发现目的IP地址是自己,于是将 自己的MAC地址通过ARP reply 包送回主机A,同时主机B将广播包 中主机A的IP地址和MAC地址存入本地的ARP cache中,以备后用; 网上其他主机不作响应; — 主机A收到ARP reply包后将包中主机B的IP地址和MAC地址存入本 地ARP cache中,并开始向主机B发送数据。null(2)源主机A与目的主机B位于不同物理网段 — 当主机A不知道主机B的MAC地址时,发送ARP request 广播包 (第二 层广播帧); — 路由器能收到此广播包后,路由器能够根据主机A和B的IP地址 可以知道主机A和主机B不在同一IP子网(或同一广播域),且 主机B不可能收到ARP request 广播包(广播包不跨路由器), 因此路由器则以ARP代理身份将自己的MAC地址发送给主机A; —主机A收到来自路由器的ARP reply包后,将包中主机B的IP地址和 路由器的MAC地址存入本地ARP cache中,以后主机A发往主机B 的数据帧用的是主机B的IP地址和路由器的MAC地址,数据帧首 先送往路由器,然后由路由器转发。2、 主机A如何通过主机B的IP地址解析得到主机B的MAC地址?nullABRouter 1Router 2Router 3目的主机B的IP地址    Router 1 MAC地址数据包   Router 2 MAC地址数据包 目的主机B的IP地址   Router 3 MAC地址数据包 目的主机B的IP地址   目的主机B MAC地址数据包 目的主机B的IP地址ARP地址解析和数据包在网间的传递— 跨路由器后主机A不可能知道主机B的MAC地址; — 数据包传送过程中,不仅仅是主机A,所经过的路由器都要进行地址解析; — 数据包传送过程中源、目IP地址始终不变,而源、目MAC地址逐段变化。网络层协议网络层协议ARP(Address Resolution Protocol): 在网中每次都以广播方式传送数据帧是低效的,因网中每一台主机都要花费一定的代价去处理广播包,所以不直接用广播方式发送数据帧。 为提高地址解析的效率,每一台主机都必须在本地建立一张ARPcache表,记录本地子网中所有主机包括路由器的IP地址和MAC地址的对应关系。网络层协议网络层协议主机本地ARP cache表的建立和维护: 通过发送和接收ARP request包获取对方的IP和MAC地址; 接收网上任一ARP request 广播包,取得发送主机的IP和MAC地址; 为ARP cache中每一表项设定生存时间,以防某台主机的IP地址或MAC地址发生变更(动态更新)。网络层协议网络层协议查看ARP缓存表: ARP缓存表是可以查看的,也可以添加和修改。 在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了。 用“arp -d”命令可以删除ARP表中某一行的内容 用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应。 网络层协议网络层协议ARP 解析过程 主机A向主机B发送数据前,根据主机B的IP地址首先查找本地的ARP cache表,若查到则向主机B发送数据; 若主机A在本地没查到主机B的MAC地址,则发ARP request广播包,从ARP reply 包中获取主机B的IP和MAC地址并存入本地ARPcache表中,然后才向主机B发送数据。查看本机IP和MAC地址: 查看本机IP和MAC地址: 网络层协议3、反向地址解析协议RARP: RARP (Reverse Address Resolution Protocol) 一般仅适用于无盘工作站在启动时获取自身IP地址。通常主机将自己的IP地址存放在硬盘中,无盘工作站因为没有盘无法记忆自己的IP地址。所有无盘工作站的IP地址由RARP服务器集中保存,无盘工作站启动时通过发送RARP请求,从RARP服务器获得自己的IP地址。 3、反向地址解析协议RARP: RARP (Reverse Address Resolution Protocol) 一般仅适用于无盘工作站在启动时获取自身IP地址。通常主机将自己的IP地址存放在硬盘中,无盘工作站因为没有盘无法记忆自己的IP地址。所有无盘工作站的IP地址由RARP服务器集中保存,无盘工作站启动时通过发送RARP请求,从RARP服务器获得自己的IP地址。 网络层协议3、反向地址解析协议RARP:3、反向地址解析协议RARP:网络层协议网络层协议网络层协议4、ICMP协议 ICMP(Internet Control Message Protocol )传递差错报文以及其他需要注意的信息。ICMP报文通常被网络层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP用来传送一些关于网络和主机的控制信息。如目标主机不可到达、路由重定向等。常用的ping命令就是使用了ICMP协议。 ICMP不为数据提供错误控制服务,只是报告数据出错并不再传送错误的数据,并在IP数据报的生存期过后将其抛弃。nullICMP应用实例B可到达吗?可以,我在这里。Ping BICMP 回声请求ICMP 回声应答B可到达吗?我不知道B在哪里。Ping BICMP 回声请求目的端无法到达一般而言,ping 目的端不可达可能有3个原因: (1)线路或网络设备故障,或目的主机不存在 (2)网络拥塞 (3)ICMP分组在传输过程中超时(TTL减为0)主机A主机A主机B主机B数据链路层协议 数据链路层协议 4、SLIP : 全称是Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式。数据链路层协议 数据链路层协议 5、PPP: 点对点协议修改了SLIP协议中的所有缺陷。与SLIP类似,PPP经常用于低速的串行链路。 null 传输层通过端口与应用层的应用程序进行信息交互,应用层各种用户进程通过相应的端口与传输层实体进行信息交互。 端口是一个16Bit长的地址,范围可以从0至65535: 低于255的端口号用于公共应用 255~1023的端口号被指定给各个公司 高于1023的端口号未做规定 在数据传输过程中,应用层中的各种不同的服务器进程不断地检测分配给它们的端口,以便发现是否有某个应用进程要与它通信。端口null各端口的意义 端口null端口nullTCP/UDP通信和端口号主机A主机BTelnet B 目标端口号 =23,将报文 发送到Telnet 应用程序中源端口 目的端口 1028 23— TCP/UDP中对等通信实体之间的通信相互用端口号标识; — TCP报文目的端口号必须根据Telnet 协议的端口号确定; — 源端口号由源主机动态地分配起始源端口号,通常是一 些高于1023的端口号。null通过SMTP进行通信的主机 端口套接字套接字 IP TCPPORTSOCKET套接字 IP UDPPORTSOCKET套接字作用:建立两台计算机之间的连接TCPUDP套接字 在windows中使用的套接字称为winsock,套接字的作用就是建立连接。Socket=IP+TCP/UDP+端口,其中IP地址标识主机,TCP 或UDP协议用于指明传输类型,端口号标明使用的服务。套接字nullTCP/IP层间传送机制应用层 t f s t e t m f l p t t n p p e t 23212569UDPTCP 6 17 IP传输层网络层链路层物理层MAC地址TYPE或DSAP协议号端口号— 物理层通过MAC地址向链路层传送数据帧; — 链路层使用TYPE或DASP(Destination Service Access Point)识别IP协议 — 网络层根据协议号识别TCP或UDP — 传输层经端口号访问各种应用服务归纳总结归纳总结TCP/IP分层及各层主要协议: 数据链路层:SLIP、PPP 网络层:IP、ARP、RARP、ICMP 传输层:TCP、UDP 应用层:FTP、TELNET、SMTP、HTTP、TFTP
本文档为【TCPIP协议详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_182182
暂无简介~
格式:ppt
大小:787KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-10-18
浏览量:49