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之間
-
計算機網絡-review-1.0Computer Network review
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
-
計算機網絡-review-1.0Computer Network review -
計算機網絡-review-1.0Computer Network review
TCP:
- 三次握手, 在運輸層。
- socket(socket.AF_INET, socket.SOCK_STREAM), 前者是位址簇且指代IPv4, 後者是類型指代UDP
- 比UDP多一行, clientSocket.connect, 在發資訊之前
-
計算機網絡-review-1.0Computer Network review -
計算機網絡-review-1.0Computer Network review - 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