OSI网络七层协议与TCP/IP协议
OSI网络七层协议
举个例子来了解
比方说我要发一封邮件给朋友,那么各个层的作用分别是
- 应用层:邮件应用,记录用户的数据
- 表示层:把用户的文字数据转化成基本数据,包装成数据包。
- 会话层:判断用户的这些数据要不要通过网络发送给别的人,如果只是保存一下文件,这一层就直接把数据扔到内存,写入硬盘里。这里是要通过网络发送给别的Internet用户,所以把数据传给传输层。
- 传输层:收到数据后,记录下是哪个端口发来的数据,并把这个端口号和接收方的目标端口信息打入到这个要发送的数据包里面。再把处理过的数据包传输给网络层。
- 网络层:接收到数据包后,在里面打入本机ip和目标ip。
- 数据链路层:在数据包里面打入mac地址。
- 物理层:通过网线把数据发送到网络上。
通过以上流程,数据包被打上了各种各样的信息,用来在网络传输中定位。
目标的物理层收到数据包后,直接把数据包向上传,流程如下。
- 数据链路层:收到下面传来的数据包,检查mac地址是不是和我匹配。匹配向上传,不匹配就把数据包扔掉。
- 网络层:检查ip是否匹配。
- 传输层:经过前两个检查后,基本确认数据包就是给我这台电脑的。可是,电脑有这么多的应用,数据包要传给谁呢?这时候,传输层就根据数据包里打入的端口号来确认传给那个应用。类似于小区楼下的信箱。
- 会话层:特定端口的会话层收到数据包后,向上传。
- 表示层:把数据包里面的基本数据根据不同的格式转变为用户可识别的文字,图片等信息,传给应用层,就是某个特定的应用。
- 应用层:收到表示层传来的处理过的数据后,把数据显示给用户看。
就这样,完成了一次信息传递。
TCP/IP协议:
- 应用层:(对应OSI七层协议中的 应用,表示,会话层)
- 传输层:(传输层)
- 网际互连层:(网络层)
- 网络接口层:(数据链路层,物理层)