网络互联技术第二章 TCP IP协议_第1页
网络互联技术第二章 TCP IP协议_第2页
网络互联技术第二章 TCP IP协议_第3页
网络互联技术第二章 TCP IP协议_第4页
网络互联技术第二章 TCP IP协议_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第2章TCP/IP协议2主要内容2.1、TCP/IP协议栈的结构以及各层功能2.2、IP地址2.2.1IP互联原理2.2.2IP协议特点2.2.3IP地址的格式2.2.4IP地址的定义2.2.5IP地址分类2.2.6特殊IP地址2.2.7子网掩码2.3IP数据报格式2.3.1IP数据报各字段的功能2.3.2IP数据报分片与重组2.3.3IP数据报选项2.4、TCP/UDP32.1TCP/IP协议栈的结构互连网TCP/IP现今网络使用最为广泛的协议组42.1TCP/IP协议栈的结构应用层传输层网络层数据链路层物理层应用层表示层会话层传输层网络层数据链路层物理层OSI参考模型TCP/IPTCP/IP协议和OSI参考模型52.1TCP/IP协议栈的结构HTTP、Telnet、FTP、TFTP、Ping、etcTCP/UDPARP/RARPIPIGMPICMPEthernet、FDDI、PPP、HDLC、FR、etc接口和线缆提供应用程序网络接口建立端到端连接寻址和路由选择物理介质访问二进制数据流传输TCP/IP协议栈62.1TCP/IP协议栈的结构TCP/IP协议数据封装与解封72.1.1物理层应用层传输层网络层数据链路层物理层10Base-T100Base-TX光纤物理层82.1.1物理层物理层位于OSI参考模型的最底层,它直接面向实际承担数据传输的物理媒体(即信道)。物理层的传输单位为比特。物理层是指在物理媒体之上为数据链路层提供一个原始比特流的物理连接。物理层协议规定了与建立、维持及断开物理信道所需的机械的、电气的、功能性的和规程性的特性。其作用是确保比特流能在物理信道上传输。92.1.1物理层物理层的功能为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或者全双工,同步或异步传输的需要.102.1.1物理层常见的物理层接口10M以太网接口100M以太网接口1000M以太网接口112.1.1物理层10M以太网接口10Base-T目前使用最广泛的局域网标准之一使用双绞线作为物理传输介质10Base5曾经广泛应用于主干局域网使用粗同轴电缆作为物理传输介质10Base2使用细同轴电缆作为物理传输介质122.1.1物理层10Base-T的物理介质3类双绞线4类双绞线5类双绞线超5类双绞线6类双绞线有屏蔽与非屏蔽之分均为8芯电缆双绞线的类型由单位长度内的绞环数确定132.1.1物理层5类双绞线的线序Side1Side2Side112345678123456781=白/橙2=橙3=白/绿4=蓝5=白/蓝6=绿7=白/棕8=棕Side2Side1Side2Side1Side212345678123456781=白/橙2=橙3=白/绿4=蓝5=白/蓝6=绿7=白/棕8=棕1=白/橙2=橙3=白/绿4=蓝5=白/蓝6=绿7=白/棕8=棕1=白/绿2=绿3=白/橙4=蓝5=白/蓝6=橙7=白/棕8=棕直连网线5类双绞线的线序交叉网线142.1.1物理层100M以太网接口100Base-TX物理介质采用5类以上双绞线网段长度最多100米100Base-FX物理介质采用单模光纤,网段长度可达10公里物理介质采用多模光纤,网段长度最多2000米快速以太网由IEEE802.3u标准定义152.1.1物理层1000M以太网接口1000Base-T物理介质采用5类以上双绞线,网段长度最多100米1000Base-F物理介质采用多模光纤,网段长度最多500米IEEE802.3z和802.3ab162.1.2数据链路层应用层传输层网络层数据链路层物理层EthernetFDDIPPPHDLCFrameRelay数据链路层172.1.2数据链路层数据链路层是OSI参考模型的第二层,在物理层基础上向网络层提供服务数据链路层为物理链路上提供可靠的数据传输局域网的数据链路层协议有以太网、令牌环网等广域网数据链路层协议有PPP、HDLC、FrameRelay等182.1.2数据链路层数据链路层的功能

帧同步功能差错控制功能流量控制功能链路管理功能192.1.2数据链路层帧同步是指能够从接收到的比特流中明确地区分出数据帧的起始与终止的地方常见帧同步的方法有:字节计数法字符填充的首尾定界符法比特填充的首尾定界符法违法编码法202.1.2数据链路层流量控制和链路管理流量控制功能不是只有数据链路层才提供流量控制功能是控制发送方发送数据的速率链路管理是指数据链路层连接的建立、维持和释放212.1.2数据链路层LAN数据链路层标准IEEE802制定了系列局域网标准IEEE802.3:以太网IEEE802.4:令牌总线IEEE802.5:令牌环IEEE802.11:无线局域网IEEE802标准涵盖了物理层和数据链路层222.1.2数据链路层WAN数据链路层标准WAN服务通常由电信运营商提供WAN数据链路层标准包括:HDLCPPPX.25FrameRelay232.1.2数据链路层数据链路层常见设备

