@gzm1997
2018-03-13T00:16:20.000000Z
字数 3842
阅读 1517
计网笔记
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务
在操作系统中,inter-process
communication 进程间交流的两个常见方式
socket位于应用层和运输层之间
socket的实现部分, 就是系统协议栈部分, 应该包含了 网络层 (ip), 传输层(tcp/udp)等等。
用socket写程序的人, 就要看用socket那部分了。 如果你直接用ip层, rawsocket, 假如你自己写个tcp协议, 那你应该做的就是传输层。
如果你是用tcp/udp等协议, 做网络应用, 那应该是应用层
根据上面所说,我之前是一直用socket是在应用层上的。
为了交流,每个进程都要一个identifier标识符,每台主机都需要一个32位的ip地址,而同一个主机上的不同进程之间使用port端口进行区分,因此:
则identifier标识符包括ip地址和端口
http协议的的运输层是使用TCP协议的,所以相对可靠的
步骤:
非持久http连接的响应时间
response time = 2RTT + file transmission time
RTT: 一个小packet从客户端到服务端再回来的时间
注意:这里的transmission time是传输时间,就是从服务器里面处理的时间,不是在链路中传播的时间。
持久性http一个很大的特点就是服务器发送了response之后依然让连接打开。
cookies是保存在用户的主机上的,由用户的浏览器管理
cookies的工作原理:
web缓存的目的:在不牵涉源服务器的时候满足用户的request
- 减少客户请求的反应时间
- 减少一个机构(比如一间大学)请求一个链接的traffic
- 让条件比较差的服务端可以更好地传递信息数据
ftp也是cs结构
原理图:
3个主要成分:
- 用户程序
- mail服务器
- simple mail transfer protocal局势smtp协议
信息都是用7位ascii码来编码的
例子:
邮件服务器之间是使用smtp协议的,但是服务器和用户之间使用的是Mail access protocols协议
种类:
- POP3
邮局协议(Post Office Protocol,简称POP)是TCP/IP协议族中的一员,由RFC
1939定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。最新版本为POP3,全名“Post Office Protocol
- Version 3”,而提供了SSL加密的POP3协议被称为POP3S。 POP支持离线邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或MAC。一旦邮件发送到PC机或MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。
IMAP
所有的msg都要保存在一个地方,在服务器,允许用户组织文件夹,通过session保存用户的状态HTTP
像常用的qq邮箱,gmail
- 主机名到域名
- 主机异名
- 邮件服务器异名
- 分布式系统
- 多个ip地址对用一个名字
DNS结构:
寻找www.amazon.com的步骤:
- 客户查询根服务器找到com DNS服务器
- 客户查询com DNS服务器找到amazon.com DNS 服务器
- 客户查询amazon.com DNS 服务器获取到www.amazon.com的ip地址
但是并不是每次都要请求根服务器的,因为根服务器少之又少
当:
负责com, org, edu, aero, jobs, museums, 和顶层国家主机例如: uk, fr, ca, jp
主机的dns请求不是每次都要请求根服务器的,一位内本地dns服务器有缓存的
联系服务器获得需要下一步联系的域名服务器
缓存会在一定时间之后过期,这个时间段就是TTL(time to leave)
如果主机改变域名,也许会在所有TTLS过期之后,新的域名才被网络识别。
分布式数据库的存储资源类型
RR format: (name, value, type, ttl)
根据type类型的不同,各个对象的各个值也不同
type | name | value |
---|---|---|
A | hostname | IP address |
NS | domain(e.g. foo.com) | 权威DNS的domain |
CNAME | alias name | canonical name |
MX | 域名 | 邮件服务器名字 |
一个服务器,N个客户端一起向这个服务器请求同一个F大小的文件,服务器传输速率为Us, 客户端下载速率dmin
则耗时:
Dc-s >= max{NF/us,,F/dmin}
在p2p架构中,服务器必须要上传直至少一份文件的copy上去,就是上面的F大小,每个客户端必须下载一个文件copy,所有的客户端一共需要下载NF大小的文件
耗时
文件被划分为256kb的块 在torrent中客户端发送/接受文件块
torrent是交换一个文件的文件块的群
tracker是追踪torrent中的客户端
每个用户进如torrent,从tracker那里获取列表,接着跟其他客户端交换文件块