您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 第4章-TCP-IP协议和IP地址
1.IP协议2.TCP协议3.UDP协议4.IP地址6.习题第4章TCP/IP协议和IP地址5.IP发V6IP协议定义了IP数据报格式,并且对数据报寻址和路由、数据报分片和重组、差错控制和处理等做出了具体规定。IP数据报格式如下图所示。4.1TCP/IP网络层协议4.1.1IP协议•版本:给出了该数据报的IP协议的版本。•报头长度:由于IPv4数据报可以包含可变数量的IP选项,所以这4比特用来确定IP数据报中的数据的起始位置。大多数IP数据报不包含IP选项,所以通常的IP数据报都有一个20字节长度的报头。•服务类型(TOS):服务类型字段使得不同服务要求的报文在传送过程中可以区别处理,特别是在网络发生超载时。•数据报长度:是以字节为单位的IP数据报的总长度(即报头长度+数据长度)。数据报一般都小于1500字节。4.1.1IP协议•标识符、标志和分片偏移量:这三个字段与IP分片有关。•生存时期(TTL):TTL字段用来保证数据报不会在网络中永远传播。当每次数据报经过一个路由器的处理时,TTL值就会减少。如果TTL值变为0,该数据报就被抛弃。•上层协议:该字段仅仅当IP数据报到达最终目的地时才被使用,其值给出了本IP数据报中的数据部分将被传送到的目的地的传输层协议(或上层协议)。•报头校验和:该字段可以帮助路由器发现接收到的IP数据报中的比特错误,它将报头中的每两个字节作为一个数字并用反码的形式计算这些数字的和。4.1.1IP协议•源端和目的端的IP地址:IP数据报中的这两个字段携带着源端和目的端的32比特IP地址。•选项字段:选项字段允许IP报头被扩充。该字段时可选的,它导致了数据报报头长度的不确定性,使得在路由器中对IP数据报的处理所需要的时间差别很大。为了提高路由器和主机上的IP数据报处理性能,IPv6报头中舍弃了IP选项字段。•数据(有效载荷):该字段是IP数据报中的最重要的字段——数据。在大多数环境下,IP数据报的数据字段包含着传输层的要发送到目的端的数据段(TCP或UDP)。数据字段也可以携带其他类型的数据,例如ICMP信息。4.1.1IP协议•1.ICMP协议IP协议在传送数据报时,如果路由器不能正确地传送或者检测到异常现象影响其正确传送,路由器就需要通知传送的源主机或路由器采取相应的措施,因特网控制消息协议ICMP(InternetControlMessageProtocol,ICMP)为IP协议提供了差错控制、网络拥塞控制和路由控制等功能。主机、路由器和网关利用它来实现网络层信息的交互,ICMP中最多的用途就是错误汇报。ICMP信息是在IP数据报内部被传输的,如4-2所示。4.1.2其他协议•1.ICMP协议ICMP信息有一个类型字段和一个代码字段,同时还包含导致ICMP消息首先被产生的IP数据报头部和其数据部分的前8个字节(由此可以确定导致错误的分组),如图4-3所示。4.1.2其他协议8位类型8位代码16位校验和(不同类型和代码有不同的内容)•1.ICMP协议众所周知,ping程序就是给指定主机发送ICMP类型8代码0的报文,目的主机接收到回应请求后,返回一个类型0代码0的ICMP应答。表4-1给出了一些选定ICMP消息。4.1.2其他协议类型代码描述00回应应答(执行ping)30目的网络不可达31目的主机不可达32目的协议不可达33目的端口不可达40源端抑制(拥塞控制)80回应请求90路由器公告100路由器发现110TTL过期120IP头部损坏(1)ICMP差错报文ICMP作为网络层的差错报文传输机制,最基本功能是提供差错报告。ICMP差错报告有以下几个特点:差错报告不享受特别优先权和可靠性,作为一般数据传输。在传输过程中,它完全有可能丢失、损坏或被丢弃。ICMP差错报告数据中,除包含故障IP数据报报头外,还包含故障IP数据报报区的前64位数据。通常,利用这64位数据可以了解高层协议(如TCP协议)的重要信息。ICMP差错报告是伴随着丢弃出错IP数据报而产生的。IP软件一旦发现传输错误,它首先把出错报文丢弃,然后调用ICMP向源主机报告差错信息。4.1.2其他协议ICMP差错报告包括目的地不可达报告、超时报告、参数出错报告等。①目的地不可达报告路由器的主要功能是进行IP数据报的路由选择和转发,但是路由器的路由选择和转发并不是总能成功的。在路由选择和转发出现错误的情况下,路由器便发出目的地不可达报告。目的地不可达可以分为网络不可达、主机不可达、协议不可达、端口不可达等多种情况。4.1.2其他协议②超时报告如果路由器发现当前数据报的生存时间(TTL)已减为0,则该路由器将丢弃该数据报,并且向源主机发送一个ICMP超时差错报告,通知源主机该数据报已被丢弃。③参数出错报告路由器或目的主机在处理收到的数据报时,如果发现报头参数中存在无法继续完成处理任务的错误,则将该丢弃该数据报,并向源主机发送参数出错报告,指出可能出现错误的参数位置。4.1.2其他协议(2)ICMP控制报文ICMP控制报文包括拥塞控制和路由控制两部分。所谓拥塞,就是路由器被大量涌入的IP数据报“淹没”的现象,其原因主要有:①路由器处理速度慢,不能完成IP数据报排队等日常工作。②路由器传入数据速率大于传出速率。为控制拥塞,IP软件采用“源站抑制”技术。路由器对每个接口进行监视,一旦发现拥塞,立即向相应源主机发送ICMP源抑制报文,请求源主机降低发送IP数据报的速率。4.1.2其他协议•2.ARPARP(AddressResolutionProtocol),即地址解析协议,实现通过IP地址得知其物理地址(MAC地址)。在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。4.1.2其他协议•2.ARP4.1.2其他协议ARP的工作原理在每台安装有TCP/IP协议的计算机中都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。①当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。②如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面,就可以发送了。•2.ARP4.1.2其他协议ARP的工作原理③如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播:“我是192.168.1.5,我的MAC地址是00-aa-00-66-d8-13,请问IP地址为192.168.1.1的MAC地址是什么?”④网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。⑤这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。•2.ARP4.1.2其他协议ARP的工作原理⑥主机A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或者B向A发送信息时,直接从各自的ARP缓存表里查找就可以了。⑦ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般为15~20分钟)如果表中的某一行内容(IP地址与MAC地址的映射关系)没有被使用过,该行内容就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。•3.RARPRARP(ReverseAddressResolutionProtocol),即反向地址解析协议。如果某站点被初始化后,只有自己的物理地址(MAC地址)而没有IP地址,则它可以通过RARP协议发出广播请求,征询自己的IP地址,RARP服务器负责回答。RARP协议广泛用于无盘工作站获取IP地址。4.1.2其他协议4.1.2其他协议RARP的工作原理:①源主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址。②本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址。③如果存在,RARP服务器就向源主机发送一个响应数据包,并将此IP地址提供给源主机使用。④如果不存在,RARP服务器对此不做任何的响应。⑤源主机收到RARP服务器的响应信息,就利用得到的IP地址进行通信;如果一直没有收到RARP服务器的响应信息,表示初始化失败。Internet传输层包含了两个重要协议:传输控制协议TCP和用户数据报协议UDP。TCP是专门为在不可靠的Internet上提供可靠的端到端的字节流通信而设计的一种面向连接的传输协议。UDP是一种面向无连接的传输协议。返回4.2TCP协议网络进程间的通信需要确定给定主机上的哪个本地进程使用了哪种协议与哪台远程主机上的哪个进程进行了通信。端口和套接字概念提供了一种以统一的方式惟一地标识连接以及参与连接的程序和主机的方法。•端口有公用端口和临时端口两种。•套接字是用于通信协议的几种应用编程接口API之一。套接字是一种特殊的文件句柄,被一个进程用来向操作系统请求网络服务。一.传输层端口4.2TCP协议1.传输层端口DNS:域名服务器FTP:文件传输协议TFTP:简单文件传输协议TELNET:远程登录RPC:远程进程调用SMTP:简单邮件传送协议SNMP:简单网络管理协议HTTP:超文本传输协议4.2TCP协议2.TCP协议TCP协议是TCP/IP协议簇中最重要的协议之一,它向高层应用提供了面向连接的可靠的数据流传输服务。传输层的协议数据单元称为数据段。TCP提供的服务有如下几个特征:(1)面向连接(2)完全可靠性(3)全双工通信(4)数据流接口(5)连接的可靠建立与关闭4.2TCP协议4.2TCP协议3.TCP报文格式4.TCP连接的建立与关闭为确保连接建立和关闭的可靠性,TCP使用“三次握手”算法实现客户端和服务器端的消息交换。4.2TCP协议5.TCP的确认与重传为了保证TCP协议传输的可靠性,TCP采用了“确认”和“重传”技术。为了提高系统确认的效率,TCP采用了“滑动窗口”技术。基本思想是:首先确定发送双方协商一个窗口的大小,并规定只有位于这个窗口中的数据段才可以被发送出去。其次,当收到接收方对窗口中第一个数据段的确认信息后,窗口就向后滑动一个数据段。在规定时间内接收方若没有收到窗口中第一个数据段的确认消息,则重传窗口中第一个数据段。4.2TCP协议4.2TCP协议(1)滑动窗口协议报文1、2、3已发送且确认;报文4、5已发送,但至少报文4未确认。假如报文5先确认,报文4后确认,后面的报文还未确认,则窗口一次向前滑动两个位置。报文4确认之前,窗口是不能滑动的,报文4确认后窗口立即滑动。4.2TCP协议(2)确认与重传机制TCP建立在一个不可靠的虚拟通信系统上,数据的丢失可能经常发生,一般发送方利用重传技术补偿数据包的丢失。接收方正确接收数据包时,要回复一个确认信息给发送方;而发送方发送数据时启动一个定时器,在定时器超时之前,如果没有收到确认信息,则重新传送该数据。4.2TCP协议(2)确认与重传机制6.TCP的流量控制TCP使用窗口机制进行流量控制。当一个连接建立时,连接的每一端分配一块缓冲区来存储接收到的数据,并将缓冲区的尺寸发送给另一端。当数据到达时,接收方发送确认,其中包含了自己剩余的缓冲区尺寸。这个剩余缓冲区空间的数量叫做窗口,接收方在发送的每一确认中都含有一个窗口通告(非零的窗口通告、零窗口通告)。窗口和窗口通告可以有效地控制TCP的数据传输流量,使发送方发送的数据不会溢出接收方的缓冲空间。4.2TCP协议UDP建立在IP协议的基础上,它提供了与IP协议相同的面向无连接的、不可靠传输服务。UDP协议不使用确认信息对数据段的到达进行确认,不能保证数据段到达的顺序,也不能向发送端反馈信息进行流量控制,因而会出现数据段丢失现象。由于UDP的简单性,采用UDP协议的应用程序可以高效地传输数据,例如流式多媒体、因特网电话等,其可靠性
本文标题:第4章-TCP-IP协议和IP地址
链接地址:https://www.777doc.com/doc-7176645 .html