iOS 开发 网络编程详解之OSI七层模型和TCP/IP四层模型

来源:互联网 发布:手机急救软件 编辑:程序博客网 时间:2024/04/17 03:47
  • 网络传输数据:
    通过电流,把数据传过来,主机操作系统会把电流转换成二进制。 对数据做了打包封装,传到网络上。

OSI七层模型

  • OSI(Open System Interconnect 简称):开放系统互连参考模型
  • 是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。
  • 从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

OSI模型简化版

这里写图片描述

OSI模型详细版

这里写图片描述

两个开放系统中的同等层之间的通信规则和约定称之为协议。通常把1~4层协议称为下层协议,5~7层协议称为上层协议。

  • 物理层

    • 物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。
    • 物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。
    • 为数据端设备提供传送数据的通路,形成适合数据传输需要的实体,为数据传送服务。
  • 数据链路层

    • 每次通信都要经过建立通信联络和拆除通信联络两个过程。这种建立起来的数据收发关系就叫做数据链路。
    • 链路层是为网络层提供数据传送服务的,包括链路连接的建立、拆除和分离;帧定界和帧同步;顺序控制,指对帧的收发顺序的控制;差错检测和恢复。
  • 网络层

    • 在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择
    • Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。这一层数据传送的单位是分组或包。
  • 传输层(TCP/UDP)

    • 定义了一些传输数据的协议和端口号(如HTTP的端口80等),TCP(传输控制协议),UDP(用户数据报协议)。
    • 主要是从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做报文段。
  • 会话层

    • 通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。
    • 主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
  • 表示层

    • 可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
    • 主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。
  • 应用层(HTTP): 是最靠近用户的OSI层。这一层为用户的应用程序提供网络服务。

  • OSI七层总结:

    • 下面4层(物理层、数据链路层、网络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;
    • 第4层(传输成TCP/UDP)作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;
    • 简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。

TCP/IP四层模型

ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用

这里写图片描述

这里写图片描述

  1. 主机到网络层(网络接口层)
      实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。 
       
  2. 网络互联层  
      网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。  
      网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。  
      
  3. 传输层  
      在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。 
      
  4. 应用层  
      TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。  
      应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP),也有基于UDP协议的。

TCP/IP模型通信过程

应用层 : APP
传输层 : TCP,确定数据如何传输
网络层 : 确定目标计算机的IP地址
链路层 : 硬件,添加帧头帧尾
HTTP网络传输协议在传输层选择的是TCP/IP协议

这里写图片描述

参考:TCP/IP四层模型

0 0