网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

如下的内容和以后的几篇博客只是比较初级的介绍,想要深刻学习的话建议本身钻研《TCP/IP详解 卷1:协议》

1.ISO/OSI七层模型
    下四层是为数据传输服务的,物理层是真正的传输数据的,数据链路层、网络层、传输层主要是写入对应数据的传输信息的
        物理层:比特
            设备之间的比特流的传输、物理接口、电气特性
        数据链路层:帧
            保存的最主要的信息是网卡的 mac 地址,mac 地址负责局域网通讯的,发件人和收件人的mac 地址
                mac地址的做用:尽管你是要在互联网中传输数据(貌似须要IP地址就能够了),可是在互联网中传输数据实际上是经过在一个又一个的局域网进行依次传递,因此须要mac 地址
            进行错误检测和修正
        网络层:报文
            保存的最主要的信息是 IP 地址,IP 地址是负责外网通讯的,发件人和收件人的IP 地址
            选择通路(路由器)
        传输层:TPDU--传输协议数据单元
            肯定端口号(IP是寻找互联网中的哪一个电脑,端口是寻找电脑中的哪一个应用服务)
            肯定传输协议是可靠的仍是不可靠的(UDP、TCP)
            传输前的错误检测
            流量控制网络

    为用户提供服务的上三层
        会话层:SPDU--会话协议数据单元
            肯定网络数据是否要经过远程会话
                好比你写了一个word文档,在保存以后(表示层完成格式转化……)就会到达会话层,显然判断word文档保存在本地便可,不须要进行网络传递,因此直接交给硬盘进行存储便可
                可是你写了一个邮件,点击发送(表示层完成格式转化……)就会到达会话层,显然判断邮件须要经过网络进行传输,因此就会交给传输层进行处理
        表示层:SPDU--表示协议数据单元
            把你的数据进行数字化表示(把英文/中文/图片/mp3……经过必定的规则翻译成01 格式)
            加密
            压缩
        应用层:APDU--应用协议数据单元
            给用户提供服务的接口


2.TCP/IP四层网络模型
    上面所讲到的ISO/OSI七层模型目前只是一个模型,在实际的网络传输中其实并非这样使用的,实际的网络传输中使用的实际上是TCP/IP四层模型
    网络接口层、网际互连层、传输层、应用层学习

    TCP/IP模型和ISO/OSI模型的对应(因此各层的功能参考ISO/OSI模型中各层的功能)
        网络接口层:对应物理层、数据链路层
            负责监视数据在主机和网络之间的交换。事实上,TCP/IP自己并无定义该层的协议,而由参与互连的各个网络使用本身的物理层和数据链路层协议,而后与TCP/IP的网络接入层进行连接
            地址解析协议(ARP)工做在此层,即OSI参考模型的数据链路层:ARP就是将IP地址翻译成mac 地址,由于在整个互联网内传输须要IP 地址,可是在同一个网段以内(局域网)传输数据就不是使用IP 地址,而是须要使用mac 地址。
            例如,在同一个局域网内传输数据,电脑点击发送数据,而发送的目标是我同局域网内的另外一台计算机,点击以后数据就会发送到网线上,网线就会把你的请求发送到交换机上,交换机只能识别mac 地址,不认识IP地址
            注意,局域网内部使用交换机,而在局域网之间的链接是经过路由器路由器是用来进行跨网络通讯的,在同一个网络内通讯只须要交换机便可
            因此仍是须要再学习交换机、路由器等网络设备及其做用、原理
        网际互连层:对应网络层
            主要解决主机到主机的通讯问题。它所包含的协议设计数据包在整个网络上的逻辑传输。
            该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP)
        传输层:对应传输层
            为应用层实体提供端到端的通讯功能,保证了数据包的顺序传送及数据的完整性。
            该层定义了两个主要的协议:传输控制协议(TCP)、用户数据报协议(UDP)。QQ传输使用的就是UDP协议
            还须要深刻学习,好比TCP/IP三次握手(为何要三次握手,搜索“什么是两军问题”,其实三次握手也不能达到绝对可靠,可是相对来讲三次已经至关可靠了,若是再握手更屡次就太费时间了,太少的话就不能保证足够可靠)
        应用层:对应会话层、表示层、应用层
            为用户提供所须要的各类服务
            例如:FTP、Telnet、DNS、SMTP等
    OSI模型是在协议开发以前设计的,具备通用性。TCP/IP是先有协议集而后创建模型,不适用于非TCP/IP网络ui

    数据封装的过程


加密

 



另外参考这个连接进行更详细的学习TCP/IP的体系结构:http://blog.csdn.net/taoyingzhushui/article/details/8120296spa

  TCP/IP模型是由美国国防部在ARPANET网络中建立的网络体系结构,因此有时又称为DoD(Department of Defense)模型,是至今为止发展最成功的通讯模型,它用于构筑目前最大的、开放的互联网络系统Internet。TCP/IP模型分为不一样的层次,每一层负责不一样的通讯功能。但TCP/IP简化了层次模型(只有4层),由下而上分别为网络接口层、网络层、运输层、应用层,如图2.14所示。

