计算机网络有两个经典的模型:OSI和TCP/IP。
1.OSI模型
OSI全称Open System Interconnection。
参考模型如下图所示:
共有七层。
1.1.物理层
Physical Layer,定义所有电子及物理设备的规范,为上层传输提供物理介质。传输单位是bit。本层协议有RS-232、RS-449、RJ-45等。如网卡属于本层。
1.2.数据链路层
Data Link Layer,对物理层收到的比特流进行物理成帧。提供可靠的数据传输服务,实现无差错数据传输。数据链路层中数据单位是帧(frame)。本层协议有SDLC、HDLC、PPP、STP、帧中继等。如switch交换机属于本层。
1.3.网络层
Network Layer,负责将各个子网之间的数据进行路由选择、分组与重组。本层数据传输的单位是数据包(package)。本层协议有IP、IPX、RIP、OSPF、ICMP、IGMP等。如路由器属于本层。
1.4.传输层
Transport Layer,提供可靠的数据传输服务,检测路由器丢弃的包,然后产生一个重传请求,能够将乱序收到的数据包重新排序。本层协议包括TCP、UDP等
1.5.会话层
Session Layer,管理主机之间会话过程,包括会话建立、终止和会话过程中的管理。
1.6.表示层
Presentation Layer,对网络传输的数据进行变换,使得多个主机之间传送的信息能够相互理解,包括数据压缩、加密、格式转换等。
1.7.应用层
Application Layer,与应用程序界面沟通,以达到展示给用户的目的。本层协议有HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3等。
2.TCP/IP模型
TCP/IP模型由OSI模型简化而来。如下图所示:
协议簇如下图所示:
以太网和IEEE802.3对数据帧的长度限制分别是1500和1492字节,这个限制称为最大传输单元(MTU,Maximum Transmission Unit)。
如果IP层需要传输的数据比链路层MTU大,则需要把数据报分成若干片。
两台主机通信时,可能需要经过多个网络,每个网络的链路层可能有不同的MTU,路径中最小的MTU称为路径MTU。
以太网帧格式:目的地址(6字节)+源地址(6字节)+类型(2字节)+数据(46~1500字节)+CRC(4字节)