




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 学习目标学习目标 熟悉熟悉 TCP/IPTCP/IP协议的体系结构、基本概念和功能。协议的体系结构、基本概念和功能。 理解理解 IPIP协议的数据包格式、协议的数据包格式、IPIP地址的定义和应用、地址的定义和应用、IPIP层协议的工作过程。层协议的工作过程。 理解理解 IPv6IPv6特征和功能,了解特征和功能,了解IPv4IPv4和和IPv6IPv6之间的异同之间的异同 理解理解 TCPTCP和和UDPUDP协议结构、功能和工作过程。协议结构、功能和工作过程。 理解理解 ICMPICMP协议、协议、ARPARP协议、协议、FTPFTP协议和协议和HTTPHTTP协议的定协议的定义和工作过
2、程。义和工作过程。(TCP/IP的起源和发展、基本概念、参考模型和体系结构)(IP包格式、IP地址、ICMP协议、ARP协议、IP收发过程)(IPv6地址、IPv6的迁移)(TCP、 UDP报文格式、特征和工作过程)(应用层协议和特征、FTP协议、HTTP协议和特征)7.1.1 TCP/IP7.1.1 TCP/IP的起源和发展的起源和发展 TCP/IP的起源于美国国防部高级研究规划署(ARPA)资助建立的分组交换试验网络阿帕网(ARPANet)项目。 美国国防部无条件地免费提供TCP/IP核心技术,规定接入ARPANet的计算机都必须采用TCP/IP。随着ARPANet逐渐发展成为Intern
3、et,1983年,TCP/IP成为Internet标准通信协议。 TCP/IP的结构设计良好,与数据链路层和物理层无关,具有极好的扩展性和兼容性,适用于不同的底层网络技术。 TCP/IP技术是开放的,是由一些国际化的组织负责监督和管理的,作为Internet上的核心协议,将随着Internet的技术和应用的发展而不断进化。4计算机网络第7章 TCP/IP协议IP协议的发展与演变过程5计算机网络第7章 TCP/IP协议7.1.2 TCP/IP7.1.2 TCP/IP中的基本概念中的基本概念 主机主机:连接到Internet上的用户计算机,每台主机指定一个IP地址,主机是IP数据包的发出者和接收者
4、。 路由器路由器:连接两个或多个网络,在所连接的网络之间转发IP数据包。:由一个或多个局域网网段构成,接入路由器端口。:两个或多个通过路由器连接的子网,或互联网。 IPIP地址地址:在互联网络层中分配给一个网络接口或一组接口,可用做IP数据包的源地址或目标地址的标识。在IPv4中,IP地址长度是32位。在IPv6中,IP地址长度是128位。 IPIP数据包数据包:由IP标准头部和有效负载构成的协议数据单元。 子网掩码子网掩码:子网掩码用来确定一个IP地址属于哪一个子网。 InternetInternet草案(草案(RFCRFC):IETF的标准文档被称为RFC。6计算机网络第7章 TCP/IP
5、协议7.1.3 TCP/IP7.1.3 TCP/IP参考模型参考模型 TCP/IP参考模型分为4层: 网络接口层:没有具体定义这一层的功能,只是要求能够提供给上面的互联网层一个访问接口。 互联网层:是整个TCP/IP参考模型的核心,它的功能是转发分组。 传输层:是为应用层提供会话和数据报通信服务。 应用层:是为应用程序访问下面各层的网络服务提供接口。7计算机网络第7章 TCP/IP协议7.1.4 TCP/IP7.1.4 TCP/IP的协议结构和功能的协议结构和功能 TCP/IP参考模型中所使用的协议列表称为TCP/IP协议栈TCP/IP协议栈中的核心协议可以映射到TCP/IP参考模型的应用层、
6、传输层、互联网层。8计算机网络第7章 TCP/IP协议 应用层:定义了应用程序之间用来交换数据的协议,应用层包含大量的协议。 传输层:定义了传输控制协议(TCP)和用户数据报协议(UDP)。TCP提供一对一、面向连接的可靠通信服务。UDP提供一对一或一对多、无连接的不可靠通信服务。 互联网层:定义的核心协议包括IPv4和IPv6。 网络接口层:没有具体定义这一层的功能。返回返回7.2.1 IP7.2.1 IP数据包数据包 一个IP数据包由一个IP数据包头和IP负载(上层递交下来的数据块)组成。当上层递交下来的数据量很大且一个IP数据包无法承载时,就要被分片后装在多个IP数据包中运载。 IP数据
7、包的基本结构: IP数据包头的基本格式:9计算机网络第7章 TCP/IP协议 4 8 16 31版本首部长度服务类型数据包长度(B)16位标识标志13位偏移字段寿命上层协议首部检验和32位IP源地址32位IP目的地址选项(如果有的话)0 版本版本: : 值为4,表示IPv4;值为6,表示IPv6。 报头报头长度长度:最小值为5,最大值为15,用来确定IP数据包中IP负载(数据单元)实际开始位置。一般的IP数据包的首部长度均为20字节。如果包含了选项,首部长度大于20字节、小于等于60字节。 服务类型字段服务类型字段:由4位的服务类型(TOS)、3位的优先级和1位的保留位组成,指示路由器如何处理
8、该分组。常规取值为0。 数据包的数据包的长度长度:IP数据包的总长度(包头+负载),最大总长度为65535字节(2161) ,实际很少有超过1500字节的。 标识标识:管理IP数据包的分片和重组。用来识别一个特定的分片属于哪个数据包。 分片标志:分片标志:共3位。第1位保留未用。第2位为“不分片”位,若该位置1,该数据包不分片。第3位是“更多的片”位,若该位置1,表明后续还有片,若置0,表示这是最后一片。 偏移字段:偏移字段:用来确认一个片在数据包中的位置。10计算机网络第7章 TCP/IP协议11计算机网络第7章 TCP/IP协议与数据包的分片与组装相关的字段为16位标识、3位分片标志和13
9、位偏移字段。寿命(寿命(TTLTTL):):设定数据包在Internet中的“寿命”,防止数据包在IP网络中无休止地循环传播。生存时间TTL的初始值由源主机设置,经过一个路由器转发之后,TTL值减1。当TTL的值为0时,路由器丢弃分组并发送ICMP报文通知源主机。协议字段协议字段:使用IP协议的高层协议类型。首部首部校验和校验和:设置首部校验和是为了 保证数据包头部数据完整性。设置 首部校验,只对变化部分进行校验, 可以减少路由器对每个接收分组的处 理时间,提高路由器的运行效率。地址字段地址字段:包括源地址与目的地址。分别表示发送分组的源主机与接收分组的目的主机的IP地址。12协议字段值高层协
10、议类型1ICMP2IGMP6TCP8EGP17UDP41IPv689OSPF计算机网络第7章 TCP/IP协议 校验和计算方法校验和计算方法13首部首部校验和校验和的计算实的计算实例:例:做二进制进位加做二进制进位加法,最后取反码法,最后取反码计算机网络第7章 TCP/IP协议7.2.2 IP7.2.2 IP地址地址 IP地址也称为互联网地址或Internet地址。接入网络中的每台主机和路由器接口至少拥有一个IP地址,IP地址是在互联网层分配的,是一个逻辑地址。 地址一般按点分十进制方式书写,即用英文句号来分隔4个十进制数。通用格式w.x.y.z(w、x、y、z为任意一个值为0255的十进制数
11、,每个十进制数代表32位地址中的8位,即1个字节) 例如,IP地址2,192(十进制数)= 11000000(二进制),168 (十进制数)=10101000(二进制),依此类推。地址2的二进制表示为11000000 10101000 00000011 00100000。14计算机网络第7章 TCP/IP协议32W.X.Y.Z IP地址结构和编址规则地址结构和编址规则 IP地址结构:一般分成两部分,一部分用来表示主机所属的网络为网络号(网络地址)。另一部分用来表示在该网络中的主机编号,即主机号。 编址规则:为一个IP网络中的子网分配网络号时,必须遵循
12、:网络ID在一个IP网络中必须是唯一的,网络号的四段数中的最左边字段不能是数字0或127。为IP子网上的主机或路由器等设备)接口分配主机号时,必须遵循主机号在一个子网内必须是唯一的,不能使用全0或全1。 IP地址规则的演变地址规则的演变15计算机网络第7章 TCP/IP协议 IPIP地址分配给地址分配给网络接口网络接口连接到Internet的每一个主机(计算机或路由器)至少有一个IP地址,IP地址是分配给网络接口的。多归属主机可以有多个IP地址,一个网络接口也可以分配多个IP地址。网桥、Ethernet交换机属于数据链路层设备,使用MAC地址,不属于网络层设备,不分配IP地址。 例如在以下的I
13、P网络中,可以看到三个子网的子网地址,主机和路由器接口的IP编址。 16计算机网络第7章 TCP/IP协议A类地址:55B类地址:55C类地址:55D类IP地址:55E类IP地址:5517计算机网络第7章 TCP/IP协议直接广播地址直接广播地址:A A类、类、B B类与类与C C类类IPIP地址中主机号是全地址中主机号是全1 1的的IPIP地址,地址,如如B B类地址中的类地址中
14、的5555。受限广播受限广播地址:地址:网络号与主机号为全网络号与主机号为全1 1的的IPIP地址(地址(5555)“这个网络上的特定主机这个网络上的特定主机”地址地址:网络号是全网络号是全0 0,如如5。回送地址回送地址:是回送地址是回送地址。网络号:主机号部分为全零,例如一个网络号:主机号部分为全零,例如一个B B类网络号类网络号一组特定范围的一组特定范围的IPIP地址被保留用于私有网络,专用地
15、址用地址被保留用于私有网络,专用地址用在不直接与因特网相连的内联网中的主机或路由器接口在不直接与因特网相连的内联网中的主机或路由器接口上上18类类网络号网络号总数总数A10.1B172.16172.3116C192.168.0192.168.255256计算机网络第7章 TCP/IP协议7.2.3 7.2.3 子网掩码和子网编址子网掩码和子网编址 子网掩码 是为了确定一个IP地址中网络部分所占用的位数,长度为32位二进制数,与IP网络部分对应的位用1标识,与主机部分对应的位用0标识。例如,、、都是常用的子网掩码。 将子网掩码和I
16、P地址进行按位逻辑“与”运算,可以获取IP中的网络号,同时也可以获得主机号。19计算机网络第7章 TCP/IP协议 IP地址和子网掩码进行“与”运算,( “与”是二进制数中最常见的一种逻辑运算,其规则非常简单。1和1“与”等于1,1和0“与”等于0,0和0“与”等于0) 可以确定子网号是28,子网号占用的位数是25位。连接到该子网的主机的IP地址范围可设置为2954(除去主机位全0和全1)。子网的广播地址:55。20计算机网络第7章 TCP/IP协议 子网编址子网编址 当接入互联网的各组织的子网规模
17、增大,使用两级地址结构出现管理问题。例如,某大学网络拥有64 000台主机,若分配了一个B类网络号,则可支持多达65 534台主机,对于本地网络管理员来说,管理64 000台主机是一件非常庞大繁杂的工作。为此提出增加一个被称为“子网”的分级层次的子网编址方法,将组织内部的主机划分成多个子网。 子网编址是从主机号中拿出几位作为子网号,在原来地址结构的基础上增加一级子网号。例如一个B类地址需要划分64个子网,则要定义6位子网号。21计算机网络第7章 TCP/IP协议 假定一组织接入因特网,获得一个B类网络号/16。现组织内部需要划分n个子网,每个子网能容纳的主机数为m 确定子网
18、位和子网掩码 选取一个最小的数b,使得n=2b成立(如2328),从主机号的高位开始,划出b位作为子网号,子网号的编号从000开始到111结束(共b位) 。在定义32位子网掩码时,从左边开始,将对应网络号和子网号的位都设置为1,剩下的位均设置为0,即可。 确定主机编号范围 子网的主机编号从001到110(共“32-网络号位数-子网号位数”位),剔除全0和全1, 子网中主机号总数大于m。 划分子网好处 有效利用和规划IP地址 方便内部的地址管理 缓解地址的过快的消耗。22计算机网络第7章 TCP/IP协议7.2.4 7.2.4 无分类编址(无分类编址(CIDRCIDR) CIDR是基于划分子网时
19、使用可变长子网掩码(VLSM)方法,在进一步提高IP地址利用率基础上,提高路由器的工作效率。基本特点为: 把32位的IP地址划分为两部分。前面部分是“网络前缀”,后面部分用来标识主机,回到无分类的两级编址,即前缀的长短是灵活可变的前缀的长短是灵活可变的,使用“斜线记法”(或称为CIDR记法),即在IP地址后面加上斜线“/”,在其后写前缀所占的位数。例如,/20。 CIDR把前缀都相同的连续的IP地址组成一个“CIDR地址块”,只要知道CIDR 地址块中的任何一个地址,就可以知道这个地址块的起始最小地址、最大地址和地址个数。23计算机网络第7章 TCP/IP协议 一个划分C
20、IDR地址块的例子 划分CIDR地址块后的校园网结构247.2.5 7.2.5 网际控制报文协议(网际控制报文协议(ICMPICMP) 网际控制报文协议(ICMP)由(RFC792)定义,ICMP报文是由IP数据包来承载的。ICMP主要用于报告数据包无法传递差错以及对差错的解释信息。ICMP是IP协议的一个组成部分,但它的报文要封装成IP分组,再传送给数据链路层。ICMP是要解决IP协议可能出现的不可靠问题,用于IP协议在执行过程中由路由器来向源主机报告传输出错的原因。 ICMP报文类型分为差错报告报文和查询报文25ICMPICMP差错报文差错报文和类型值和类型值ICMPICMP查询报文查询报
21、文和类型值和类型值目的结点不可达(3) 回应请求和应答(8或0)源结点抑制(4) 路由器询问和通告(10或9)超时(5)时间戳请求和应答(13或14)参数问题(11) 地址掩码请求和应答(17或18)重定向(12)计算机网络第7章 TCP/IP协议 ICMP报告数据包传递错误信息时,基本的错误消息报告格式为 主要字段功能 类型:用于识别消息的类型,编码为012。 代码:对于一个特定的消息类型,代码字段提供进一步描述的信息,例如0为网络不可达,1为主机不可达,2为协议不可达,3为端口不可达。 检验和:用来检验ICMP数据包中的位错误。 原始IP数据包:收到的IP数据包报的一部分,包括IP首部以及
22、数据包报数据的前8个字节26计算机网络第7章 TCP/IP协议 ping命令命令,会利用ICMP的回复请求消息格式,向指定主机发出一个ICMP类型为8、代码值为0的报文(echo request)到指定主机,接收主机收到回复请求消息后,直接向源主机回送一个对应的回复应答消息来响应,即回送一个ICMP类型为0、代码值为0的报文(echo reply)。 一台主机Ping另一台主机的过程27计算机网络第7章 TCP/IP协议7.2.6 地址解析协议(地址解析协议(ARP) 地址解析协议(ARP)是IP协议的一个重要组成部分,通过已知的IP地址,查找目的MAC地址。 IP数据包最终要通过一个特定的物
23、理网络的链路发送,不同的物理网络有不同寻址方式和地址格式,要将数据包成功地投递到目的主机,源主机必须知道目的主机的链路接口的MAC地址。如果在一台主机或路由器中已有一张“IP地址MAC地址映射表”,通过查表(静态映射)的方法,容易从一个已知的IP地址获取与之对应的MAC地址。这在一个小型的互联网络系统中比较容易实现,在大型网络中几乎是不可能实现的。 在Internet中使用一种“动态映射”方法,以解决IP地址与MAC地址映射的问题。28计算机网络第7章 TCP/IP协议 一个子网中的一个子网中的ARPARP协议工作协议工作过程过程示例:示例:主机A的IP地址为/24,MA
24、C地址是Ma,主机B的IP地址为/24, MAC地址是Mb,当主机A要与主机B通信时,却不知道Mb。 第1步:主机A在本机的ARP缓存中找映射项,若没有,它将ARP请求包广播到本地网络上的所有主机。A的IP地址和Ma、B的IP地址都包括在ARP请求中。本网上的所有主机都接收到ARP请求,检查目的IP地址是否与自己的IP地址匹配。如果不匹配,它将丢弃ARP请求。 第2步:只有主机B确定ARP请求中的目的IP地址与自己IP地址匹配,先将主机A的IP地址和Ma映射添加到本地ARP缓存中。主机B将包含B的IP地址和Mb、A的IP地址和Ma的ARP回复直接发送回主机A。 第3步:当
25、主机A收到从主机B发来的ARP回复时,会用主机B的IP和Mb映射添加到本机ARP缓存。主机B的MAC地址一旦确定,主机A的IP包就能发送给主机B了。29计算机网络第7章 TCP/IP协议7.2.7 IP7.2.7 IP数据包的发送和接收数据包的发送和接收 分组转发的基本概念(直接转发、间接转发) 直接转发(源主机直接转发(源主机和和目的主机目的主机在一个子网内在一个子网内) 源主机用掩码提取目的主机的网络号,查本机路由转发表,确定目的主机与源主机连接到同一个子网上,根据目的主机的IP地址,在本机ARP缓存中找MAC地址,如果未找到,就启动ARP机制获得目的主机MAC地址。IP数据包在数据链路层
26、封装成数据帧,通过网卡发送到链路上。 当目的主机的网卡接收到此帧,对其检查,根据协议类型字段值,将IP数据包上传给本机的IP实体。IP实体根据协议字段值把IP数据包中的数据部分传递给上一层协议。30计算机网络第7章 TCP/IP协议 间接转发(源主机间接转发(源主机和和目的主机不目的主机不在在一个子网内一个子网内) 路由转发表中不存与目的网络对应的匹配项,则选择默认路由。根据默认网关的IP地址,查本机ARP表查找MAC地址,如没找到,启动ARP机制获得默认网关的MAC地址。IP数据包在数据链路层被封装成数据帧,通过网卡发送到链路上。 默认网关设备的网卡捕获数据帧并对其进行检查。将IP数据包上传
27、给IP实体,IP实体检查目的IP地址后,发现目的IP地址不是本机,就按照路由转发表中的定义,将IP数据包转发出去。 如果一切都正常,IP数据包最后将被转发到目的主机所在的子网中。目的子网中的网关设备把数据包转发给目的主机31计算机网络第7章 TCP/IP协议返回返回网络趋势移动互联信息家电网络融合n 配置实现简单n 巨量IP地址空间n 更充足的IP地址空间n 更优移动IP实现机制 IPv6协议的产生源于网络发展的需求n 更高网络性能n 完善QoS机制,服务质量差异化计算机网络第7章 TCP/IP协议 为了满足对大的IP地址空间的需求,一种新的IP协议于20世纪90年代早期被开发出来。这个新一代
28、的IP协议被称为IPv6RFC 2406。 更大的地址空间,IPv6的地址长度是128位,是IPv4地址长度的4倍。 简化的头部格式,IPv6的头部格式比IPv4简单,不再出现检验和、标识、标志和偏移字段。 增加了“流标签”字段,为了更好地适合网络多媒体应用的需要。 支持内置的认证和机密性。 IPv6通过扩展包头,支持长度超过64KB的IP负载。 IPv6数据包33计算机网络第7章 TCP/IP协议7.3.1 IPv67.3.1 IPv6的数据包格式的数据包格式 IPv6数据包头基本结构 版本(4位):规定协议的版本号,数值为6,表示IPv6。 业务类别( 8位):规定了数据包的服务类型。 流
29、标签( 20位):用来标记一个数据包的流的特性,对于实时音频和视频数据的传送有用。对于传统的非实时数据,没有用处。 净负载长度( 16位):指示数据包中数据部分的长度(不包括头部,但含扩展头部),长度限制为65 535B。 下一个头( 8位):指定紧跟IPv6头部后面的信息的类型,如扩展头(有的话)或数据。 跳数限制:8位长,规定了数据包在被路由器丢弃之前可以经过的跳数。与IPv4中的“生存期”有相同定义。 源IPv6地址和目的IPv6地址:128位源主机地址和目的主机地址。 34计算机网络第7章 TCP/IP协议 IPv6地址的书写格式 按每16位用1个英文冒号(:)来分隔,每个16位块转换
30、成4个十六进制数。这种表示被称为冒号十六进制表示形式。 用二进制格式表示一个IPv6地址:00100001110110100000000000000000000000000000000000000000000000000000001010101010000000000000111111111110000010001001110001011010 将这个128位的地址按每16位划分为8个位段:0010000111011010 0000000000000000 0000000000000000 00000000000000000000001010101010 0000000000001111 11
31、11111000001000 1001110001011010 将每个位段转换成十六进制数,并用冒号隔开:21DA:0000:0000:0000:02AA:000F:FE08:9C5A 用零压缩法,该地址表示为 21DA:0:0:0:2AA:F:FE08:9C5A,可进一步简化: 21DA:2AA:F:FE08:9C5A35计算机网络第7章 TCP/IP协议7.3.2 从从IPv4到到IPv6的迁移的迁移 IPv6系统是向后兼容的,在基于IPv6的互联网中,能够发送、路由和接收IPv4数据包。要确保IPv4尽可能平滑地过渡到IPv6,当前的解决方法有两种:双协议栈和隧道技术。 双协议层和双协议
32、栈结构 双协议栈是指在完全过渡到IPv6之前,使一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6。因此双协议栈的主机(或路由器)既能够和IPv6的系统通信,又能够和IPv4的系统通信。36计算机网络第7章 TCP/IP协议 隧道技术 是指IPv6数据包要进入IPv4网络时,将IPv6数据包封装成为IPv4的数据包(将整个IPv6的数据包变成IPv4数据包的数据部分),这样IPv6数据包就在IPv4网络的隧道中传输。当IPv4数据包离开IPv4网络中的隧道时,把数据部分交给主机(或路由器)的IPv6协议栈。 通过IPv4隧道传输IPv6分组的机制示意如下:37计算机网络第7章 T
33、CP/IP协议返回返回7.4 7.4 传输控制协议传输控制协议 TCP和UDP是建立在IP之上的两个传输控制协议。借助TCP,应用层进程之间有了一条面向连接的、可靠的、有序的字节流传输通道。借助UDP,应用进程之间建立了一个无连接的、不可靠的数据报文传输通道。 应用进程不管使用哪一种传输协议,都要通过套接字调用。套接字由主机的IP地址、传输层的端口号和协议标识组成的传输层接口38计算机网络第7章 TCP/IP协议 传输层端口是应用层的各种协议进程与传输层实体进行层间交互的一种地址。 端口号用一个 16 位的数值标志,端口号的数值范围是065535之间的整数。 端口号的类型有:熟知(知名)端口号
34、、注册端口号和临时端口号。 端口号只具有本地意义,只是为了标志本计算机应用层中的各进程,在因特网中不同计算机的相同端口号是没有联系的。39计算机网络第7章 TCP/IP协议 熟知端口:数值为01023,是Internet编号分配机构(IANA)把这些端口号指派给TCP/IP中最重要的一些,让所有用户都知道,比如Web应用端口号是80。 注册端口号:数值为102449151,这类端口号是为没有知名端口号的应用使用。使用这类端口号必须在互联网数字分配机构(IANA )按照规定的手续登记,以防止重复使用。 客户端口号或短暂端口号:数值为4915265535,留给客户进程选择暂时使用。当服务器进程收到
35、客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。 一些端口号定义和应用关系 40端口号服务进程说明协议53DNS域名服务UDP67/68DHCP动态主机配置协议UDP69TFTP简单文件传送协议UDP161/162SNMP简单网络管理协议UDP520RIP路由信息协议UDP端口号服务进程 说明协议20FTP文件传输协议(数据连接)TCP21FTP文件传输协议(控制连接)TCP23TELNET网络虚拟终端协议TCP25SMTP简单邮件传输协议TCP80HTTP超文本传输协议TCP179BGP边界路由协议TCP计算机网络第7章 TCP/IP协议
36、对于一个C/S模式的应用而言,服务器端使用熟知端口号和注册端口号,客户端使用临时端口号。 应用层不同进程的通过不同的端口向下,再往下就共用网络层提供的服务。 网络层接收到的数据包,向上递交给传输层,传输层通过不同的端口,将报文传递到不同的进程。41计算机网络第7章 TCP/IP协议7.4.1 TCP7.4.1 TCP协议和特征协议和特征 TCP为应用层的进程提供了一个面向连接、可靠、数据流量可控和全双工的传输服务,TCP报文的格式比UDP报文格式复杂许多。 TCP协议的主要特点:支持面向连接、可靠的传输服务,支持字节流的传输,支持全双工通信,支持同时建立多个并发的TCP连接,每一条 TCP 连
37、接只能有两个端点,即点对点的(一对一)。42应用进程应用进程7 68H 发送发送 TCP 报文段报文段发送方发送方接收方接收方把字节写入把字节写入发送缓存发送缓存从接收缓存从接收缓存读取字节读取字节应用进程应用进程1230181716151419202145131211H10 9 H加上加上 TCP 首部首部构成构成 TCP 报文段报文段TCPTCP字节流字节流字节流字节流H表示表示 TCP 报文段的首部报文段的首部x表示序号为表示序号为 x 的数据字节的数据字节TCP 连接连接计算机网络第7章 TCP/IP协议TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口(口(16位)位)头
38、部长度头部长度(4位)位)检检 验验 和(和(16位)位)选选 项项 (长(长 度度 可可 变)变)源源 端端 口(口(16位)位)序序 号(号(32位)位)紧紧 急急 指指 针(针(16位)位)窗窗 口(口(16位)位)确确 认认 号(号(32位)位)保留(保留(6位)位)FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充 TCP报头格式报头格式 源端口和目的端口是传输层与应用层的服务接口。 TCP 连接中传送的数据流中的每一个字节都编上一个序号,序号字段的值指的是本报文段所发送的数据的第一个字节的序号。确认号字段是期望收到对方的下一个报文段的数据的第一个字节的序号
39、。 43 计算机网络第7章 TCP/IP协议TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口(口(16位)位)头部长度头部长度(4位)位)检检 验验 和(和(16位)位)选选 项项 (长(长 度度 可可 变)变)源源 端端 口(口(16位)位)序序 号(号(32位)位)紧紧 急急 指指 针(针(16位)位)窗窗 口(口(16位)位)确确 认认 号(号(32位)位)保留(保留(6位)位)FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充 头部长度指出 TCP 报文段的数据起始处距离 TCP 报文头的起始处有多远。以 4 字节为计算单位。 保留字段是保留为今
40、后使用,目前应置为 0。 窗口字段 ,用来让对方设置发送窗口的依据,单位为字节。 检验字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。 紧急指针字段指出在本报文段中紧急数据共有多少个字节。44 计算机网络第7章 TCP/IP协议TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口(口(16位)位)头部长度头部长度(4位)位)检检 验验 和(和(16位)位)选选 项项 (长(长 度度 可可 变)变)源源 端端 口(口(16位)位)序序 号(号(32位)位)紧紧 急急 指指 针(针(16位)位)窗窗 口(口(16位)位)确确 认认
41、 号(号(32位)位)保留(保留(6位)位)FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充 紧急 URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送。 确认 ACK 1 时,确认号有效,当ACK 0 时,确认号无效 推送 PSH,收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 复位 RST ,当 RST 1 时,表明 TCP 连接中出现严重差错,必须释放连接,然后再重新建立连接。 同步 = 1 表示这是一个连接请求或连接接受报文。 终止 FIN 用来释放一个连接。FIN 1 表明此报文
42、段的发送端的数据已发送完毕,并要求释放传输连接。 45 计算机网络第7章 TCP/IP协议TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口(口(16位)位)头部长度头部长度(4位)位)检检 验验 和(和(16位)位)选选 项项 (长(长 度度 可可 变)变)源源 端端 口(口(16位)位)序序 号(号(32位)位)紧紧 急急 指指 针(针(16位)位)窗窗 口(口(16位)位)确确 认认 号(号(32位)位)保留(保留(6位)位)FINSYNRSTPSHACKURG位位 0 8 16 24 31填填 充充 选项字段 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS
43、。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。” MSS的默认值为536字节,考虑报头长度20个字节,默认的报文段长度为556字节 填充字段 这是为了使整个首部长度是 4 字节的整数倍。46 计算机网络第7章 TCP/IP协议47 TCP连接建立和连接终止的管理 TCP是面向连接的,因此两个应用进程交换数据之前,必须先建立一条TCP连接。假设主机A的TCP客户程序先启动连接,通过3次握手方式次握手方式与主机B的TCP服务程序建立连接(目的是为了同步连接双方的(目的是为了同步连接双方的“序列号序列号”、“确确认号认号”和和TCP窗口大小等状态信息)
44、窗口大小等状态信息)。计算机网络第7章 TCP/IP协议 TCP连接建立过程“三次握手” 当两主机应用进程的数据传输完毕后,通信双方需要释放连接,TCP的4次终止连接过程“四次挥手”。48计算机网络第7章 TCP/IP协议 TCP可靠传输的实现技术概述 TCP为了确保服务的可靠性,采用了一组特别复杂的技术组合,主要有:处理报文段乱序传递的排序技术、处理分组丢失的重传技术、避免分组重复的技术、防止数据过载的流量控制技术以及避免网络拥塞的控制技术等。 TCP提供的服务的主要特点为: 提供面向连接的服务,传输之前首先请求建立一个连接。 点对点通信,每个TCP连接上只有两个用端口号标识的端点。 TCP
45、能保证两个应用进程进行可靠的字节流通信。 全双工通信。TCP连接允许数据在任何一个方向上流动,并允许任何应用程序在任何时刻发送数据。 流接口。应用进程利用TCP提供的流接口在一个连接上发送和接收连续的字节流。 在关闭一个连接之前,TCP必须保证所有数据已经传递完毕,并且通信双方都要同意关闭这个连接。49计算机网络第7章 TCP/IP协议7.4.2 UDP7.4.2 UDP协议和特征协议和特征用户数据报协议(UDP)为应用层的进程提供一个不可靠的无连接传输服务,避免连接建立和释放所需的时间。使用尽最大努力交付,即不保证可靠交付。当应用层进程传输的数据量很少、可靠性要求不是特别高,而实时性要求高时
46、,选用UDP比较好,适合多媒体通信的要求。如网络视频会议系统、QQ聊天系统等。UDP 是面向报文的, 支持一对一、一对多、多对一和多对多的交互通信。UDP 的首部开销小,只有 8 个字节。50源端口源端口目的端口目的端口长长 度度检验和检验和数数 据据首首 部部IP 数据报数据报2222字节字节发送在前发送在前数数 据据首首 部部UDP 用户数据报用户数据报计算机网络第7章 TCP/IP协议 发送方 UDP 对应用程序交下来的报文 应用程序必须选择报文,添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 应用层交给 UDP 多长的报文,U
47、DP 就照样发送,即一次发送一个报文。 接收方 UDP 对 IP 层交上来的 UDP 用户数据报 在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。51计算机网络第7章 TCP/IP协议计算机网络第7章 TCP/IP协议 UDP提供的服务的主要特点为: 通过端到端端到端, UDP能区分运行在给定计算机上的多个应用进程,可以进行一对一、一对多或多对多的通信。 UDP提供给高层应用进程的接口遵循无连接无连接模式,减少开销和时延。 发送方的UDP对应用程序交下来的报文,在添加首部后向下交付给IP层,既不拆分也不合并,不管原报文多长,一次发送一个报文。 UDP提供给应用进程的服务是尽
48、力而为。 UDP协议适用的范围视频播放应用。简短的交互式应用。多播与广播应用。UDP协议是一种适用于实时语音与视频传输的传输层协议52计算机网络第7章 TCP/IP协议返回返回 每个都是为了解决某一类应用问题问题的解决往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的,故需要精确定义之间的通信规则。定义了运行在不同端系统上的应用程序的进程之间传递报文的格式和方式。如请求报文和响应报文;各种报文类型的语法:报文中的各个字段及描述;字段的语义:字段包含信息的含义;进程何时、如何发送报文及对报文进行响应的规则。 应用层协议是应用层的(或服务)的一个核心组成部分。计算机网络第7章 TC
49、P/IP协议7.5. 7.5. 应用层应用层协议特征协议特征 应用层协议可以是用户编写的专用协议,也可以是由标准文档RFC定义的标准协议。标准协议构成了TCP/IP协议栈的一部分。以下列出一些常用的应用层协议、应用、传输层协议和端口号。54应用层协议应用传输层协议端口号DNS(域名系统)名字转换UDP53TFTP(简单文件传输协议) 文件传送UDP69RIP(路由信息协议)路由选择协议UDP520DHCP(动态主机配置协议) IP地址配置UDP67/68SNMP(简单网络管理协议) 网络管理UDP161/162SMTP(简单邮件传送协议) 电子邮件TCP25TELNET(远程终端协议)远程终端
50、接入TCP23HTTP(超文本传输协议)万维网TCP80FTP(文件传送协议)文件传送TCP20/21一组专用协议IP电话UDP 一组专用协议流式多媒体通信UDP 计算机网络第7章 TCP/IP协议 应用层协议是网络应用的一个重要组成部分 如超文本传输协议(HTTP)是 万维网(Web)应用的一个重要组成,HTTP定义了在浏览器程序和Web服务器程序间传输的报文格式和序列。 根据应用的需要,一些应用层协议只依赖TCP协议,有些只依赖UDP协议,有些既可依赖TCP协议,也可依赖UDP协议。55计算机网络第7章 TCP/IP协议时间敏感时间敏感不不不不不不是是, 100 ms是是, , 几秒几秒是
51、是, , 100 ms是和不是是和不是应用应用文件传输文件传输电子邮件电子邮件Web 文档文档实时音频实时音频/视频视频(因特网电话(因特网电话/视频会议)视频会议)存储音频存储音频/视频视频交互式游戏交互式游戏即时讯息即时讯息数据丢失数据丢失不能丢失不能丢失 不能丢失不能丢失 不能丢失不能丢失 容忍丢失容忍丢失 容忍丢失容忍丢失 容忍丢失容忍丢失 不能丢失不能丢失 带宽带宽弹性弹性弹性弹性弹性弹性音频音频: 5kbps-1Mbps视频视频:10kbps-5Mbps同上同上 几几kbps以上以上弹性弹性7.5.1 7.5.1 文件传输协议文件传输协议 文件传输协议(FTP)是最早的应用协议之一,在Internet标准文本(RFC959)中定义。FTP使用传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭装修施工投诉3篇
- 员工外出安全免责协议书3篇
- 奶茶店股份合同协议书3篇
- 工业控制计算机在工业互联网平台中的关键作用考核试卷
- 租赁设备市场融资渠道拓展考核试卷
- 河湖治理工程概预算与招投标考核试卷
- 玻璃工艺品的防伪技术考核试卷
- 《资治通鉴》中的帝王智慧与现代管理启示
- 2025电子版本软件购买协议合同书
- 委托担保合同的性质
- 华大新高考联盟2025届高三4月教学质量测评化学+答案
- 2025年中国防晒护理洗发露市场调查研究报告
- 2025年陕西省普通高中学业水平合格考试模拟卷(五)历史试题(含答案)
- 2025年有关“我为群众办实事”主题日活动工作方案
- 油气管道输送试题及答案
- 铁路雨季三防培训课件
- CNC作业指导书及操作规范
- EHS安全培训教育周知卡(机械伤害)
- 贵州生态停车场建设工程监理规划
- 大班音乐欣赏粤曲《荔枝颂》微课件
- 《肌内注射说课》ppt课件
评论
0/150
提交评论