TCP/IP 模型.net

  在TCP/IP模型中,网络接口层是TCP/IP模型的最底层,负责接收从网络层交付的IP数据包,并将IP数据包经过底层物理网络发送出去,或者从底层物理网络上接收物理帧,抽出IP数据报,交给网络层。
  网络层负责独立地将分组从源主机送往目的主机,为分组提供最佳路径选择和交换功能,并使这一过程与它们所通过的路径和网络无关。
  运输层的做用是在源节点和目的节点的两个对等实体间提供可靠的端到端的数据通讯。
  应用层为用户提供网络应用,并为这些应用提供网络支撑服务,把用户的数据发送到低层,为应用程序提供网络接口。

  TCP/IP模型每一层都提供了一组协议,各层协议的集合构成了TCP/IP模型的协议簇。
1.网络接口层协议
  TCP/IP的网络接口层中包括各类物理网络协议,例如Ethernet、令牌环、帧中继、ISDN和分组交换网X.25等。当各类物理网络被用作传输IP数据包的通道时,这种传输过程就能够认为是属于这一层的内容。

2.网络层协议
  网络层包括多个重要协议,主要协议有4个,即IP、ARP、RARP和ICMP。

  网际协议(Internet Protocol,IP)是其中的核心协议,IP协议规定网络层数据分组的格式。

  Internet控制消息协议(Internet Control Message Protocol,ICMP)提供网络控制和消息传递功能。

  地址解释协议(Address Resolution Protocol,ARP)用来将逻辑地址解析成物理地址。

  反向地址解释协议(Reverse Address Resolution Protocol,RARP)经过RARP广播,将物理地址解析成逻辑地址。

3.运输层协议
  运输层协议主要包含TCP和UDP两个协议。

  传输控制协议(Transport Control Protocol,TCP)是面向链接的协议,用三次握手和滑动窗口机制来保证传输的可靠性和进行流量控制。

  用户数据报协议(User Datagram Protocol,UDP)是面向无链接的不可靠运输层协议。

4.应用层协议
  应用层包括了众多的应用与应用支撑协议。  

  常见的应用层协议有:文件传输协议(FTP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、远程登陆(Telnet)。

  常见的应用支撑协议包括域名服务(DNS)和简单网络管理协议(SNMP)等。

TCP/IP网络模型处理数据的过程描述以下:
  1)生成数据。当用户发送一个电子邮件信息时,它的字母或数字字符被转换成能够经过互联网传输的数据。
  2)为端到端的传输将数据打包。经过对数据打包来实现互联网的传输。经过使用端传输功能确保在两端的信息主机系统之间进行可靠的通讯。
  3)在首部上附加目的网络地址。数据被放置在一个分组或者数据报中,其中包含了带有源和目的逻辑地址的网络首部,这些地址有助于网络设备在动态选定的路径上发送这些分组。
  4)附加目的数据链路层MAC地址到数据链路首部。每个网络设备必须将分组放置在帧中,该帧的首部包括在路径中下一台直接相连设备的物理地址。
  5)传输比特。帧必须转换成“1”和“0”的信息模式,才能在介质上进行传输。时钟功能(Clocking Function)使得设备能够区分这些在介质上传输的比特,物理互联网络上的介质可能随着使用的不一样路径而有所不一样。例如,电子邮件信息能够起源于一个局域网LAN,经过校园骨干网,而后到达广域网WAN链路,直到到达另外一个远端局域网LAN上的目的主机为止。


2.2.5  原理体系结构
  在分析网络结构原理和进行网络程序设计时,使用OSI七层结构过于复杂。

  OSI的会话层主要功能是组织和同步不一样的主机上各类进程间的通讯,负责在两个会话层实体之间进行对话链接的创建和拆除,这个功能能够合并到运输层来表述,由于运输层提供的端到端的透明数据运输服务。

  OSI的表示层为上层用户提供共同的数据或信息的语法表示及变换,这个功能能够合并到应用层来表述,由于应用层为特定类型的网络应用提供访问OSI环境的手段。

  这样,网络体系结构就能够简化为五层结构,一般叫作原理体系结构模型或混合模型,如图2.15所示。各层的功能与OSI参考模型相似,能够简单描述以下。
物理层:透明传输比特流。
数据链路层:无差错地传输以帧为单位的数据。
网络层:选择路由,网络寻址(包或分组)。
运输层:为进程间提供可靠的端到端的服务。
应用层:为用户的应用进程提供服务。

 

