计算机网络需要解决的问题

数据如何编码成电信号或者光信号呢?
如何唯一的标识网络上的某台主机?
浏览器访问网站页面时使用什么规则?
如何保证多个站点同一个站点通信时如何避免信号的冲突?
如何区分不同的网络应用?等等

在计算机网络中要做到有条不紊得交换数据,就必须遵守一些事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题。
这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议

曾经在以前的博文提到过:网络协议的三要素:语法、语义、同步

名称 概念
语法 数据与控制信息的结构或格式
语义 需要发出何种控制信息,完成何种动作以及做出何种响应
同步 事件实现顺序的详细说明

如果我们想让连接在网络上的另一台计算机做什么事情(比如下载这台计算机上面的文件),就需要网络协议。但是我们在个人电脑上进行文件的存盘操作的时候,就不需要任何网络协议


网络分层的思想

比如我们坐飞机,要经过:
票务的检查→行李的托运→登机→起飞→飞行
飞行→着陆→下机→取行李→票务检查
我们发现,仅仅是一个做飞机的过程,它也分了很多细节的步骤,在计算机网络中,我们把类似这样的方法叫分层

在分层的时候,要注意以下几点:

  1. 复杂问题按照模块分层思想可以便于学习和研究;
  2. 每个层次提供一种服务;
  3. 本层次依赖于下一层次提供的服务;
  4. 层与层之间必须提供接口。

这样的分层特点,是不是和我们坐飞机是非常类似的呢?
模块化的思想贯穿着整个计算机网络的知识内容,十分重要。

对分层思想的进一步讨论:

讨论 举例
每一层次相对独立 比如一般我们安装QQ的时候,不需要更换硬件。(QQ和硬件属于两个层次)
每一层的实现都是透明的 比如开发网络应用程序是需要了解交换机是如何工作的
下层为上层提供服务 没有网卡等硬件,QQ不能联网正常运作

网络体系结构与协议分层标准(重点)

网络体系结构的概念:计算机网络体系结构是指计算机网络划分的各个层次及相应协议的集合,换句话说,计算机网络的体系结构就是这个计算机网络及其构建所应完成的功能的精确定义。

体系结构是抽象的,而实现是具体的,是真正在运行的计算机软件和硬件。

网络体系结构的核心:分层模型
分层模型有两种:参考模型和协议模型。

概念 内容
参考模型 为各类网络协议和服务之间保持一致性提供通用的参考。即先有模型,再出现协议,例如:OSI体系结构
协议模型 提供与特定的协议簇结构精确匹配的模型,即先有协议,根据协议制定模型,例如:TCP/IP体系结构

尽管 TCP/IP 模型和 OSI 模型是讨论网络功能时使用的主要模型,但网络协议、网络服务或网络设备的设计人员也可以自行创建模型来代表自己的产品。不过,设计人员最终还是需要将自己的产品或服务与 OSI 模型和 TCP/IP 模型之中任一或全部相关联才能与行业通信。

对于教学模型,只有五层,如图,用于教学与理解,并不广泛使用:

用故事解释这五层的含义

这里有一个小故事:Alice想给Bob写信的故事

具体的过程是这样的:
Alice和Bob两位情侣分居两地,隔海相望,甚是想念。
Alice想给Bob写信,于是信写好了托付给管家
但是家里有两个管家,一个叫TCP、一个叫UDP
管家TCP非常勤快,他在拿到Alice信之后会去和Bob家的一个也叫TCP的管家去确认,但是打电话确认需要很长的时间。管家UDP很懒,他会将信直接给邮递员去送信。
Alice把信给了其中一个管家(不管给了哪个管家)。管家把信给了邮递员。
邮递员送到了邮局。
邮局根据信上面的邮政编码,知道了Bob的地址是在西海岛。
东海岛没有直接到西海岛的邮轮,必须经过夏威夷岛。
于是这个信通过邮轮经过夏威夷岛的邮局再邮轮到了西海岛的邮局
西海岛邮局把信给了西海岛的邮递员,邮递员把信给了管家。
Bob家里的管家也有叫TCP和UDP的,功能和Alice的一样
最后管家把信给了Bob,Bob收到了信。

这是一个小故事,但是可以引出五层网络体系结构,因这里面的每一个环节都代表了一层结构。
读者不妨猜一下再看下面的答案

层次 故事里的代表
应用层 Alice写信去连写Bob和Bob能够收到信并读取
传输层 管家TCP和管家UDP
网络层 邮局
数据链路层 邮递员、邮轮
物理层 陆地、大海

好,现在来逐一解释为什么该层代表着故事里的这个属性

应用层
应用层的任务是通过应用进程之间的交互来完成特定网络应用。
也可以说提供进程之间的通信服务或规则,实现网络之中的具体应用。具体的协议比如DNS、HTTP、FTP、SMTP等等。

