目录
一、网络分层模型
网络分层模型有两种,OSI七层模型与TCP/IP四层模型。
1.1 OSI七层模型
OSI 的七层体系结构概念清楚,理论也很完整,但是它比较复杂而且不实用,而且有些功能在多个层中重复出现。
因此,TCP/IP 四层模型 是目前被广泛采用的一种模型。
1.2 TCP/IP四层模型
TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。
- 应用层:决定了向用户提供应用服务时通信的活动。
TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。
- 传输层:对上层应用层提供处于网络连接中的两台计算机之间的数据传输。
在传输层有两个性质不同的协议:TCP(TransmissionControl Protocol,传输控制协议)和UDP(User DataProtocol,用户数据报协议)。
- 网络层:用来处理在网络上流动的数据包。
数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方(路由与寻址)。
与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。
- 链路层(网络接口层):用来处理连接网络的硬件部分。
硬件上的范畴均在链路层的作用范围之内。
利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层往上走。
用HTTP举例来说明:
- 首先作为发送端的客户端在应用层(HTTP协议)发出一个想看某个Web页面的HTTP请求;
- 接着,为了传输方便,在传输层(TCP协议)把从应用层处收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层;
- 在网络层(IP协议),增加作为通信目的地的MAC地址后转发给链路层;
- 发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。
由于网络接口层主要涉及硬件部分,下面将从网络层开始自底向上介绍每层的常用协议。
二、IP(网络层)
2.1 IP
按层次分,IP(Internet Protocol)网际协议位于网络层。几乎所有使用网络的系统都会用到IP协议。
IP协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAC地址(Media Access Control Address)。
IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会更改。
2.2 ARP
ARP:地址解析协议。
IP间的通信依赖MAC地址。
在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。
这时,会采用ARP协议(Address Resolution Protocol)。ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择(routing)。
既然最终数据帧的传输是按照硬件地址(MAC)去传输的,那IP地址的存在的意义是什么?
这是因为全世界存在着各种不同类型的网络,这些不同类型的网络使用着不同格式的硬件地址,若是放弃使用IP地址,只使用硬件地址,就存在着不同硬件地址格式不同的问题,需要做大量的格式转换工作。但是,IP地址就不一样了,我们知道,IP地址的格式是统一的,因此,我们调用IP地址来进行通信,可以省去非常复杂的硬件地址转换工作。
三、TCP与UDP(传输层)
本节主要介绍位于传输层的TCP与UDP协议。