1、1TCPIP简介 2 目的熟悉TCP/IP的基础概念,了解TCP/IP协议族的基本架构和协议构成 对象 学校应届毕业新员工 时间1.5小时3主要内主要内 容容IP地址和端口地址和端口IP、ICMP、TCP和和UDP协议协议可靠的数据传输可靠的数据传输应用层协议简介应用层协议简介4TCP/IP协议图5IP地址地址 在互联网上每一个接口必须有唯一的在互联网上每一个接口必须有唯一的Internet地址。地址。总长度总长度32位。位。 一共分为五类:一共分为五类:A类,类,B类,类,C类,类,D类类,E类类。 回环地址,缺省路由器地址,本地网络,广播地址回环地址,缺省路由器地址,本地网络,广播地址6端
2、口端口 端口采用端口采用16位端口号来识别,端口对应一个主机上运行的位端口号来识别,端口对应一个主机上运行的应用程序。服务器一般使用公认端口号。应用程序。服务器一般使用公认端口号。 客户端要保证端口在本机上是唯一的。客户端口成为临时客户端要保证端口在本机上是唯一的。客户端口成为临时端口,服务器的服务时刻运行,端口固定一直进行侦听。端口,服务器的服务时刻运行,端口固定一直进行侦听。 TCP/IP提供的服务都用公认的提供的服务都用公认的11023,大多数连接是,大多数连接是分配分配10245000之间。之间。 FTP(20,21),),Telnet(23),),SMTP(25),),DNS(53)
3、,),WWW(80),),POP3(110)7IP协议协议 无连接数据报传送,数据报路由选择和差错控制。无连接数据报传送,数据报路由选择和差错控制。IP协议协议的数据报有报头和数据两部分组成。的数据报有报头和数据两部分组成。 将数据报包装成符合物理网络要求的帧的格式的过程称为将数据报包装成符合物理网络要求的帧的格式的过程称为封装。封装。 不同物理网络对帧大小的限制是不同的,这种限制成为物不同物理网络对帧大小的限制是不同的,这种限制成为物理网络的最大传输单元(理网络的最大传输单元(MTU)。)。 目前的目前的Internet主导协议是主导协议是IP协议,协议,IPv4 下一代下一代Interne
4、t协议协议: IPv6。8报头长度不固定,以报头长度不固定,以32位为单位。数据报总长度占位为单位。数据报总长度占16位,包括报头和数据。报头为位,包括报头和数据。报头为4字字节的整数倍,不足用节的整数倍,不足用“0”来填充。来填充。选项:选项: 路由选择给出一个从源到目标的路由选择给出一个从源到目标的IP地址序列,要求数据报严格沿制定的路由表传输。地址序列,要求数据报严格沿制定的路由表传输。IP报文头格式9ICMP协议 ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路
5、由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。10思考题IP层的层的MTU和以太网物理链路和以太网物理链路MTU有什么关系?有什么关系?IP MTU的最小值是多少?的最小值是多少?自己选择一个本地地址自己选择一个本地地址 (如如192.168.9.1),使用使用ping和和Tracert诊断一下,使用抓包软件诊断一下,使用抓包软件(Sniffer, Packetyzer等)等)分析这个过程。分析这个过程。利用利用windows自带的自带的ping工具发送出分片的工具发送出分片的I
6、P报文,使用抓报文,使用抓包工具分析报文分片的情况包工具分析报文分片的情况.11UDP协议 无连接的服务 提供高效率/低可靠性服务 UDP的简单性使UDP不适合于一些应用,但对另一些更复杂的、自身提供面向链接功能的应用却很适合。其他可能使用UDP的情况包括:转发路由表数据交换、系统信息、网络监控数据等的交换。这些类型的交换不需要流控、应答、重排序或任何TCP提供的功能。12协议端口(Protocol port) 用16bit区分,共有216个端口(每台主机) 众所周知端口 全局分配,用于标准服务器 取值小于1024 临时端口 本地分配(主机建立连接时为用户进程动态分配的端口) 取值大于等于10
7、2413保留端口举例应用层应用层传输层传输层FTPTELNETSMTPHTTPDNSSNMP 21 23 25 80 53 161Port14UDP数据包的封装帧帧IP头部头部UDP头部头部UDP头部头部应用数据应用数据应用数据应用数据应用数据应用数据IP头部头部UDP头部头部应用数据应用数据UDP数据包数据包15UDP数据包格式UDP头部头部应用数据应用数据T C P端口号与U D P端口号是相互独立的。16校验和的计算 伪包头(校验和计算的特殊性)源源IP地址地址宿宿IP地址地址00000000UDP长度长度32bit协议协议=17信息取自信息取自IP层报头,计入校验和,用于检错。层报头,
8、计入校验和,用于检错。17UDP的特点UDP被设计成一个有效的和最小的传输协议。这一点直接反映在其头结构中。它只包括用于转发数据报至合适应用(端口号)的足够信息,并且执行一定的错误检查。UDP不提供任何TCP支持的更先进的功能。没有计时机制、流控或拥塞管理机制、应答、紧急数据的加速传送,或其他任何功能。UDP使用尽力方式传送数据报。由于某种原因传输失败,数据报被丢弃并且不试图作重传。18练习:在域名解析(DNS)中使用UDP 使用 Sniffer 软件监控UDP报文并作简单分析19TCP协议TCP/IP最具代表性的协议可靠的面向连接的协议TCP将用户数据打包构成报文段;它发送数据后启动一个定时
9、器;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据; TCP提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。许多流行的应用程序如Telnet、Rlogin、FTP和SMTP都使用TCP20TCP数据包格式源源 端端 口口 S ou rce P ort (16b it) 宿宿 端端 口口 D estin ation P ort (16b it) 序序 列列 号号 S eq u en ce N u m b er(32b it) 确确 认认 号号 A ck n ow led gm en t N u m b er(32b it) 头头 长长 度度 *4 R eserv ed
10、 (6b it) URG ACK PSH RST SYN FIN 窗窗 口口 大大 小小 W in d ow size (16b it) 校校 验验 和和 C h ecksu m (16b it) 紧紧 急急 指指 针针 U rgen t P oin ter(16b it) 选选 项项 O p tion s (0 或或 多多 个个 32b it 字字 ) 数数 据据 D ata (可可 选选 ) 21序列号 序号用来标识从T C P发端向T C P收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。序号是32 bit的无符号数,序号到达23 21后又从0开始。 T C P为应用层提供
11、全双工服务。这意味数据能在两个方向上独立地进行传输。连接的每一端必须保持每个方向上的传输数据序号.22确认序列号 既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加1。只有ACK标志(下面介绍)为1时确认序号字段才有效 发送ACK无需任何代价,因为32 bit的确认序号字段和ACK标志一样,总是TCP首部的一部分。 因此,一旦一个连接建立起来,这个字段总是被设置, ACK标志也总是被设置为123首部长度 首部长度给出首部中32 bit字的数目。需要这个值是因为选项字段的长度是可变的。这个字段占4 bit,因此T C P
12、最多有6 0字节的首部。没有选项字段时正常的长度是2 0字节。246个标志位 在T C P首部中有6个标志比特。它们中的多个可同时被设置为 U R G 紧急指针( urgent pointer) A C K 确认序号有效。 P S H 接收方应该尽快将这个报文段交给应用层。 R S T 重建连接。 S Y N 同步序号用来发起一个连接。 F I N 发端完成发送任务。25窗口大小 T C P的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16 bit字段,因而窗口大小最大为6 5 5 3 5字节。 接
13、收方通过设置该值大小可调节发送端发送数据的速度,实现流量控制。26校验和 检验和覆盖了整个的T C P报文段: T C P首部和T C P数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。T C P检验和的计算和U D P检验和的计算相似,需要一个伪首部。27紧急数据指针 只有当U R G标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。28可选项及填充 最常见的可选字段是 最长报文大小,建立连接的双方提供的最大长度中的较小值作为长度,默认536字节。 窗口比例
14、调整因子,设定对216的窗口大小进行左移的位数(因子最大为16,即窗口最大为232) 设定非Go-back-n的差错重传机制(NAK)。29TCP的连接 三次握手 (three-way handshake)主机主机A(主动主动)主机主机B(被动被动)SYN(SEQ=x)SYN(SEQ=y, ACK=x+1)SYN(SEQ=x+1, ACK=y+1)30TCP传输控制的实现确认号确认号ACK源端口源端口1028序列号序列号SEQ宿端口宿端口21窗口窗口WIN.头部头部.发送方发送方接收方接收方缓冲区缓冲区4k2k应用层应用层2k write应用层应用层Read 2k2k2k1kSEQ=0WIN=
15、2048ACK=2048WIN=0ACK=4096SEQ=4096SEQ=2048发送受阻发送受阻应用层应用层3k writeACK=4096WIN=20482k2k1k31TCP连接的释放主机主机A主机主机BFIN(SEQ=x)ACK(SEQ=y, ACK=x+1)A-B单向连接释放,但A仍能接收B的数据ACK(SEQ=y,ACK=x+1)FIN(SEQ=x)B-A单向连接释放32思考捕获HTTP报文,分析TCP连接的建立和断开过程使用Telnet客户端 telnet到一台不支持Telnet Server的主机,捕获报文看对方主机发回的TCP报文携带什么标志比较IP,TCP,UDP的首部,认
16、真观察他们的不同之处和相似之处.使用哪些元素可以唯一标识一个TCP连接33应用层协议简介应用层协议简介通过通过SMTP和和POP3可以用来发送和接收电子邮件。可以用来发送和接收电子邮件。 域名系统服务域名系统服务实现了由主机域名到实现了由主机域名到IP地址的映射。地址的映射。 HTTP主要用于文本传输、信息查询、文件下载、在线聊天、搜索引擎主要用于文本传输、信息查询、文件下载、在线聊天、搜索引擎以及动态网页等应用。以及动态网页等应用。 FTP完成在服务器上进行文件检索和传送等操作。完成在服务器上进行文件检索和传送等操作。 Telnet允许用户通过网络登录到计算机中。允许用户通过网络登录到计算机中。34应用层协议 常用TCP/IP应用层协议 Telnet DHCP( 动态主机配置协议) DNS (域名系统) FTP(文件传输) Web E_mail SNMP35IPv6 IPv6简介感谢亲观看此幻灯片,此课件部分内容来源于网络,感谢亲观看此幻灯片,此课件部分内容来源于网络,如有侵权请及时联系我们删除,谢谢配合!如有侵权请及时联系我们删除,谢谢配合!