交换机242.1.3网络层应用层传输层网络层数据链路层物理层IPARPRARPICMPIGMP网络层252.1.3网络层地址是网络设备和主机的标识,网络中存在两种寻址方法:MAC地址:是设备的物理地址,位于OSI参考模型的第2层,全网唯一标识,无级地址结构(一维地址空间),固化在硬件中,寻址能力仅限在一个物理子网中。IP地址:是设备的逻辑地址,位于OSI参考模型的第3层,全网唯一标识,分级地址结构(多维地址空间),由软件设定,具有很大的灵活性,可在全网范围内寻址。262.1.3网络层ARP-地址解析协议需要的MAC地址?IP:/24MAC:00-E0-FC-00-00-11IP:/24MAC:00-E0-FC-00-00-12ARPRequest?ARPReply

对应的MAC:00-E0-FC-00-00-12272.1.3网络层RARP-反向地址解析协议我的IP地址是什么?无盘工作站RARPServerRARPRequest?RARPReply你的IP地址是282.1.3网络层ICMP协议B可达吗?ICMPEchoRequestICMPEchoReply我在。AB292.1.3网络层网络层常见物理设备路由器302.1.4传输层TransmissionControlProtocol(TCP)UserDatagramProtocol(UDP)应用层传输层网络层数据链路层物理层面向连接

非面向连接传输层312.1.4传输层端口号

传输层协议用端口号来标识和区分各种上层应用程序HTTPFTPTelnetSMTPDNSTFTPSNMPTCPUDPIP数据包套接字8020/2123255369161322.1.4传输层TCP连接clientserverSYN(seq=a)SYN(seq=b,ack=a+1)ACK(seq=b+1)332.1.4传输层断开TCP连接clientserverFIN(seq=a)ACK(seq=a+1)FIN(seq=b,ack=a+1)ACK(seq=b+1)342.1.4传输层滑动窗口需要修改窗口大小发送数据太快了!len1024win4096len1024win4096len1024win4096ack4097win2048len1024win4096len1024win4096ack6145win2048len1024win4096len1024win4096len1024win4096352.1.5应用层应用层传输层网络层数据链路层物理层WWW-HTTP文件传输 -TFTP -FTP -NFS电子邮件 -SMTP远程登陆 -Telnet -rlogin网络管理 -SNMP域名管理 -DNS应用层362.2IP地址MAC地址372.2IP地址IP地址382.2.1IP互联原理面对一个由很多网络连接而成的互联网,在进行数据通信时,数据是如何从源端传输到目标端的呢?我们可以举一个日常生活中的例子来说明这个问题,下图所示的一个城市交通图。392.2.1IP互联原理城市交通图示例402.2.1IP互联原理在图中有六个城市,它们之间通过图中所示的公路相连,为了便于说明问题,我们对图中的公路进行了编号。图中所示的城市交通图与多个网络连接而成的互联网是非常相似的,图中的一个城市相当于互联网中的一个网络,连接城市的公路相当于连接网络的介质,每条路上都有一个负责选路的路由器,这样我们可以把图中所示的交通图对应成下图所示的网络互联图。412.2.1IP互联原理网络互联网422.2.1IP互联原理前面在交通图中所述的两种不同送信(通信)过程,正好与网络互联的两种解决方案相对应。这两种网络互联方案是:面向连接的(Connect-oriented)和无连接的(Connectionless)。面向连接的解决方案要求在通信的源端和目标端之间建立一条逻辑通路,一般称为虚电路(VirtualCircuit),源端和目标端之间通信时的所有信息都通过该通路传输,这与交通图中送信过程的第一种方式类似。这种方式看似简单,易于实现,但其最大的缺点是如果不能保证虚电路中沿途经过的节点都能可靠地发送数据,就可能使网络崩溃。由于互联网所连网络的复杂性和多样性,因而很难保证所有节点都能可靠地发送数据。432.2.1IP互联原理无连接的互联网解决方案与交通图中送信过程的第二种方式类似,它在源端和目标端之间不建立一条逻辑通路,而送到网络中的每个分组带有完整的目标主机地址,收到分组的节点(主要是路由器)根据目标地址和当前网络状况(如通信量等),选择一条合适的线路把分组发送到接近目标端的下一个节点,通过多个节点的转发,最终把分组送达目标节点。使用这种方式时,由源端顺序送出的各分组,由于每个分组在网络中可能经过不同的路径到达目标端,所以先发出的分组不一定就先到达目标端,另外,也不能保证每个分组都能可靠地到达目标端。442.2.1IP互联原理无连接方式的优点是显而易见的,源端和目标端之间的通信可以通过多条通路进行,而不依赖于某一条通路,因此可靠性和通信效率高。另外,这种方式实现起来也比较简单,适合于异构网络的互联,因此被很多网络厂商所使用。Internet使用的就是这种无连接的方式,由IP协议来实现。452.2.1IP互联原理利用信息隐蔽原理,在互联网中把不同网络的实现细节通过IP层隐藏起来,达到在网络层逻辑上一致的目的,如下图所示。462.2.1IP互联原理IP对不同数据帧的统一472.2.2IP协议特点1)IP协议是一种无连接(Connectionless)不可靠(Unreliable)的数据报传输协议。