此外,把应用层交互的数据单元成为报文
在生活中的实例就是我们使用QQ这个进程的使用是有一定的规则这样另一端的QQ才能够获得信息,这个规则就是应用层所执行的协议。

在故事里Alice写信给Bob,Alice必须写成信的样子(比如书信格式、信的包装等)才能让管家认为这是一封信(下层为上层服务),如果随便写在了一张纸上,谁也不知道它是一封信。这个“信”的规定的样式,就是应用层的协议。

传输层(传输层)
传输层的任务就是负责两台主机进程之间的通信提供通用的数据传输服务。
也可以说它提供端到端(主机到主机)的传输服务。
这里解释一下“通用的”:是指多个应用可以使用同一个运输服务。
运输层有分用和复用两种功能:复用是应用层→运输层、分用则相反。

运输层主要使用一下两种协议:

协议 内容
传输控制协议 TCP 面向连接的、可靠的数据服务,其数据单元是报文段。(俗称三次握手协议,有其他大佬写了这方面的细节)
用户数据报协议UDP 提供无连接的、尽最大努力的数据传输服务,但是不保证数据的可靠性,其数据传输单元是用户数据报

故事里的管家就对应着传输层
两个管家TCP和UDP
勤快的TCP会和对方的TCP管家确认信息,保证了可靠性
UDP管家直接发送信息,尽可能得去偷懒。

网络层
网络层负责为分组交换网上的不同主机提供通信服务,即提供不同网络之间的选路服务。在发送数据时,网络层把运输层产生的报文段或者用户数据报封装成分组或包进行传送。无论在哪一层传送的数据单元,都笼统地用“分组”来表示。
网络层的另一个任务是选择合适的路由,使源主机运输层传下来的分组,能够通过网络中的路由器找到目的主机。
还有要注意的是,网络层中的“网络”和我们最初理解的“网络”的意思不太一样,要区分。

网络层就像邮局,邮局有很多条邮寄线路。
我们信上面都有目标的地址,邮局根据地址选择合适的路线或者中转站。

数据链路层
提供一段链路相邻结点的传输服务
数据链路层将网络层交下来的IP数据报组装成帧,然后在相邻结点上传输帧,每一帧包括了数据和必要的控制信息(比如同步信息、地址信息、差错控制等)数据链路层不仅会检查错误还会改正错误,所以协议比较复杂。

邮递员和邮轮是属于数据链路层的,
因为他们都是在相邻结点上传输信息

物理层
提供网络通信的物理规范
比如网线、光纤、电线等等。

信息是在陆地和大海上传输的
所以陆地和大海等都是物理层

每一层的数据名都不一样

  • 应用层:称之为消息(message)
  • 网络层:称为分组或包(packet),提供不同网络之间的选路服务
  • 数据链路层:称为帧(frame),提供一端链路相邻结点的传输服务
  • 物理层:称为比特流(bit),提供网络通信的物理规范

数据发送和接收的具体实现


一句话:发送方自顶向下与接收方成回路。
添加首部是为了添加本层的控制信息,方便接收的时候一步一步除去。
把添加首部叫封装,把除去首部叫解封装
数据链路层添加尾部一般是为了纠错。

OSI体系结构(拓展)

协议栈的本质是对基本功能加以分离和组织。功能的分离使协议栈中的每层都可以独立于其它层工作。例如,如果要访问网站,可以使用笔记本电脑通过家中的调制解调器访问,也可以使用无线连接的笔记本电脑来访问,还可以使用具备 Web 功能的移动电话来访问。无论下面的层如何工作,应用层都可以无缝运行。
同理,下面的层也能够无缝运作。例如,当电子邮件、Web 浏览、即时消息和音乐下载等各种不同应用程序同时运行时,Internet 连接仍能正常工作。

  • 应用层:定义应用软件和网络通信服务的接口,提供标准化应用定义
  • 表示层:对用户数据格式进行标准化,以便在不同类型的系统之间使用,如对数据的编码解码,加密解密,压缩解压缩等;
  • 会话层:管理用户会话和对话,维护系统间的逻辑链路
  • 传输层:管理通过网络的端到端的数据传输控制
  • 网络层:根据网络地址进行选路
  • 数据链路层:管理一端链路两端结点之间数据的传输控制
  • 物理层:定义信号传输的编码,光学、电子和机械特性,定义网络设备接口物理规范

补充:

  • 协议是对等的:收发双方某层协议必须相同
  • 服务是垂直的:下层为上层提供服务
  • 层次实现是透明的:某层实现的细节对其他层次透明
  • 层与层之间必须提供接口:某层必须知道相邻层次的接口。

参考教材和资料:《计算机网络》谢希仁著。还有我优秀教师的教学课件

