五层协议的体系结构从上往下依次为:应用层、运输层、网络层、数据链路层、物理层。
1.应用层
任务:通过应用进程间的交互来完成特定网络应用。
应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。
万维网的应用层协议:HTTP(超文本传输协议)。
2.运输层
a. 任务:负责向两个主机中进程之间的通信提供通用的数据传输服务。
b. 运输层主要是用以下两种协议:
1)传输控制协议TCP
提供面向连接的、可靠的、面向字节流的数据传输服务,其数据传输的单位是TCP报文段。
TCP/IP协议中,TCP协议采用三次握手建立一个连接:
第一次握手:建立连接时,客户端A发送SYN包(连接请求)到服务器B,并进入SYN_SEND(同步已发送)状态,等待服务器B确认。
第二次握手:服务器B收到SYN包,必须确认客户A的SYN,同时自己也发送一个SYN包,即SYN+ACK(确认连接请求)包,此时服务器B进入SYN_RCVD(同步收到)状态。
第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK,此包发送完毕,客户端A和服务器B进入ESTABLISHED(已建立连接)状态,完成三次握手。
完成三次握手后,客户端与服务器开始传送数据。
TCP协议采用四次挥手释放连接:
(1)客户端A发送一个FIN(释放连接报文段),用来关闭客户A到服务器B的数据传送。
(2)服务器B收到这个FIN,它发回一个ACK(确认包)。
(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。
(4)客户端A发回ACK报文确认。
2)用户数据报协议UDP
提供无连接的、尽最大努力传输的、面向报文的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是UDP用户数据报。
3.网络层
a. 任务:负责为分组交换网上的不同主机提供通信服务。
在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet)进行传送。在TCP/IP体系中由于网络层使用IP协议,因此分组也叫作IP数据报,简称数据报。
注:不要将运输层的“用户数据报UDP”和网络层的“IP数据报”弄混。
b. 网络层使用的中间设备叫做路由器。
4.数据链路层
a. 任务:将网络层交下来的IP数据报封装成帧,在两个相邻结点间的链路上传送帧。每一帧包括数据和必要的控制信息。
b. 使用信道:点对点信道(一对一通信)、广播信道(一对多通信)。
c. 三个基本问题:封装成帧、透明传输、差错检测。
d. 以太网:是一种局域网,使用的协议是CSMA/CD,意思是载波监听多点接入/碰撞检测。
多点接入:总线型网络,即许多计算机以多点接入的方式连接在一根总线上。
载波监听:不管在发送前,还是在发送中,每个站都必须不停地检测信道。
碰撞检测:边发送边监听。
注:以太网规定的最短帧长64字节。凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。
e. 在数据链路层扩展以太网使用网桥,网桥工作在数据链路层。
5.物理层
任务:确定与传输媒体的接口有关的一些特性,透明地传送比特流。
在物理层上所传数据的单位是比特。