2)IP互联网中的计算机没有主次之分,所有主机地位平等(因为惟一标识它们的是IP地址),当然从逻辑上来说,所有网络(不管规模大小)也没有主次之分。3)IP互联网没有确定的拓扑结构。482.2.2IP协议特点4)在IP互联网中的任何一台主机,都至少有一个独一无二的IP地址,有多个网络接口卡的计算机每个接口可以有一个IP地址,这样一台主机可能就有多个IP地址。有多个IP地址的主机叫多宿主机(Multi-homeHost)。5)在互联网中有IP地址的设备不一定就是一台计算机,如IP路由器、网关等,因为与互联网有独立连接的设备都要有IP地址。492.2.3IP地址的格式IP地址的组成:IP地址长度:32bits(4个字节),组成:网络地址(NetworkID)—标识主机所在的网络主机地址(HostID)—标识在该网络上的主机网络地址主机地址32Bits8Bits8Bits8Bits8Bits502.2.3IP地址的格式IP地址的表示:每个字节以十进制数表示,4个十进制数之间用小数点区分。

61100101001110000000000000100110512.2.3IP地址的格式二进制与十进制的转化27262524232221201286432168421111010011*1281*641*320*161*80*40*21*164320233010128+++++++8例子:522.2.4IP地址的定义所有的IP地址都由国际组织NIC(NetworkInformationCenter)负责统一分配,目前全世界共有三个这样的网络信息中心:INTERNIC:负责美国及其它地区RIPE-NIC:负责欧洲地区APNIC:负责亚太地区,总部设在日本东京大学532.2.4IP地址的定义IP地址介绍IP地址唯一标示一台网络设备公共地址(PublicAddress)在一个公共性网络上传输数据,必须使用公共地址,这些地址在网上是唯一的。如Internet上,需向ISP申请分配公共地址,各ISP都要从更上一层的地址注册机构申请。542.2.4IP地址的定义私有地址(PrivateAddress)不能直接与Internet连接的地址,解决公共地址短缺的问题,RFC1918规定了3种私有地址:1个A类地址:16个B类地址:到256个C类地址:到内部网使用,通过代理(Proxy)或网络地址翻译(NetworkAddressTranslation)等系统将私有地址转换成公共地址,从而连接到Internet。1144552.2.5IP地址分类~55

~55

~55~55~55562.2.5IP地址分类572.2.6特殊IP地址1、网络地址:主机标识位全部为0的地址从不分配给单个主机,而是作为网络本身的标识。例如:主机36所在网络的网络地址为。网络地址00000000主机地址582.2.6特殊IP地址55(DirectedBroadcast)55(LocalNetworkBroadcast)X55(AllSubnetsBroadcast)592.2.6特殊IP地址2、直接广播地址:主机标识位全部为1的地址从不分配给单个主机,而是作为同网络的广播地址,例如:主机36所在网络的广播地址为55。一台主机可以用直接广播地址向任何指定的网络直接广播它的分组报文,即使发送和接站点不在同一个子网内,也可以用广播地址向某个子网上所有的主机广播信息。每台主机和路由器等设备都会接收和处理目的地址为本网广播地址的分组报文。11111111网络地址602.2.6特殊IP地址55(DirectedBroadcast)55(LocalNetworkBroadcast)X55(AllSubnetsBroadcast)612.2.6特殊IP地址子网广播地址:主机标识位全部为1,有特定子网号的地址。例如:目的子网掩码为,IP地址为55就是一个子网广播地址。622.2.6特殊IP地址55(DirectedBroadcast)55(LocalNetworkBroadcast)X55(AllSubnetsBroadcast)632.2.6特殊IP地址全子网广播地址:子网标识位和主机标识位全部为1。例如:目的子网掩码为,IP地址为55就是一个全子网广播地址。642.2.6特殊IP地址55(DirectedBroadcast)55(LocalNetworkBroadcast)X55(AllSubnetsBroadcast)652.2.6特殊IP地址55(DirectedBroadcast)55(LocalNetworkBroadcast)X55(AllSubnetsBroadcast)662.2.6特殊IP地址受限广播地址(55)有限广播地址被用在本网络内部广播,这样的数据报仅出现在本地网络中,所有路由器不转发该目的地址的数据报,主机在不知道自己的网络地址的情况下,使有限广播地址也可以向本子网上所有的其它主机发送消息。11111111111111111111111111111111672.2.6特殊IP地址55(DirectedBroadcast)55(LocalNetworkBroadcast)X55(AllSubnetsBroadcast)682.2.6特殊IP地址00000000000000000000000000000000全0地址表示本主机,不可作为有效目的地址使用。3、本网络本主机

