TCP的网络v5接口包含的功能层层提供什么功能

TCP/IP分为几层?各层的作用是什么?
*-------ICP/IPInternetWWWHTTPFTPSMTPDNSTelnetTCP/IP
* --------TCP/IPTCPUDP
* ---------TCP/IPIPInternetIP
* -------TCP/IPIPIPIP
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
2___tcpip协议与物理层
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口什么是TCP IP 七层协议_百度知道
什么是TCP IP 七层协议
TCP/IP协议族包含了很多功能各异的子协议。为此我们也利用上文所述的分层的方式来剖析它的结构。TCP/IP层次模型共分为四层:应用层、传输层、网络层、数据链路层。 TCP/IP网络协议 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网间网协议)是目前世界上应用最为广泛的协议,它的流行与Internet的迅猛发展密切相关—TCP/IP最初是为互联网的原型ARPANET所设计的,目的是提供一整套方便实用、能应用于多种网络上的协议,事实证明TCP/IP做到了这一点,它使网络互联变得容易起来,并且使越来越多的网络加入其中,成为Internet的事实标准。 * 应用层—应用层是所有用户所面向的应用程序的统称。ICP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网(WWW)访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、 远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。 * 传输层—这一层的的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协议有TCP和UDP。 * 网络层—是TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。 * 网络接口层—这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。 1.TCP/UDP协议 TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。 IP协议的定义、IP地址的分类及特点 什么是IP协议,IP地址如何表示,分为几类,各有什么特点? 为了便于寻址和层次化地构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。 IP协议(Internet Protocol)又称互联网协议,是支持网间互连的数据报协议,它与TCP协议(传输控制协议)一起构成了TCP/IP协议族的核心。它提供网间连接的完善功能, 包括IP数据报规定互连网络范围内的IP地址格式。 Internet 上,为了实现连接到互联网上的结点之间的通信,必须为每个结点(入网的计算机)分配一个地址,并且应当保证这个地址是全网唯一的,这便是IP地址。 目前的IP地址(IPv4:IP第4版本)由32个二进制位表示,每8位二进制数为一个整数,中间由小数点间隔,如159.226.41.98,整个IP地址空间有4组8位二进制数,由表示主机所在的网络的地址(类似部队的编号)以及主机在该网络中的标识(如同士兵在该部队的编号)共同组成。 为了便于寻址和层次化的构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。 * A类地址:A类地址的网络标识由第一组8位二进制数表示,网络中的主机标识占3组8位二进制数,A类地址的特点是网络标识的第一位二进制数取值必须为&0&。不难算出,A类地址允许有126个网段,每个网络大约允许有1670万台主机,通常分配给拥有大量主机的网络(如主干网)。 * B类地址:B类地址的网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,B类地址的特点是网络标识的前两位二进制数取值必须为&10&。B类地址允许有16384个网段,每个网络允许有65533台主机,适用于结点比较多的网络(如区域网)。 * C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数,C类地址的特点是网络标识的前3位二进制数取值必须为&110&。具有C类地址的网络允许有254台主机,适用于结点比较少的网络(如校园网)。 为了便于记忆,通常习惯采用4个十进制数来表示一个IP地址,十进制数之间采用句点&.&予以分隔。这种IP地址的表示方法也被称为点分十进制法。如以这种方式表示,A类网络的IP地址范围为1.0.0.1-127.255.255.254;B类网络的IP地址范围为:128.1.0.1-191.255.255.254;C类网络的IP地址范围为:192.0.1.1-223.255.255.254。 由于网络地址紧张、主机地址相对过剩,采取子网掩码的方式来指定网段号。 TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。正因为如此 ,它能广泛地支持由低两层协议构成的物理网络结构。目前已使用TCP/IP连接成洲际网、全国网与跨地区网
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁运输层 _百度百科
特色百科用户权威合作手机百科
收藏 查看&运输层本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
OSI中的、和,它们是面向的低三层协议。运输层负责端到端的,既是中负责数据通信的最高层,又是面向的低三层和面向信息处理的最高三层之间的中间层。运输层位于之上、会话层之下,它利用网络层子系统提供给它的服务去开发本层的功能,并实现本层对会话层的服务。
运输层(传输层),解决的是计算机到计算机程序之间的问题,即所谓的“端”到
运输层“端”的。引入的原因:
增加和分用的功能、 消除的不可靠性、 提供从源端主机到端主机的可靠的、与实际使用的无关的信息传输。运输层是ISO/OSI的第四层,处于和之间,是整个协议层次中最核心的一层。它的作用是在优化的基础上,为源主机和主机之间提供可靠的合理的透明,使高层服务用户在相互时不必关心实现的细节。运输层的最终是为传送服务用户提供有效、可靠和合理的运输服务,而传送服务的用户即会话层。运输层是中最重要最关键的一层,是唯一负责总体和控制的一层。运输层要达到两个主要:第一提供可靠的端到端的;第二,向会话层提供独立于的运输服务。 首先,运输层之上的会话层、及均不包含任何的功能,而又不一定需要保证发送站的数据可靠地送至站;其次会话层不必考虑实际网络的、、连接方式等实现的细节。根据运输层在中的和,它的主要功能是对一个进行的对话或连接提供可靠的传输服务;在通向的单一物理连接上实现该连接的利用;在单一连接上进行端到端的及;进行端到端的及恢复;提供运输层的其它服务等。运输层反映并扩展了子系统的服务功能,并通过运输层提供给高层用户传输数据的,使系统间高层资源的共享不必考虑数据方面的问题。提供端到端(-)的可靠,即向高层用户的细节,提供
运输层通用的传输接口。
把传输为;2.
把端到端的传输连接到网络连接上;3. 传输连接管理;4.
端到端的顺序控制、差错检测及恢复、分段处理及QoS监测;5.
加速;6.将的传输映射到的网络地址;7. 将多路的端点到端点的传输连接变成一路网络连接;8.
传输连接的、和;9.
完成传输的传送;10.
端点到端点传输时的差错检验及对服务质量的。UDP(User Datagram Protocol):提供无连接服务;TCP(Transmission Control Protocol):提供。和都使用IP协议。
1.UDP提供了不可靠的无连接传输服务。它使用IP携带报文,但增加了对给定主机上多个进行的。 UDP没有确认机制;不对报文排序;没有超时机制;没有控制流量;使用UDP的应用要承担可靠性方面的全部工作。
2. 传输控制协议TCP(Tranmission Control Protocol)的、可靠的、端到端的、基于流的;TCP不支持(multicast)和(broadcast);TCP连接是基于字节流的,而非消息流,消息的边界在端到端的传输中不能得到保留;对于应用发来的数据,TCP可以立即发送,也可以缓存
运输层一段以便一次发送更多的数据。为了强迫数据发送,可以使用PUSH标记;对于紧急数据(urgent data),可以使用URGENT标记。:用16来表示,即一个主机共有65536个端口。小于256的端口称为通用端口,如是21端口,WWW是80端口等。用来标识一个服务或应用。一台主机可以同时提供多个服务和多个连接。(port)就是的。的各个是通过相应的才能与运输进行交互。一般都是通过人们所熟知的来识别的。例如,对于每个TCP/IP实现来说,的TCP都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用众所周知的1-1023之间的。这些人们所熟知的由Internet端口号分配机构(Internet Assigned Numbers Authority, )来管理。
运输层用户数据报UDP包括两个:数据字段和首部字段。首部字段有8个字节,4个字段组成,每个字段两个字节。字段: 源;端口字段:目的端口号;长度字段:UDP数据报的;检验和字段:防止UDP数据报在传输中出错。:仅为计算检验和而构造。UDP通常作为IP的一个简单运输层扩展。它引入了一个的匹配机制,使得某用户进程发送的每个UDP都包含有报文端口的编号和报文的编号,从而使UDP软件可以把报文传递给正确的接收。
UDP提供的服务:UDP提供的服务与一样,是不可靠的、无连接的服务。但它又不同于IP协议,因为IP协议是协议向运输层提供无连接的服务,而UDP是传输层协议,它向提供无连接的服务。UDP有以下优点:发送数据之前不需要连接,发送后也无需,因此,减少了和发送数据的。UDP不使用拥塞控制,也不保证可靠交付,因此,不需要维护有许多的连接状态表。UDP用户数据报只有8个字节的首部,比TCP的20个字节的首部要短。由于UDP没有,当出现拥塞不会使源主机的发送降低。因此UDP适用实时应用中要求源主机的有恒定发送速率的情况。1.端到端的面向连接的服务;2. 完全可靠性;;3.流接口;4.应用将数据流发送给TCP;5.在TCP流中,每个数据字节都被();6.TCP层将数据流分成并以序号来标识;7.可靠的连接和完美的连接终止。TCP 协议是面向字节的。TCP 将所要传送的报文看成运输层是字节组成的,并使每一个字节对应于一个。
TCP的编号与确认:TCP不是按传送的来编号。TCP将所要传送的整个看成是一个个字节组成的数据流,然后对每一个字节编一个。在连接时,双方要商定初始。TCP就将每一次所传送的中的第一个数据字节的,放在TCP首部的序号中。TCP的确认是对接收到的数据的最高(即收到的数据流中的最后一个序号)表示确认。但返回的确认是已收到的数据的最高序号加。也就是说,确认表示期望下次收到的第一个数据字节的序号。由于TCP能提供全双工,因此通信中的每一方都不必专门发送确认,而可以在传送数据时顺便把确认信息捎带。这样可以提高传输。从TCP图可以看出,一个TCP报文段分为首部和数据两部分。
首部固定部分各字段的如下:
/端口:。用于将若干高层协议向下
发送:是本报文段所发送的数据部分第一个字节的序号
确认:期望收到的数据(下一个)的第一字节的序号
首部长度:单位为32位(双字) ;
紧急(URG):URG=1时表示加急数据,此时紧急的值为加急数据的最后一个字节的 ;
确认比特():ACK=1时表示确认字段有意义 ;
急迫比特():PSH=1时表示请求接收端的传输尽快交付 ;
复位比特():RST=1表示出现严重差错,必须连接,重建 ;
同步比特():SYN=1,ACK=0 表示连接请求消息。SYN=1,ACK=1 表示同意连接消息;
终止比特():FIN=1时表示数据已发送完,要求连接;运输层大小:通知发送方接收窗口的大小,即最多可以发送的字节数 ;
检查和:12B的伪首部 首部 数据;
选项:长度可变。TCP只规定了一种选项,即最大长度 ;TCP使用滑动窗口机制来进行。当一个连接时,连接的每一端分配一个缓冲区来保存输入的数据。当数据到达时,接收方发送确认,并包含一个窗口通告(剩余的空间的数量叫窗口)。如果发送方收到一个零窗口,将停止发送,直到收到一个正的窗口通告。当接收方窗口为0后取出小部分数据将产生一个比较小的窗口通告,使得对方发送一些小的,很低。可以通过延迟通告或发送方延迟发送数据来解决。使用了窗口机制以后,提高了的。1.收到ICMP的;2.超时包丢失;3.TCP把发现包丢失解释为。
避免:指当增大到窗口时,就将拥塞窗口指数增长速率降低为增长速率,避免再次出现拥塞。迅速递减:TCP总是假设大部分包来源于拥塞,一旦包丢失,则TCP降低它发送数据的速率,这种方法能够缓和拥塞。慢启动:TCP开始时只发送一个消息;如果安全到达,TCP将发送两个消息;如果对应的两个确认来了,TCP就再发四个,如此指数一直持续到TCP发送的数据达到接收方通告窗口的一半,这时TCP将降低增长率。TCP的重传机制:TCP重传机制是TCP中最重要和最复杂的之一。TCP每发送一个报文段,就设置一次记时器。只要记时器设置的重传时间到而还没有收到确认,就要重传这一报文段。TCP监视每一连接中的当前延迟,并适配重发来适应条件的。重发定时器基于连接往返延迟:
RTTnew = (alpha*RTTold) ((1 - alpha)*RTTsample))
运输层RTO = beta*RTTnew1.运输连接管理:使运输连接的和都能的进行;2.连接建立的采用的过程叫做或三次联络。三次(three-way handshake)方案解决了由于会丢失、和重复分组带来的问题。三次握手正常连接的过程:主机 A 发出为X的连接请求CR TPDU。主机 B 发出为Y的接受连接确认ACK TPDU,并确认A的序号为X的建立连接请求。主机 A 发出为X的第一个数据DATA,并确认主机 B的序号为Y的接受连接确认。
TCP的:TCP将连接可能处于的及各种状态可能发生的变迁,成如下图所示的有限状态机。图中的每一个方框就是TCP可能具有的状态。方框中写的字是TCP标准中给该状态起的。状态之间的表示可能发生的状态变迁。箭头旁边写上的字,表示是什么原因引起这种变迁,或表明发生状态变迁后又出现什么。运输层的功能是要弥补从获得的服务和拟向运输服务用户提供的服务之间的。它所关心的是提高服务质量包括优化成本。运输层的功能按级别和任选项划分,定义了一套功能集,任选项定义在一个级别内可以使用的功能。OSI定义了五种协议级别,即级别0(简单级)、级别1(基本差错恢复级)、级别2(级)、级别3(差错恢复和多中复用级)和级别4(差错检测和恢复级)。级别与任选项均可在连接过程中通过协商选用。运输层 选用级别及任选项的依据为: 通过T-CNNECT语表示的运输服务用户的要求。 可用的质量。 传输服务用户所能与之比。
运输层根据用户要求和差错,按质量可划为下列三种类型:具有可接受的残留差错率和通知率(连接断开和复位发生的比率),也就是无N-RESET 完美的。具有可接受的残留差错率和不可接受的故障通知率,即完美的分组递交但有N-RESET或N-ISCNNECT存在的。具有不可接的残留差错,即连接不可靠,可能会丢失分组或出现重复,且存在N-RISCONNET的。 可见,质量的划分是以用记户要求比较高,则一个网络可能归于C型 ,反之则一网络可能于B型甚至A型 。例如:而同一对银行系统来说则只能算作C型了。三种类型的中,A型质量最高,分组的丢失,重复或复位等情况可以忽略不计,一般来说,能提供A型服务的宽或网几乎没有。B型质量次之,大多数X-RESET出现这就需要运输层协议来解决。c型质量最差,它是完全不可靠的服务,那些纯提供数据服务的宽域网,分组交用网和很多网都属些类。服务质量划分得较高的,仅需要较简单的协议级别;反之,服务服务质量划分较低的网络,则需要复杂的协议。
五种协议级别中,级别0提供简单的运输连接,它是专为A型设计的。级别0提供具有商的连接、和差错报告的数据运输所需要复杂的,以及提供的和功能。级别1以最小开销提供了基本的运输连接,它是专为B型连接设计的。级别1提供具有运输连接,拆线和在一个连接上支持;连续的运输连接的能,并提供检级别0的功能以及在没有运输服务用户参予的情况下由告警的故障恢复能力。级别2具有在一个络网连接,它是为与A型网络连接而的,级别2具有流量的控制的运输连接的能力。它不是供检错或差功能。级别3提供级别2的功能以外,还提供具有在无运输服务用户参的情况下,检测由告警的故障恢复能力。级别4除提供级别3的功能以外,还提供具在
运输层无运输服务用户参下,检测由提供者提供低质量服务而引起的故障,并从故障中自行恢复的能力。所检测的故障类包括分组丢失、、重份和残缺。级别4还提供增强抗故障的能力。它是专为C连接设计的。【运输的定义和】运输协议数据单元()结构是由八位组(即字节)构成的,字节的编号从1开始,并按它们进入一个网络服务数据单元(NSDU)的顺序递增。每个字节中从1到8对比特进行编号最小的字节为最高有效值。TPDDU按顺序包含下列内容:部、若存在,则占第n+1及其以后的字节;固定部分,占第2、3...、n个字节;可变,若存在,则占第n+1及其以后的字节。长度指示字段L1表示包含L1本身在内头部字节数长度,L1以表示,最大值为254()。例如连接(CR)TPDU的长度不得超过128个字节。若指示的长度超过或实际的网络服务用户数据,则应视为协议出错。固定部分包括TPDU和常出现的参数。固定部分的部分的长度和由TPDU代码。
TPDU代码表中,&XXXX&在级别2、3、4中标志(CDT);在级别0和1中为&0000&。&ZZZZ& 在级别2、3、4中标志许可证;在选择接收确认任选时不能用。可变部分包含不常用的参数,各参数如5.3所示,参数代码,字段用参数长度指示以字节为指出参数值字段的长度。数据字段包含的用户数据,在每一个TPDU中,用户字段的长度均受限制,如cd/cc不能超过32个字节,DR不能超过64个字节,ED为1到16个字节,而DT用户数据长度受;连接时协商TPDU大小的。运输层的最终是为用户提供有效、可靠和合理的服务。图5.1给出了运输层与、运输服务用户三者之间的。在一个系统中,运输通过与其它运输实体,向运运输层输层用户(可以是应用进程,也可以是会话层协议)提供运输服务。运输层的服务包括的内容有:服务的、服务的、数据运输、用户、连接、快速数据运输、状态报告、安全等。运输服务有两大类,面向连接的服务和无连接的服务。面向连接的服务提供运输服务与用户之间逻辑连接的、维持和拆除,是可靠的服务,可提供控制、和序列控制。无连接服务即数据服务,只能提供不可靠的服务。运输协议应该允许运输层用户能选择运输层所提供的服务等级,以利于更有效地利用所提供的链路、及的。可供选择的服务包括差错和丢失数据的、允许的平均延迟和最大延迟、允许的平均以及优先级等。根据这些要求,可将运输层协议服务等级细分为以下四类:
1)可靠的面向连接的协议。2)不可靠的。3)需要定序和定时运输的运输协议。4)需要快速和高可靠的实时协议。数据运输的是在两个运输之间运输用户数据和控制数据。一般采用全双工服务,个别场合也可采用半双工服务。数据可分为正常的服务数据分组和快速服务数据分组两,对快速服务数据分组的运输可暂时中止当前的数据运输,在接收端用优先接收。用户接口机制可以有多种,包括采用过程调用、通过邮箱运输数据和参数、用方式在主机运输层与具有运输层的之间运输等。面向连接的协议需要提供和终止连接的功能。一般总是提供的功能,即两个对话的都有连接管理的功能,对简单的应用也有仅对一方提供连接管理功能的情况。连接的终止可以采用立即运输,或全部数据运输完再终止连接。向运输层用户提供运输或运输连接的状态信息。包括对发送者和接收者的确认、数据的以及通过和以及通过保密的链路和的等安全保密的服务。服务QOS(Quality of Service)是指在连接点之间看到的某些运输连接的,是运输层能的度量,反映了运输质量及服务的可用性。服务质量可用一些参数来运输层描述,如连接延迟、连接建立失败、、输送延迟、残留、连接拆除延迟、连接拆除失败、连接回弹率、运输失败率等等。用户可以在连接时指明所期望的、可接受的或不可接受的QOS参数。通常,用户使用连接原语在用户与运输服务提供者之间协商QOS,协商过的QOS适用于整个运输连接的生存期。但主呼用户请求的QOS可能被运输服务提供者降低,也可能被呼用户降低。
运输连接延迟是指在连接和相应的连接确认之间容许的最大延迟。运输连接失败概率是在一次测量中运输连接的失败总数与运输连接的全部次数之比。连接失败定义为由于服务提供者方面的原因造成在规定的最大容许延迟时间内所请求的运输连接没有,而由于用户方面的造成的连接失败概率内。
吞吐量是在某段时间间隙内单位时间运输的用户数据的字节数,对每个方向都有吞吐量,它们由最大吞吐量和吞吐量组成。输送延迟是在数据请求和相应的数据指示之间所经历的时间,每个方向都有输送延迟,包括最大输送延迟和平均输送延迟。残留差错率是在测量期间,所有的、的和重复的用户数据与所请求的用户数据之比。运输失败概率是在进行样本测量期间观察到的运输失败总数与运输样本总数之比。
运输连接拆除延迟是在用户发起除请求到成功地运输连接之间可允许的最大延迟。运输连接拆除失败概率是引起拆除失败的拆除请求次与在测量样本中拆除请求总次数之比。运输连接
运输层保护是服务提供者为防止用户信息在未经许可的情况下被监视或操作的,选项的无保护特性、针对被动的保护及针对增、删、改的保护等。运输连接优先权为用户提供了指示不同的连接所具有的不同的重要性的。运输连接的回弹率是指在规定时间间隔(如1)内,服务提供者发起的连接拆除(即无连接拆除请求的连接拆除指示)的概率。QOS参数由运输服务用户在请求连接时加以,它可以给出所期望的值和可接受的值,在某些情况下,运输在检查QOS参数时能立即发现其中一些值是无法实现的,在这种情况下,运输实体直接将失败的信息告诉的信息告诉请求者,同时说明失败的原因。另外的一种情况是运输层知道它无法实现用户期望的(例如1200bps的吞量),但能达到稍低一点的且仍能被用户所接受的值(例如600bps的吞吐量),那么它就在请求连接时向机发出这一值。如果机不能处理高于端机可接受的值(例如300bps的吞吐量),那么它就可以将参数降至该可接受值,若目的机连该可接受值也不能处理,则连接请求。由此,请求者总能立即知道是否成功,若成功
运输层则商定的QOS是什么等信息。以上称为选项协商,一旦各种参数协商好,则在整个连接生存期内保持不变。上述QOS参数中的一部分也选用于无连接运输服务。
OSI运输服务(ISO8072)没有具体给出QOS参数的或允许值,这些参数通常在用户与之间商定。为防止某些用户对QOS过于贪心,大多数电信部门对于较高质量的服务相应地也收取较高的费用。OSI运输:为上一层的应用提供一个标准的集,为服务提供者和用户之间进行可靠的架起了一座“”。ISO规范包括四种类型10个运输服务原语,见表5.2。其中服务质量参数指示用户的要求,诸如吞吐量、延迟、可靠度和优先度等。运输 服务(TS)用户数据参数最多可达32个用户数据。
新手上路我有疑问投诉建议参考资料 查看1967人阅读
网络层的作用?网络层有哪些协议?IP数据包的格式?IP数据包传输的过程?为什么需要ARP协议?ARP协议通信过程是怎么样的?(ARP协议如何控制网络?)数据包的最大值?(分片的地方?分片重组的地方?分片的原则?)数据包在局域网内怎么从一台主机传送到另外一台主机?数据怎么实现跨网段传输?(路由如何实现跨网段传输?)什么是默认网关?代理ARP的作用?数据跨网段传输时在路由器中的具体情形?(所谓的穿过路由是指什么?)数据包路由的过程?为什么需要ICMP协议?(ICMP协议差错控制与TCP差错控制对比)什么是ICMP协议?ICMP协议有哪些数据包?(Ping程序的实现?trancerouter程序的实现?)&
一。网络层的作用:&
TCP/IP协议栈的Internet层主要负责处理主机到主机的通信,决定数据包如何交付:是交给网关(路由器)还是交给本地端口。
二。网络层的协议及作用:
网际协议IP:用来路由
网际控制报文协议&ICMP:给IP层提供一定的可靠性
地址解析协议ARP:
反向地址解析协议RARP
三。IP数据包格式:&
头长度(4)
服务类型(8)
总长度(16)
标识(16)
段位移(13)
生存期(8)
头校验和(16)
源IP地址(32) & & & & &
目的IP地址(32)
IP选项(0或者32)
四。数据包传输的过程
首先,传输层将封装好的数据交给Internet层,Internet层收到数据后,将数据封装成一个IP数据包。
注意协议之间的底层无关性:Internet层封装上层数据包时,不关心不管上层传给他的是UDP数据包还是TCP数据包,都将上层传来的数据封装为IP数据包。同样,传输层在封装用户信息流时也是同样的不关心上层数据的内容。
五。为什么需要ARP协议?
IP数据包要想继续向下发送,就必须转化为在物理设备上传输的数据帧。&
在物理设备上传输数据时,数据包首先是被网卡接收,如果网卡接收到的数据包的硬件地址与本机不符,则直接丢弃,如果相符,再交由上层协议处理的。而在我们的网络通信中,源主机的应用程序知道目的程序的IP地址和端口号,却不知道目的主机的硬件地址,因此在通讯前必须获得目的主机的硬件地址。ARP协议就起到这个作用。
六。ARP协议通信过程?
每台机器上都维护着一个ARP缓存表,保存着IP地址到MAC地址的映射
注意:缓存表中的记录有过期时间T,如果T时间内没有再次使用某条记录,则该记录失效,下次使用时,还要再次发ARP请求来获得目的主机的硬件地址。
作用:因为我们的机器需要和大量机器通信,如果没有过期机制的话,显然将会产生巨大的记录量,降低效率。
主机A要和主机B(192.168.0.1)通信,则先查询主机A中的ARP缓存表,看是否有该记录,如果有,则取出对应MAC地址。
如果缓存中没有该记录,主机A发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个ARP请求广播到本地网段(本地网段的任何一个主机都可能是接受者,所以用广播,&广播的目的MAC地址为:FF:FF:FF:FF:FF:FF)主机B收到广播的ARP请求,发现其中的IP地址(192.168.0.1)与本机相符,发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中,主机A接收ARP应答,提取MAC地址,并且将IP和MAC映射存入ARP缓存。
对于其他主机,虽然这个ARP请求可能与它无关,但ARP协议软件也会把其中的源MAC地址与源IP地址的映射记录下来,这样做能够有效的减少ARP请求在局域网的发送次数。&
ARP欺骗的原理:&
通过以上的知识,我们可以知道,主机A要和主机B通信,必须请求得到主机B的MAC地址,而MAC地址,又是通过ARP请求来得到的。又,根据ARP请求的广播机制,与非接收主机也会讲收到的ARP请求存入自己的ARP缓存。那么,我们可以自己发送一个ARP请求,将默认网关的IP作为发送IP,自己的MAC地址作为发送的MAC地址,随便请求一个IP地址的MAC地址。这样,网络中的所有计算机都会更新到默认网关的ARP缓存,而将默认网关IP对于的MAC地址改为我们网卡的MAC地址。从而,发送给默认网关的IP数据帧都会发送给我们自己的主机,我们监视完IP数据包后,再将IP数据包转发出去,即可通过ARP欺骗来完成对网络的监控。同样。当我们只进行ARP欺骗,而不进行转发的时候,则整个网络(内网)都将瘫痪。
当然,这些都只是雕虫小计,装了ARP防火墙的机器,你就不能监控了,要实现监控,最好的方式,还是把你的机器,作为内网的默认网关,所有通往外网的机器都通过你的主机。这样比较合适。
七。数据包的最大值:
就像前面我们说的,IP数据包要想继续向下发送,就必须转化为在物理设备上传输的数据帧。对于网络硬件来说,能传输的物理帧的大小是有物理上限的。这个上限值就是最大传输单元MTU。{令牌环网4500字节,以太网1500字节}。当数据包的比MTU大的时候,数据包是无法封装成帧在网络上传输的,当数据包比MTU小的时候,显然又会浪费网络带宽。
因此,IP数据包最理想的大小应该是相连网络的MTU相符。又因为 ,不同的网络MTU可能不同,当数据包需要经过较小MTU的网络时,我们需要将大数据包划分成更小的数据包(分片),以确保他们能通过无力处理大IP数据包的网络。
分片发生的位置:相连MTU网络间的路由
分片重组的位置:目标主机
分片发生在IP层,通过IP数据报报头中的“标志”和“段位移”来标识
分片后,形成的还是IP数据包,在路由中的处理方式与其他IP数据包一样
&分片示意图:
&& & & &原始数据包:
数据1480字节
&分片以后数据包
数据600字节
数据600字节
数据280字节
&段位移1200
分片的优点:可以让数据包穿过MTU多变的网络。
缺点:分片后形成的多个IP数据包,每个都单独路由,又因为重组发送在目标主机,且又一个分片丢失,则整个原始IP数据包丢失,增大丢包风险。
说了这么多,我们还是只是不知道,数据怎么从一台主机到另外一台主机,接下来,我们一一分解,先从局域网开始。
八。数据在局域网中是如何传播的?
我们知道,在局域网中,无论是按何种拓扑结构组网,还是按何种方式来处理介质访问权限,任何两个节点之间都存在实际的线路链接。
因此,我们通过ARP协议,得到目标主机的MAC地址后,在数据链路层将IP数据包封装为数据帧,将数据帧发送到本地网段上,即可将数据帧成功的交给目标主机(目标主机网卡收到数据帧后,判断MAC地址是否为本网卡MAC地址)。
当你要和很多很多主机通信时,你不可能保证他们都和你在同一网段内
那么不在一个局域网的数据之间,又是如何通信的呢?
九。数据是怎么样实现跨网段传输的?
这就需要路由器通过IP协议来完成此工作了。
下面我们通过一个实际的例子来看:主机A:192.168.1.1&需要和主机B:172.16.1.1通信。
&& & & & &
两个主机并不在同一个局域网,并没有实际的物理线路将他们链接起来。
这个时候,我们在两个网段之间增加一个中转点(路由器),路由器上插有多个网卡,可以同时通过网卡E0接入局域网1 (192.168.1.0/24),同时通过网卡E2接入局域网2(172.168.1.0/24)。这样,局域网1中的机器A(192.168.1.1)要和局域网2中的机器B(172.16.1.1)通信。A将数据将数据包发送到本网段,路由器的E1口接收数据包,再将其通过E2口发送到网段B,主机B即可成功接收来自主机A的信息了。即可实现数据的跨网段传输。
大家发现问题了嘛?
没错,我们前面说了“网卡接收数据包后,首先判断MAC地址是不是本机地址,如果不是,则丢弃。”
而且我们说了“ARP请求是发送广播”,而大家都知道,为了防止广播风暴,路由器是不转发广播的。
那么,这个时候,即使A能有办法获得B的MAC地址,路由器的E1口上的网卡,MAC地址也不是B的MAC地址,这个时候,我们该怎么办呢?
十。什么是默认网关?
默认网关是TCP/IP中的一个配置参数,它是处于本地网络上的某个路由器的接口的IP地址。
在有默认网关的情况下,目的地为非本网段的数据包,源主机都发送给默认网关,由默认网关将数据包正确的发送给目标主机。
在上图中,网络192.168.1.0/24的默认网关为192.168.1.254,目的地为非本地网段的数据包,都发送给这个IP对应的Router,再由该Router转发给目的主机。
十一:什么是代理ARP?
在没有默认网关的情况下,我们也可以使用代理ARP技术来实现让路由器完成数据的跨网段传输功能。
如果我们将网络中所有主机的目的地都设为本地网络,那么当有要发送给外网IP的数据包时,源主机依然会认为目的地为本网段,而使用目的IP发出ARP请求。这个时候,对于目的IP不是本网段的ARP请求,连接在本网段的路由器使用自己的MAC地址回复这个ARP请求。于是主机A将数据发到本地网段,连在本地网络的路由器接收数据,路由器再将数据转发到正确的目的地。(其实运行代理ARP的路由器就相当于默认网关)
&代理ARP的优点:简化了主机的管理(不用再每个主机都单独配置默认网关了)
&&缺点:因为针对每个局域网,外网IP都是很多的,所以:
&&&& 1.在路由器上需要保存一个很大的ARP缓存。
&&&&&&&& 2.每个外网IP都需要发送ARP请求,增大了内网的通信。
在上图中,当没有设置默认网关的时候,主机A发送给主机B的数据包,主机A发送ARP请求后,由连接E1口的Router 用自己E1口的MAC地址回复该ARP请求&。
路由器在E1口接到数据包后,怎么样通过E2口发到主机B所在的网段上去?
十二.路由器中数据跨网段传输的具体情形?
每个路由器中都存有一张路由表,记录着目标网段和对应的网卡出口的映射。
在上面的例子中,路由器的E1口收到数据包,根据数据包取出对应的目的网段的地址172.16.1.1,然后路由器查找路由表,根据IP地址,找到通过E2口可以达到目标网络。于是,路由将数据包从E1口读入,穿过路由器,从E2口写出。
所谓的穿过路由器,应该是指:两个网卡上都分别运行着TCP/IP协议,穿过路由,即从路由的内存中,将数据从网卡1的IP程序拷贝到网卡2的IP程序。
至此,关于路由中的部分,我们就几乎讲完了,我们再来总结下:
【路由器都有哪些功能?】
&& 1.交换和转发功能:将数据从路由器的进入接口,穿过路由器,送到输出接口。
& (将一个数据包从一个网段,发送到另外一个网段。)
&& 2.路由功能:即寻址,通过IP数据包决定正确的下一跳路径
&(通过哪个网卡写出。)
【路由器实现跨网段传输的基础?】
1.硬件基础:有多个网卡,同时在多个网段上,同时属于多个局域网。
2.软件基础:代理ARP(主机将目的地址都配置为本网段,路由器代理回应ARP请求)
在实际中的很多情况下,两个局域网之间可能不仅仅隔了一个网段,同理,我们可以在多个网段之间,通过多个路由器而使彼此连接起来。其实路由器就是将世界各地的各个局域网都连接起来,得到了我们现在的互联网。
十三:路由过程:
1.主机A的传输层将数据交给网络层,网络层加上双方IP地址,TTL等IP报头信息,成为IP数据包,网络层将IP数据报交给数据链路层。
2.数据链路层根据IP地址,通过ARP得到MAC,封装为物理帧,通过网卡发出。
3.主机B接收物理帧,根据MAC地址判断:如果目的MAC地址不是本网卡MAC地址,则丢弃;如果是发给自己的,则交给网络层处理。
4.网络层通过IP地址判断:如果是发给自己的,则交给上层协议处理;如果不是发给自己的,则在路由表中查找此IP合理的下一跳地址(即通过哪个网卡发送到下一个网段),并将数据通过内存,从接收数据网卡的IP程序拷贝到需要发送数据网卡的IP程序。在发送网卡中,IP程序将数据包交给链路层,链路层发送ARP请求,得到下一跳的目的MAC地址,封装为帧,发送。
如此反复,直到IP数据包到达最终正确的接收主机。
十四。为什么需要ICMP?
因为IP协议不提供可靠性且不能保证信息传递,因此发生问题时,通知发送人是很重要的。(IP协议是一种不可靠的协议,无法进行差错控制。但IP协议可以借助其他协议来实现这一功能,如ICMP)
十五。什么是ICMP?&
ICMP: Internet Control Message Protocol 即Internet消息控制协议。
ICMP定义了一套差错报文和控制报文,用于用户主机与路由之间交换不可到达地址、网络拥塞、重定向到更好的路径、报文生命周期超时等信息。
ICMP协议是一种提供(有关阻止数据包传递的)网络故障问题反馈信息的机制。(针对阻止数据包传递或者网络故障。)它让TCP等上层协议能够意识到数据包没有送达目的地。
关于ICMP与TCP的差错控制对比?
比如主机A到主机B的通信,中间Router& r1 到Router& r2 的网络连接断了。
通过ICMP,则可以快速诊断出出错原因,并且报告主机。(差错诊断)
TCP的差错控制,主要是体现在,网络断了,收不到确认回复,TCP会一直再次发送数据包,直到收到确认回复。(差错处理)
ICMP提供一组易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,确定如何才能更好地重发失败的数据报。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。
十六。ICMP协议有哪些数据包?
一个ICMP数据包实际上就是一个(数据部分为ICMP协议数据的)IP数据包。&
如前所述,ICMP主要分为差错报文和控制报文。
差错报文包括:目标不可到达(网络、协议、主机、端口不可到达;禁止分割、目标网络不认识、目标主机不认识等等)、超时、参数问题、重定向(网络重定向、主机重定向等)等等
控制报文包括:请求回显(ping请求)、回显应答(ping应答)、地址掩码请求、地址掩码应答等等
如上,我们可以发现,同一类型的错误(不可到达)可能有不同种类(网络不可到达、主机不可到达),因此,我们使用type来code两个标志来确定一个具体的错误。
因为需要指出具体是哪个主机上的哪个程序发出的信息没有到达。
因此,每一个ICMP的错误消息,应该包含:
1.具体的错误类型(Type/code 决定)
2.引发ICMP错误消息的数据包的完全IP包头(哪个主机的数据)
3.数据报的前8个字节----UDP报头或者TCP中的port部分(主机上的哪个程序)
因此,ICMP错误消息的格式应该为如下:
Checksum(16)
Unused(32)
Internet Header +64 Bits of Original Data Datagram
控制报文因为控制的消息各不相同,所以有所差异。下面分析下请求回显(ping)和回显应答,其他的消息,大家可以触类旁通。
Identifier
Sequence Number
当主机A需要知道和主机B通信的状况(信息传递延时、丢包率)时,我们该怎么办呢?
我们可以参考声纳和雷达的原理:主机A发送一个ICMP回显请求(type=8,code=0)报文,数据域中存放当前时间T1,目的IP为主机B。主机B收到该ICMP回显请求报文后,将目的IP和源IP调换位置,其他信息都不变(Indentifier,Sequence Number),回复一个ICMP回显应答(type=0,code=0)。主机A收到改ICMP回显应答的时间为T2。则,到主机B的通信时间为:T2-T1。
又因为,要考虑丢包,所以我们向主机B发送多个回显请求,用Sequence Number来区分各个请求,根据Sequence Number,即可知道应答对应的请求数据包。
Ping命令就是这样的一个实现,其实我们在命令行下输入ping ip命令时,就是调用Ping程序。Ping程序根据输入的IP(域名)封装ICMP请求应答,发送出去,并且接受ICMP回显应答,进行解析,输出。
关于超时:IP报头中的生存期(TTL)属性,用来控制报文段在网络中的生存期。
试想一下,当网络中的某些路由出现问题,Router A将IP a&的下一跳路由为Router B。同时在Router B中,又将IP a&的下一跳路由为&Router A。那么显然,两个路由器之将会间形成回路,通往网段a的数据包,将会一直在两个路由之间发送,导致网络流量爆炸,同时,数据包也无法正确的到达网络a。
因此,当IP数据包每经过一个路由器时,路由器将IP数据包中的TTL值减一。当TTL值为0时,路由器判断数据包超时,发送ICMP超时信息给源主机。
当我们想知道:从主机A发送到主机B的数据包在网络中都经过了哪些路由器的时候,我们有什么办法呢?
我们知道,当IP数据包在路由中出错时,路由器会向发送源发送一个ICMP错误报文,发送端从该ICMP错误报文中,可以得到该路由的IP。
我们可以利用此原理。要得到从主机A到目标主机B之间的所有路由的IP,那么我们必须让IP数据包在每个路由器中都出错一次。
又因此,TTL值在经过的每个路由器中都会减1。因此,我们可以利用TTL的超时信息,在每个路由中都发生一次。即可得到从从主机A到主机B之间的所有路由的IP。
PS.怎么判断数据包正确到达了目标主机B?
当IP数据包到达了目标主机,将不会再发送TTL超时错误。而且在目标主机B中,没有运行相对应的应用层程序,因此,将没有程序会回应我们发送的IP数据包。那么,我们将如何知道IP数据包已经到达了目标主机呢?
我们可以为数据包分配一个目标主机几乎不可能监听的端口,从而,当IP数据包到达目标主机后,目标主机会回复相应的”不可到达、端口不可到达”的ICMP错误信息,从而,我们可以确认IP数据包已经到达了目标主机。
综上,我们可以:源主机A发送IP数据包,IP为目标主机B,port几乎不可能监听的port,TTL从一开始一直往上增加,直道收到来自主机B的ICMP&不可到达(端口不可到达)信息。
Tracerouter&命令就是实现这样功能的一个程序。我们可以通过tracerouter ip来调用此功能。
PS.因为每次路由时的路由路径可能不一样,那么在tracerouter过程中,我们又如何解决这个问题?
而且,如果目标主机正好监听了这一我们认为不可能监听的端口呢?
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:61067次
排名:千里之外
转载:71篇
(1)(2)(10)(4)(11)(4)(4)(5)(30)}

我要回帖

更多关于 tcp ip各层的功能 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信