计算机网络 自顶向下方法

学习本书的目的

主要目的并不是学习计算机网络的只是,而是学习作者的思维方式,以及自己对这种思维方式的理解。

第一章 计算机网络和因特网

这一章首先描述了什么是因特网,以及因特网在我们生活中的应用,让我对因特网很感兴趣,然后就描述了因特网中最简单的例子,两个端之间的数据传输,讲解数据传输的时候从协议到路由器最后到通信卫星,让我脑子里大致有个轮廓,就是两个端传递需要那些设备支持。由两个端的数据传输,自然将到了多端传输,多端传输一个是多端之间连接的复杂性,以及通信过程中的阻塞,丢包和相应解决方案之间的对比。最后由一个我们坐飞机的过程设计到的票务系统,行李托运和飞机等等的分层方案设计引出了本书的核心,也就是大名鼎鼎的OSI参考模型,讲解了面对复杂的传输过程,分层的优缺点以及必要性。
整个第一章读下来,感觉作者由我们的生活出发,引人入胜最终引出本书的知识体系,整个过程看下来真的是收获良多,而且有读下去的欲望,希望知道各层之间是和通信的,又是哪一层与卫星通信的(好牛皮的样子)?然后这么多设备连接的复杂性和传输过程中数据的丢包又是如何处理的,如果我想设计一个不丢包的系统并且要求各层性能最优又该如何做?实际通信过程中的花费和通信效率的取舍又是如何做的?也许读完本书,我并不能得到所有的答案,但是一本书能让你对这些有很大兴趣,那么我认为这本书是成功的。

第二章 应用层

TCP和UDP

带着上面的问题,我们希望有一种方式保证我们的数据不丢失,比如像电子邮件以及金融应用,数据丢失可能会造成灾难性的后果。因特网(更一般的是TCP/IP网络)为应用程序提供了两个运输层协议,即UDP和TCP。首先看TCP,TCP服务模型包括面向连接服务和可靠数据传输服务,这意味着当某个应用程序调用TCP作为其运输协议时,该应用程序的数据可靠性传输就得到了保证。UDP是无连接的,因此在两个进程通信前没有握手过程。UDP提供一种不可靠的数据传输服务,也就是说,当进程将一个报文发送进UDP套接字时,UDP协议并不保证该报文讲到达接收进程,不仅如此,到达接收进程的报文也可能是乱序到达的。所以上面的问题已经显而易见了。

HTTP

HTTP使用TCP作为它的支撑运输协议。HTTP客户端首先发起一个与服务器的TCP连接,一旦连接建立,该客户端和服务器就可以通过套接字接口访问TCP。这里我们可以看到分层体系结构的最大优点,即HTTP协议不用担心数据丢失,也不关注TCP从网络的数据丢失和乱序故障中恢复的细节。那是TCP以及协议栈较底层协议的工作。
在采用HTTP1.1持续连接的情况下,服务器在发送响应后保持该TCP连接打开。在相同的客户与服务器之间,后续的请求和响应报文能够通过相同的连接进行传送。HTTP的默认模式是使用带流水线的持续连接。最近,在HTTP/2是在HTTP1.1基础上构建的,它允许在相同连接中多个请求和回答交错。

SMTP

SMTP(使用TCP协议)是因特网电子邮件的核心。SMTP一般不使用中间邮件服务器发送邮件,即使这两个邮件服务器位于地球的两端也是这样。假设Alice的邮件服务器在香港,而Bob的服务器在美国,那么这个TCP连接也是从香港到美国之间直接相连,特别是如果Bob的邮件服务器没有开机,该报文会保留在Alice的邮件服务器上并等待进行新的尝试,这意味着邮件并不在中间的某个邮件服务器保留。

DNS

你能想象人们之间以这种方法说话吗?如,“您好,我叫132-000-123,请找一下我的同时

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值