看了下阮一峰的《互联网协议入门》文章,觉得写得还不错,看完后,写了下读书提纲。
链路层
通过有线/无线方式传输0/1信号。
链路层
以太网协议:将一个组信号构成一个数据包称为“帧”,包括标头(Head)和数据(Data);标头包括发送/接收方的MAC地址,数据类型;数据部分最长1500字节,超过后分割发送;发送方通过ARP协议获取接收方的MAC地址;发送方以广播的方式向子网络内接收发发送数据。
获取对方MAC方式:双方位于不同子网络,无法获取,通过子网络网关处理;位于同一子网络(ARP协议),以广播加对方IP的方式,对方获取数据后,返回MAC地址。
同一个子网络通信,需要对方的MAC地址和IP地址;不同子网络通信,需要发送方子网络网关的MAC地址和对方的IP地址。
网络层
解决以太网广播的问题,建立主机到主机的通信。
IP协议:通过网络地址定位接收方的子网络;IP分网络部分和主机部分,网络部分确定子网络,子网掩码和IP做AND运算可确定不同的IP在一个子网络;IP数据包分标头和数据部分,总长度不超过65535字节,放在以太数据包的数据部分传输;
IP地址可以手动指定,也可以通过DHCP协议获取;
传输层
将接收到的数据,以端口来区分不同的类型,建立端口到端口的通信。通过套接字(Socket:主机+端口)来进行网络开发。
UDP协议:分标头和数据部分,标头包含通信两端的端口信息,总长度不超过65535字节,放在IP数据包的数据部分传输。
TCP协议:通过三次握手,解决UDP协议的可靠性问题,理论长度没有限制,但最好不超过65535字节,避免TCP数据包被拆分传输。
应用层
规定应用程序的数据格式,例如http,ftp,email等。
DHCP协议是基于UDP的应用层协议,通过广播的方式,从DHCP服务器获取IP地址、子网掩码、网关地址、DNS服务器等信息。
DNS协议也是基于UDP的应用层协议,将网址转换为IP地址。