OSI参考模型---网络基础篇(1)
什么是网络
网络就是将分布在不同地理位置,具有独立功能的终端(一切联网的设备都叫终端;例如电脑,手机,智能家电等等联网的设备),通过通信线路(双绞线、光纤、电话线等等)和通信设备(例如:交换机、路由器等等)相互连接起来,进行数据通信,实现资源共享。
网络大致规划为三个类型:
- 局域网 LAN(Local Area Network):本地私有的一个网络范围。如果是一个规模比较大的局域网,也会成为是一个园区网。
- 城域网 MAN(Metropolitan Area Network):如果一个网络的覆盖面积达到了一个城市,就可以称为城域网。
- 广域网 WAN (Wide Area Network):如果覆盖面积达到了全国或者全球,就称为广域网,全球最大的广域网就是Internet互联网。

局域网组网

局域网连接互联网的三种方式:
1.DSL(Data/Digital Subscriber Line):数字用户线,是以电话线为传输介质的传输技术组合。
电话线网络传输的是模拟信号,计算机网络是数字信号(0/1 二进制),所以需要一个转换器,将模拟信号转换成数字信号,那就是Modem(上网猫)
DSL包括ADSL(Asymmetric Digital Subscriber Line,非对称数字用户线)、RADSL、HDSL和VDSL等等。
2.Cobler(有线电视网络),也是需要Modem转换器。
3.Serial (网络中的一种数字信号)

OSI参考模型
- OSI的概念:
– Open System Interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。它是个灵活的、稳健的和可互操作的模型, 是用来了解和设计网络体系结构的。
- OSI模型的目的:
– 规范不同系统的互联标准,使两个不同的系统能够较容易的通信, 而不需要改变底层的硬件或软件的逻辑。
– 本质:在网络中顺利的将一个数据包从一个节点传递到另一个节点
- OSI模型分为七层:
– OSI把网络按照层次分为七层,由下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

特点:
1、OSI模型每层都有自己的功能集;
2、层与层之间相互独立又相互依靠;
3、上层依赖于下层,下层为上层提供服务。
OSI七层通信参考模型

应用层

• 应用层的作用:
为应用软件提供接口,使应用程序能够使用网络服务
• 常见的应用层协议:
http(80)、ftp(20/21)、smtp(25)、pop3(110)、telnet(23)、dns(53)等
表示层

• 表示层的作用:
– 数据的解码和编码
– 数据的加密和解密
– 数据的压缩和解压缩
会话层

• 会话层的作用:
– 建立、维护、管理应用程序之间的会话。
• 功能:
– 对话控制
– 同步
传输层

• 传输层的作用:
– 负责建立端到端的连接,保证报文在端到端之间的传输。
• 传输层的功能:
– 服务点编址(端口号)、分段与重组、连接控制、流量控制、差错控制。
网络层

• 网络层的作用:
– 负责将分组数据从源端传输到目的端
• 网络层功能:
– 为网络设备提供逻辑地址(IP地址、源IP地址和目的IP地址)
– 进行路由选择、分组转发
数据链路层

• 数据链路层的作用:
– 在不可靠的物理链路上,提供可靠的数据传输服务,把帧从一跳(结点)移动到另一跳(结点)。
• 数据链路层的功能:
– 组帧、物理编址(MAC地址,唯一标示)、流量控制、差错控制、接入控制
物理层

• 物理层的作用:
– 负责把逐个的比特从一跳(结点)移动到另一跳(结点)。
• 物理层功能:
– 定义接口和媒体的物理特性
– 定义比特的表示、数据传输速率、信号的传输模式(单工、半双工、全双工)
– 定义网络物理拓扑(网状、星型、环型、总线型等拓扑)
各层之间的联系

数据的发送—报文封装

数据的接收—报文拆封