2.3  数据单元计算机网络

  在网络环境中,层间传送的信息基本单位称为数据单元。翻译

  有了数据单元的概念,咱们就能够很方便地描述两个开放系统之间的通讯过程。设计

  例如,以开放系统A的应用进程APA与开放系统B的应用进程APB之间的通讯过程为例,应用进程APA经过本地系统管理模块LSM将数据送交给第七层。第七层对该数据加上若干比特的控制信息做为第六层的数据单元。blog

  第六层收到此数据单元后,又加上本层的控制信息构成第五层的数据单元。

  如下依次类推。直到第二层,将控制信息分红两个部分,分别加到本层数据单元的首部和尾部。

  在第一层则再也不加任何控制信息,由于该层仅完成比特流的传送任务。

  接着,当比特流经过传输介质送到开放系统B时,由第一层逐层往上送至第七层。

  每一层根据控制信息作必要的操做后,再将此控制信息去掉,将剩余的数据单元提交给上一层。最后,把APA发送的数据交给应用进程APB。

 

  在OSI环境中,对等实体按协议进行通讯,相邻层实体按服务进行通讯。这些通讯都是以数据单元做为信息传递单位来进行的。在OSI模型中,规定了下述三种类型的数据单元。

1)服务数据单元SDU(Service Data Unit)。OSI模型把相邻层实体间传送信息的数据单元称为服务数据单元,并将(N+1)层与(N)层之间传送信息的服务单元记为(N)SDU。(N)服务数据单元其实是确保(N)服务传输须要的逻辑单元。

2)协议数据单元PDU(Protocol Data Unit)。OSI模型把对等实体间传送信息的数据单元称为协议数据单元,并将(N)层的协议数据单元记为(N)PDU。(N)PDU由两部分组成,即(N)用户数据[记为(N)UD]和(N)协议控制信息[记为(N)PCI]。若是某层的协议数据单元只用于控制,则该协议数据单元中的用户数据可省略,此时只有该层的PCI。

3)接口数据单元IDU(Interface Data Unit)。OSI模型把相邻层实体经过层间服务访问点依次交互信息的数据单元称为接口数据单元,并将(N)层的接口数据单元记为(N)IDU。(N)IDU也由两部分组成。其中,一部分是(N+1)实体与(N)实体交互的数据,称为接口数据[记为(N)ID];另外一部分是为了协调(N+1)实体与(N)实体的交互操做而附加的控制信息(如服务原语中的某些参数),这些拉制信息称为接口控制信息[记为(N)ICI]。因为接口控制信息只在交互信息经过服务访问点时才起做用,因此,当接口数据单元经过服务访问点后就能够将其取掉。

 数据单元关系示意图


  当(N)较长而(N)协议所要求的(N)较短时,就要对(N)SDU进行分段处理,分别加上各自的协议控制信息,构成多个(N)PDU。而在接收方则要进行相应的合段操做。
  图2.16描述了三种数据单元的简单关系。(N+1)PDU是借助(N)SDU经过(N)服务访问点(SAP)传送到(N)层的,此时(N)SDU就至关于(N)层的用户数据,对它加上(N)PCI后便构成了(N)PDU。这样,(N+1)PDU彷佛等同于(N)SDU,实际上,(N+1)PDU与(N)SDU不同长的状况也是存在的。有时发送方实体须要将数个(N+1)PDU拼接成一个(N)SDU,而在接收方对等实体把一个(N)SDU分割成数个(N+1)PDU的操做。

  事实上,也可能出现一个(N)SDU等于数个(N)IDU的状况。此时,(N+l)实体与(N)实体之间就须要经过数次交互(N)IDU才能实现传送(N)SDU。

2.4  服务与用户

  将计算机网络表示成层次模型,在垂直式的层次表示方法中,第N层是第N-1层的用户,又是第N+1层的服务提供者。而第N+1层的用户虽然只能直接使用第N层所提供的服务,实际上它还经过第N层间接地使用了第N层如下各层的服务。

  在每对相邻层之间有一个接口,接口定义了较低层向较高层提供的原始操做和服务。所以,一台计算机的第N层与另外一台计算机的第N层进行通讯,实际上并非一台计算机的第N层直接将数据传送给另外一台计算机的第N层(除最低层外),而是每一层将数据和控制信息经过层间接口传送给与它相邻的第N-l层,这样直至最低层为止。在最低层再经过物理介质实现与另外一计算机最底层的物理通讯。物理通讯与高层之间进行的虚拟通讯是不一样的,是实通讯。

  对于层间通讯,通讯双方都必须遵照事先约定的规则,这些规则称为网络协议。网络协议不只要明确规定所交换的数据的格式,并且还要对事件发生的次序(即同步)作出详细的过程说明。

  图2.17给出了一个5层原理模型,说明了层、协议和接口的关系。

 

协议与接口示意图

相关文章
相关标签/搜索