赞扬计算机的话就不多说了,但是要庆祝我隔了几个月回归写博客了哈哈。
在普通人来看,计算机可能就是一种工具,也可以是一种消遣的东西,但是不得否认的是计算机在现在生活中已经无处不在。对于程序员来说,计算机网络称为计算机四大件之一,是我们必须要了解的东西,计算机工作的底层原理都是因为计算机网络才得来。应用层,运输层,网络层,链路层,应用层,这五大层次中有太多我们需要了解的东西,也是我们的兴趣所向。
因特网具体构成和描述
介绍计算机网络之前,我们需要了解因特网是什么东西,
因特网是一个全世界范围的计算机网络,它可以将全世界互联,那么有人会问:我们平常上的网站,比如google.com可以让我和其他计算机连接(发邮件等等),那对于局域网你怎么解释呢?最好的回答是现在还解决不了局域网的问题,我们需要在后面章节了解到。现在只需要知道对于现在的因特网来说是可以连接到全世界计算机并且互相通信的。
在以前,这些连接到因特网的机器主要是传统的桌面PC和Linux工作站,还有所谓的数以万计的服务器(用来储存web静态资源和传输报文的机器,本质上还是计算机),然而随着物联网的发展,越来越多的非PC设备开始接入因特网。在计算机网络的专业术语来说,这些都是端系统(对于后面会更多的介绍为什么我们的电脑和服务器还有其他设备都叫端系统),或者叫主机。
端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。 在1.2会介绍各种各样的通信链路。和声音一样,比特的传输需要物理媒介,这些包括电缆,铜线,光纤和无线电线谱。这几种物理媒介是当前主要的,光纤就是我们所谓的宽带接入点,无线电线谱就是我们进行WLAN连接的物理媒介。
分组交换机的作用是收到来自他的链路得到的分组,然后将分组再次分发出去。市面上有很多分组交换机,现在主流的是路由器和链路层交换机。从发送端到接收端,一个分组所经过的一系列通信链路和分组交换机叫做路径(path)。
端系统通过因特网服务提供商(Internet Service Provider,ISP)来接入网络并且连接到因特网,可以理解为我们的三大运营商,移动联通电信,当然ISP需要维护自己的设备并且需要研发新技术,所以我们想使用ISP的流量也需要向ISP提交部分费用。在1.3节中将更加细致的讨论ISP。 设想一下,如果我们的道路没有任何法律,司机想怎么开就怎么开,那路上不就是乱套了吗,交通事故随时可以发送!计算机网络也是如此,我们需要各种运输层协议来规定各种数据传输的规范性,叫做协议。当然,不值运输层有协议,应用层也有,比如Http,FTP,P2P等。在运输层主要的两种运输协议是有三次握手并且能保证数据可靠传输的TCP,没有连接的UDP,在网络层主要是有着尽力而为的IP协议。这些协议缺一不可,相辅相成,是计算机网络世界中纪律的维持者。
服务描述
我们也可以从为应用程序的基础设施的角度来认识因特网
除了诸如电子邮件和Web 冲浪等传统应用外,因特网应用还包括移动智能手机和平板电脑应用程序,其中包括即时讯息、与实时道路流量信息的映射、来 自云的音乐流、电影和电视流、在线社交网络、视频会议 、多人游戏以及基于位置的推荐系统 。 因为这些应用程序涉及多个相互交换数据的端系统,故它们被称为分布式应用程序(distributed application) 。 重要的是,因特网应用程序运行在端系统上,即它们并不运行在网络核心中的 分组交换机中 。 尽管-分组交换机能够加速端系统之间的数据交换,但它们并不在意作为数据的源或宿的应用程序。
与因特网相连的端系统提供了一个套接字接口(socket interface) , 该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式 。 因特网套接字接口是一套发送程序必须遵循的规则集合,因此因特网能够将数据交付给目的地。我们将在第 2 章详细讨论因特网套接字接口 。 此时,我们做一个简单的类比,在本书中我们将经常使用这个类比。 假定 Alice 使用邮政服务向 Bob 发一封信。当然,Alice 不能只是写了这封信(相关数据)然后把该信丢出窗外。相反,邮政服务要求 Alice 将信放入一个信封 中;在信封的中间 写上 Bob 的全名、地址和邮政编码;封上信封;在信封的右上角贴上邮票;最后将该信封丢进一个邮局的邮政服务信箱中 。 因此,该邮政服务有自己的"邮政服务接口”或一套规则,这是 Alice 必须遵循的,这样邮政服务才能将她的信件交付给 Bob 。 同理,因特网也有一个发送数据的程序必须遵循的套接字接口,使因特网向接收数据的程序交付数据。