网络地址部分全0表示本网的某台主机,不可作为有效目的地址使用。4、本网特定主机地址主机地址000000000000000000000000692.2.6特殊IP地址

回送地址(loopbackaddress)(A类地址)任何一个以数字127开头的IP地址 如:127.any.any.any

任何程序用回送地址作为目的地址时,计算机上的协议软件不会把该数据报向网络上发送,而是把数据直接返回给本主机。

不可作为有效地址出现在网络上。问题:当网络地址部分=全1时,该地址是否有效?5、回送地址01111111XXXXXXXXXXXXXXXXXXXXXXXX111111111111111111111111主机地址702.2.6特殊IP地址特殊IP地址net-idhost-id源地址使用目的地址使用代表的意思00可以不可系统启动时,用来指定本网络上的本地主机0Host-id可以不可系统启动时,用来指定当前网络上的目的主机全1全1不可可以在当前网络上的所有节点进行广播(各路由器均不转发)net-id全1不可可以对指定网络上的所有节点广播127任何数可以不可回送地址,用作本地软件回送测试(loopbacktest)之用,不在网上传输.712.2.6特殊IP地址IP地址使用原则网络号不能全为1和全为0主机号不能全为1和全为0,全为1时表示广播网络号在INTERNET中网络号是唯一主机号对于本地网络中来说是唯一55表示广播地址/8、/16--/16、/16为私有地址722.2.7子网掩码1、掩码技术的提出IP地址最初使用两层地址结构(包括网络地址和主机地址),在这种结构中A类和B类网络所能容纳的主机数非常庞大,但使用C类IP地址的网络只能接入254台主机。因此,人们提出了三层结构的IP地址,把每个网络可以进一步划分成若干个子网(Subnet),子网内主机的IP地址由三部分组成,如下图所示,把两级IP地址结构中的主机地址分割成子网地址和主机地址两部分。732.2.7子网掩码子网IP地址结构742.2.7子网掩码2、子网掩码对于划分了子网的网络,子网地址是由两级地址结构中主机地址的若干位组成的,具体子网所占位数的多少,要根据子网的规模来决定。如果一个网络内的子网数较少,而子网内主机数较多,就应该把两级地址结构中主机地址的大部分位分配给子网内的主机,少量位用来表示子网号。那么,究竟在一个IP地址中哪些位用来表示网络号,哪些位用来表示子网号,以及哪些位用来表示主机号呢,这就要使用子网掩码(SubnetMask)来标识。752.2.7子网掩码区分IP地址的网络ID和主机ID。用连续的“1”表示IP地址网络ID,用连续的“0”表示主机ID,如:

11111111.11111111.11111111.00000000,我们平时使用时用进行表示。区分是本地主机还是远程主机,本地主机发送不经过路由器,若是远程主机则将请求发送到路由器。说明:子网掩码的简写形式:在IP地址后面加上“/n”,n为子网掩码中“1”的位数,如/24。762.2.7子网掩码NetworkInterfaceE0E1NewRoutingTable00600050E0E1172.162160NetworkHost..Subnet772.2.7子网掩码缺省掩码A类地址B类地址C类地址782.2.7子网掩码缺省时,并不使用子网16NetworkHost1720010101100111111111010110000010000111111110001000000000000000000001010000000000000000000000000001060

Network

Number792.2.7子网掩码

路由器子网1子网212HubHub802.2.7子网掩码0001000000IP地址HostIDNetworkID812.2.7子网掩码

12

3

路由器822.2.7子网掩码

12

