这里所说的是广义上的协议群,而不是特指TCP和IP这两种具体的协议。既然是协议群,那么都有哪些呢?先不着急回答这个问题,因为要弄清楚这个问题,首先得了解另两件事,就是为啥要有这个协议群,这个协议群大概是啥样的。
先说第一件,起因很简单,也是web的产生的源头,就是计算机与计算机之间的联接。为啥计算机之间要互联呢?因为要交换数据,共享信息。当然,你也可以说我可以把数据放到U盘或者移动硬盘,接入到另一台计算机去,那我也无话可说了。计算机之间的互联互通要解决很多问题,首先是不同厂商生产的计算机型号、不同的操作系统、不同的网卡等等,这些异构设备和软件如何兼容的问题。解决的办法就是制定规范,大家都按这个规范来,那么就能玩到一起了。
规范的制定就产生了协议,很多的协议,通过这些协议来实现计算机之间的通信,统称叫TCP/IP协议群,或者叫协议族,一个意思。协议的管理办法就是分层,经典的分发是七层,叫做OSI(开放系统互连参考模型,Open System Interconnect)参考模型。从底层往上分别是:物理层 -> 数据链路层 -> 网络层 -> 传输层 -> 会话层 -> 表示层 -> 应用层。简化版的分发是:链路层 -> 网络层 -> 传输层 -> 应用层。其他的还是5层模型:物理层 -> 数据链路层 -> 网络层 -> 传输层 -> 应用层。
我们详细看下OSI的七层分别都在做什么事情:
1、物理层:
主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2、数据链路层:
定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。
3、网络层:
在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
4、运输层:
定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据)、UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
5、会话层:
通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6、表示层:
可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种网络标准传输格式来实现多种数据格式之间的转换。
7、应用层:
这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。包括电子邮件协议(如SMPT)、文件传输协议(FTP)、远程登录协议(Telnet)等。
原文地址:https://www.cnblogs.com/wuxun1997/p/9388245.html