TCP/IP网络分层模型
第一层叫“链接层”(link layer),负责在以太网、WiFi这样的底层网络上发送原始数据包,工
作在网卡这个层次,使用MAC地址来标记网络上的设备,所以有时候也叫MAC层。
第二层叫“网际层”或者“网络互连层”(internet layer),IP协议就处在这一层。因为IP协议定
义了“IP地址”的概念,所以就可以在“链接层”的基础上,用IP地址取代MAC地址,把许许多
多的局域网、广域网连接成一个虚拟的巨大网络,在这个网络里找设备时只要把IP地址再“翻
译”成MAC地址就可以了。
第三层叫“传输层”(transport layer),这个层次协议的职责是保证数据在IP地址标记的两点之
间“可靠”地传输,是TCP协议工作的层次,另外还有它的一个“小伙伴”UDP。
TCP是一个有状态的协议,需要先与对方建立连接然后才能发送数据,而且保证数据不丢失不重
复。而UDP则比较简单,它无状态,不用事先建立连接就可以任意发送数据,但不保证数据一
定会发到对方。两个协议的另一个重要区别在于数据的形式。TCP的数据是连续的“字节流”,有
先后顺序,而UDP则是分散的小数据包,是顺序发,乱序收。
协议栈的第四层叫“应用层”(application layer),甶于下面的三层把基础打得非常好,所以在
这一层就“百花齐放”了,有各种面向具体应用的协议。例如Telnet、SSH、FTP、SMTP等等,
当然还有我们的HTTP。
MAC层的传输单位是帧(frame),IP层的传输单位是包(packet),TCP层的传输单位是段
(segment),HTTP的传输单位则是消息或报文(message)。但这些名词并没有什么本质的
区分,可以统称为数据包。
OSI 网络分层模型
第一层:物理层,网络的物理形式,例如电缆、光纤、网卡、集线器等等;
第二层:数据链路层,它基本相当于TCP/IP的链接层;
第三层:网络层,相当于TCP/IP里的网际层;
第四层:传输层相当于TCP/IP里的传输层;
第五层:会话层维护网络中的连接状态,即保持会话和同步;
第六层:表示层把数据转换为合适、可理解的语法和语义;
第七层:应用层
面向具体的应用传输数据。