iOS开发:网络参考模型

一、(开放系统互联OpenSystem InterconnectionTCP/IP参考模型图iOS开发:网络参考模型_第1张图片


  1. 物理层:主要定义物理设备标准,如网线的接口类型、各种传输介质的传输速率等。主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是常说的数模与模数转换)。这一层的数据叫做比特(bit),主要设备:集线器
  2. 数据链路层:主要将从物理层接收的数据进行MAC地址的封装与解封装。常把这一层的数据叫做帧,主要设备:网卡,交换机
  3. 网络层:选择合适的网间路由和交换结点,确保数据及时传送,将从下层接收到的数据进行IP地址的封装与解封装。常把这一层数据叫做数据包,主要设备:路由器。
  4. 传输层:定义了一些传输数据的协议和端口,如TCP、UDP协议,主要将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,以往把这一层数据叫做段。
  5. 会话层:通过传输层建立数据传输通路。在系统之间发起会话或者接受会话请求(设备之间需要互相认识)
  6. 表示层:主要是进行对接收的数据进行解释、压缩与解压缩等,即把计算机能够识别的东西转化成人能够识别的东西(如图片、声音等)
  7. 应用层:主要是一些终端的应用,比如说FTP(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可以看到的东西,也就是终端应用。

二、IP协议(网络层协议)

IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。

IP的责任就是把数据从源传送到目的地。它不负责保证传送可靠性,流控制,包顺序和其它对于主机到主机协议来说很普通的服务。

这个协议由主机到主机协议调用,而此协议负责调用本地网络协议将数据报传送以下一个网关或目的主机。例如TCP可以调用IP协议,在调用时传送目的地址和源地址作为参数,IP形成数据报并调用本地网络(协议)接口传送数据报。


三、TCPUDP协议(传输层协议)

TCP(传输控制协议)

TCP是传输层协议,提供的是面向连接、可靠的字节流服务。提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从⼀端传到另⼀端。

当客户和服务器彼此交换数 据前,必须先在双⽅方之间建⽴一个TCP连接,之后才能传输数据。

TCP连接必须要经过三次对话才能建⽴起来三次对话的简单过程:

1.主机A向主机B发出连接请求数据包;

2.主机B向主机A发送同意连接和要求同步(同步就是两台主机⼀一个在发送,⼀一个在接收,协调⼯工 )的数据包;

3.主机A再发出⼀一个数据包确认主机B的要求同步:我现在就发,你接着 !,这是第三次对话。

三次对话目的是使数据包的发送和接收同步,经过三次之后,主机A才向主机B正式发送数据。

建立连接后,形成传输数据的通道可进行大数据传输(数据大小不受限制)因为必须建立连接,效率会稍低


UDP(用户数据报协议)

UDP是一个简单的⾯向数据报的传输层协议。UDP不提供可靠性,是把应⽤程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP传输数据报前不⽤用在客户和服务器之间建⽴一个连接,且没有超时重发等机制,故而传输速度很快。

UDP(User Data Protocol,⽤用户数据报协议)是与TCP相对应的协议。它是面向非连接的协,它不与对方建立连接,而是直接就把数据包发送过去!UDP适⽤于⼀一次只传送少量数据、对可靠性要求不高的应用环境。

tcp协议和udp协议的差别:
是否连接  :⾯向连接与面向非连接。
传输可靠性:可靠与不可靠
应⽤用场合:传输大量数据与少量数据
速度慢快慢:效率高与效率低


四、HTTP(应用层协议)

HTTP是一个属于应用层的面向对象的协议基于TCP的连接⽅式,由于其简捷、快速的⽅方式,适⽤用于分布式超媒 体信息系统。目前在WWW中使用的是HTTP/1.0的第六版。

HTTP协议的主要特点可概括如下

1.⽀支持客户/服务器模式(请求响应模式)。 

2.简单快速:客户向服务器请求服务时,只需传送请求⽅方法和路径。请求⽅方法常⽤的有 GETHEADPOST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单使得HTTP服务器的程序规模小,因而通信速度很快。 

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,得到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增⼤大。另一方面,在服务器不需要先前信息时它的应答就较快。 





你可能感兴趣的:(iOS开发)