




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一TCP/IP四层模型和OSI七层模型对比OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议,我们把OSI七层网络模型和TCP/IP四层概念模型对应,然后将各种网络协议归类。OSI七层模型OSI七层网络模型功能传输单位应用层(Application)提供具体网络服务 数据 Data表示层(Presentation)数据表示,包括数据的格式、加密、压缩 数据 Data会话层(Session)建立、维护和中止会话 数据 Data传输层(Transport)提供端对端连接 片 Segment网络层(Network)网络寻址和最佳路径选择 包 Packet数据链路层(Data Li
2、nk)介质访问控制 帧 Frame物理层(Physical)二进制传输比特 BitTCP/IP四层模型和OSI七层模型对应表OSI七层网络模型TCP/IP四层概念模型对应网络协议应用层(Application)应用层TFTP, FTP, NFS, WAIS表示层(Presentation)Telnet, Rlogin, SNMP, Gopher会话层(Session)SMTP, DNS传输层(Transport)传输层TCP, UDP网络层(Network)网际层IP, ICMP, ARP, RARP, AKP, UUCP数据链路层(Data Link)网络接口层FDDI, Ethernet,
3、 Arpanet, PDN, SLIP, PPP物理层(Physical)IEEE 802.1A, IEEE 802.2到IEEE 802.11二TCP/IP模型各层功能1网络接口层 TCP/IP概念模型的网络接口层(也叫链路层)把OSI的数据链路层和物理层放在一起,对应的网络协议主要是:Ethernet、PPP、FDDI和能传输IP数据包的任何协议。网络接口层负责数据帧(Frame)的发送和接收,帧是独立的网络信息传输单元。2网际层 TCP/IP概念模型的网际层对应OSI的网络层,管理离散的计算机间的数据传输,
4、如IP协议为用户和远程计算机提供了数据包(Packet)的传输方法,确保数据包能正确地到达目的机器。这一过程中,IP协议和其他网际层的协议共同用于数据传输。重要的网际层协议包括ARP(地址解析协议)、ICMP(Internet控制消息协议)、IGMP(Internet组管理协议)和IP协议(网际协议)。3传输层TCP/IP概念模型的传输层对应OSI的传输层。传输层提供应用程序间的通信。其功能包括:格式化信息流和提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认信息,如果分组丢失,必须重新发送。传输层包括TCP(Transmission Control Protocol,传输控制协议)和
5、UDP(User Datagram Protocol,用户数据报协议),它们是传输层中最主要的协议。TCP建立在IP之上,定义了网络上程序到程序的数据传输格式和规则,提供了IP数据包的传输确认、丢失数据包的重新请求、将收到的数据包按照它们的发送次序重新装配的机制。TCP 协议是面向连接的协议,类似于打电话,在开始传输数据之前,必须先建立明确的连接。UDP也建立在IP之上,但它是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,两者之间没有明确的连接。UDP不保证数据的传输,也不提供重新排列次序或重新请求的功能,所以说它是不可靠的。虽然UDP的不可靠性限制了
6、它的应用场合,但它比TCP具有更好的传输效率。举例说明传输层的作用,以太网无法接收大于1514字节的数据包,其中14字节是以太网帧的帧头。发送方节点的传输层将数据分割成较小的数据片(Segment),同时对每一数据段安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组,该过程即被称为排序。4应用层TCP/IP概念模型中的应用层对应OSI的应用层、表示层和会话层。应用层位于协议栈的顶端,它的主要任务是应用。应用层一般是可见的,如利用FTP(File Transfer Protocol,文件传输协议)传输一个文件(Data),请求一个和目标计算机的连接,在传输文件的过程中,用户和远程
7、计算机交换的一部分是能看到的。常见的应用层协议有:HTTP,FTP,Telnet,SMTP和 Gopher等。三TCP/IP模型各层传输单位一个UDP报文的分解模型1. MAC帧(网络接口层)Ethernet II(ARPA)是最常见的以太网MAC帧格式,帧头长14字节,结构如下:1)目的MAC地址(Destination):占6字节2)源MAC地址(Source):占6字节3)协议类型(Type):占2字节MAC地址也叫硬件地址,在网络底层的物理传输过程中,是通过MAC地址来识别主机的,它一般也是全球唯一的。MAC地址由48比特长的16进制的数字组成,例如:44-45-53-54-00-00
8、(ff- ff- ff- ff- ff- ff为广播地址)。0-23位叫做组织唯一标志符,是识别LAN(局域网)节点的标识,24-47位是由厂家自己分配,其中第40位是组播地址标志位。MAC地址通常是由网卡生产厂家烧入网卡的EPROM,它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。Ethernet II MAC帧格式在上图通过wireshark捕获的Ethernet II帧里,目的MAC地址为0e-00-0e-00-00-00,源MAC地址为94-a8-20-00-0e-00,协议类型为IP(0x0800)。2. IP数据包(网际层)IP数据包也叫IP报文分组,它由IP
9、报文头和IP报文用户数据组成,IP报文头的长度一般在20到60个字节之间,而一个IP分组的最大长度则不能超过65535个字节。1)版本(Version):占4位,指IP协议的版本号。目前的主要版本为IPV4,即第4版本号,也有一些教育网和科研机构在使用IPV6。在进行通信时,通信双方的IP协议版本号必须一致,否则无法直接通信。2)首部长度(Header length):占4位,指IP报文头的长度。最大的长度(即4个bit都为1时)为15个长度单位,每个长度单位为4字节(TCP/IP标准,DoubleWord),所以IP协议报文头的最大长度为60个字节,最短为上图所示的20个字节。 3
10、)服务类型(Differentiated Service Field):占1个字节,用来获得更好的服务。其中的前3位表示报文的优先级,后面的几位分别表示要求更低时延、更高的吞吐量、更高的可靠性、更低的路由代价等。对应位为1即有相应要求,为0则不要求。 4)总长度(Total Length):占2个字节,指报文的总长度。注意这里的单位为字节,而不是4字节,所以一个IP报文的最大长度为65535个字节。 5)标识(Identification):该字段标记当前分片为第几个分片,在数据报重组时很有用。 6)标志(Flags):该字段用于标记该报文是否为分片(有一些可能不
11、需要分片,或不希望分片),后面是否还有分片(是否是最后一个分片)。 7)片偏移(Fragment offset):指当前分片在原数据报(分片前的数据报)中相对于用户数据字段的偏移量,即在原数据报中的相对位置。 8)生存时间(Time to live):该字段表明当前报文还能生存多久。每经过1ms或者一个网关,TTL的值自动减1,当生存时间为0时,报文将被认为目的主机不可到达而丢弃。在windows中输入ping命令,在返回的结果中即有TTL的数值。 9)协议(Protocal):该字段指出在上层(TCP/IP的传输层)使用的协议,可能的协议有UDP、TCP、ICM
12、P、IGMP、IGP等。 10)首部校验和(Header checksum):用于检验IP报文头部在传播的过程中是否出错,主要校验报文头中是否有某一个或几个bit被污染或修改了。 11)源IP地址(Source):占4个字节,每一个字节为0255之间的整数,即我们日常见到的IP地址格式。 12)目的IP地址(Destination):占4个字节,每一个字节为0255之间的整数,即我们日常见到的IP地址格式。IP数据包格式在上图通过wireshark捕获的IP数据包里,版本为IPV4,上层传输层使用的协议为UDP,源IP地址为0,目的IP地址
13、为89。3. TCP报文(传输层)TCP首部比较复杂,分为两大部分,前20个字节是大小固定的,后面的选项部分大小不固定,首部固定部分各段意义:1)源端口(Source port):占2个字节,端口号的范围从0到65535,例如80端口分配给浏览网页服务(HTTP),21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议),大多数TCP/IP实现给临时端口号分配10245000之间的端口号2)目的端口(Destination port):占2个字节3)序列号(Sequence number):占4个字节,TCP传送的是面向连接的连续的数据流,所传送的数据每一个
14、字节都编上一个序号,首部的这个序列号指的是本报文段所发送的数据的第一个字节的序列号4)确认号(Acknowledgement number):占4个字节,是期望收到对方的下一个报文段的数据的第一个字节的序列号,也就是期望收到的下一个报文段首部的序号字段的值5)首部长度(Header length):占4位,是指TCP报文段首部的长度,由于存在长度不确定的选项字段,所以此值最小为20字节,最大为60字节6)保留(Reserved):占6位,目前没用,设为07)标志(Flags):占6位,说明本报文段性质8)滑动窗口(Window size value):占2个字节,用来控制对方发送的数量9)校验
15、和(Checksum):占2个字节,校验范围为首部加数据两部分10)紧急指针(Urgent):占2个字节TCP报文格式在上图通过wireshark捕获的TCP报文里,源端口号为80(http),目的端口号为4943,序列号为34306,确认号为579,滑动窗口大小为63。4. UDP报文(传输层)UDP报文比较简单,由四个字段组成,每个字段2个字节,共8字节:1)源端口号(Source port):占2字节2)目的端口号(Destination port):占2字节3)长度(Length):占2字节,表示用户数据的长度4)校验和(Checksum):占2字节UDP报文格式在上图通过wiresh
16、ark捕获的UDP报文里,源端口号为11530,目的端口号为5092(magpie),数据长度为642。四TCP/IP模型各层常见协议TCP/IP模型各个层次的功能和协议层次名称功 能协 议应用层(Application Layer)负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层FTP(文件传输协议)HTTP(超文本传输协议)DNS(域名服务器协议)SMTP(简单邮件传输协议)NFS(网络文件系统协议)传输层(Transport Layer)负责提供可靠的传输服务,对应OSI参考模型的第四
17、层TCP(控制传输协议)UDP(用户数据报协议)网际层(Internet Layer)负责网络间的寻址数据传输,对应OSI参考模型的第三层IP(网际协议)ICMP(网际控制消息协议)ARP(地址解析协议)RARP(反向地址解析协议)网络接口层(Network Access Layer)负责实际数据的传输,对应OSI参考模型的下两层HDLC(高级链路控制协议)PPP(点对点协议)SLIP(串行线路接口协议)1. PPP(网络接口层协议)PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传
18、递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。1)PPP链路建立过程PPP协议中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题。PPP协议包含这样几个部分:链路控制协议LCP(Link Control Protocol);网络控制协议NCP(Network Control Protocol);认证协议,最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentica
19、tion Protocol)。LCP负责创建,维护或终止一次物理连接。NCP是一族协议,负责解决物理连接上运行什么网络协议,以及解决上层网络协议发生的问题。 一个典型的PPP链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。阶段1:创建PPP链路LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实
20、现。阶段2:用户验证在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。阶段3:调用网络层协议认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链
21、路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。阶段4:拆除线路在通信结束后拆除线路2)认证方式a)口令验证协议(PAP)PAP是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。b)挑战-握手验证协议(CHAP)CHAP是一种加密的验证方式,能够避免建立连接时
22、传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challenge string)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击
23、(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。3)PPP协议的应用PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。通过PSTN拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。 目前,宽带接入正在成为取代拨号上网的趋势,在宽带接入技术日新月异的今天,PPP也衍生出新的应用。典型的应用是在ADSL(非对称数据用户环线,Asymmetrical Digital Subscriber Lo
24、op)接入方式当中,PPP与其他的协议共同派生出了符合宽带接入要求的新的协议,如PPPoE(PPP over Ethernet),PPPoA(PPP over ATM)。利用以太网资源,在以太网上运行PPP来进行用户认证接入的方式称为PPPoE。PPPoE即保护了用户方的以太网资源,又完成了ADSL的接入要求,是目前ADSL接入方式中应用最广泛的技术标准。同样,在ATM(异步传输模式,Asynchronous Transfer Mode)网络上运行PPP协议来管理用户认证的方式称为PPPoA。它与PPPoE的原理相同,作用相同;不同的是它是在ATM网络上,而PPPoE是在以太网网络上运行,所以
25、要分别适应ATM标准和以太网标准。2. TCP(传输层协议)传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是网际层不提供这样的流机制,而是提供不可靠的包交换。应用层向传输层发送用于网间传输的数据流,然后TCP把数据流分区成适当长度的报文段。之后TCP把结果包传给网际层,由它来通过网络将包传送给接收端实体的传输层。TCP为了保证不发生丢包,就给每个字节一个序列号,同时
26、序列号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节回一个相应的ACK,如果发送端实体在合理的往返时延内未收到ACK,那么对应的数据(假设丢失了)将会被重传。TCP 用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和。1)TCP连接建立和连接终止连接建立包含了我们常说的TCP三次握手的过程。当“服务器回应了浏览器的请求,并要求确认”的时候,如果浏览器没有正常的确认,服务器就会在SYN_RECV状态等下去,直到超时。如果恶意程序伪造了大量类似的请求,那就是常说的SYN洪水攻击了。连接终止则使用了4次握手的过程,在这个过程中每个终端的连接都能独立地被终止。
27、因此一个典型的拆接过程需要每个终端都提供一对FIN和ACK。FIN的字面意思是连接一方再也没有更多新的数据要发送,但是那些重传的数据还会被传送。2)TCP确认机制3)TCP序列号和确认号4)TCP滑动窗口5)TCP重传a)发端计时器超时TCP每发送一个报文段,就对这个报文段设置一次定时器。当定时器超时而没有收到确认时,就重传该报文。原来报文哪去了呢?两种可能:1)在路上丢失了。2)还在路上,走的慢。对于第一种情况:接收端是不知情的,而对于第二种情况,接收端表现为收到两个一摸一样的报文。b)快重传就是说在发送端一连收到3个重复的ACK时,认为已经发生了数据包丢失,就立即重传相应的报文而不等到定时
28、器超时,称为TCP快重传。五 实际用例分析 1. HTTP连接和关闭打开浏览器随便浏览一个网页,就会得到类似下面的结果,浏览的是Google的页面。这里0是浏览器,47就是服务器。下面具体解释一下这个HTTP连接过程:-浏览器向服务器发出连接请求。(发SYN,第1次握手)服务器回应了浏览器的请求,并要求确认。(回SYN/ACK,第2次握手)浏览器回应了服务器的确认,连接成功。(发ACK,第3次握手)浏览器发出一个页面HTTP请求。服务器确认。服务器发送数据。客户端确认。服务器响应了一个200状态,表示成功。客户端发出一个图片HTTP请求。服务器响应了一个304HTTP头,告诉浏览器别打扰它,直接用缓存。客户端又发出一个图片HTTP请求。服务器还是响应了一个304HTTP头。浏览器确认。服务器准备关闭连接,并要求确认。(发FIN,第1次握手)浏览器确认。(回ACK,第2次握手)浏览器准备关闭连接,并要求确认。(发FIN,第3次握手)服务器确认。(回FIN,第4次握手)2. TCP快重传和重传静止点HSUPA邮箱上传,中间断流25秒,上行链路发送异常或网侧数据接收异常导致发生TCP快重传和大量的TCP重传。下面是协议栈的分析。首先断流的这段期间至少发生这么多次Reset,都是网侧发送来的Reset(UE都立刻发送R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版高中语文第三册项脊轩志 同步练习基础知识
- bot工程合同范例
- 写劳务合同范例软件
- 农业土地合同范例
- 农资店转租合同范例
- 企业移动光钎合同范例
- 代理公司合作合同范例
- 临电合同范例
- 仓储车辆合同范例
- 2022年全国道路交通安全法律法规知识考试题(附含答案)
- 2025年网格员考试题及答案湖北
- 2025年上半年夏秋季山东省菏泽单县事业单位招聘征集普通高等院校本科毕业生29人入伍重点基础提升(共500题)附带答案详解-1
- 2025年徐州生物工程职业技术学院单招职业技能测试题库含答案
- 2025年无锡职业技术学院单招职业技能测试题库带答案
- 2025年广东江门中医药职业学院单招职业适应性测试题库参考答案
- GB/T 45083-2024再生资源分拣中心建设和管理规范
- 耐碱玻纤网格布检测报告
- 小儿头皮静脉穿刺技术操作评分标准.docx
- GB T 20219-2015 绝热用喷涂硬质聚氨酯泡沫塑料(高清版)
- 人人有事做事事有人做
- 浮法玻璃熔化成形的缺陷来源图
评论
0/150
提交评论