什么是计算机网络
由节点和链路组成的结构。节点包括计算机(目标节点、源节点)和路由器、交换机等中间节点组成。
链路也分两种,接入链路(主机到路由器)和backbone。backbone是路由器之间的链路。
此外,还有协议。不同厂商的设备遵守同样的标准就可以在一起工作。
什么是互联网?
由TCP IP等一簇协议支撑起来的网络。
是一堆网络的合体。
是为分布式应用提供服务的基础设施。
什么是协议
对等层实体应该遵守的规则集合。
规范了语法、语义、时序。
网络边缘
我们日常的计算机和服务器都是网络边缘 网络内的各种交换节点以及链路是核心
日常计算机到核心的连接叫接入网
网络边缘包含以下这些成分:端系统(主机)、客户/服务器模式、P2P模式。
P2P就是 你我连接的时候,我是服务器。但同时换个地方,我可能就是客户端。
有连接和面向连接
TCP连接是面向连接,意味着连接只有对等层实体知道,下面的节点不知道。
有连接是从端到下面的所有层都知道。比如网络层,路由器维护连接状态(虚电路),是有连接。
什么是无差错?
不重复 不丢失 不出错 不乱序
不丢失=>丢失重传,你需要缓存。
不乱=>你需要编号
等等
网络核心
基本问题:数据如何通过网络进行传输?
电路交换、分组交换。
分组交换一般是存储转发。
这里有个问题是不存储行不行?答案是不行。如果不存储的话,你使用链路别人就不能用了。这样基本就和电路一样了。
我们选择牺牲这种速度,换取共享性。
分组交换的代价
排队和延迟
如果一个中间节点上来了很多数据包,发送速率>接收速率了。这样的话就要排队。如果缓冲区满了,还要丢弃一些包。
网络核心的功能
转发和路由
路由:决定路径
转发:从输入端口到输出端口
存储转发与连接
有连接->虚电路 各个节点之间要建立虚电路,维护虚电路表。
无连接->数据报 每次只是机械的转走,不维护主机和主机之间通信的状态。
网络接入
住宅接入 modem 调制解调器
最开始和电话是互斥的,打电话就不能上网。后来发展成DSL,也是调制解调。它把带宽分成两部分,一部分是语音,另一部分是上行+下行。
上下行带宽如果不对称,则成为ADSL。
DSL可以一边打电话一边上网。
线缆网络
有线电视信号线缆双向改造。
ISP
互联网通过接入ISP接入互联网。
接入IPS们如何互联?两两相连?这样不行,复杂度太高。
可以把他们全都接到全局ISP上。全局ISP之间可以通过IXP(Internet Exchange Point)进行交换。
ICP
内容提供者。如百度、谷歌。他们也需要接入互联网。