学习笔记OSI与TCPIP网络模型.docx
《学习笔记OSI与TCPIP网络模型.docx》由会员分享,可在线阅读,更多相关《学习笔记OSI与TCPIP网络模型.docx(21页珍藏版)》请在冰豆网上搜索。
学习笔记OSI与TCPIP网络模型
ch3ncha0个人学习资料
OSI与TCP/IP网络模型
[学习笔记]
编辑整理:
Ch3nCha0
2016/9/24
原始资料均来源于网络,本人整理编辑以供自己学习,不做任何商业用途。
版权归属原作者。
前向关联:
学习笔记-GSM无线子系统信令
后向关联:
目录
第一部分OSI网络模型3
1.OSI参考模型知识要点3
2.OSI基础知识4
2.1OSI/RM参考模型的提出4
2.2OSI的设计目的5
2.3OSI划分层次的原则6
2.4OSI/RM分层结构6
3.OSI的七层结构7
3.1第一层:
物理层(PhysicalLayer)7
3.2第二层:
数据链路层(DataLinkLayer)7
3.3第三层:
网络层(Networklayer)8
3.4第四层:
处理信息的传输层(Transportlayer)9
3.5第五层:
会话层(Sessionlayer)10
3.6第六层:
表示层(Presentationlayer)11
3.7第七层:
应用层(Applicationlayer)11
4.OSI的数据封装11
5.OSI分层的优点12
6.OSI模型的形象理解13
第二部分TCP/IP网络模型14
1.OSI与TCP/IP模型的比较14
2.TCP/IP模型的层次结构14
2.1主机到网络层15
2.2网络互连层16
2.3传输层16
2.4应用层17
3. TCP/IP报文格式17
3.1IP报文格式17
3.2TCP数据段格式19
3.3UDP数据段格式21
4.套接字21
5.TCP连接建立、释放时的握手过程22
5.1TCP建立连接的三次握手过程22
5.2TCP释放连接的四次握手过程24
6.其他相关概念(void)25
第一部分OSI网络模型
OSIOpenSourceInitiative(简称OSI,有译作开放源代码促进会、开放原始码组织)是一个旨在推动开源软件发展的非盈利组织。
OSI参考模型(OSI/RM)的全称是开放系统互连参考模型(OpenSystemInterconnectionReferenceModel,OSI/RM),它是由国际标准化组织ISO提出的一个网络系统互连模型。
它是网络技术的基础,也是分析、评判各种网络技术的依据,它揭开了网络的神秘面纱,让其有理可依,有据可循。
1.OSI参考模型知识要点
图表1:
OSI模型基础知识速览
模型把网络通信的工作分为7层。
1至4层被认为是低层,这些层与数据移动密切相关。
5至7层是高层,包含应用程序级的数据。
每一层负责一项具体的工作,然后把数据传送到下一层。
由低到高具体分为:
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
第7层应用层—直接对应用程序提供服务,应用程序可以变化,但要包括电子消息传输
第6层表示层—格式化数据,以便为应用程序提供通用接口。
这可以包括加密服务
第5层会话层—在两个节点之间建立端连接。
此服务包括建立连接是以全双工还是以半双工的方式进行设置,尽管可以在层4中处理双工方式
第4层传输层—常规数据递送-面向连接或无连接。
包括全双工或半双工、流控制和错误恢复服务
第3层网络层—本层通过寻址来建立两个节点之间的连接,它包括通过互连网络来路由和中继数据
第2层数据链路层—在此层将数据分帧,并处理流控制。
本层指定拓扑结构并提供硬件寻址
第1层物理层—原始比特流的传输
电子信号传输和硬件接口数据发送时,从第七层传到第一层,接受方则相反。
各层对应的典型设备如下:
应用层……………….计算机:
应用程序,如FTP,SMTP,HTTP
表示层……………….计算机:
编码方式,图像编解码、URL字段传输编码
会话层……………….计算机:
建立会话,SESSION认证、断点续传
传输层……………….计算机:
进程和端口
网络层…………….....网络:
路由器,防火墙、多层交换机
数据链路层…………...网络:
网卡,网桥,交换机
物理层…………………网络:
中继器,集线器、网线、HUB
2.OSI基础知识
2.1OSI/RM参考模型的提出
世界上第一个网络体系结构由IBM公司提出(74年,SNA),以后其他公司也相继提出自己的网络体系结构如:
Digital公司的DNA,美国国防部的TCP/IP等,多种网络体系结构并存,其结果是若采用IBM的结构,只能选用IBM的产品,只能与同种结构的网络互联。
为了促进计算机网络的发展,国际标准化组织ISO于1977年成立了一个委员会,在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互联模型(OSI参考,opensysteminterconnection)
2.2OSI的设计目的
OSI模型的设计目的是成为一个所有销售商都能实现的开放网路模型,来克服使用众多私有网络模型所带来的困难和低效性。
OSI是在一个备受尊敬的国际标准团体的参与下完成的,这个组织就是ISO(国际标准化组织)。
什么是OSI,OSI是OpenSystemInterconnection的缩写,意为开放式系统互联参考模型。
在OSI出现之前,计算机网络中存在众多的体系结构,其中以IBM公司的SNA(系统网络体系结构)和DEC公司的DNA(DigitalNetworkArchitecture)数字网络体系结构最为著名。
为了解决不同体系结构的网络的互联问题,国际标准化组织ISO(注意不要与OSI搞混)于1981年制定了开放系统互连参考模型(OpenSystemInterconnectionReferenceModel,OSI/RM)。
这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(PhysicalLayer),数据链路层(DataLinkLayer),网络层(NetworkLayer),传输层(TransportLayer),会话层(SessionLayer),表示层(PresentationLayer)和应用层(ApplicationLayer)。
第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。
当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。
物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。
总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
OSI标准制定过程中采用的方法是将整个庞大而复杂的问题划分为若干个容易处理的小问题,这就是分层的体系结构办法。
在OSI中,采用了三级抽象,既体系结构,服务定义,协议规格说明。
2.3OSI划分层次的原则
网络中各结点都有相同的层次
∙不同结点相同层次具有相同的功能
∙同一结点相邻层间通过接口通信
∙每一层可以使用下层提供的服务,并向上层提供服务
∙不同结点的同等层间通过协议来实现对等层间的通信
2.4OSI/RM分层结构
对等层实体间通信时信息的流动过程
对等层通信的实质:
对等层实体之间虚拟通信;下层向上层提供服务;实际通信在最底层完成在发送方数据由最高层逐渐向下层传递,到接收方数据由最低层逐渐向高层传递.
协议数据单元PDU
OSI参考模型中,对等层协议之间交换的信息单元统称为协议数据单元(PDU,ProtocolDataUnit)。
而传输层及以下各层的PDU另外还有各自特定的名称:
传输层——数据段(Segment)
网络层——分组(数据包)(Packet)
数据链路层——数据帧(Frame)
物理层——比特(Bit)
3.OSI的七层结构
3.1第一层:
物理层(PhysicalLayer)
规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。
具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;过程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:
EIA/TIARS-232、EIA/TIARS-449、V.35、RJ-45等。
物理层的主要功能:
为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接.所谓激活,就是不管有多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路.
传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要.
完成物理层的一些管理工作.
物理层的主要设备:
中继器、集线器。
3.2第二层:
数据链路层(DataLinkLayer)
在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括:
物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:
SDLC、HDLC、PPP、STP、帧中继等。
链路层的主要功能:
链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现。
链路层应具备如下功能:
∙链路连接的建立,拆除,分离。
∙帧定界和帧同步。
链路层的数据传输单元是帧,协议不同,帧的长短和界面也有差别,但无论如何必须对帧进行定界。
∙顺序控制,指对帧的收发顺序的控制。
∙差错检测和恢复。
还有链路标识,流量控制等等.差错检测多用方阵码校验和循环码校验来检测信道上数据的误码,而帧丢失等用序号检测.各种错误的恢复则常靠反馈重发技术来完成。
数据链路层主要设备:
二层交换机、网桥
3.3第三层:
网络层(Networklayer)
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。
网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。
网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息--源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。
IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。
有关路由的一切事情都在第3层处理。
地址解析和路由是3层的重要目的。
网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:
IP、IPX、RIP、OSPF等。
网络层主要功能:
∙网络层为建立网络连接和为上层提供服务,应具备以下主要功能:
∙路由选择和中继
∙激活,终止网络连接
∙在一条数据链路上复用多条网络连接,多采取分时复用技术
∙差错检测与恢复
∙排序,流量控制
∙服务选择
∙网络管理
网络层主要设备:
路由器
3.4第四层:
处理信息的传输层(Transportlayer)
第4层的数据单元也称作数据包(packets)。
但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。
这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。
第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。
所谓透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
传输层协议的代表包括:
TCP、UDP、SPX等。
传输层是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。
当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求;当网络层服务质量较好时,它只用很少的工作。
传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。
传输层也称为运输层.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层.因为它是源端到目的端对数据传送进行控制从低到高的最后一层.
有一个既存事实,即世界上各种通信子网在性能上存在着很大差异.例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费用各不相同.对于会话层来说,却要求有一性能恒定的界面.传输层就承担了这一功能.它采用分流/合流,复用/介复用技术来调节上述通信子网的差异,使会话层感受不到.
此外传输层还要具备差错恢复,流量控制等功能,以此对会话层屏蔽通信子网在这些方面的细节与差异.传输层面对的数据对象已不是网络地址和主机地址,而是和会话层的界面端口.上述功能的最终目的是为会话提供可靠的,无误的数据传输.传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程.而在数据传送阶段又分为一般数据传送和加速数据传送两种。
传输层服务分成5种类型.基本可以满足对传送质量,传送速度,传送费用的各种不同需要.
3.5第五层:
会话层(Sessionlayer)
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。
会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。
如服务器验证用户登录便是由会话层完成的。
会话层提供的服务可使应用建立和维持会话,并能使会话获得同步。
会话层使用校验点可使通信会话在通信失效时从校验点继续恢复通信。
这种能力对于传送大的文件极为重要。
会话层,表示层,应用层构成开放系统的高3层,面对应用进程提供分布处理,对话管理,信息表示,恢复最后的差错等. 会话层同样要担负应用进程服务要求,而运输层不能完成的那部分工作,给运输层功能差距以弥补.主要的功能是对话管理,数据流同步和重新同步。
要完成这些功能,需要由大量的服务单元功能组合,已经制定的功能单元已有几十种.现将会话层主要功能介绍如下.
为会话实体间建立连接。
为给两个对等会话服务用户建立一个会话连接,应该做如下几项工作:
∙将会话地址映射为运输地址
∙选择需要的运输服务质量参数(QOS)
∙对会话参数进行协商
∙识别各个会话连接
∙传送有限的透明用户数据
∙连接释放
会话层协议的代表包括:
NetBIOS、ZIP(AppleTalk区域信息协议)等。
3.6第六层:
表示层(Presentationlayer)
这一层主要解决用户信息的语法表示问题。
表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。
表示层的数据转换包括数据的加密、压缩、格式转换等。
表示层的主要功能:
数据语法转换、语法表示连接管理、数据处理、数据加密、数据压缩等。
表示层协议的代表包括:
ASCII、ASN.1、JPEG、MPEG等。
3.7第七层:
应用层(Applicationlayer)
应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:
Telnet、FTP、HTTP、SNMP等。
4.OSI的数据封装
图4-1 OSI参考模型中的数据封装过程
如图4-1所示,在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。
在应用层,用户的数据被加上应用层的报头(ApplicationHeader,AH),形成应用层协议数据单元(ProtocolDataUnit,PDU),然后被递交到下一层-表示层。
表示层并不"关心"上层-应用层的数据格式而是把整个应用层递交的数据包看成是一个整体进行封装,即加上表示层的报头(PresentationHeader,PH)。
然后,递交到下层-会话层。
同样,会话层、传输层、网络层、数据链路层也都要分别给上层递交下来的数据加上自己的报头。
它们是:
会话层报头(SessionHeader,SH)、传输层报头(TransportHeader,TH)、网络层报头(NetworkHeader,NH)和数据链路层报头(DatalinkHeader,DH)。
其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(DatalinkTermination,DT)形成最终的一帧数据。
当一帧数据通过物理层传送到目标主机的物理层时,该主机的物理层把它递交到上层-数据链路层。
数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。
如果数据没有出错,则递交到上层-网络层。
同样,网络层、传输层、会话层、表示层、应用层也要做类似的工作。
最终,原始数据被递交到目标主机的具体应用程序中。
5.OSI分层的优点
(1)人们可以很容易的讨论和学习协议的规范细节。
(2)层间的标准接口方便了工程模块化。
(3)创建了一个更好的互连环境。
(4)降低了复杂度,使程序更容易修改,产品开发的速度更快。
(5)每层利用紧邻的下层服务,更容易记住个层的功能。
OSI是一个定义良好的协议规范集,并有许多可选部分完成类似的任务。
它定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务。
是作为一个框架来协调和组织各层所提供的服务。
OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。
即OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。
6.OSI模型的形象理解
以你和你女朋友以书信的方式进行通信为例。
1、物理层:
运输工具,比如火车、汽车。
2、数据链路层:
相当于货物核对单,表明里面有些什么东西,接受的时候确认一下是否正确(CRC检验)。
3、网络层:
相当于邮政局或快递公司地址(IP地址),能正确到达对方;
4、传输层:
信封(TCP协议是挂号信,是可靠的;UDP协议是平信,尽力送到对方,不保证一点送到对方)
5、会话层:
相当于邮票,优质邮票寄一封信,相当与一个会话。
6、表示层:
你用普通话还是用方言?
或者是英语?
7、应用层:
你可以说你的内容了,可以说是你爱她,也可以说你恨她。
描述一下封装过程
首先,你应该有需要表达的内容(应用层)
然后,你需要有一种合适的表达语言(表示层)
再次,你要把信纸装进一个信封,贴上一张邮票(一封信就是一个会话)
接下来,你要选择什么方式寄信(挂号信或平信,TCP或UDP)
第五,选择一个快递公司或邮政局,告诉地址,邮政局根据地址选择运输方式(根据IP地址选择路由)
第六,邮政局对货物进行再包装,写上装箱单,供接收地的邮政局核对(货物总是先送到对方邮政局,对方邮政局的地址就相当于MAC地址,装箱单就相当于CRC校验码)
第七,货物通过具体的运输根据(汽车、汽车、飞机等)
第二部分TCP/IP网络模型
1.OSI与TCP/IP模型的比较
图1-1 OSI与TCP/IP网络模型对比
TCP/IP协议模型(TransmissionControlProtocol/InternetProtocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议,通过20多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。
TCP/IP协议簇是一组不同层次上的多个协议的组合,通常被认为是一个四层协议系统,与OSI的七层模型相对应。
2.TCP/IP模型的层次结构
TCP/IP协议栈是美国国防部高级研究计划局计算机网(AdvancedResearchProjectsAgencyNetwork,ARPANET)和其后继因特网使用的参考模型。
ARPANET是由美国国防部(U.S.DepartmentofDefense,DoD)赞助的研究网络。
最初,它只连接了美国境内的四所大学。
随后的几年中,它通过租用的电话线连接了数百所大学和政府部门。
最终ARPANET发展成为全球规模最大的互连网络-因特网。
最初的ARPANET于1990年永久性地关闭。
TCP/IP参考模型分为四个层次:
应用层、传输层、网络互连层和主机到网络层。
如图2-1所示。
图2-1 TCP/IP参考模型的层次结构
在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。
同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。
下面,分别介绍各层的主要功能。
2.1主机到网络层
也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。
实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。
由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。
2.2网络互连层
也称作网际层,处理分组在网络中的活动,例如分组的选路。
在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
网络互连层是整个TCP/IP协议栈的核心。
它的功能是把分组发往目标网络或主机。
同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。
因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。
网络互连层定义了分组格式和协议,即IP协议(InternetProtocol)。
网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。
除此之外,网络互连层还需要完成拥塞控制的功能。
IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。
同时被TCP和UDP使用。
TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
ICMP是IP协议的附属协议。
IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
IGMP是Internet组管理协议。
它用来把一个