计算机与网络设备相互通信,双方就必须基于相同的方法,比如,如何探测到通讯目标,由哪一边发起通讯,使用哪种语言进行通讯,怎样结束通讯等规则都要实现确定,不同的硬件,操作系统之间的通讯,所有的这一切都要有一种规则,而我们就把这种规则称为协议(protocol)。
协议中存在各种各样的内容,从电缆的规格到ip地址的选定方法,寻找异地用户的方法,双方建立通信的顺序,以及web页面显示需要处理的步骤等等。
像这样把互联网关联的协议集合起来统称为TCP/IP。
TCP/IP协议族分四层:
应用层:预存了应用程序的各种服务,比如客户端请求,ftp传输协议和dns域名系统,http协议也处于该层。
传输层:处理两台计算机的网络连接及传输
网络层:处理传中的数据包
链路层:处理网络硬件,比如操作系统,硬件设备驱动,网卡,光纤。
举个例子:
首先,我们用http首先在客户端发送一个想看某个web页面的请求,这时,你处在应用层,通过http协议发送了请求。
其次,为了传输方便,在传输层把你的http请求进行了分割,并在各个报文上打上标记及端口号发送诶网络层。
接着,网络层处理了这些数据包,曾杰mac地址发给链路层。
最后,链路层收到数据后,传输回来。依次传到网络层、传输层、应用层。
以上过程走完,才能算真正接收到由客户端发送过来的http请求。
注意,发送端每通过一层,就会增加首部。接收端每通过一层就会删除首部。
这种把数据信息包装起来的方法叫做封装。
原文:http://www.cnblogs.com/themost/p/6666610.html