美文网首页
《計算機網路概論》——2应用层

《計算機網路概論》——2应用层

作者: shijiatongxue | 来源:发表于2019-03-08 14:44 被阅读0次

    本章要点:

    • 2.1 网络应用的原则
    • 2.2 Web和HTTP
    • 2.3 FTP
    • 2.4 邮件服务:SMTP,POP3,IMAP
    • 2.5 DNS
    • 2.6 P2P文件共享
    • 2.7 TCP socket编程
    • 2.8 UDP socket编程
    • 2.9 创建一个Web服务器

    2.1 网络应用的原则

    应用架构

    • Client/Server
    • P2P
    • 混合式

    应用层协议定义

    • 消息的类型:请求(request)或回应(response)。
    • 语法:消息的每一个区域有几位。
    • 语义:每一位是什么意思。
    • 动作:进程怎样以及如何发送&回应消息。

    应用需要什么样的传输层服务

    • 数据丢失
    • 时间
    • 带宽

    不同的应用对这三个的要求是不一样的,像与文件有关的,如HTTP和email,不允许有数据丢失但是可以有一定的时延,对带宽也没有很高的要求。而像音频视频和在线游戏,则对允许有一定数据的丢失,但是对时延的要求比较高,带宽也有一定要求,如音频传输需要带宽在5kbps-1M,在线视频传输需要带宽在10kbps-5Mbs。

    2.2 Web&HTTP

    HTTP属于Client/Server模型。
    HTTP使用了传输层的TCP服务。
    默认端口80。

    HTTP1.0

    非永久性HTTP,假设需要请求一个页面的10张图像,则需要建立10个连接。

    HTTP1.1

    永久性HTTTP,同上,可以在一个请求之后再继续请求,不需要再次请求连接。这里永久性连接分为有流水线和无流水线。

    Cookies

    保存口令。

    Web caches

    相当于一个备份服务器,减少源服务器的请求瓶颈,如果cache服务器有请求内容,则返回;如果没有,则继续请求源服务器。
    Web cache一般分为学校cache、公司cache和居民cache。除了降低对源服务器的请求外,还可以避免网络拥挤,减少数据在网络间的传输。

    2.3 FTP

    C/S模型;
    默认端口21(控制),20(数据传输)。

    2.4 Email:SMTP,POP3,

    SMTP

    端口号25。
    发送的邮件只能是ASCII编码。

    POP3

    端口号110。
    用于从自己的服务器拉(pull)邮件,读取方式有读取并删除和读取并保存。
    无状态。

    2.5 DNS :因特网目录服务

    域名到IP的转换。

    • 分布式数据库
    • 属于应用层协议:使用了UDP服务

    DNS查询

    1. 当一个主机(如me.lzu.edu.cn)需要查询一个域名(www.hust.edu.cn)对应的IP地址时。注意顶级域名后面还有一个.,只不过一般省略掉了。
    2. 首先询问本地DNS服务器(dns.lzu.edu.cn),如果本地没有记录则需要向最近的根DNS服务器(可能是日本‘dns.’,但现在中国已经有了根域名服务器可以解析.cn)进行查询。
    3. 根服务器返回(dns.cn.)所在的地址,本地继续进行查询,直到返回目的IP地址。

    这个过程第1步是递归查询,后面的都是迭代查询。理解这两个查询可以借助编程的思想,递归不直接返回上一个函数执行结果,而是继续返回函数,到最后一步返回值,然后沿源路径一步一步返回值。而迭代的每一步都直接返回值到上一步。重点在于,通不通过源路径返回。通过就是递归。(待斟酌)

    DNS缓存

    本地DNS服务器可以缓存DNS映射,以便下一次查询,也可以缓存TLD服务器的IP地址,因而允许本地DNS绕过查询链中的根DNS服务器(这经常发生)。

    DNS记录和报文

    实现DNS分布式数据库的所有DNS服务器共同存储着资源记录(resource record, RR)。RR提供了主机名到IP地址的映射。

    • 资源记录 =(Name, Value, Type, TTL)

    当向某些注册登记机构注册域名network.com时,需要向该机构提供你的基本权威DNS服务器和辅助权威DNS服务器的名字和IP地址。假定该名字和IP地址是dns1.network.comdns2.netwok.com以及212.212.212.1212.212.212.2。对这两个权威DNS服务器的每一个,该注册登记机构确保将一个类型NS和一个类型A的记录输入TLD com服务器。特别是对于用于network.com的基本权威服务器,该注册登记机构将下列两条资源记录插入该DNS系统中。

    1. (network.com, dns1.network.com, NS)
    2. (dns1, network.com, 212.212.212.1, A)

    2.6 P2P文件共享——2000s因特网流量担当(超过Web)

    一个基本问题:为什么P2P节点越多,速度越快?
    答:共享文件资源,共享带宽。就近传输,减少了在网络上的拥堵和C/S模型的带宽瓶颈。

    如何确定对方有相应的文件?

    方法 技术 缺点
    集中式目录 使用集中式目录服务器,保存所有用户可以共享的文件目录。 单点故障;性能瓶颈;侵犯版权
    查询洪泛 覆盖网络,向邻居发送查询,邻居继续向邻居的邻居查询。 拓展性差;
    利用不均匀性 类似于集中式目录,只不过有多个目录“服务器”(组长对等方)。 基本上避免了上面的缺点。

    第三种方法也用了一些方法改善它的性能:

    • 请求排队:限制上载的数量,超过时排队。
    • 激励优先权:上载量越多,优先权越高。
    • 并行下载:允许从多个节点下载文件的不同部分。

    在上分布式课程的时候,金老师讲了P2P是一个很好的技术,在2008年的时候,开发出了第一个P2P视频软件。目的是为了更好地看球赛。但是P2P也有一些问题,如版权问题,法律问题。大家都直到的快播,正是因为没有对内容进行很好地审查导致出了问题。P2P的目的是为了分享,但是也存在一些节点,它们是自私的,只下载不分享。为了鼓励人们分享,先行者们发明了很多激励机制等等。


    参考文献:
    國立清華大學開放式課程OpenCourseWare(NTHU, OCW) - 計算機網路概論

    相关文章

      网友评论

          本文标题:《計算機網路概論》——2应用层

          本文链接:https://www.haomeiwen.com/subject/eghjuqtx.html