Computer Network review
1. Introduction
Architecture: // protocol stack
- Application -> run in hosts(end systems), HTTP, 位于应用层的信息分组:message,
- Transport -> TCP, UDP, 传输应用层报文, 运输层分组:segment,
- Network -> datagram 数据报
- Link -> switch/router/, frame 帧,
- Physical-> bit
Difference between router and switch:
- router can control network layer, switch only in last two
- router support more users use one account, switch seperately
- router route by IP, switch by MAC
protocol:
- TCP/IP: TCP 传输控制协议, IP 定义发送接收分组格式
Send packets of data:
- packets: L bits
- trans rate: R
- trans delay = L/R
- circuit switching
- 预留资源(缓存,带宽)电话网络
- FDM: 频分复用,每人一个频率范围 调频无线电台
- TDM: 时分复用,每人固定宽度的帧数
- packet switching
- 不预留资源
- 存储转发传输: store-and-forward transmission N 条速率都为R的链路组成的path: NL/R ??router 缓存大小
对等ISP之间无结算, 下层要向上级ISP缴费。
IXP: Internet exchange Point, 全球共300余, 多个ISP在这里对等
Content Provider network: 内容提供商网络,Google,通过与底层ISP直接连接或IXP, 可绕过部分顶级ISP, 减少了费用,也对其服务最终如何交付给端用户有了更多的控制。
Delay:
- nodal processing delay: 节点处理时延 纠错、检查首部和导向何处
- queuing delay: router中的排队时延, 在输出缓存中,等待其他分组输出完成
- transmission delay: 传输延时 将全部分组推出的时间 L/R
- propagation delay: 传播时延 从起点到终点的物理距离d/s
- total nodal delay = sum of above
Physical media:
- guided media: 导向性介质 光纤等
- unguided media: 非导向性介质 ratio
ISP: Internet service provider
Protocols : define format, order of msgs send and received, actions taken
End system : host
Forwarding table: 用于将目的地址映射成为输出链路
2. Application Layer
Sockets:
- 像一扇门,在application 和 transport之间
URL: host name / path name
Non-Persistent HTTP: 下载多个对象要多个连接· 2RTTs initial and trans
计算拥有cache的延时:
Conditional GET: 用来更新缓存
SMTP:
-
TCP port:25 persistent connections
-
7-bit ASCII
-
uses CRLF.CRLF to determine end of message
-
root name sever 根域名服务器:全球13个
-
top-level domain (TLD) servers: responsible for com, org, net, edu, aero, jobs, museums, and all top-level country domains, e.g.: uk, fr, ca, jp
-
authoritative DNS servers: 组织的服务器
-
Local DNS name server:严格来说不属于DNS等级中,通常为ISP的dns缓存,例如学校里的DHS, default DNS
DNS查询方式:
- iterated query: contact server, if server do not know , return another server’s address (always its upper server).
- recursive query: contact server, if server do not know, it will ask another server. recusively.
DNS 记录:
-
RR format: (name, value, type, ttl )
type name value A hostname IP address NS domain hostname of authoritative name server for this domain CNAME 别名 shifen 标准名称 MX mail server -
DNS query and reply messages’ format
2 b y t e s = = 16 b i t s 2 bytes == 16 bits 2bytes==16bits
16 bit binary = 4 hex
前12位 – 2位ID, 2位flag, 2位question的数量,2位answer的数量, 2位authority的数量, 2位additional的数量
之后是question
之后依次是各个回答
在回答中 前六位是name 类型 class 然后 四位是TTL 然后 两位是data length
client server 模式 传输文件
D C − S > = m a x ( N F / u s , F / d m i n ) D_{C-S} >= max(NF/u_s,F/d_{min}) DC−S>=max(NF/us,F/dmin)
P2P模式
- D P 2 P > = m a x F / u s , F / d m i n , N F / ( u s + ∑ u i ) D_{P2P} >= max{F/u_s, F/d_{min}, NF/(u_s + \sum u_i)} DP2P>=maxF/us,F/dmin,NF/(us+∑ui)
- tracker: 负责追踪每人有哪些包
- torrent:tracker + 下载包索引
- tit for tat: 每隔10秒检测传输给自己的速度, 选前四为unchoked, 给他们提供优先权,发包给他们。每30秒随机选择一位发包,有可能自己成为那一位的上行者(前四)。(一共给5个对等方发包)以上会出现互为对等方的情况出现,即双方传输速率近似,情况匹配度较高。这种激励机制叫一报还一报
**content distribution networks ** : CDN
-
To solve the problem: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users.
- store/serve multiple copies of videos at multiple geographically distributed sites
-
视频网站 // 流媒体
- Streaming multimedia:
- DASH: Dynamic, Adaptive Streaming over HTTP 自适应流媒体: 服务器提前存好不同码率 不同分辨率的视频,用户根据自身情况自主选择
- Streaming multimedia:
-
OTT: over the top
in-band and out-band:
- 带外网管是指通过专门的网管通道实现对网络的管理,将网管数据与业务数据分开,为网管数据建立独立通道。在这个通道中,只传输管理数据、统计信息、计费信息等,网管数据与业务数据分离,可以提高网管的效率与可靠性,也有利于提高网管数据的安全性。
- 带内管理使得网络中的网管数据和业务数据在相同的链路中传输,当管理数据(包括SNMP,Netflow,Radius,计费等)较多时,将会影响到整个网络的性能;管理数据的流量较少,对整个网络的性能影响不明显,可采用带内管理。
UDP:
- 不建立连接 不握手
- 可能会丢失
- socket(socket.AF_INET, socket.SOCK_DGRAM), 前者是地址簇且指代IPv4, 后者是类型指代UDP
TCP:
- 三次握手, 在运输层。
- socket(socket.AF_INET, socket.SOCK_STREAM), 前者是地址簇且指代IPv4, 后者是类型指代UDP
- 比UDP多一行, clientSocket.connect, 在发信息之前
- TCP server中, 首先定义的是欢迎套接字,连接创建时会创建一个新的套接字用来传输 一对一。
RTT : time for a packet to travel from client to server.
TTL: time to deadline
3.Transport Layer
传输层的服务和协议为不同的主机的不同进程提供了 Logical Communication, 发送端协议将message分解成segment,接收端协议将其还原成message。
运输层高于网络层, 网络层提供不同host之间的通信, 而运输层是提供进程之间的通信
multiplexing: 多路复用
- 从不同套接字收集数据块封装头部便于以后多路分解
demultiplexing: 多路分解
- 运输层,标记出接受套接字并交付
套接字尤唯一的标识符,每个segment都有字段指到对应的套接字
UDP CHECK SUM:
- 将报文段化为二进制, 16个为一组即两个byte// 所有的16位比特字
- 将各组相加,溢出回卷加到最后
- 加成和取反为checksum值
- 接收方只需要验证所有组加上checksum为 1111111111111111即可
rdt: Reliable Data Transfer
FSM: 有限状态机
1-2-3 supplement
- Http 不是一个push protocol
- Internet telephone 和 Video Streaming 的传输协议是UDP
- protocol defines message and action
- localDNS是最低端的DNS server