OSI、TCP/IP协议及其相关内容

2023-10-29

一、OSI简介:

        简单来说,在osi还没有颁布的年代,由于没有一个官方且统一的数据产生标准,各大厂商产生的数据大多不具有兼容性,各自都想称王,制定度量衡。导致不同的系统和软件大多都数据不兼容。这个时候一个叫ISO的官方组织出手了,一时之间横扫宇内、席卷八荒,颁布了OSI,OSI其实就是将当时计算机及其相关设备不同层级的数据环境、不同层级的功能(数据处理功能)等进行归纳总结,并划分出的一个标准,用来标准化了计算机及相关设备的开放式系统结构。OSI------开放式系统参考模型。但是由于OSI标准划分得过于细了,且划分得不够均匀,我们在实际的情况中往往是采用的是TCP/IP协议。

二、OSI的七层模型:

上三层(控制层面):

        应用层(第7层)、表示层(第6层)、会话层(第5层)

下四层(数据层面):

        传输层(第4层)、网络层(第3层)、数据链路层(第2层)、物理层(第1层)

控制层面、数据层面的含义:

        简单来说,控制层面你可以把它想象成人的大脑发出导向性的想法,而数据层面则是人的身体具体的去做出行动。

分层的好处:

1.降低了层次之间的关联性,减少了某些层协议对其他层的影响
2.便于指定标准化
3.方便学习和理解
4. 各个层之间清楚自己的目标并相对独立,便于后期单独维护升级

三、各层的含义及相关内容:

7、应用层:

        接收用户数据,属于人机交互的一个层面,面向应用程序。

6、表示层:

        简单来说就是起到翻译作用,将逻辑语言(软件语言)转换为机器语言(二进制语言)。

5、会话层:

        在表层来看就是建立维持和断开一次会话,会话------pc和服务器建立的一次服务,在底层来看是起到一个虚拟的分流标识作用,通过建立一条虚拟的会话链接(只有本端没有对端),来达到将数据分流标识的作用。

4、传输层:

        主要是两个作用,一是用端口号实打实地标识不同流量(数据)用以分流,二是定义数据的传输方式。

3、网络层:

        简单来说,就是起到编址、寻址的作用。

2、数据链路层:

        针对不同的传输介质定义不同的第二层封装。

        主要分为两个子层: LLC---逻辑链路控制子层:标识出上一层(网络层)
                                MAC---介质访问控制子层:在这里进行地址的识别(mac地址)
                                还主要涉及对物理层信号进行控制与处理的功能,也是在这一层级处理二进制数据与比特流的转换。
        MAC地址:物理地址,烧录在网卡上的,全球唯一,由48个2进制构成

1、物理层:

        传输介质:有线介质(同轴电缆、双绞线、光纤(分单模和多模))
                         
                         双绞线分类:屏蔽双绞线(抗干扰强)、非屏蔽双绞线(用于日常干扰弱的环境)
                         
                          双绞线线序: 568A线序:绿白绿、橙白、蓝、蓝白、、棕白、棕
                                                568B线序:橙白绿白、蓝、蓝白、绿、棕白、棕
                        (国内一般约定俗成使用568B线序,国外一般55开)
                         双绞线连接方式:  平行线:两端线序相同。用于连接不同层设备。
                                                        交叉线:两端线序不同。用于连接同局设备。
                                                        全反线:两端线序相反,用于连接用户 控制网络设备。
                         无线介质(WiFi、蓝牙、wimax等)

四、TCP/IP简介:

        由于OSI是一套偏理论化的标准,步骤较为复杂,以至其在实际生产环境中不够便利和高效,于是后人在OSI的基础上建立了一套新的标准------TCP\IP,也可以说为是为了节约资源、提高效率压缩了OSI,用于实际生产环境中。

五、TCP/IP模型:

 标准模型:

        应用层(第四层)、主机到主机层(第三层)、英特网层(第二层)、网络接入层(第一层)。

 对照模型:

        与OSI的映射关系: 应用层(TCP/IP)------应用层、表示层、会话层(OSI)

                                         传输层(TCP/IP)------传输层(OSI)

                                         网络层(TCP/IP)------网络层(OSI)

                                         数据链路层(TCP/IP)------数据链路层(OSI)

                                         物理层 (TCP/IP)------物理层(OSI)

六、对照模型各层的含义及相关内容:

5、应用层:

        将OSI模型应用层、表示层、会话层划分为一层。

 第5层数据被称为数据报文