网络的体系结构与协议分层相关推荐

  1. 【JavaEE】网络基本概念与协议分层手术刀剖析

    文章目录 一.网络的基本概念 1.网络互连 2.局域网和广域网 3.IP地址与端口号 二.协议(重点) 1.协议分层 2.osi七层模型 3.TCP/IP五层(或四层)模型 4.网络设备所在分层 三. ...

  2. (chap1 网络基础知识)协议分层与OSI参考模型

    1. A和C通话 2. OSI参考模型 3. 应用层 为应用程序提供服务并规定应用程序中通信相关的细节.包括文件传输.电子邮件.远程登录(虚拟终端)等协议. 表示层 将应用处理的信息转换为适合网络传输 ...

  3. (chap2 TCP/IP基础知识) TCP/IP协议分层模型

    1. TCP ( Transmission Control Protocol)和IP( lnternet Proto-col )通信协议群 1.1 Internet互联网 互联网中的每个网络都是由骨干 ...

  4. 计算机网络协议分层体系结构

    1.为什么对协议体系结构进行分层 主要是对复杂的计算机网络进行分开管理,各层实现相应的功能,相当于模块式设计,便于添加和增减. 分层的理由:1)通过将网络的通信过程划分为小一些.简单的部件,有助于各个 ...

  5. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...

    <计算机网络技术基础-第3章网络体系结构与协议.ppt>由会员分享,可在线阅读,更多相关<计算机网络技术基础-第3章网络体系结构与协议.ppt(19页珍藏版)>请在装配图网上搜 ...

  6. 计算机网络 | 网络基础 :网络协议,协议分层,数据封装与分用,地址管理,字节序

    目录 网络协议 网络协议的概念 网络协议的组成 协议分层 OSI七层模型 TCP/IP五层模型(四层模型) 数据封装与分用 封装 分用 地址管理 IP地址与端口 MAC地址 网络字节序与主机字节序 网 ...

  7. 网络协议分层及报文格式大全

    推荐一个查看网络协议分层及报文格式的网站,非常清晰! http://www.023wg.com/message/message/cd_feature_cover.html

  8. 计算机网络采用分层有哪些好处,网络协议分层的优点

    分层网络协议是计算机术语.网络协议分层的优点你知道吗?计算机网络安全有哪些基本注意事项,一起和佰佰安全网看看吧. 网络安全是一个关系国家安全和主权.社会的稳定.民族文化的继承和发扬的重要问题.其重要性 ...

  9. 车载无线自组织网络的介质访问控制协议研究

    摘  要 车载无线自组织网络技术(Vehicular Ad Hoc Network, VANET),作为未来智能交通系统的基础之一,通过车与车.车与路边节点的相互通信来构成无线通信网络,用于传递辅助驾 ...

最新文章

  1. weblogic 启动项目失败,JMS 队列通过http 方式访问
  2. ITAA在线试学用户使用说明
  3. nginx+uwsgi+django1.6 配置过程
  4. 深度学习基础系列(八)| 偏差和方差
  5. linux安装软件命令1003无标题,linux系统安装OFED(infiniband)
  6. Windows Phone开发(35):使用Express Blend绘图 转:http://blog.csdn.net/tcjiaan/article/details/7493010...
  7. ubutnu16.04下Intel Realsense D435驱动的安装和python环境的配置
  8. IDEA : IDEA好用的插件集锦
  9. AspectJ入门(一)
  10. 程序生成30道四则运算(包括整数和真分数)
  11. fir.im Weekly - 2016 年 Android 最佳实践列表 1
  12. 6-15 基于顺序表的直接选择排序 (10分)
  13. python遍历文件夹下的所有文件
  14. QT资源库中图片的调用
  15. 肌酸报告:17个肌酸使用常见问题解答
  16. 定时器工作方式0初值除32_理解定时器/计数器的特殊功能寄存器Ⅱ--TCON
  17. 条码标签软件中如何进行文字的对齐
  18. linux(CentOS7)下实现集群主机分类免密登录脚本--类跳板机
  19. 趣点赞打不开显示服务器错误,资讯 – CSGO辅助
  20. java 随机金额_java_微信随机生成红包金额算法java版,最近几年玩得最疯狂的应该是 - phpStudy...

热门文章

  1. 将爱好变为职业:游戏配乐与声音设计
  2. 网站优化之三大标签正确写法
  3. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java机场网上订票系统00rk3
  4. python颜色代码表_python-如何使用opencv创建LAB颜色图表?
  5. SAP Marketing Cloud 功能概述(二)
  6. 【程序源代码】共享充电桩小程序(服务端)
  7. 携手玩家一起保护地球 | Google Play 开发者播客节目 · 第十期
  8. 2019 编程语言排行榜:Java、Python 龙争虎斗!PHP 屹立不倒!
  9. android+最新手机,安兔兔发布2018年8月Android手机性价比排行榜
  10. ​抗击新型冠状病毒,科技公司捐赠武汉排行榜名单