A Day In The File Of An Application

A Day In The File Of An Application

在这里插入图片描述
Dominant model:bidirectional(双向的),reliable(可信赖的) byte stream connection字节流
在这里插入图片描述

在建立链接之后 双端都可以发送接收数据 也可以主动断开连接

connect reset by peer被对等连接重置 这意味着 网络服务器在网络连接时关闭了连接

服务器也可以拒绝连接 例如 无响应等等

WWW

在这里插入图片描述

WWW 万维网使用HTTP的东西工作 HTTP是超文本传输协议

在HTTP中 客户端打开与服务器的连接并向其发送命令 最常见的是Get命令 请求一个page

HTTP被设计为 以文档为中心的程序通信方式 例如打开一个网站 他会发送Get request 到服务区请求 然后服务器得到信息 发送response带一些数字也就是状态码 例如200 请求成功 404 请求资源没有被找到 500 服务器端程序出错 400 客户端请求语法有误 同时也会返回相应的hypertext HTTP使用ASCII码

HTTP的原理很简单 客户端发送请求 服务器读取 处理请求并写入对连接的相应 然后客户端读取响应

BitTorrent

在这里插入图片描述

BitTorrent 比特流 内容分发协议

BitTorrent协议解析 - 知乎 (zhihu.com)

BitTorrent是一个程序 允许人们共享和交换大文件 不同于HTTP ,客户端请求从服务器向Web发送文档的网络在BitTorrent中请求来自其他客户的文件

为了使单个客户端可以并行的从许多其他客户端发出请求 BitTorrent破环了文件分段为数据块pieces 当文件还没下完时 这些客户端会被放入swarm中

它和HTTP一样也是reliable steam

当客户想要下载文件时 它首先必须找到一个叫做torrent的文件也就是种子文件,一般来说是通过WWW找到的种子资源 然后下载 ,种子文件描述了想要下载的数据文件的一些信息,它也会告诉BitTorrent的tracker是谁。tracker是一个节点 用于跟踪哪些客户端是该客户端的成员 要加入种子 客户端再次通过HTTP与tracker连接 请求其他客户端的列表 然后就可以与这些客户端之间进行相互通信

Skype

在这里插入图片描述

为聊天 语音 视频等等提供服务

Skype是专有系统 没有内部工作原理的任何官方文档

建立 在P2P之间 这种连接的复杂性来自NAT或网络地址转换器的东西

在NAT之后可以建立与Internet的连接 但是在Internet上的其他无法轻易的打开与你的连接
在这里插入图片描述

例如上图 绿色可以通过 红色不能 此时Skype就围绕该问题去解决它

在这里插入图片描述

它使用Rendezvous集合服务器的服务来实现

当登录Skype时 客户端将打开与控制服务器网络的连接 在这种情况下 客户端B打开与集合服务器的连接 当A呼叫B的时候 将消息传输到Rendezvous上 它将消息转给B 如果B接收服务 它直接与A连接因为B可以连接A 而A不能主动直接连接到B(因为有NAT)

上述的一系列过程 称为反向连接 因为它会反转启动的预期方向的连接

对于NAT 将服务器放在NAT后是一个糟糕的选择 同样对于需要被保护的PC来说放在NAT之后

Skype with MoreComplications
在这里插入图片描述

两个客户端都放在NAT之后 如何去连接?

Skype引入了第二种服务器 被称为Relay中继

Relay不能在NAT之后

两个客户端都放在NAT之后 通过Relay连接 都连接到relay 先当与relay转发数据

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值