[关闭]
@gzm1997 2018-03-13T00:16:20.000000Z 字数 3842 阅读 1517

计网笔记第二章

计网笔记


应用架构


进程间信息交流

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度基本单位,是操作系统结构的基础

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务

在操作系统中,inter-process
communication 进程间交流
的两个常见方式

  1. 交换信息
  2. 共享内存

socket套接字

socket位于应用层和运输层之间

socket的实现部分, 就是系统协议栈部分, 应该包含了 网络层 (ip), 传输层(tcp/udp)等等。
用socket写程序的人, 就要看用socket那部分了。 如果你直接用ip层, rawsocket, 假如你自己写个tcp协议, 那你应该做的就是传输层。
如果你是用tcp/udp等协议, 做网络应用, 那应该是应用层

根据上面所说,我之前是一直用socket是在应用层上的。
socket在协议层中的位置


Addressing processes 寻址过程

为了交流,每个进程都要一个identifier标识符,每台主机都需要一个32位的ip地址,而同一个主机上的不同进程之间使用port端口进行区分,因此:

则identifier标识符包括ip地址和端口


internet transport protocol services 因特网传输协议服务

http协议的的运输层是使用TCP协议的,所以相对可靠的


Non-persistent HTTP非持久http

步骤:

  1. http客户端向服务端发起tcp连接
  2. http服务器等待tcp连接
  3. http客户端发送request message
  4. http服务器接收到request,发送信息到socket中
  5. http服务器关闭连接
  6. http客户端接受到response message

非持久http连接的响应时间
响应时间

response time = 2RTT + file transmission time
RTT: 一个小packet从客户端到服务端再回来的时间
注意:这里的transmission time是传输时间,就是从服务器里面处理的时间,不是在链路中传播的时间。


persistent HTTP持久性http

持久性http一个很大的特点就是服务器发送了response之后依然让连接打开。


cookies

cookies是保存在用户的主机上的,由用户的浏览器管理

cookies的工作原理:

cookies工作原理


web caches(proxy server 代理服务器)

web缓存的目的:在不牵涉源服务器的时候满足用户的request

代理服务器工作原理###:

代理服务器

使用代理服务器原因

  • 减少客户请求的反应时间
  • 减少一个机构(比如一间大学)请求一个链接的traffic
  • 让条件比较差的服务端可以更好地传递信息数据

FTP(the file transfer protocal文件传输协议)

FTP

ftp也是cs结构

控制信道和数据信道分离

信道分离

  1. FTP客户端使用tcp联系FTP服务器的21端口
  2. 客户端通过控制信道认证
  3. 客户端浏览远程目录,通过控制信道发送请求
  4. 当服务端接收到文件传输请求,打开第二tcp连接-数据信道。传输文件
  5. 当文件传输完成,服务端关闭数据信道
  6. 当下一个文件传输请求发送到服务端的时候,服务端再次打开另一个新的tcp数据信道

Electronic mail电子邮件

原理图:
smtp

3个主要成分:

  • 用户程序
  • mail服务器
  • simple mail transfer protocal局势smtp协议

mail server

例子


Mail access protocols

邮件服务器之间是使用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


DNS主机域名系统

  • 主机名到域名
  • 主机异名
  • 邮件服务器异名
  • 分布式系统
    • 多个ip地址对用一个名字

DNS结构:

DNS分布式结构
寻找www.amazon.com的步骤:

  1. 客户查询根服务器找到com DNS服务器
  2. 客户查询com DNS服务器找到amazon.com DNS 服务器
  3. 客户查询amazon.com DNS 服务器获取到www.amazon.com的ip地址

但是并不是每次都要请求根服务器的,因为根服务器少之又少

当:

  1. local name server不能决定一个name的时候会访问根服务器
  2. 根域名服务器:
    1. 当域名映射表找不到相关信息的时候,根域名服务器会跟authoritative name server权威域名服务器联系
    2. 获取域名映射
    3. 向local name server返回映射

TLD, authoritative servers(TLD和权威域名服务器)

top-level domain (TLD) servers顶层域名服务器

负责com, org, edu, aero, jobs, museums, 和顶层国家主机例如: uk, fr, ca, jp

权威DNS域名服务器

Local DNS name server

  1. 严格意义上不属于等级结构中
  2. 每个isp拥有一个(也叫默认域名服务器)
  3. 当主机用dns请求的时候,请求被发送给本地DNS服务器
    • 本地dns服务器有这个域名映射的缓存
    • 作为代理,把查询发送给分层结构

主机的dns请求不是每次都要请求根服务器的,一位内本地dns服务器有缓存的
dns原理
联系服务器获得需要下一步联系的域名服务器


TTL

缓存会在一定时间之后过期,这个时间段就是TTL(time to leave)
如果主机改变域名,也许会在所有TTLS过期之后,新的域名才被网络识别。


DNS record DNS记录

分布式数据库的存储资源类型

  1. 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 域名 邮件服务器名字

P2P

cs架构情形###:

一个服务器,N个客户端一起向这个服务器请求同一个F大小的文件,服务器传输速率为Us, 客户端下载速率dmin

则耗时:
Dc-s >= max{NF/us,,F/dmin}

p2p情形

在p2p架构中,服务器必须要上传直至少一份文件的copy上去,就是上面的F大小,每个客户端必须下载一个文件copy,所有的客户端一共需要下载NF大小的文件

耗时
p2p结构耗时

cs和p2p架构耗时比较

cs和p2p比较

p2p原理

p2p

文件被划分为256kb的块 在torrent中客户端发送/接受文件块

torrent是交换一个文件的文件块的群

tracker是追踪torrent中的客户端
每个用户进如torrent,从tracker那里获取列表,接着跟其他客户端交换文件块

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注