4、传输层:

        主要是两个作用,一是用端口号实打实地标识不同流量(数据)用以分流,二是定义数据的传输方式。(以便于建立起端到端的通信)

 (1)端口号(用来实打实地标识不同会话的流量(数据)用以分流):

        又分为静态端口和动态端口

        静态端口(0--1023)(0一般保留):早期将一些热门服务与静态端口号绑定了起来,就是有固定服务的端口号,不过有些服务已经过时了,但还是绑定着静态端口。

        动态端口(1024--65535):就是没有绑定固定服务的端口号,重启后会刷新,但是由于静态端口号已被用完,而当下的一些热门服务就约定俗成地使用着一些动态端口号,类似于绑定静态端口号,例如腾讯的一些服务就约定使用端口号8000等,但这是非官方认证的,只是约定俗成的。

        常见端口号:

        HTTP-------80

        Telnet------23

        DNS--------53

        ......

(2)传输方式:

        分为可靠和不可靠传输方式(这可不兴被名字误导了,不可靠传输方式在一些情况下也是很可靠的)

可靠传输方式:面向连接、传输速度较慢、传输数据可靠不漏传。

        TCP协议:是一种面向连接的可靠的传输协议,使用了确认机制、重传输机制、排序机制、流控机制(滑动窗口机制)、三次握手机制、四次断开机制TCP主要应用环境: web浏览器 、电子邮件、FTP 等协议。

不可靠传输方式不连接、传输速度较快、传输数据不可靠易漏传。适用于:1.大流量 2.同步性要求较高 3.对数据的丢失不敏感,三种情况都满足的时候。

        UDP协议:用户数据报协议,是一种非面向连接的不可靠传输协议。

        特点: 1.无连接(没有三次握手不需要提前进行协商)2.不可靠传输(尽力而为) 3.简单 4.低开销。
         UDP主要使用环境:视频流、IP语音(VOIP)

第4层数据被称为segment数据段

3、网络层:

        简单来说,就是起到编址、寻址的作用。

        编址协议: IPV4、IPV6、IPX等。
        
         IPV4:互联网协议版本4 ,采用了32个二进制构成

三层数据被称为packet数据包

2、数据链路层:

        与OSI模型类似。

第二层数据被称为frame数据帧

1、物理层:

        与OSI模型类似。

第一层数据被称为bit比特流       

七、TCP/IP与OSI的区别:

1、 TCP/IP多用于实际开发,而OSI则多用于理论分析。

2、 TCP/IP支持跨层封装,而OSI不支持跨层封装(顺序封装)。

        封装与解封装:封装就是每一层都把上一层的协议包当成数据部分,加上自己的协议头部组成自己的协议包。解封装就是封装的逆过程。

        跨层封装顺序封装:一个正常完整的流量一定是顺序封装出来的,而在我们的一些直连的设备之间为了进行快速的沟通,会采用跨层封装。

3、 TCP\IP的英特网层只支持IP协议,而OSI的网络层支持多种协议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OSI、TCP/IP协议及其相关内容 的相关文章

  • StarUML中时序图添加小人

    StarUML中时序图添加小人 在看时序图的例子的时候 发现有些的时序图上有小人的图标 可是一些UML工具却没有找到小人的图标 这让我很闹心 一直没解决 今天终于将该问题给解决了 解决这个问题来自于网上的一个建议 那个建议说复制一个小人 可
  • vim必装插件

    一 安装Vunble Vunble是一个vim插件管理器 可以通过它安装各类插件 需要安装依赖软件 git sudo apt install git 使用git从github上下载Vundle放到vim的bundle路径下 git clon
  • 游戏开发Unity UGUI知识系列:编辑器下,对于RectTransform,改变Pivot同时改变了世界位置的bug

    之前一直搞错了 直到换了一个编辑环境后 发现设置pivot并没有改变组件的世界坐标 才知道为什么之前设置pivot会导致组件的世界坐标变化 如下图 当点中R按钮时 Anchors和Pivot的设置是基于当前组件的相对值设置的 所以例如改变P
  • ejs中在页面上使用if-else

    前言 在node的ejs文件中页面上直接使用if else 实现步骤 1 路径设置 注意一件事 如果在这里的数据发生改变 请重启服务 不然页面是监听不到的 router get home function req res next let
  • CNN神经网络训练minist数据集代码+傻瓜注释

    因为最近在学神经网络的课程 但是之前仅仅听说过这个玩意 但是这方面代码基础可以认为是0 就找了一篇大神博客给的代码 原文链接我放到这篇博客末尾了 把必要的部分留下 并且为了看明白一个函数一个函数的去搜到底是做啥用的 说实话在这方面下了不少功

随机推荐