路由器2100103832.2.7子网掩码3、子网划分将网络进一步划分成独立的组成部分,每个部分称为这个网络(或者更高一级子网)的子网。子网的设计是为了便于网络的管理。对于A类和B类的地址可以把一个大网划分成几个子网,每个子网可以对应一个地理范围或者区域,每个子网也可以对应一种不同的物理介质。划分子网以后,每个子网看起来象一个独立的网络。而对于远程网络而言,子网是透明的。842.2.7子网掩码根据地理分布特点划分子网易于组网技术的实现节约经费根据网络应用特点划分将共享相同网络资源的主机划分成一个子网,可减少子网间的网络传输流量,提高网络性能。将具有相同安全密级程度的主机划分为同一个子网,保障系统的安全。852.2.7子网掩码原则:将主机号借给网络号,作为子网号使用。公式:划分子网的个数:2n-2,n是网络位向主机位所借的位数每个子网的主机数:2m-2,m是借位后所剩的主机位数。862.2.7子网掩码划分子网举例116NetworkHost60

17220101011001111111110101100000100001111111100010000111111110000001010100000000000000000000000000010SubnetNetwork

Number128192224240248252254255872.2.7子网掩码NetworkHost6092101011001111111110101100000100001111111100010000111111110000001010100000110000001000000000000010Subnet161722128Network

Number128192224240248252254255128192224240248252254255划分子网举例2882.2.7子网掩码4、子网设计举例某公司组建在青岛设立总公司,在北京、上海分别设立了分公司,在三地都已组建了局域网,计算机都在10台以下。今申请了一段/24网段的地址,如何确保三地的局域网内的计算机能够通信,局域网之间的计算机也能够通信?。892.2.7子网掩码划分原则:一个C类地址子网划分可借位数在2-6位之间。每种子网划分方案中有2个子网地址不可分配(子网地址=全0,子网地址=全1)每个子网中至少有2个主机地址不可分配,(主机地址=全0,主机地址=全1)例:3个子网,需借3位,共有23-2=6个有效子网每个子网中最多可有25-2=30台主机地址902.2.7子网掩码xxxxxxxx网络地址C类地址子网地址主机地址0000010100111001011101116个有效子网地址子网地址1子网地址2子网地址311111111111111111111111111100000子网掩码24或用27个1表示912.2.7子网掩码WAN上海北京青岛922.2.7子网掩码

采用子网地址结构后,3个物理网段可以在同一个C类地址中进行IP地址分配,大大地提高了地址的利用率。

子网地址1=0012/273456

子网地址2=0104/275677子网地址3=0116/2789路由器932.2.7子网掩码网络互联网一个B类地址表示的一个网段能容纳65000个主机地址

不进行子网划分942.2.7子网掩码进行划分子网互联网952.2.8IP地址总结10101100000100001010000000000010HostMaskSubnetBroadcastLastFirst60921161722160962.2.8IP地址总结1010110011111111000100001111111111111111101000001100000000000010HostMaskSubnetBroadcastLastFirst609212161722160972.2.8IP地址总结1010110011111111000100001111111111111111101000001100000000000010HostMaskSubnetBroadcastLastFirst123161722160982.2.8IP地址总结101011001111111100010000111111111111111110100000110000001000000000000010HostMaskSubnetBroadcastLastFirst60921234161722160992.2.8IP地址总结10101100111111110001000011111111111111111010000011000000100000000000001010111111HostMaskSubnetBroadcastLastFirst6092123451617221601002.2.8IP地址总结1010110011111111000100001111111111111111101000001100000010000000000000101011111110000001HostMaskSubnetBroadcastLastFirst60921234561617221601012.2.8IP地址总结101011001111111100010000111111111111111110100000110000001000000000000010101111111000000110111110HostMaskSubnetBroadcastLastFirst609212345671617221601022.2.8IP地址总结101011001111111110101100000100001111111100010000111111110000001010100000110000001000000000000010101011000001000000000010101111111010110000010000000000101000000110101100000100000000001010111110HostMaskSubnetBroadcastLastFirst6092123456781617221601032.2.8IP地址总结101011001111111110101100000100001111111100010000111111110000001010100000110000001000000000000010101011000001000000000010101111111010110000010000000000101000000110101100000100000000001010111110HostMaskSubnetBroadcastLastFirst6092123456781617221602891299091042.3IP数据报格式IP数据报格式1052.3.1IP数据报各字段的功能IP数据报中的每一个域包含了IP报文所携带的一些信息,正是用这些信息来完成IP协议功能的,现说明如下。1.版本号2.头长度3.服务类型(TOS,TypeOfService)服务类型用8位二进制数表示,规定对本数据报的处理方式。服务类型字段的8位分成了5个子域,如图2-10所示。(1)优先权:占0~2位,这3位二进制数表示的数据范围为000~111(0~7)。1062.3.1IP数据报各字段的功能服务类型子域结构1072.3.1IP数据报各字段的功能(2)短延迟位D(Delay):该位被置1时,数据报请求以短延时信道传输,0表示正常延时。(3)高吞吐量位T(Throughput):该位被置1时,数据报请求以高吞吐量信道传输,0表示普通。(4)高可靠性位R(Reliability):该位被置1时,数据报请求以高可靠性信道传输,0表示普通。(5)保留位:第6和第7位,目前未用,但需置0。应注意在有些实现中,可以使用第6位表示低成本。对不同应用,TOS的建议数据值列于下表中1082.3.1IP数据报各字段的功能

