Chapter1 整体认知

1.1 Internet

1.1.1 分层

应用层
传输层
网络层
数据链路层
物理层

1.1.2 计算机网络

路由器是工作在网络层的,交换机是工作在链路层的

网络节点有:1.路由器或交换机等交换设备 2.主机及其运行的程序
P2P(Point to Point) 是网络中的一个交换设备到另一个交换设备
E2E(End to End) 是网络中每一个终端(PC/手机/Server等)到另一个终端

point在计算机网络中用圆圈表示,End用方块表示

接入链路:终端接入的
主干链路:路由器等的链路

1.1.3 协议

PDU 协议数据单元
在不同的层名字不同,在应用层叫message,在传输层叫segment

从服务角度看计算机网络

使用通信设施进行通信的分布式应用
由两部分,一部分是应用进程,只认识其他的应用进程。
第二部分是基础设施,在应用之下以及负责传输的所有基础设施。

通信基础设施为apps提供编程接口

1.2 网络边缘

边缘、核心和接入,三大块
上一节中End就是边缘edge,Point是核心core,把pc等边缘设备接入整个网络核心,叫接入access

【待整理】
CS模式
P2P模式 peer2peer
面向链接
有链接

tcp
可靠
流量控制
拥塞控制

1.3 网络核心

  • 电路交换,适合电话,不适合计算机
    建立连接时间长
    独享线路,每个线路的带宽分成piece(片),频分,时分,波分
    容易浪费资源

  • 分组交换
    带宽不分片,全用
    在每个节点都会存储,然后转发
    每一跳,需要存储时间,排队时间

问题:排队延迟和丢失,就是常说的丢包

关键功能:路由和核心

统计多路复用

分组交换分类:
数据报网络:无连接,每个数据包都有主机的完整信息
虚电路网络:每个交换节点要维持链接状态

接入
共享网络

住宅接入 modem 调制解调器
利用已有的电话线
线缆接入
无线接入

互联网结构,网络的网络 ISP
全局的ISP,
ICP 会自己建立数据中心,接入就近的ISP

节点处理延时,微秒级别
排队延时,取决于拥塞程度
传输延时:从节点把比特发出到链路上的延时,微秒到毫秒级别
传播延时:物理传播延时,几微秒到几百毫秒

ICMP

SAP 服务访问点

DU 数据单元

Chapter2 应用层

2.1 应用层原理

模式:C/S模式,p2p模式,混合模式

  • C/S模式:不平等、资源在服务器、性能断崖式下降、可扩展性差
  • p2p: 平等、性能平滑、管理困难

原理:

  1. 标识、寻址
    必须要有唯一的标识符,有ip地址和端口号,才能找到进行进程间的通信
  2. 传输层的服务
    UDP和TCP,必须每次都要带上源ip,源port和目标ip,目标port。
    因此socket API解决这个麻烦:用TCP socket时,返回一个整型,代表以上四个信息的四元组;应用层的应用再进行通信时,只用这个整型即可。
    目的:1.便于管理 2.使穿过层间的信息量最少

UDP socket:只保存源ip和源port,二元组

TCP和UDP都不加密,都不安全

  1. 定义自己的协议
    报文类型、语法、语义、规则

传输层提供的服务:

  • 数据丢失率
  • 延迟
  • 吞吐量
  • 安全性

例子:SSL:应用层协议,利用TCP,加密的协议;如https就是跑在SSL之上

2.2 web和http

1. 请求格式:

prot://user:psw@www.someSchool.edu/someDept/pic.gif:port
[协议]://[用户口令]@[主机名]/[路径名]:[端口]

2. 基本原理

  • 基于TCP,TCP向上层提供字节流的服务,http协议需要自己维护报文与报文之间的界限
    举个例子:客户端的http给下层的tcp传输了两个15k的包;在服务端,tcp传输给了http一个30k的包,http协议需要自己分成两个15k。
  • 一开始需要基于TCP建立连接,默认端口80
  • http是无状态的
  • RTT:往返时间。一个小分组从客户端到服务器,在回来的时间。

3. 1.0和1.1的区别

  • http1.0:非持久,每次传输一个对象,HTTP关闭TCP连接,因此每传输一个对象都要2个RTT。
  • http1.1:持久,连接不关;有流水和非流水型的。

4. 报文

编码是ASCII

  • 请求 GET/POST/HEAD PUT/DELETE(网络管理员使用)
  • 响应 响应码

保存在客户端,有过期时间(已经理解,不解释了)

6. web缓存

  • 可以通过局域网建立缓存服务器,通常由ISP安装
  • 优点:客户会快,而且减少用户访问远程服务器的压力
  • 大家搜索的东西需要有趋同性,这样更容易命中缓存

2.3 FTP

  • 文件传输协议
  • ftp服务器知名端口:21
  • 控制连接:客户端请求服务器21号端口,身份确认,请求控制连接浏览远程目录,请求下载某个文件
  • 数据连接:服务端请求客户端的20号端口,发送数据

2.4 Email

3个主要组成部分

  • 用户代理:邮件是从发送服务器到目标服务器,所以用户操作是代理
  • 邮件服务器
  • 简单邮件传输协议: SMTP

SMTP

  • 使用TCP,端口25
  • 从发送方服务器到接收方服务器
  • 握手,传输报文,关闭
  • 命令:ASCII文本;响应:状态码和状态信息
  • 报文必须是7位ASCII码
  • 邮件中有多个对象,附件等;http只有一个
  • 内容必须是ASCII码,怎么编码中文等?
    报文首部声明MIME,多媒体编码。比如base64

拉取协议

  • POP3:邮局访问协议
  • IMAP: Internet邮件访问协议,比POP3更复杂
  • HTTP: hotmail等