《第3章 OSI网络参考模型与TCPIP网络协议.ppt》由会员分享,可在线阅读,更多相关《第3章 OSI网络参考模型与TCPIP网络协议.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章OSI网络参考模型与TCPIP网络协议3.1.1 3.1.1 网络模型的用途网络模型的用途3.1.2 OSI3.1.2 OSI参考模型参考模型3.1.3 TCP/IP3.1.3 TCP/IP参考模型参考模型3.1.4 OSI3.1.4 OSI参考模型与参考模型与TCP/IPTCP/IP参考模参考模 型的比较型的比较 3.1.5 IEEE8023.1.5 IEEE802局域网与网络标准局域网与网络标准3.1 OSI3.1 OSI网络参考模型网络参考模型 (4)第4层:传输层(transport layer)设置传输层的主要目的是在源主机进程之间提供可靠的端到端通信,提供流量控制、窗口操作和
2、纠错功能,它还负责数据流的分段和重组等功能。在OSI参考模型中,人们经常将七层分为高层和低层。如果从面向通信和面向信息处理的角度进行分类,传输层一般划在低层;如果从用户功能与网络功能角度进行分类,传输层又被划在高层。这种差异正好反映出传输层在OSI参考模型中的特殊地位和作用。(5)第3层:网络层(networklayer)网络层负责让数据包到达目的地,即处理路由。第3层使用管理员能够进行管理的逻辑寻址方案,该层可以使用IP协议的寻址方案或AppleTalk、DECnet、VINES和IPX寻址方案。网络层的主要功能:1)路径选择与中继2)流量控制3)网络连接建立与管理 (6)第2层:数据链路层
3、(datalinklayer)数据链路层是OSI参考模型的第二层,这层提供了跨越介质的物理传输过程。数据链路层的主要目的是提供错误检测,在某些情况提供错误纠正、网络拓扑和流量控制,将一条原始的、有差错的物理线路变为对网络层无差错的数据链路。数据链路层向网络层提供的基本服务数据链路建立、维护与释放的链路管理工作。数据链路层服务数据单元帧的传输。差错检测与控制。数据流量控制。在多点连接或多条数据链路连接的情况下,提供数据链路端口标识的识别。网络层实体建立网络连接。帧接收顺序控制。数据链路层相应设备数据链路层的相关设备主要包括:网络接口卡(NIC)及其驱动程序、网桥、二层交换机等。(7)第1层:物理
4、层(physical layer)物理层是OSI参考模型的最低层,向下直接与物理传输介质相连接,这一层提供电气的、机械的、规程的及功能的手段来激活和保持系统间的物理链路。比如用多少伏特电压表示“1”,多少伏特表示“0”;一个比特持续多少微秒等。物理层设备包括网络传输介质(如同轴电缆、双绞线、光缆、无线电和红外等)和连接器等,以及保证物理通信的相关设备,如中继器、共享式HUB等信号中继、放大设备。2.2.对等层通信对等层通信 为了使数据分组从源传送到目的地,源端OSI模型的每一层都必须与目的端的对等层进行通信,这种通信方式称为对等层通信。图3-2对等层通信 如图3-2所示,假设主机A发送信息给主
5、机B。那么主机A的应用程序先与主机A的应用层通信,主机A的应用层再与主机A的表示层通信,主机A的表示层再与主机A的会话层通信等等,直到到达主机A的物理层。物理层在网络物理介质上发送(和接收)信息。当信息在网络物理介质上传送并被主机B接收后,会以相反的方向向上通过主机B的各层(先是物理层,然后是数据链路层等等),直到最终到达主机B的应用层。图3-2对等层通信3.帧与分组的概念(1)分组计算机网络采用分组方式而不是连续方式发送数据信息。因此,计算机网络通常被称为分组交换网。为什么要采用分组技术而不是连续传输,其原因有以下几点:提高带宽等网络资源的利用效率提高系统的可靠性便于用户对高层信息资源的共享
6、便于计算机处理减少信息的重传什么是分组(packet)呢?图3-3分组的组成数据段数据段+发送发送/接收地址接收地址+控制字符控制字符=分组分组(2)帧帧也是一个分组。但是,帧是分组的同时又具有更特殊的意义。分组是一如图3-4所示为IEEE802.3以太网帧的结构。帧结构:图3-4 IEEE 802.3以太网帧的结构帧起始字段所有的帧都有一个以字节序列表示的起始信号,如以太网帧中的起始定界符用一个字节10101011表示这是一个以太网帧的开始。地址字段所有的帧都包含标识信息,比如源计算机的地址(MAC地址)和目的计算机的地址(MAC地址)。长度和类型字段大多数帧都有一些特殊字段。在有些技术里,
7、长度字段指明了帧的确切长度。有时还会有一个类型字段,指定产生发送请求的第3层协议是什么。当然也有一些技术无需使用这些字段。数据字段发送帧的原因是要获取高层数据,最终把用户的应用数据从源计算机发送到目的计算机。需要传输的数据分组包括你希望发送的消息(数据)。有时通过填充字节来保证帧的最小长度。例如,在图3-4的IEEE802.3以太网帧结构中,数据字段的大小应处于46(不足时填充)和1500字节之间。以太网在IEEE标准帧中,逻辑链路控制(LLC)字节也包含在数据字段中。值得注意的是,LLC子层在网络协议数据(第3层分组)中增加了控制信息,目的是帮助分组能够被送达目的地。第2层通过LLC与高层协
8、议通信。帧校验序列字段所有的帧(包括其中的比特、字节以及帧里面的字段)都会由于各种原因而容易产生错误。帧校验序列(FCS)字段包含一个根据帧中数据计算的数字;这个数字是源计算机计算出来的。一旦目的计算机接收到帧,它将重新计算FCS数字,并同帧中的FCS数字进行比较。如果两个数字不同,就被认为出现错误,帧被丢弃。4.4.数据封装数据封装 如果一台计算机想给另外一台计算机发送数据,这些数据必须首先进行封装(encapsulation)。封装就是在网络传输之前为数据加上必要的协议信息。可以把报头看作是信封上的地址。信封需要地址,以便信件能够被邮递到所要到达的接收方。3.1.3 TCP/IP参考模型参
9、考模型ISO/OSI参考模型在计算机网络发展史上具有里程牌的意义。共有四层:应用层、传输层、Internet层和通信子网层,TCP/IP网络体系结构如图3-5所示。图3-5基于TCP/IP协议的网络体系结构 1.1.通信子网层(通信子网层(subnetwork layersubnetwork layer)TCP/IP协议的通信子网层与OSI协议的物理层、数据链路层以及网络层的一部分相对应。通信子网层的一个典型例子是网卡(NIC)。2.Internet 2.Internet层(层(Internet layerInternet layer)网络层所使用的协议是IP协议。它把传输层送来的消息组装成I
10、P数据包,并利用相应的本层协议发送。决定最佳路径和分组交换都在这层完成。IP协议提供统一的IP数据包格式,以消除各通信子网的差异,从而为信息发送方和接收方提供透明通道。有以下几个协议工作在TCP/IP的Inernet层:IP 提供无连接,尽力而为的分组传送路由。它不关心分组的具体内容,只查找把分组发送到目的地的路径。Internet控制消息协议(ICMP)提供控制和消息传递能力。地址解析协议(ARP)已知IP地址,获取相应数据链路层地址(介质访问控制地址,即MAC地址)反向地址解析协议(RARP)已知数据链路层地址,获取相应的IP地址。3.传输层(transportlayer)传输层为应用程序
11、提供端到端通信功能,在端点(源设备和目的设备)之间建立逻辑连接。传输层有3个主要协议,即传输控制协议(TCP)、用户数据报协议(UDP)和互连网控制消息协议(ICMP)。传输层假定能利用网络(看作网云)把数据分组从源设备传送到止的设备,如图3-6所示。在网云中,到达止的设备可能会有多路径,需要从中选出最佳路径。图3-6Internet网云 4.应用层(application layer)应用层为用户提供所需要的各种服务。它提供的主要服务有:远程登录,用户可使用异地主机;文件传输,用户可在不同主机之间传输文件;电子邮件,用户可通过主机和终端互相发送信件;WEB服务器,发布和访问具有超文本格式HT
12、ML的各种信息。3.1.4 OSI参考模型与参考模型与TCP/IP参考模型的比较参考模型的比较 图3-7将OSI模型和TCP/IP模型做了比较,注意上述两个模型既有相同点又有不同点:图3-7 OSI模型与TCP/IP模型的比较相同点:都是分层的模型。都行应用层,尽管所包含的应用服务不同。一都有类似的传输层和网络层。都使用分级交换(而不是电路交换)技术。不同点:一TCP/IP模型将表示层和会话层合并到应用层之中。一TCP/IP模型将OSI模型的数据链路层和物理层合并成为网络访问层。一由于具有较少的层数,TCP/IP模型看上去较为简单。OSI模型的传输层能够保证分组的可靠传输,而TCP/I模型的传
13、输层如果采用UDP则证分组的可靠传输。TCP/IP协议是围绕Internet开发的标准,是目前Internet网络的核心。相反,OSI参考模型一般不建网络,它常被用来帮助理解通信过程。3.1.5 IEEE802局域网与网络标准局域网与网络标准 按照IEEE802标准,局域网的体系结构由如图3-8所示的三层协议构成,即物理层(PHY,PHYsical)、介质访问控制层(MAC,MediaAccessControl)和逻辑链路控制层(LLC,LogicalLinkContro1)。这两层相当于ISO/OSI参考模型的最低两层。图3-8局域网参考模型与OSI参考模型的比较3.2.1 3.2.1 网络
14、协议简介网络协议简介3.2.2 IP3.2.2 IP报文的格式报文的格式3.2.3 IP3.2.3 IP数据报的分片与重组数据报的分片与重组3.2.4 IP3.2.4 IP寻址与子网分割技术寻址与子网分割技术3.2.5 3.2.5 私有地址与私有地址与NATNAT技术技术 3.2.6 TCP/IP3.2.6 TCP/IP实用程序实用程序3.2.7 IP3.2.7 IP路由技术路由技术 3.2.8 3.2.8 传输层协议传输层协议TCPTCP与与UDPUDP3.2 TCP/IP3.2 TCP/IP协议及应用协议及应用3.2.1 3.2.1 网络协议简介网络协议简介网络协议(NetworkProt
15、ocol)是计算机网络中互相通信的对等实体间交换信息时所必须遵守的规则的集合。协议集(protocolsuite)是协议的集合。这些协议使得一台主机跨越网络与另一台主机的通信成为可能。这些网络规则由不同的组织和委员会制订与维护:电气和电子工程师学会(IEEE)。美国国家标准协会(ANSI)。电信工业协会(TIA)。电子工业联合会(EIA)。国际电信联盟(ITU),前身为国际电报电话咨询委员会(CCITT)。有很多不同类型的计算机协议。如Novell络网的IPX/SPX协议,Internet的TCP/IP协议等。TCP/IP是Internet上使用的网络协议。它代表一族协议,包括ARP,IP,I
16、CMP,IGMP,UDP,TCP等。TCP和IP协议是其中最重要的网络协议。3.2.2 IP3.2.2 IP报文的格式报文的格式 IP报文是IP协议的基本处理单元。传输层的数据交给IP协议后,IP协议要在前面加上一个IP报文头,用于控制IP协议对数据的转发和处理等。IP报文头的格式如图3-10所示。从图中可知,IP报文由报文头(控制部分)和数据部分组成。IP报文头部包括20字节的固定部分和变长的选项部分。20个字节的固定部分包括IP协议的版本号、IP报文长度、服务类型、报文总长度、标识符、段位移、报文生存时间、头部校验以及源端IP地址和目的端IP地址。可选的变长部分包括源选径等多个可选控制项。
17、下面我们分别介绍IP报文头中各项的作用。图3-10 IP报文格式 1.1.版本号(版本号(VersionVersion)IP报文头部第一项就是IP协议的版本号,它占用4位,表示IP协议版本号。2.2.长度字段:头长度(长度字段:头长度(IHLIHL)和总长度()和总长度(Total lengthTotal length)在IP报文头中有两个长度字段,一个表示IP报文头长度,一个表示IP报文的总长度。3.服务类型(TypeofService)IP报文头中的服务类型指明对数据包的处理方式。该字段为一个字节,被分为5个子域。其结构如下:其中优先权占3比特位,指示本报文的重要程度,其值为0到7。0表示
18、一般优先权,而7表示网络控制优先权。值越大,表示优先级越高。它提供了一种可以利用的手段,让网络控制信息比一般数据具有更高的优先级。D,T,R三位表示本报文所希望的传输类型。D是延迟(delay)的缩写,T是吞吐率(throughput)的缩写,而R表示可靠性(reliability)。如果为1,分别表示要求低延迟、高吞吐率或高可靠性等。如果当前的会话为文件传输,可以把这三个比特设置为001,就表示不需要低延迟或高吞吐率,而需要可靠性。默认值为000,表示正常报文。路由器可以把它们当作选径时的参考。应该说明的是,这三个标志位中只能有一个为1,否则路由器将无法正确地进行处理。4.4.报文分段与重组
19、的实现报文分段与重组的实现IP协议组装的IP报文要放在物理帧中进行传输。不同的物理网络,使用的帧格式以及容许的帧的长度都是不一样的。在IP包头中,有三个字段,用来实现对数据包的分段和重组:标识符、标志位和分段位移。5.5.报文生存周期控制(报文生存周期控制(Time To LiveTime To Live)报文传输的特点就是对每个数据包单独寻径。因此从源到目的的延迟也是随机变化的。有可能因为路由器路由表状态出现错误,导致报文在网络中无休止地传输。为避免这种情况,IP协议的生存时间TTL限制了一个报文在网络中的存活时间。6.6.协议类型(协议类型(ProtocolProtocol)协议类型指示I
20、P数据部分是由哪一种协议发送的,接收端则根据该协议类型确定应该把IP报文中的数据部分交给哪一个上层协议去处理。7.校验和(Header Checksum)校验和用于保证头部数据的完整性。8.源地址(Source Address)和目的地址(Destination Address)在IP报文的头部,有两个字段,源端地址和目的地址,分别表示报文的发送者及接收者。9.IP报文选项(Options)IP选项主要用于控制和测试。3.2.3 IP3.2.3 IP数据报的分片与重组数据报的分片与重组上面已以谈到,一个IP数据报的长度只有小于或等于一个网络的MTU,才能在这个网络中进行传输。如图3-11所示,
21、路由器R1连接两个网络,其中网络1的MTU为1500B,网络2为1000B。如果主机A要发送数据报到主机B,由于主机A连接着MTU值为1500B的网络1,所以它发送的IP数据报字节数最大可达1500B。到路由器R1后,由于网络2的可传送的数据报最大为l000B,因此,路由器R1尽管能够收到主机A发送的数据报,却不能在网络2上转发它。为了解决这一问题,IP互联网通常采用分片与重组技术。3.2.4 IP3.2.4 IP寻址与子网分割技术寻址与子网分割技术1.IP地址IP协议提供了一种互联网通用的地址格式,它是分配给一个网络、LAN或网络设备等的一个惟一标识符,使得其它网络中的其它主机可以找到它。I
22、P地址由32位二进制数表示,有两个组成部分:网络地址部分和主机部分。如图3-12所示。图3-12IP地址格式(1)点分十进制IP地址(2)IP地址的分类和表示IP协议按第一个字节的前几位而分为A,B,C,D,E五类,如图3-13所示。利用IP地址的前几们就可辨出它的地址类型。例如:第一个字节的最高位为0,则表示其为A类地址。如果前两位为10,则表示其为B类地址。D类和E类地址很少使用。其中A,B,C类地址为单播(unicast)地址,单播地址仅表明网络中的一台设备。而D类地址为组播(multicast)地址。E类地址保留,以备将来的特殊用途。图3-13IP地址格式(3)保留地址有一些地址保留使
23、用,不能分配给网络中的设备。这些地址如下:广播地址广播(broadcast)地址和组播(multicast)地址不是指某一台具体的机器,而是指满足一定条件的一组机器。广播地址和组播地址都只能作为IP报文的目的地址,表示报文的一组接收者。网络地址主机地址部分全为0的地址代表网络地址,它用于标识网络本身,例如198.150.11.0是一个C类地址,它的最后一个八位组为0,即主机位全为0,所以它代表的是一个网络,任何连接在此网络中的设备都不能使用。任何发往该网络主机(198.150.11.1到198.150.11.254)的数据,目的网络都是198.150.11.0。只有数据到达局域网时,才进行主机
24、位的匹配。回送地址A类网络地址127是一个保留地址,叫做回送地址(loopbackaddress)。(4)组播地址组播地址指定一个主机组。它和广播地址的区别在于,广播地址是按主机的物理位置来划分各组的,而组播地址指定一个逻辑组,用来转发目的地址为预先定义的一组IP地址的分组,参与该组的机器可能遍布整个Internet网。D类地址用来支持组播。2.2.子网与子网掩码子网与子网掩码 为了减缓IP地址就将耗尽这种趋势,提出了地址掩码(mask)和子网(subnet)的概念。(1)子网子网编址(SubnetAddressing)技术,又叫子网路由(Subnetrouting),是最广泛使用的IP网络地
25、址复用方式,目前已经标准化,并成为IP地址模式的一部分。(2)子网掩码IP协议标准规定:每一个使用子网的网点都选择一个32位的位模式,若其中的某位置1,则对应IP地址中的某位为网络地址(包括互联网部分和物理网络地址)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。IP地址的每一类都具有默认的子网掩码,它定义了每个地址类别中IP地址的多少位用于表示没有子网时的网络地址。这些默认的子网掩码如表3-3所示。地址类默认子网掩码网络位数A类255.0.0.08B类255.255.0.016C类255.255.255.024表3-3 默认子网掩码、最大的网络和主机(3)子网掩码与
26、IP地址子网掩码与IP地址结合使用,可以区分出一个网络地址的网络地址和主机地址。例如:有一个C类地址为:192.9.200.13,其默认的子网掩码为:255.255.255.0,则它的网络地址和主机地址可按如下方法得到:1)将IP地址192.9.200.13转换为二进制110000000000100111001000000011012)将子网掩码255.255.255.0转换为二进制111111111111111111111111000000003)将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分,即11000000000010011100100000001101AND1111111
27、1111111111111111100000000=11000000000010011100100000000000,结果为192.9.200.0,则网络地址为192.9.200.0。4)将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分,即11000000000010011100100000001101AND00000000000000000000000011111111=00000000000000000000000000001101,结果为0.0.0.13,即主机地址为13。(4)可变长子网掩码在实际应用中,采用默认子网掩码往往受到很多约束。如一个企业申请了一个C类地址空
28、间,但根据应用需要分成几个子网来用,此时默认的子网掩码就无法满足要求。扩展网络地址由上面所讲的基本网络地址和多出的子网地址组成。通过使用子网地址可以在主机地址空间内划分出一部分地址位作为子网的网络地址。这类子网掩码也称为可变长子网掩码(Variable-LengthSubnetMasks,VLSM)。3.3.地址解析协议(地址解析协议(ARPARP)与反向地址解析协议)与反向地址解析协议(1)地址解析协议(ARP)假设在以太网上运行的IP协议,把需要发送的数据封装后,要交给数据链路层发送。我们知道以太网上使用6字节的MAC地址,每一个网卡上使用的MAC地址是由网卡的生产厂家设置的,和该接口上的
29、IP地址没有对应的关系。IP层协议只知道要发送的下一站的主机和路由器的IP地址,那么链路层如何决定下一站主机的MAC地址呢?在以太网等局域网上,使用ARP协议,来实现IP地址到MAC地址的动态转换。(2)反向地址解析协议(RARP)RARP协议可以实现MAC地址到IP地址的转换。无盘工作站在启动时,只知道自己的网络接口的MAC地址,而不知道自己的IP地址。它首先要使用RARP得到自己的IP地址后,才能和其他服务器通信。在一台无盘工作站启动时,工作站首先以广播方式发出RARP请求。这个RARP服务器就会根据提供的RARP请求中的MAC地址为该工作站分配一个IP地址,组织一个RARP响应包发送回去
30、。RARP包和ARP包的格式完全一样。唯一的差别在于RARP请求包中是发送者填充的源端物理地址,而源端IP地址为空。在同一个子网上的RARP服务器接收到请求后,填入分配的IP地址,然后发送回源端。4.IPv6简介TCP/IP是在20世纪80年代被采用的,它使用两层地址结构,这在当时可以提供充分的可扩展性。但是随着IP网张爆炸性的增长,可用的IP地址空间正在缩小,核心的Internet路由器处理能力也逐渐耗尽。IPv4地址策略已不能满足人们的需要。解决地址不足的另一种方法是开发出了一种可扩展、可升级的IP版本,即IPv6。IPv6取代IPv4现用的32位地址而使用128位地址空间,如图3-15所
31、示。IPv6使用16进制数来表示这128位。它可以提供160亿IP地址(3.41038个地址)。此版本的IP为今后的通信需求提供了充足的地址。IP地址中专门保留了三个区域作为私有地址,其地址范围如下:A类10.0.0.0/8:10.0.0.010.255.255.255B类172.16.0.0/12:172.16.0.0172.31.255.255C类192.168.0.0/16:192.168.0.0192.168.255.255注意:IP地址10.0.0.0后跟的/8表示子网掩码中包含8个1,即子网掩码为255.0.0.0。使用私有地址的网络且能在内部进行通信而不能与其他网络互连。但可以通
32、过将本网络内的保留地址翻译转换成公共地址的方式实现与外部网络的互连,这个转换过程称为网络地址转换(NetworkAddressTranslation,NAT),可以用路由器或防火墙来执行地址转换。这也是保证网络安全的重要方法之一。3.2.5 3.2.5 私有地址与私有地址与NATNAT技术技术 3.2.6 TCP/IP3.2.6 TCP/IP实用程序实用程序TCP/IP是一种复杂的协议集合。多数厂家开发的协议组都包括大量实用程序,用来查看配置信息和进行故障排除。在下面的小节中,我们将介绍下列常用的TCP/IP实用程序:分组Internet查找实用程序(ping)。地 址 解 析 协 议(Add
33、ress Resolution Protocol,ARP)和 反 向ARP(ReverseARP,RARP)。Netstat和tpcon。IP配置实用程序:ipconfig、winipcfg、config和ifconfig。路由跟踪实用程序:traceroute、tracert和iptrace。注意,执行相同功能的实用程序在不同的厂商那里的名称可能行所不同。1.用Ping命令测定网络的连通性2.ARP和RARPARP指的是协议本身和用来查看及控制ARP高速缓存的命令行实用程序。3.Netstat/Tpcon网络统计命令可帮助我们获取很多有用的网络连接信息。netstat命令在Windows和U
34、NIX/Linux中用来显示TCP/IP连接和协议信息。Novell中用tpconNLM命令。4.Ipconfig、Winipcfg、Config和Ifconfig根据操作系统的不同,使用下列实用程序可以显示TCP/IP配置信息:IpconfigWindowsNT和Windows2000(命令行)WinicfgWindows95和98(图形界面)IfconfigUNIX和Linux(命令行)ConfigNetWare(服务器控制台)5.Tracert、Iptrace和Traceroute本命令用来跟踪分组从源计算机发送到目标主机的路由。TCP/IP堆栈中包括识别信息传递所通过的路由器的路由跟踪
35、实用程序。根据操作系统的不同,可以使用下列程序中的一种:TracertWindowsIptraceNetWareNLMTracerouteUNIX/LINUX3.2.7 IP3.2.7 IP路由技术路由技术 路由选择是OSI参考模型第3层的功能。路由是指将数据分组从一个网络(或子网)传递给另个网络,是寻找一个设备到另一设备的最有效路径的过程。执行这个功能的主要设备是路由器。1.IP路由的工作方式地址是另个子网的消息怎样才能到达它们的目的地呢?它们通过称作IP转发的过程来实现。IP处理逻辑地址(而不是物理地址,如MAC地址)和组的路由。在分组被发送时,IP察看源IP地址、目标IP地址及子网掩码并
36、执行AND计算。这样可以确定目标计算机是在相同的子网上还是在不同的子网上。如果位于相同的子网,分组就传送给目标计算机。如果位于另一个子网,IP就将分组发送给默认的网关。图3-16包从网络A上的计算机传送给网络B上的计算机2.简单路由网络的例子我们来看一看简单的路由网络。网络A的网缉络号为198.1.1.0。网络B的网络号为203.13.4.0。两个网络都是无子网的C类网络如图3-16所示。路由器(专用设备或作为路由器的计算机)必须属于至少两个网络。这意味着分配给它的两个网卡(NIC)的IP地址必须位于不同的网络或子网上。在图3-16中,一个NIC的IP地址配置成198.1.1.1,另一个NIC
37、的IP地址配置成203.13.4.1。3.2.8 3.2.8 传输层协议传输层协议TCPTCP与与UDPUDP1.TCP协议功能概述传输控制协议(TCP,transportcontrolprotocol)是工作在传输层的主要协议,它的主要功能是可靠而又准确地传输并控制源主机与目的主机之间的信息流。其主要职责是提供一个从一台计算机到另一远程计算机上的“端到端(Peer-to-Peer)”的控制,如图3-17所示。图3-17传输层的端对端通信2.三次握手(3-wayhandshake)TCP协议是面向连接的,所以它每次开始传输数据之前需要先建立连接。为确保连接的可靠建立与终止,TCP使用了三次握手
38、法。所谓三次握手,就是在连接的建立与终止过程中,通信的双方需要交换3个报文。第1次:A向B发出连接请示,其初始序号是X,确认(ACK)号是0,设置SYN位,未设置ACK位。第2次:B收到连接请求后,发回连接确认,确认号是X+1,并且主机B的初始序号是Y,设置SYN位和ACK位。第3次:主机A向主机B发送对B的确认序号Y+1,A的序号是X+1,设置ACK位,未设置SYN位。连接建立之后,就开始进行数据传输。图3-18三次握手 3 3 TCP TCP的流控与滑动窗口的流控与滑动窗口 TCP使用窗口机制进行流量控制。当一个连接建立时,连接的每一端分配一块缓冲区来存储接收到的数据,并将缓冲区的尺寸发送
39、给另一端。当数据到达时,接收方发送确认,其中包含了自己剩余的缓冲区尺寸。我们将剩余缓冲区空间的数量叫做窗口(window),接收方在发送的每一确认中都含有一个窗口通告。如果接收方应用程序读取数据的速度与数据到达的速度一样快,接收方将在每一确认中发送一个非零的窗口通告。但是,如果发送方操作的速度快于接收方,接收到的数据最终将充满接收方的缓冲区,导致接收方通告一个零窗口。发送方收到一个零窗口通告时,必须停止发送,直到接收方重新通告一个非零窗口。3-19TCP的流量控制过程 4.4.确认与重传确认与重传 可靠的传输保证数据流能从一台主机通过数据链路传递到另一台主机而没有数据重复或丢失。主动确认及重传
40、是一种保证数据可靠传输的技术。如图3-20所示,发送方发送数据分组1,2和3。接收方通过请求数据分组4来确认收到分组。发送方在收到确认之后就会发送分组4,5和6。如果分组5没有到达目的地,接收方就会通过请求重新发送分组5来进行确认。发送方在重新发送分组5且收到确认后再继续发送分组7。图3-20传输确认图3-21TCP序号及确认5 5 接口和套接字接口和套接字 在一台主机上,常常有多个网络应用程序发送请求并接收响应。它们都可能使用TCP或UDP协议进行通信。那么在传输层协议接收到数据后,如何区分数据到底是发送给哪一个应用程序的呢?比如,在同一台计算机上,一个响应是电子邮件的报文,另一个是浏览WE
41、B网页的响应,当它们同时到达时,怎么来区分它们呢?为此在TCP协议中引入了端口(Port)和套接字(Socket)的概念。6用户数据报协议用户数据报协议UDP与传输控制协议TCP相同,用户数据报协议UDP也位于传输层。但是,它的可靠性远没有TCP高。从用户的角度看,用户数据报协议UDP提供了面向非连接的、不可靠的传输服务。由于UDP是面向非连接的。UDP协议的最大优点是运行的高效性和实现的简单性。尽管可靠性不如TCP协议,但很多著名的应用程序还是采用了UDP。UDP使用端口对给定主机上的多个目标进行区分。与TCP协议相同,UDP的端口也使用16位二进制数表示。需要注意,TCP和UDP各自拥有自己的端口号,即使TCP和UDP的端口号相同,主机也不会混淆它们。此此课件下件下载可自行可自行编辑修改,修改,仅供参考!供参考!感感谢您的支持,我您的支持,我们努力做得更好!努力做得更好!谢谢!