TOS建议使用数值1092.3.1IP数据报各字段的功能4.总长度总长度用16位二进制数表示,总长度字段是指整个IP数据报的长度,以字节为单位。5.生存时间(TTL,TimeToLive)生存时间用8位二进制数表示,它指定了数据报可以在网络中传输的最长时间。在实际应用中为了简化处理过程,把生存时间字段设置成了数据报可以经过的最大路由器数。TTL的初始值由源主机设置(通常为32、64、128或者256),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值减为0时,数据报就被丢弃,并发送ICMP报文通知源主机,这样可以防止进入一个循环回路时,数据报无休止地传输。1102.3.1IP数据报各字段的功能6.上层协议标识上层协议标识用8位二进制数表示,IP协议可以承载多种上层协议,目标端根据协议标识,就可以把收到的IP数据报送至TCP或UDP等处理此报文的上层协议。下表给出了常用的网际协议编号。1112.3.1IP数据报各字段的功能常用网际协议编号1122.3.1IP数据报各字段的功能7.校验和校验和用16位二进制数表示,这个域用于协议头数据有效性的校验,可以保证IP报头区在传输时的正确性和完整性。8.源地址源地址是用32位二进制数表示的发送端IP地址。9.目的地址目的地址是用32位二进制数表示的目的端IP地址。1132.3.2IP数据报分片与重组1.最大传输单元MTU

下表列出了几种常用网络的MTU值。

1142.3.2IP数据报分片与重组2.分片下图所示的一个IP数据报(假设数据区长度为1500字节)被分成了三个IP数据报1152.3.2IP数据报分片与重组IP数据报的分片过程1162.3.2IP数据报分片与重组分片后的IP数据报,其数据区是原IP数据报数据区的一个连续部分(一段),头部是原IP数据报头部的复制,但与原来未分片的IP数据报头部有两点主要不同:标志和片偏移。1)

标志:在IP数据报的头部,有一个叫标志的字段,用3位二进制数表示,如下图所示IP数据报头标志位1172.3.2IP数据报分片与重组2)片偏移:

在上例中,IP数据报被分成3片之后,各片数据区在原来IP数据区中的位置用13位片偏移表示。3.重组当分了片的IP数据报被传输到最终目标主机时,目标主机要对收到的各分片重新进行组装,以恢复成源主机发送时的IP数据报,这个过程叫IP数据报的重组。在IP数据报头部中,标识用16位二进制数表示,它惟一地标识主机发送的每一份数据报。1182.3.2IP数据报分片与重组目标端主机重组数据报的原理是:根据标识可以确定收到的分片属于原来哪个IP数据报;根据标志字段的片未完MF子字段可以确定分片是不是最后一个分片;根据偏移量就可以确定分片在原数据报中的位置。1192.3.3IP数据报选项IP数据报选项主要有两大功能:一是可以用来实现对数据报传输过程的控制,如规定数据报要经过的路由;二是进行网络测试,如一个数据报传输过程中经过了哪些路由器。IP选项域共分为四大类,如下表所示。

1202.3.3IP数据报选项IP数据报选项1212.3.3IP数据报选项IP数据报选项由三个部分组成:选项码、选项长度和选项数据,如下图所示。IP数据报头标志位1222.3.3IP数据报选项1)复制:占1位,用来控制一个带有选项的IP数据报被分片后对选项的处理方式。如果该位被置1,将选项复制到所有分片中;被置0,将选项仅复制到第一个分片中。2)