OSI参考模型的优点
1. 将网络通信过程划分成更小、更简单的组件,这有助于组件的开发、设计和故障排除;
2. 通过标准化网络组件,让多家厂商能够协作开发;
3. 定义了模型每层执行的功能,从而鼓励了行业准化;
4. 让不同类型的网络硬件和软件能够彼此通信;
5. 避免让对一层的修改影响其他层,从而避免妨碍开发工作。
OSI参考模型---网络基础篇(1)的更多相关文章
- Python3 与 C# 网络编程之~ 网络基础篇
最新版本查看:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入门篇 官方文档:https://docs.python.org/3/library ...
- TCP/IP协议栈---网络基础篇(3)
TCP/IP协议栈 在网络中实际使用的是TCP/IP,OSI是参考模型. TCP/IP协议栈 – 是由一组不同功能的协议组合在一起构成的协议栈 – 利用一组协议完成OSI所实现的功能 应用层协议 传输 ...
- Docker容器网络-基础篇
开源Linux 一个执着于技术的公众号 Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace.Veth设备对.Iptables/N ...
- 网络基础篇(一)--TCP/IP协议族
TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...
- 网络基础篇之NAT(原理)
一.NAT的产生 由于网络的飞速发展和网络应用的极速增多,致使IPv4可用地址空间逐渐枯竭.尽管IPv6可以在根本上解决地址枯竭问题,但IPv4发展到IPv6还需要一个过渡,而这便产生了NAT. 二. ...
- 网络基础篇之HDLC、PPP(原理)
一.广域网传输 之前讲解的都是关于局域网的数据传输,这次讲解的是广域网的传输. 广域网简称WAN,是一种跨越超大的.地域性的计算机网络集合.通常跨省.市.甚至一个国家.广域网包括很多子网,子网可以是局 ...
- 网络基础——OSI参考模型
一.OSI/ISO/IOS傻傻分不清楚 ISO 国际标准化组织(International Organization for Standardization)简称ISO,是一个全球性的非政府组织,是国 ...
- 软件开发架构、网络基础知识、osi七层模型
一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...
- 网络基础 ----------- osi 与 一些协议
1.了解 OSI ISO IOS ISO(全称:International Organization for Standardization) 国际标准化组织, 成立于1947年2月23日,制定全世界 ...
随机推荐
- 的二分图poj2446
称号:id=2446">poj2446 意甲冠军:给定一个m*n矩阵,在有些地方坑,然后1*2本文叠加,反复.可以把出了坑的地方其它所有覆盖的话输出YES,否则NO 分析:有一道二分图 ...
- React实现checkbox group多组选项和标签组显示的联动
实现功能:勾选checkbox项,确定后,已勾选的checkbox项以tag标签的形式展示,tag标签可快捷删除. 实现过程: 使用React. 使用Ant Design的Checkbox.Tag组件 ...
- C++ 异常机制分析(C++标准库定义了12种异常,很多大公司的C++编码规范也是明确禁止使用异常的,如google、Qt)
阅读目录 C++异常机制概述 throw 关键字 异常对象 catch 关键字 栈展开.RAII 异常机制与构造函数 异常机制与析构函数 noexcept修饰符与noexcept操作符 异常处理的性能 ...
- android 随着认识的去除率EditText(它配备了防抖效果)
Android它没有提供的类似至ios自带的输入框效果清晰(ios简单地只加属性可实现).因此,Android其中 我们要如何实现就需要这种效果用自己的定义的控件实现. 思路:能够使用一个Linear ...
- DataTemplate
DataTemplate作用是布局+数据绑定 使用DataTemplate 同时完成样式布局和数据绑定 <Window.Resources> <DataTemplate x:Key= ...
- JDK源码阅读—ArrayList的实现
1 继承结构图 ArrayList继承AbstractList,实现了List接口 2 构造函数 transient Object[] elementData; // 数组保存元素 private i ...
- 插入2D点,在WPF中使用Bezier曲线
原文Interpolate 2D points, usign Bezier curves in WPF Interpolate 2D points, usign Bezier curves in WP ...
- C#代码中设置 控件的触发器
Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...
- QEventLoop的全部源码也不多,混个脸熟
/**************************************************************************** ** ** Copyright (C) 20 ...
- C#中??操作符的使用
为了实现Nullable数据类型转换成non-Nullable型数据,就有了一个这样的操作符”??(两个问号)“,双问号操作符意思是取所赋值??左边的,如果左边为null,取所赋值??右边的, 比如i ...