网络编程知识预备 ——了解OSI网络模型

Posted 行稳方能走远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程知识预备 ——了解OSI网络模型相关的知识,希望对你有一定的参考价值。

摘自:简单了解OSI网络模型
作者:丶PURSUING
发布时间: 2021-03-18 20:07:09
网址:https://blog.csdn.net/weixin_44742824/article/details/114968802?spm=1001.2014.3001.5502

本文为学习笔记,根据了解需求摘抄自下篇文章,这篇文章作者写得实在是太棒了,很是膜拜,建议都去看看。

参考:原文地址
作者:sunsky303

OSI模型

OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出的概念模型,试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架

它将计算机网络体系结构划分为七层,每层都可以提供抽象良好的接口。了解 OSI 模型有助于理解实际上互联网络的工业标准——TCP/IP 协议

OSI 模型各层间关系和通讯时的数据流向如图所示:

在这里插入图片描述
由上至下,对七个层的应用做简单的介绍:

(1)应用层

规定数据的传输协议

常见的应用层协议:

协议端口说明
HTTP80超文本传输协议
HTTPS443HTTP+SSL,HTTP的安全版
FTP20,21,990文本传输协议
telnet23远程终端协议

(2)表示层

应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别;

EG: 解决不同系统之间的通信,比如Linux下的QQ和Windows下的QQ可以通信;

(3)会话层

建立一个连接(自动的手机信息、自动的网络寻址)

(4)传输层

每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议;

(5)网络层

此处需要确定计算机的位置,怎么确定?IPv4,IPv6

(6)网络链路层

规定了0和1的分包形式,确定了网络数据包的形式

(7)物理层

物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输

下面的图表显示了常见的不同的TCP/IP和其他的协议在最初OSI模型中的位置

协议位置
HTTP、FTP、 telnet、 SIP、 SSH应用层
NCP、AFP表示层
SSH、BSD socket会话层
TCP、UDP传输层
IP网络层
以太网数据链路层
光纤、无线电物理层

由于OSI是一个理想的模型,因此一般网络系统只涉及其中的几层,很少有系统能够具有所有的7层,并完全遵循它的规定。

TCP/IP分层模型

下面以TCP/IP分层模型为例:TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层,如下图

在这里插入图片描述

ICP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。

下面简单了解TCP/IP分层模型中四个协议层分别完成的功能

(1)第一层:网络接口层

包括用于协作IP数据在已有网络介质上传输的协议。

(2)第二层:网间层

对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由

(3)第三层:传输层

对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务

(4)第四层:应用层

对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议常见的有:FTP(文件传输协议)、HTTP(超文本传输协议)、Telent(远程终端协议)等。

往期文章

网络编程知识预备(1) ——了解OSI网络模型
网络编程知识预备(2) ——浅显易懂的三次握手与四次挥手
网络编程知识预备(3) ——SOCKET、TCP、HTTP之间的区别与联系
网络编程知识预备(4) ——了解HTTP协议与HTTPS协议
网络编程知识预备(5) ——libcurl库简介及其编程使用

以上是关于网络编程知识预备 ——了解OSI网络模型的主要内容,如果未能解决你的问题,请参考以下文章

网络编程知识预备 ——了解应用层的HTTP协议与HTTPS协议

网络编程基础知识

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

Linux网络编程

Linux网络编程