第3讲 计算机网络通信协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

★学习目标★熟悉计算机网络通信协议的概念熟悉TCP/IP体系结构中通信协议的工作特点掌握ARP、DHCP、IP、TCP、UDP等主要通信协议的功能掌握协议与端口号之间的关系第3讲计算机网络通信协议重点难点熟悉TCP/IP体系结构中通信协议的工作特点掌握ARP、DHCP、IP、TCP、UDP等主要通信协议的功能掌握协议与端口号之间的关系第3讲计算机网络通信协议3.1计算机网络通信协议概述在网络中真正参与通信的是不同系统中的实体。这里所讲的实体,是参与数据发送和接收的任何对象,包括终端、应用软件、通信进程等。不同实体之间的通信需要一些规则和约定,如传输的数据采用哪一种编码或格式、使用哪一种方式确定发送者和接收者的地址、当数据在传输过程中出现错误后如何处理、发送方和接收方如何保持速率的一致等。将类似于以上介绍的这些规则和约定的集合称为协议或通信协议。由此可以看出,当不同的实体之间进行通信时必须使用相同的协议。3.2TCP/IP体系结构中的协议特点3.2.1TCP/IP体系结构中各协议之间的关系3.2.2TCP/IP体系结构中数据的封装和解封装过程图3.2TCP/IP网络中数据的传输过程•子网•网络接入协议•路由器•全局地址•端口1.重要概念•在TCP/IP参考模型中,每一层的数据称为协议数据单元(PDU),例如TCP报文段也称为TCPPDU。在数据发送端,在每一层添加首部信息的过程称为数据封装,如图3.3所示。在数据接收端,每一层去掉首部信息的过程称为数据解封。2.操作过程图3.3TCP/IP网络中数据的封装过程•TCP/IP协议栈的网际层提供寻址和路由选择协议,路由器、三层交换机主要工作在该层。网际层的协议主要有网际协议(IP)、网际控制报文协议(ICMP)、地址解析协议(ARP)、反向地址解析协议(RARP)和动态主机配置协议(DHCP)。3.3网际层协议3.3.1网际协议(IP)•在TCP/IP协议栈中,IP主要负责逻辑寻址。通过相应管理机制,可以使不同的设备之间利用IP地址进行通信。IP数据包由IP头和数据组成。IP头的结构如图3.4所示。。3.3.2网际控制报文协议(ICMP)•ICMP(InternetControlMessageProtocol,Internet控制消息协议)经常被认为是IP层的一个组成部分。•1.ICMP的格式•它携带于IP数据包中(如图3.5所示)。•图3.5ICMP封装在IP数据包内部•图3.6使用ping命令测试网络连通状况•ICMP报文主要有两大类:查询报文和错误报文。查询报文是指ICMP响应请求、响应回答、路由器公告、地址屏蔽请求等。而绝大部分ICMP消息是错误报文,例如:目的地址不可到达、源地址消亡、生命周期超时等。•ICMP报文的格式图3.7所示。所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。2.ICMP应用举例•下面以ICMP不可到达为例进行说明。ICMP不可到达的报文类型值为3,可以依据不同的代码值实现不同的不可达功能。(1)网络不可到达•如图3.9所示,如果路由器A不知道到达192.168.3.0/24的路由,路由器A就会使用代码号为“0”的“网络不可到达”的代码向客户机返回一个ICMP消息,以响应客户机的目的地为192.168.3.2/24的包数据包。“网络不可到达”的代码用来表示某个网络(网段)不可到达。(2)主机不可到达•如图3.10所示,如果路由器A有到达192.168.3.0/24的路由,它会将数据包传给路由器B。但是这个时候Web服务器忽然出现了故障,路由器B接收不到来自Web服务器的信息,因此路由器B会使用代码号为“1”的“主机不可到达”的代码向客户机返回一个ICMP消息。“主机不可到达”的代码用来表示某单一主机不可到达。•(4)协议不可到达–如果数据包成功地到达了Web服务器,但是服务器上没有运行TCP或者UDP协议(基本上不可能有这种情况),那么Web服务器将返回一个代码为2的“协议不可到达”的ICMP消息。•(5)端口不可到达–如果数据包成功地到达了Web服务器,服务器上也运行有TCP协议,但是服务器上的相关软件还没有运行,无法处理客户机连接,于是服务器上的TCP/IP将返回一个代码为3的“端口不可到达”的ICMP消息代码描述场合发送方目标网络不可到达路由表中无目标网络路由器目标主机不可到达主机无响应路由器禁止分割需要进行分割但设置了不分割比特位路由器协议不可到达主机上无相关的传输层协议(TCP、UDP)主机端口不可到达目标端口没有被应用程序打开主机表3.3ICMP不可到达消息总结3.ICMP超时的原因分析•超时ICMP报文与IP报头中TTL字段一起使用。我们简单介绍一下“传输期间TTL值为0”的代码。•当数据包到达路由器时,路由器都需要把数据包IP头中的TTL的值减1。当TTL值被减到0时,数据包就会被丢弃。此时丢弃这个包的路由器会返回一个代码为“传输期间TTL值为0”的ICMP消息给原始发送者。•TTL值可以防止数据包在网络上被循环往复的传输。例如,当发生路由回路时,数据包可能在回路上被一直循环的传输。但是由于数据包每次经过路由器,TTL字段的值都会减1,因此当TTL值减为0时,循环包就会被自动丢弃。3.3.3地址解析协议(ARP)•介质访问控制层(MediaAccessControl,MAC)地址对于每一台设备是全球唯一的,该地址被烧录在网卡(NetworkInterfaceCard,NIC)的硬件电路上。MAC地址由12位16进制数表示,其中前6位标识网卡的制造厂商,后6位是网卡的序列号。在以太网中,一个主机要和另一个主机进行直接通信,必须知道目标主机的MAC地址。•ARP(AddressResolutionProtocol,地址解析协议)用来将IP地址映射到MAC地址,以便设备能在多路访问介质上通信。图3.12ARP请求的过程图3.13ARP回应的过程•3.3.4反向地址解析协议(RARP)•反向ARP(ReverseAddressResolutionProtocol,RARP)是ARP的逆过程,RARP就是用于那些不知道自己IP地址的无盘工作站或者无配置的路由器。使用RARP时,站点广播一个包含自己MAC地址的RARP请求,网络上所有的主机都会接收到该请求,但只有被授权的RARP服务器才能处理这个请求。RARP服务器有一张映射表,它可以查出该MAC地址与哪个IP地址相对应,然后把响应发送给源站点。图3.14可以清楚的说明RARP是如何工作的。•如果某个网段上存在多个被授权的RARP服务器时,这些RARP服务器都会以单播方式响应RARP请求,如图3.15所示。不过当源主机接收到一个RARP应答时,它只接收第一个到达的RARP应答。说明:ARP和RARP都是在数据链路层上实现的。动态主机配置协议(DHCP)是现代RARP的实现3.3.5动态主机配置协议(DHCP)•DHCP是将IP地址和一些TCP/IP配置分配给网络中的计算机的一项服务和协议。它克服了手动配置TCP/IP客户端及维护IP地址的局限性。•DHCP专门设计了一个地址池,从地址池中动态地为客户机分配IP地址和TCP/IP配置。使用DHCP有以下几点好处:–DHCP省去了很多维护工作,管理员无须到每台客户机上去设置TCP/IP设置、无须维护IP地址分配表。–当网络中的IP配置需要更换时(例如IP地址从192.168.1.0/24换到10.10.0.0/16、或者DNS服务器地址需要更换等),使用DHCP您只需在DHCP服务器上更改相应的设置就可以轻松完成网络升级。–DHCP大大降低了IP地址冲突的可能性。•图3.16DHCP客户端与服务器DHCPDISCOVER(广播)DHCPOFFER(单播)DHCPREQUEST(广播)DHCPACK(单播)DHCP客户端DHCP服务器这样这个IP地址就会租给这个客户端一段时间,在租用期间,客户端每次登陆时都会向服务器发出这个IP地址的续定请求(DHCPREQUEST)。如果租用期到了,但是客户端没有续定,这个IP地址就会退回到DHCP服务器的地址池中等待重新分配。3.4传输层协议•传输层的主要功能是:分割并重新组装上层提供的数据流,为数据流提供端对端的传输服务。在TCP/IP协议中,有两个传输层协议:传输控制协议(TCP)和用户数据包协议(UDP)。其中,TCP是一个可靠的面向连接的协议,UDP是不可靠的或非连接的协议。3.4.1端口号•每个应用程序都会产生自己的数据流,这些数据流可以把目标主机上相应的服务程序看作自己的目的地。对于传输层来说,它只需要知道目标主机上的哪个服务程序来响应这个应用程序,而不需要知道这个服务程序具体是干什么的。因此,传输层使用一个抽象的端口号来标识这些应用程序和服务程序。1.端口号的功能及应用特点•端口号用来跟踪网络间同时发生的不同会话,因此,每个应用程序在发送数据前都会与操作系统进行协商,获得相应的源端口号和目标端口号•在主机发送应用程序的数据之前,都必须确认端口号,如何分配这些端口号呢?一般有两种情况:–使用中央管理机构统一分配的端口号.–使用动态绑定。2.常用端口号介绍•目前端口号的分配情况大致如下:–小于255的端口号用于公共应用–255~1023是特定供应商应用程序的注册端口号–高于1023的端口号未作规定常用的应用层协议或应用程序端口号UDPTCPFTP21Telnet23SMTP25DNS53TFTP69SNMP161HTTP80DHCP67RPC(远程过程调用)1353.4.2用户数据报协议(UDP)•UDP是TCP/IP中的一个非常重要的协议,图3.20显示了UDP数据域的头格式•UDP为应用程序提供的是一种不可靠的、非连接的分组交付服务,UDP报文可能出现丢失、重复、时延、乱序、连接失效等问题。但是正是由于它不提供这种可靠性,所以它的开销很小。•UDP还可以用于操作信息的登陆。例如向日志服务器syslog发送日志信息,采用UDP不会导致多台设备向一台服务器发送日志信息而引起过载。•UDP依靠上层协议提供可靠性,包括处理报文的丢失、重复、时延、乱序、连接失效等问题。如real的流格式媒体就是使用应用层协议来保证数据的正确传输。3.4.3传输控制协议(TCP)•1.TCP的功能–面向连接的虚电路。–面向流。–流量控制,避免拥塞。–多路分解技术(多路复用技术)。用端口号来实现。–全双工连接。2.TCP头格式•在传输层,数据被封装成数据段,TCP连接用段实现网络间的通信,段的最大长度取决于输出接口的最大报文长度或系统间协商的结果。图3.21显示了TCP数据域的头格式。3.TCP的面向连接特点•TCP提供了面向连接的服务。面向连接服务的实现需要3个阶段:连接建立、数据传输和连接终止。TCP连接建立时的三次握手TCP使用改进的三次握手来释放连接图3.23TCP报文段的传输过程3.5.1超文本传输协议(HTTP)•HTTP(HypertextTransferProtocol,超文本传输协议)是一个应用层的面向对象的协议,它适用于分布式超媒体信息系统。•(WorldWideWeb,,也简称为Web)服务器使用的主要协议就是HTTP。由于HTTP支持的服务不限于,还可以是其它服务,因此HTTP允许用户在统一的界面下,采用不同的协议访问不同的服务,如FTP、SMTP、NNTP等。•HTTPS(HypertextTransferProtocoloverSecureSocketLayer)是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTPS常用的实现方法是,在HTTP中使用SSL层,从而实现对Web客户端与Web服务器端所传输数据的加密处理,保证通信的安全性。3.5应用层协议3.5.2文件传输协议(FTP)•FTP(FileTransferProtocol,文件传输协议)是一个用于简化IP网络上系统之间文件传送的协议。采用FTP协议可使用户高效地从Int

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功