计算机网络概论
来源:互联网 发布:百度云计算 编辑:程序博客网 时间:2024/05/29 08:15
计算机是一门实用的学科,需求是驱动计算机不断创新的源源动力,无论是操作系统还是网络,任何一项技术的诞生都是为了解决实际的问题。因此从源头出发才能更好的理解计算机技术的设计原理。
假设现在有两台计算机,如何使它们能够建立连接,发送/共享数据?
面临的问题如下:
需要采用什么介质将两台计算机相连?
如何确定数据发送的格式?
发送方和接收方的速度不匹配应该如何处理?
发送方发送的数据出现错误,应该如何识别和纠正?
如何确定接收方确实收到了发送方的数据,若出现数据丢失,需要采取什么措施?
最开始使用网络技术的时候,网络中的传输速率是比较低的,因此最核心的问题是如何提高带宽的利用率。
面对一个需求复杂的系统,最合理的办法是进行结构化设计,也就是利用分层的思想将大的问题分解为小的目标,每个部分只解决其中的一部分问题,将结果通过接口调用返回给上层结构,简化了问题的处理过程,如《程序员自我修养》里所说,计算机科学领域里的任何问题都可以通过增加一个间接的中间件完成。计算机网络也是一样,由于网络应用环境千差万别,因此网络结构和协议在设计过程中需要有统一而简洁的标准以适应各种不同的需求,如果协议本身包含大量的控制字段,会显得臃肿且难以实现,在发送数据时控制字段也会占用大量的空间,降低了带宽的利用率。抽象的思想是定义一个能捕获系统主要特征的统一模型,并将这种模型封装为一个对象,为系统其它部分提供一个可操作的接口,并隐藏实现的细节。
OSI参考模型
在进行网络设计实现时,OSI参考模型是一个绕不开的关键点。OSI参考模型是ISO组织针对计算机网络提出了一个标准化的协议设计模板,在OSI中,采用了三级抽象,即体系结构、服务定义和协议规定进行说明。OSI模型定义了七层结构,在协议设计时可以参考该模型,但并不是绝对按照该模型所要求的每一层标准进行定义。只要能够满足网络传输的需要,可以适当的减少层级结构,优化网络模型,但每一次必须对服务定义和协议规定进行详细说明,即这一层解决什么问题,并且是如何解决的。网络使用者根据这些规则发送匹配的数据包,即可实现数据的正确传输。
TCP/IP模型
TCP/IP模型是目前使用最广泛的网络协议架构,因其设计简单,可以兼容多种底层的网络协议。TCP/IP协议包含网络层的IP协议,传输层的TCP和UDP协议,以及多种应用层协议。
TCP/IP协议的特点是:
没有严格地划分层级结构,比较灵活。
IP协议作为体系结构的焦点,定义了交换分组的统一格式。在IP协议之上可以有多种传输层协议,每种协议为应用层提供不同的信道抽象。IP协议代表最精炼的通用功能集,允许高层应用和底层通信技术并存。
数据的封装过程
当网络中只有两台计算机的时候,不存在寻址的问题,只需关注数据如何进行发送和接收。
- 计算机网络概论
- 计算机网络概论
- 计算机网络概论
- 计算机网络:概论
- 计算机网络概论
- 第一章 计算机网络概论
- 网络知识读书笔记1概论——计算机网络第五版
- 关于计算机网络原理的学习(一)概论
- ZCMU计算机网络期中(1-计算机网络概论,网络体系结构与网络协议,物理层)
- 概论
- 概论
- 概论
- 计算机网络
- 计算机网络
- 计算机网络
- 计算机网络
- 计算机网络
- 计算机网络
- python常见面试问题
- iOS7 initWithCustomView- leftBarButtonItem / rightBarButtonItem 偏移问题
- 非递归实现树的后序遍历
- CodeVS 2597团伙(并查集)
- Java多态中重载方法参数分别为父类和子类时的疑惑
- 计算机网络概论
- (蓝桥杯)历届试题 翻硬币 (蓝桥杯练习系统)
- Android View三种属性——VISIBLE,INVISIBLE,GONE
- poj 2387 Til the Cows Come Home
- 安卓状态栏+kitkat
- 比较cookies和Web Storage
- 搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇
- iOS:SVN出错 Description : The working copy is locked due to a previous error
- 二叉树输出先序遍历的第k个节点