选项类和选项号:选项类占2位,选项号占5位,用于确定该选项是哪类选项中的哪个选项,其实就是用于确定该选项的功能,可参见上表。1232.3.3IP数据报选项1.源路由选择所谓源路由选择(SourceRouting),是指IP数据报在互联网中传输时,所经过的路由是由发出IP数据报的源主机指定的,以区别于数据报在互联网中传输时由路由器的IP层自动寻径所得到的路由。通过设置源路由选择选项,可以测试网络中指定路由的连通性,以使数据报绕开出错的网络,也可用于测试特定网络的吞吐量。源路由选择分为两类,一类是严格源路由选择(StrictSourceRouting),另一类是宽松源路由选择(LooseSourceRouting)。1242.3.3IP数据报选项1)严格源路由选择。严格源路由选择选项格式如下图所示。2)宽松源路由选择。1252.3.3IP数据报选项IP数据报头中严格源路由选择选项格式1262.3.3IP数据报选项2.记录路由3.记录时间戳时间戳选项的格式与源路由选择选项类似,如下图所示。1272.3.3IP数据报选项IP数据报头中时间戳选项格式1282.3.3IP数据报选项时间戳选项的选项码为0x44。选项长度表示选项的总长度(一般为36或40),指针指向下一个可用空间的指针(值为5、9、13等)。接下来的两个字段各占4位:溢出字段OF(OverFlow)表示因时间戳选项数据区空间不够而未能记录下来的时间戳个数;标志字段FL用于控制时间戳选项的格式,其值的含义如下表所示。1292.3.3IP数据报选项时间戳选项标志字段含义1302.3.3IP数据报选项时间戳选项提供了IP数据报传输中的时域参数,可用于分析网络吞吐量、拥塞情况和负载情况等。在ping网络命令中提供了对严格源路由选择、宽松源路由选择和记录时间戳的支持,读者可以使用ping的帮助信息来查看这些参数。使用ping命令的这些功能,可以帮助读者理解IP数据报头选项。最后要说明,并非所有的主机和路由器都支持这些选项。另外,如果一个选项字段不是以32位二进制数为界限的,则要在最后插入值为0的填充字符。这样就保证了IP头部始终是32位二进制的整数倍,这是因为头部长度是以32位二进制数为计数单位的。1312.4传输层协议TCP/UDPTCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)协议属于传输层协议。TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。1322.4.1端到端通信和端口号端到端通信在互联网中,任何两台通信的主机之间,从源端到目标端的信道都是由一段一段的点到点通信线路组成的(一个局域网中两台主机通信时只有一段点到点的线路)。如下图所示。1332.4.1端到端通信和端口号传输层端到端通信1342.4.1端到端通信和端口号点到点通信是由网络互联层来实现的,网络互联层只屏蔽了不同网络之间的差异,构建了一个逻辑上的通信网络,因此它只解决了数据通信问题。端到端通信是建立在点到点通信基础之上的,它是比网络互联层通信更高一级的通信方式,完成应用程序(进程)之间的通信。端到端的通信是由传输层来实现的。1352.4.1端到端通信和端口号传输层端口

为了识别传输层之上不同的网络通信程序(进程),传输层引入了端口的概念。在一台主机上,要进行网络通信的进程首先要向系统提出动态申请,由系统(操作系统内核)返回一个本地惟一的端口号,进程再通过系统调用把自己和这个特定的端口联系在一起,这个过程叫绑定(Binding)。这样,每个要通信的进程都与一个端口号对应,传输层就可以使用其报文头中的端口号,把收到的数据送到不同的应用程序,如下图所示。1362.4.1端到端通信和端口号传输层端到端通信1372.4.1端到端通信和端口号在TCP/IP协议中,传输层使用的端口号用一个16位的二进制数表示。因此,在传输层如果使用TCP协议进行进程通信,则可用的端口号共有216个。由于UDP也是传输层一个独立于TCP的协议,因此使用UDP协议时也有216个不同的端口。一些常用服务的TCP和UDP的众所周知端口号见下表1382.4.1端到端通信和端口号常用的众所周知的TCP端口号1392.4.1端到端通信和端口号常用的众所周知的UDP端口号1402.4.1端到端通信和端口号256~1023之间的端口号通常都是由Unix系统占用的,以提供一些特定的Unix服务。现在IANA(TheInternetAssignedNumbersAuthority,互联网数字分配机构)管理1~1023之间所有的端口号。任何TCP/IP实现所提供的服务都使用1~1023之间的端口号。客户端口号又称为临时端口号(即存在时间很短暂)。这是因为客户端口号是在客户程序要进行通信之前,动态地从系统申请的一个端口号,然后以该端口号为源端口,使用某个众所周知的端口号为目标端口号(如在TCP协议上要进行文件传输时使用21)进行客户端到服务器端的通信。综上所述,我们知道两台要通信的主机,每一端要使用一个二元地址(IP地址,端口号)才可以完成它们之间的通信。1412.4.2用户数据报协议UDPUDP数据报的封装及其格式

