应用层(Application Layer)
规定应用程序的数据格式:
Email、WWW(http协议,webSocket协议)、FTP有不同的协议规定数据格式,这些协议构成应用层。
数据位于TCP数据包的“数据”部分。
传输层(Transport Layer)
主机上不同的应用程序,接收网络数据,通过端口(port)来区分,可视为使用网卡的程序编号,每个数据包发送到主机的特定端口,即转发给不同的程序。
端口是0~65535之间的整数,0~1023被系统占用,应用程序会随机选择空闲端口,与服务器连接。
传输层的功能,建立“端口”到“端口”的通信,确立主机和端口(套接字),就可以实现程序间通信。
UDP协议:在数据前加【发出端口】【接收端口】(处于帧头部分),帧头8字节,总长不超过65535字节,处于IP协议数据部分。
TCP协议:为了解决UDP协议可靠性差,无法确认对方是否收到数据包,TCP数据包收不到应答,认为遗失,重发。TCP数据包没有长度上限。
网络层(Network Layer)
网络层地址协议,IP协议,每台计算机所在地址,称为IP地址,由8个16进制数表示。
前面部分,代表网络,后面部分,代表主机,子网掩码,可以表示子网络,它的网络部分全部为1,主机部分为0。
IP协议发送的数据包(IP数据包)存放在Ethernet协议的数据部分,IP数据包分为:
帧头(版本、长度、IP地址),长度为20~60字节;
数据最大65515,整包最大65535。
链路层(Link Layer)
以太网(Ethernet)协议,解析1/0信号,一组1/0信号,构成一个数据包,称为"帧"Frame = 帧头head + 数据data。
帧头,固定18字节,包含,每张网卡,唯一的MAC地址,12个16进制数表示,前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。
数据,46~1500字节之间。
广播(broadcasting),局域网内,发送,自身MAC地址,对方MAC地址,ARP协议(在局域网广播目标IP地址,目标MAC地址全FF,等目标IP机器,返回其MAC地址)。
物理层(Physical Layer)
连接电脑的物理手段,传送1/0信号(光缆、电缆、双绞线、无线电波等方式)。
整个五层结构构成(image):
【head】 【head】 【head】 【data】
以太网Head IP Head TCP Head 应用层,数据包
每一层都是为了完成一种功能,为了实现功能,需要遵守共同的规则=>"协议"(protocol)。