计算机网络自学笔记——联网应用程序 两种模型

联网应用程序:

可以拥有多台计算机,每台计算机都拥有私人的数据,每个数据都可能由不同的人拥有和控制

本地应用程序:

只能访问本地应用程序上的数据

基本模型:

两台计算机

每台计算机在本地运行一个程序

两个程序通过网络通信

(双向可靠的字节流):

计算机A上运行了程序A,写入通过网络传输的数据,计算机B上的程序B可以读取它

Byte Stream Model 字节流模型

计算机B等待连接(服务器)

计算机A 与 B进行连接

这是A将数据写入连接,通过网络传输,B可以读取,反之也可以

任何一方都可以关闭连接

比如说,浏览器完成从web服务器请求数据的任务之后,可以选择断开连接

服务器也可以主动断开连接,此时浏览器中就会看到错误信息

服务器也可以拒绝连接,此时有可能会提示连接被拒绝,或者浏览器等待很长时间(服务器未发出拒绝回应)

World Wide Web (HTTP)

客户端-服务器模型

http:超文本传输协议

浏览器网址显示http://,标明其在用http通信

以文档为中心的程序通信方式

简述实现过程:

  • 客户端打开与服务器的连接并向其发送命令,写入连接发送请求(最常见的是GET命令,请求界面)
  • 服务器收到请求(读取)
  • 检测请求是否有效、用户是否可以收到访问请求页,并发送响应,写入对连接的响应
  • 客户端读取响应

BitTorrent

点对点模型

bittrorrent是一个程序,允许交换和共享大文件

相当于多个客户端互相连接通信,服务器端只提供一个Tracker

为了使单个客户端可以并行的接受许多其他客户端的请求

bittorrent对文件进行切割,分成数据块,再进行传输

当一个客户端从另一个客户端请求下载完整的work时

他会告知其他客户端,存在该work并允许其他客户端下载

这些合作客户的集合称为,群

客户可以加入或者离开群

具体操作方法:

客户想要下载文件的时候,必须找到一个叫做torrent的文件

利用http下载该种子文件,这个文件描述了一下有关客户端想要下载的数据文件的一些信息

tracker:用来对应客户和群,最终客户是哪个群的成员

想要加入种子,客户端必须再次通过http和tracker进行练习,以请求列表

当你用客户端想打开其中一些客户端的连接,并请求文件,其他的客户端也可以反过来请求文件

如果新客户加入群时,也会被告知连接到了你的客户端

这就表明,所连接的并不是类似www一样,一个客户端连接着一个服务器

而是一群密集的客户端都会与你连接,并动态的交换数据

Skype

P2P+CS

简单模式:类似www,但是是两个客户端直接连接

复杂模式:

NAT 网络地址转换器

如果位于NAT之后,可以打开与Internet的连接你,来接受其他的客户端的连接

但是Internet上的其他节点没有办法直接打开NAT之后的连接

Skype要解决这个问题

Rendezvous 集合服务器

原理:

反向连接

假设 客户端A 想跟 在NAT后的客户端B通信

此时直接向客户端B发信息,B是无法接收到的

所以如果B登入了Skype之后,

会自动向Rendezvous发送一个请求,由于B在NAT之后所以可以互相连接

而A发送给Rendezvous一个请求,即请求连接B

Rendezvous则会向B进行转达

B再透过NAT发送连接请求给A,这样形成了反向连接

相当于反转了启动的预期方向

但是如果A也在NAT之后呢?

Relay 中继服务器

这样需要两个客户端在登入之后,分别连接中继

并且在之后的连接中都通过中继互相通信

以上的例子都是,可靠双向字节流

这样允许不同计算机上运行的两个程序互相交流数据

将网络抽象成了简单的读写关系

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值