01 - 计算机网络中的基本概念

计算机网络的一些基本概念

什么是计算机网络

计算机网络由一些通用的, 可编程的硬件互连而成的, 这些硬件能够用来传送多种不同类型的数据, 支持广泛的和日益增长的应用

什么是互联网

互联网(Internet): 采用TCP/IP协议族作为通信规则, 把各种计算机连接起来而形成的一个网络, 它是一个全球范围内的连通性和共享的计算机网络

注意

internet(通用名词): 泛指多个计算机形成的网络

Internet(专用名词): 特指采用TCP/IP协议族作为通信规则的计算机网络

计算机网络的分类

计算机网络的特点

计算机网络的组成

边缘部分

由所有连接在互联网上的主机组成. 用户直接使用, 用来通信和资源共享

可以是电脑, 手机或者摄像头

核心部分

由大量网络和连接这些网络的路由器组成. 为边缘部分提供服务

可以是服务器, 大型计算机

什么是通信

主机A和主机B进行通信: 实际上是指运行在主机A上的某个程序和运行在主机B上的某个程序进行通信

也就是主机A的某个进程和主机B上的某个进程进行通信, 简称为"计算机之间的通信"

通信方式

客户端的进程和服务器端的进程间的通信, 被服务和服务的关系

客户是服务的请求方, 服务器是服务的提供方

两个主机在通信时不需要区分哪个是服务请求方哪个是服务提供方

P2P特点: P2P方式本质上仍然是客户C/S方式, 只是P2P中的每一个主机既是客户又是服务器

客户端软件的特点

服务器端软件的特点

交换技术

电路交换

两部电话需要2根线

5部电话需要10根线

n部电话需要n(n-1)/2根线

可以发现需要电线的数量与电话数量的平方成正比, 我们使用交换机来解决这个问题

电路交换的三个阶段

电路交换的特点

分组交换的特点

分组交换的优点

分组交换的问题

路由器处理过程

主机和路由器的区别

三种交换的比较

连接传送大量数据, 传送时间远大于连接建立时间, 则电路交换的传输速率较快

报文交换和分组交换不需要预先分配带宽, 在传送突发数据时可提高整个网络的信道利用率

每个分组的长度远远小于整个报文的长度, 因此分组交换的时延小, 有更好的灵活性

互联网的类别

按照范围进行分类

广域网WAN(Wide Area Network) 作用范围几十到几千公里

城域网MAN(Metropolitan Area Network) 作用范围5-50公里

局域网LAN(Local Area Network) 1公里左右

个人区域网PAN(Personal Area Network) 10米左右

按照使用者进行分类

公用网(Public Network) 每个人都可以使用的网络

专用网(Private Network) 为特殊业务工作需要而建造的网络

计算机网络的性能

速率

数据的传送速率, 也称为数据率或比特率, 单位是bit/s(比特/秒)

速率往往是指额定速率或标称速率, 非实际运行速率

带宽

用来表示网络中通道传送数据的能力, 表示在单位时间内网络的信道所能通过的"最高数据率", 单位是bit/s

呑吐率

单位时间内通过某个网络的数据量

时延

数据从网络的一端传送到另一端所需的时间

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

时延带宽积 传播时延 * 带宽

发送端发送的第一个bit到达接收端时, 发送端发送的bit的多少, 可以简单的理解为某段链路现在有多少bit, 也就是容量

往返时间RTT

从发送方发送数据开始, 到发送方收到来自接收方的确认, 总共经历的时间 (包括各结点的处理时延, 排队时延, 发送时延)

利用率

网络当前时延 = 网络空闲时延1网络利用率\frac {网络空闲时延}{1-网络利用率}

当网络利用率增大时, 信道引起的时延迅速增加

互联网的体系结构

OSI 理论参考模型

TCP/IP事实上的模型

网络协议

为进行网络中的数据交换而建立的规则, 标准或约定

网络协议三要素

数据与控制信息的结构或格式

需要发出何种控制信息, 完成何种动作以及做出何种响应

事件实现顺序的详细说明

计算机网络的体系结构

计算机网络的各层及其协议的集合

OSI的七层协议的体系结构

应用层, 表示层, 会话层, 运输层, 网络层, 数据链路层和物理层

TCP/IP的四层协议的体系结构

应用层, 运输层, 网际层和网络接口层

在实际研究中五层协议的体系结构

应用层, 运输层, 网络层, 数据链路层和物理层

数据发送和接收的过程

总结

虽然自己从事IT行业多年, 写过Java, 干过Android, 头脑一热还在HTML\CSS\JS里畅游, 嗯, 其实我的主业是iOS, 从以上可以看出, 我可能不太安生, 喜欢小打小闹, 一直浮于表面, 从未深入了解, 从未看过关于底层原理的书或者文章, 从今天开始我要改过自新, 去扎根基础与原理, 也不枉我从事的这个行业与我付出的汗水!