UDP协议在工作时是建立在IP协议之上的,UDP从进程的缓冲区接收进程每一次产生的输出,对每次输出都生成一个UDP数据报,然后把生成的UDP数据报直接封装在IP数据报中进行传输,因此在传输层使用UDP协议时,发送端不需要发送缓冲区,如下图所示。1422.4.2用户数据报协议UDPUDP数据报的封装1432.4.2用户数据报协议UDP被封装在IP中的UDP数据报通过网络传输到目标主机的IP层后,由目标主机的UDP层根据目标端口号送到接收该数据的相应进程。UDP数据报的格式如下图所示。1442.4.2用户数据报协议UDPUDP数据报格式1452.4.2用户数据报协议UDPUDP协议的特点从UDP协议的数据报格式可以看出,UDP对数据的封装非常简单,主要是增加了端口号与校验和,然后就可以直接通过IP层进行传输了,因此它具有以下特点:1)UDP是一种无连接、不可靠的数据报传输服务协议。2)UDP对数据传输过程中惟一的可靠保证措施是进行差错校验,如果发生差错,则只是简单地抛弃该数据报。3)如果目标端收到的UDP数据报中的目标端口号不能与当前已使用的某端口号匹配,则将该数据报抛弃,并发送目标端口不可达的ICMP差错报文。1462.4.2用户数据报协议UDP4)UDP协议在设计时的简单性,是为了保证UDP在工作时的高效性和低延时性。因此,在服务质量较高的网络中(如局域网),UDP可以高效地工作。5)UDP常用于传输延时小,对可靠性要求不高,有少量数据要进行传输的情况,如DNS(域名服务)、TFTP(简单文件传输)等。1472.4.3传输控制协议TCPTCP报文段格式TCP报文段(常称为段)与UDP数据报一样也是封装在IP中进行传输的,只是IP报文的数据区为TCP报文段。TCP报文段的格式如下图所示。1482.4.3传输控制协议TCPTCP报文段的格式1492.4.3传输控制协议TCP1.TCP 源端口号TCP源端口号长度为16位,用于标识发送方通信进程的端口。目标端在收到TCP报文段后,可以用源端口号和源IP地址标识报文的返回地址。2.TCP目标端口号TCP目标端口号长度为16位,用于标识接收方通信进程的端口。源端口号与IP头部中的源端IP地址,目标端口号与目标端IP地址,这4个数就可以惟一确定从源端到目标端的一对TCP连接。1502.4.3传输控制协议TCP3.序列号序列号长度为32位,用于标识TCP发送端向TCP接收端发送数据字节流的序号。4.确认号确认号长度为32位。5.头部长度该字段用4位二进制数表示TCP头部的长短,它以32位二进制数为一个计数单位。TCP头部长度一般为20个字节,因此通常它的值为5。1512.4.3传输控制协议TCP6.保留保留字段长度为6位,该域必须置0,准备为将来定义TCP新功能时使用。7.标志标志域长度为6位,每1位标志可以打开或关闭一个控制功能,这些控制功能与连接的管理(3.3.2小节讲述)和数据传输控制有关,其内容如下所述:URG:紧急指针标志,置1时紧急指针有效。ACK:确认号标志,置1时确认号有效。如果ACK为0,那么TCP头部中包含的确认号字段应被忽略。1522.4.3传输控制协议TCPPSH:push操作标志,当置1时表示要对数据进行push操作。RST:连接复位标志,表示由于主机崩溃或其他原因而出现错误时的连接。SYN:同步序列号标志,它用来发起一个连接的建立,也就是说,只有在连接建立的过程中SYN才被置1。FIN:连接终止标志,当一端发送FIN标志置1的报文时,告诉另一端已无数据可发送,即已完成了数据发送任务,但它还可以继续接收数据。1532.4.3传输控制协议TCP8.窗口大小窗口大小字段长度为16位,它是接收端的流量控制措施,用来告诉另一端它的数据接收能力。9.校验和校验和字段长度为16位,用于进行差错校验。校验和覆盖了整个的TCP报文段的头部和数据区。 1542.4.3传输控制协议TCP10.紧急指针紧急指针字段长度为16位,只有当URG标志置1时紧急指针才有效,它的值指向紧急数据最后一个字节的位置(如果把它的值与TCP头部中的序列号相加,则表示紧急数据最后一个字节的序号,在有些实现中指向最后一个字节的下一个字节)。 11.选项选项的长度不固定,通过选项使TCP可以提供一些额外的功能。每个选项由选项类型(占1个字节)、该选项的总长度(占1个字节)和选项值组成,如下图所示。1552.4.3传输控制协议TCPTCP选项格式1562.4.3传输控制协议TCP12.填充填充字段的长度不定,用于填充以保证TCP头部的长度为32位的整数倍,值全为0。1572.4.3传输控制协议TCPTCP连接的建立与关闭TCP是一个面向连接的协议,TCP协议的高可靠性是通过发送数据前先建立连接,结束数据传输时关闭连接,在数据传输过程中进行超时重发、流量控制和数据确认,对乱序数据进行重排以及前面讲过的校验和等机制来实现的。

TCP在IP之上工作,IP本身是一个无连接的协议,在无连接的协议之上要建立连接,对初学者来说,这是一个较难理解的一个问题。

1582.4.3传输控制协议TCP1.建立连接TCP使用“三次握手”(3-wayHandshake)法来建立一条连接。所谓三次握手,就是指在建立一条连接时通信双方要交换三次报文。具体过程如下。2.关闭连接由于TCP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论