网络学习day01_计算机网络与分层思想
2018.9.1 网络学习day01_计算机网络与分层思想
LAN与WAN
LAN(Local Area Network)--局域网
局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。“某一区域”指的是同一办公室、同一建筑物、同一公司和同一学校等,一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
- 范围:1km左右
- 作用:用于连接较短距离内的计算机
- 典型应用:企业网,校园网
WAN(Wide Area Network)--广域网
广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市,甚至一个国家。广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。
- 范围:几十到几千千米
- 作用:用于连接远距离的计算机网络
- 典型应用:Internet
- 局域网和广域网的区别
局域网是在某一区域内的,而广域网要跨越较大的地域,那么如何来界定这个区域呢?例如,一家大型公司的总公司位于北京,而分公司遍布全国各地,如果该公司将所有的分公司都通过网络联接在一起,那么一个分公司就是一个局域网,而整个总公司网络就是一个广域网。
计算机网络参考模型
- 分层模型
- 分层思想
- OSI参考模型
- TCP/IP协议簇
- 数据传输过程
- 数据封装与解封装过程
分层模型
由于单一的巨大的协议会加大网络设计难度,同时也不利于分析查找问题
分层模型是一种用于开发网络的设计方法,描述了通信问题划分为几个小的问题(层次),每个问题对应一个层次,同等层之间采用相同的协议
分层思想
有了通信需求 -> 定义协议标准
如果完成每件事情,需要的协议太多,怎么办?
例如喝牛奶这个行为背后的过程链,我们用分层思想列举如下:
牧场挤牛奶-->运输部门将奶运输到工厂-->工厂对牛奶消毒-->消毒完成后超市售卖-->消费者购买牛奶-->喝牛奶 |
如果不将这个过程分开处理,则喝牛奶的人必须要一个人掌握以上过程的所有技能才可以喝到牛奶
然而享用牛奶的人只需要购买饮用即可,不用关心前面的过程是怎么样完成的
同样的,在网络中我们完成一次数据传输的过程也极其复杂,而我们并不需要一一了解,于是采用了分层思想将这一过程简化,我们只用关注喝牛奶这一件事情即可,无须关心牛奶的生产销售过程。
再用写信的过程举例:
甲地区的A给乙地区的B写信:
甲地区 | 乙地区 | |
---|---|---|
写信 | 收信 | |
↓ | ↑ | |
将信交给邮局 | 将信送到乙手上 | |
↓ | ↑ | |
运输部门把信送到收信地区邮局 | → | 邮局收到运输部门的来信 |
写信者不需要知道邮件传输的具体过程,同理使用网络的人不需要知道数据的传输过程
分层的好处:
- 降低了过程的复杂性
- 每层都是独立的,又具有互为协作关系
OSI参考模型
为了降低网络通信过程的复杂性,1974年ISO组织提出了OSI参考模型
OSI(Open System Interconnect),即开放式系统互联。
一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开放系统互连参考模型。在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。
OSI参考模型将网络分成了七层
层数 | 名称 | 作用 | 功能 |
---|---|---|---|
第七层 | 应用层 | 提供用户界面 | 文件、打印、消息、数据库和应用程序服务 |
第六层 | 表示层 | 表示数据、进行加密等处理 | 数据加密、压缩和转换服务 |
第五层 | 会话层 | 将不同应用程序的数据分离 | 对话控制 |
第四层 | 传输层 | 提供可靠或者不可靠的传输,在重传前执行纠错 | 端口到端口连接 |
第三层 | 网络层 | 提供逻辑地址,路由器使用它们来选择路径 | 路由选择 |
第二层 | 数据链路层 | 将分组拆分为字节,并将字节组合成帧,使用MAC地址提供介质访问,执行错误检测但不纠错 | 成帧 |
第一层 | 物理层 | 在设备之间传输比特,指定电平、电缆速度和电缆针脚 | 物理拓扑 |
学习网络需要对每一层的相关协议和原理都熟悉掌握,这些内容将会在后面的整理中详细学习。
网络学习day01_计算机网络与分层思想的更多相关文章
- [codevs 1243][网络提速(最短路分层思想)
题目:http://dev.codevs.cn/problem/1243/ 分析: 先容易想到将一个点拆成m个点,分别对应不同的边连过去,但是想不到控制加速器数量的办法.看了题解才知道,每个点的分层, ...
- 转:浅谈深度学习(Deep Learning)的基本思想和方法
浅谈深度学习(Deep Learning)的基本思想和方法 参考:http://blog.csdn.net/xianlingmao/article/details/8478562 深度学习(Deep ...
- JavaWeb开发中的分层思想(一)
JavaWeb开发分层思想(一) 一.认识DAO.Service.Controller层 DAO(Data Access Object) 1.直接看英文意思就是"数据访问对象",也 ...
- 初识mvc分层思想
首先要清楚的是: mvc是一种设计模式,一种分层思想,没有具体的技术与之对应,无论是js还是java或者其他的技术都可以运用. 既然是分层那么这些层都有哪些职责呢? View层(界面层): 为用户展示 ...
- RebotFrameWork的分层思想
RebotFrameWork的分层思想 分层思想,就是通过关键字调用的方法,把大杂烩的代码根据脚本特征拆封开来,提高代码的灵活性和清晰度,从而也让一些组件层内容可扩展.可复用.可维护. 解析下目录结构 ...
- ios网络学习------4 UIWebView的加载本地数据的三种方式
ios网络学习------4 UIWebView的加载本地数据的三种方式 分类: IOS2014-06-27 12:56 959人阅读 评论(0) 收藏 举报 UIWebView是IOS内置的浏览器, ...
- ios网络学习------6 json格式数据的请求处理
ios网络学习------6 json格式数据的请求处理 分类: IOS2014-06-30 20:33 471人阅读 评论(3) 收藏 举报 #import "MainViewContro ...
- Robot Framework自动化测试(四)--- 分层思想
谈到Robot Framework 分层的思想,就不得不提“关键字驱动”. 关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同. 在上一节的selenium API 中所介绍的方法其实就是关 ...
- CNN中减少网络的参数的三个思想
CNN中减少网络的参数的三个思想: 1) 局部连接(Local Connectivity) 2) 权值共享(Shared Weights) 3) 池化(Pooling) 局部连接 局部连接是相对于全连 ...
随机推荐
- (四)esp8266 MDNS域名服务
(实例一)ESP8266 TFT(ST7735)彩屏-web刷图 https://www.arduino.cn/thread-42247-1-1.html (实例二) 自己当AP时建立MDNS域名 h ...
- Python第二天: 变量详解及变量赋值
目录 什么是变量? 怎么写一个好的变量? 下划线命名法及驼峰命名法 结语 目录 此文章针对刚学Python的小白,若觉得对变量有很好的掌握,可以观看其他的文章 在这里, 我说一下我对变量的简单总结: ...
- 路由信息对象Route之属性query和params的区别
query的使用 第一步:在<router-link/>标签中配置如下 <router-link :to="{name:'beijing',query:{id:1,user ...
- JavaScript日历控件开发
概述 在开篇之前,先附上日历的代码地址和演示地址,代码是本文要分析的代码,演示效果是本文要实现的效果 代码地址:https://github.com/aspwebchh/javascript-cont ...
- 软件工程(FZU2015) 赛季得分榜,第11回合(beta冲刺+SE总结)
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分:beta30分 团队项目分=团队得分+个人贡献分 个人 ...
- [Alpha阶段]第一次Scrum Meeting
Scrum Meeting博客目录 [Alpha阶段]第一次Scrum Meeting 基本信息 名称 时间 地点 时长 第一次Scrum Meeting 19/04/01 大运村寝室6楼 40min ...
- 数据库优化-mysql中INNODB和MYIASM引擎的区别
Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别. 该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQ ...
- 【php-fpm】启动PHP报错ERROR: [pool www] cannot get uid for user 'apache'
将@php_fpm_user@改为当前系统的用户名apache, 然后重新启动就ok了 注意:创建apache用户及用户组,上述命令换deamon为apache
- Shell命令-系统信息及显示之dmesg、uptime
文件及内容处理 - dmesg.uptime 1. dmesg:显示开机信息 dmesg命令的功能说明 dmesg 命令用于显示开机信息.kernel 会将开机信息存储在 ring buffer 中. ...
- Azure Machine Learning
About me In my spare time, I love learning new technologies and going to hackathons. Our hackathon p ...