计算机网络Computer Networking(一、网络边缘)

Mar 3, 2017


又开新坑,某些烂尾工程就先烂着,让我活下来继续再更新。

这个坑是描述计算机网络的一个笔记,主要是写给自己看。

名词解释

端系统(end system): 与因特网相连的【计算机】,因为它位于互联网的【边缘】,又称「主机」(host)

主机(host):即「端系统」

主机分类:客户机(client)和服务器(server)

客户机程序:运行在一个端系统上的程序,发出请求给另一个端系统上的「客户机程序」接受服务。

分布式应用程序(distributed application):客户机/服务器因特网应用程序

因特网提供给端系统应用程序的通信服务: 「无连接服务」和「面向连接服务」

面向连接服务(TCP): 即传输控制协议(Transmission Control Protocol, TCP协议)

TCP提供给应用程序的服务:可靠传送(reliable data transfer),流控制(flow control),拥塞控制(congestion-control)

可靠数据传送(reliable data transfer):指一个应用程序可以依赖「该连接」「无差别」和「按序列」的传递「所有」数据

流控制(flow control): 确保连接的任何一方都不会「过快的」发送「过量的」分组而淹没另一方

拥塞控制(congestion-control): 有助于防止因特网进入迟滞状态

无连接服务: 即用户数据报协议(User Datagram protocol, UDP协议)

在进入网络边缘之前

了解一下因特网

是一个世界性范围的计算机网络,互联了全世界大多数的计算机设备的网络。

这些设备都被成为端系统(end system)或者主机(host)。

因特网名词解释

会和上面的有重复,自然是因为要把这些概念给牢牢的记熟啊。

通信链路(conmmunication link): 端系统通过这个东西连接在一起。

分组交换机(packet switch):端系统很少以直接的单独的一条通信链路而彼此相连,而是通过这个叫做分组交换机的东西间接彼此相连。分组交换机通过它一条「入通信链路」接受到达的信息块,并且通过另一条「出通信链路」转发掉这个信息块。

包(分组,packet):通过通信链路传送的信息块。

路由器(router)和链路交换机(link-layer switch): 两种典型的分组交换机。

路径(path):从「发送端系统」到「接受端系统」,一个分组(包)所经历的一系列通信链路和分组交换机。

分组交换(packet switching):允许多个端系统同时共享一条路径。是因特网的最早祖先。

因特网服务提供商(Internet Service Provider,ISP): 端系统必须经过这个玩意接入因特网。比如公司,大学,小区住宅ISP。

TCP/IP协议:端系统、分组交换机、其他互联网部件都必须要运行和控制这个协议。你用你的脑袋想想,那些服务商要给你提供网络服务,肯定需要一个协议啊!

分布式应用程序(distributed application):客户机/服务器因特网上的服务程序,使得端系统彼此能够交换数据。

面向连接的可靠服务: TCP协议。Transimission Control Protocol.

无连接的不可靠服务: UDP协议。User Datagram Protocol.

所以因特网是什么呢

就是这样,看看这些名词之后,大概就能知道互联网通信大概是个什么玩意了。

以「端系统(end system, 主机 host)」和「分组交换机」(packet switch)为结点,「通信链路」为边,「分组」(包packet)为信息构成的一个网络。

然后「端系统」要访问因特网(Internet)就必须要有提供因特网的服务商,即ISP(Internet Service Provider),比如小区,住宅区,公司,学校这样的。

然后有了服务商给你提供服务,到底怎么连上网呢,肯定需要一个协议,现在用的呢,一般都是面向连接的可靠服务的协议,那不就是TCP协议么,transimission control protocol. 传输控制协议。

网络边缘

主要说明的是关于计算机网络最边缘的一种东西,叫做计算机,或者这类型的玩意。我们给了一个名词,叫做「端系统」(end system),或者「主机」(host)。

ps: 不要嫌重复太多,这破玩意就得靠重复,才能记下来这些破概念,贯穿全课程。

主机(host)或者端系统(end system)可以分成两类:客户机(client),服务器(server)。关于区别你懂的。前者是非正式的相当于什么PC机这样的,后者就是非正式的相当于学校啊公司啊什么的保存数据啊,处理数据啊什么的强大的机器。

「客户机程序」就是一个运行在客户机上的一个应用程序,它能发送请求,然后经过「路径」,到达「服务器」,「服务器程序」就处理这个请求,接受服务。

以上就是分布式应用程序,即「客户机/服务器因特网应用程序」

面向连接服务(TCP协议)

TCP在这里不详解了,主要就是说明一下和它共存几个服务:可靠数据传送,流控制,和拥塞控制。

「可靠数据传送」(reliable data transfer)指的是一个应用程序可以依赖『该连接』『无差别』的和『按序的』传送所有的数据。可靠性通过「确认」和「重传」来实现,比如B接到A的一个分组,要给A一个回应,A确认后,再进行下一个分组,不然就GG,重新来一遍吧。

「流控制」(flow control):确保其中任何一方不会发送过量的分组淹没另一方。因为存在着这样的一个问题,接受方接受分组的速率跟不上发送方发送的速率,因此需要缓存来实现流控制服务。

「拥塞控制」(congestion-control):有助于防止因特网进入迟滞状态,当路由器拥塞的时候,出现缓存溢出和分组丢失的情况,在这种情况下,如果通信双方继续倾注分组,则迟滞会持续下去,结果是几乎没有分组能传递到其目的地。通过迫使端系统在网络拥塞期间降低向网络发送分组的速率的方法,可以避免该问题出现。