概述
- 比特(bit), 字節(byte), 1 byte = 8 bit(空間上,位數上)
- kbps = 103bps
- 時延帶寬積中的時延是傳播時延, 單向的, 不是RTT
- 傳輸層是數據段; 網絡層是數據報.數據鏈路層是數據幀
- 計算機網絡就是互連的、自治的計算機集合
- 計算機網絡結構: 網絡邊緣, 接入網絡, 網絡核心
- 端到端層: 傳輸層以上層次
- OSI各層次(共7個)功能:
- 物理層: 比特編碼, 時鍾同步..
- 數據鏈路層: 組幀, 流量控制,差錯控制,訪問控制,物理尋址...
- 網絡層: 邏輯尋址, 路由, 分組轉發
- 傳輸層: 連接控制,差錯控制, 連接控制, 分段與重組, SAP尋址
- 會話層: 會話控制, 同步 (最薄的一層)
- 表示層: 加密/解密, 壓縮/解壓縮. 數據表示轉換.
- 應用層: 支持用戶通過軟件使用網絡服務
- 完成路由選擇功能的層次是: 網絡層
- 多路復用技術: TDM,FDM,WDM,CDM
- 采用10Mbps的HFC接入Internet可能比2Mbps的ADSL接入還慢。
- 端到端原則:網絡高層次的功能應盡可能的實現在網絡邊緣(終端設備),網絡核心框架只提供最基本的標准的服務。
- 接入網絡的方式: DSL. 電纜, FTTH, 撥號和衛星,以太網, wifi, 光纖。
- 常見的物理媒體: 雙絞銅線, 同軸電纜, 光纖,陸地無線電信道,衛星無線電信道。
應用層
- 網絡應用體系結構,3種: C/S, P2P, 混合
- 網絡應用服務需求: 可靠性, 帶寬, 時延
- 不同主機進程間通訊需要進行信息交換, 進程間通信利用socket發送/接收消息實現
- 郵件發送: SMTP/ HTTP; 郵件服務器之間發送: SMTP; 郵件收取: HTTP/POP3/IMAP
- socket API中:
- 只能在服務器端調用: listen(), accept()
- 只能在客戶端調用: connect()
- TCP連接不能調用:嗎recvfrom(), sendto()
- 服務器端套接字綁定的IP地址是: INADDR_ANY
- P2P方式實現文件分發比C/S方式快
- 分組交換技術更適合突發數據傳輸的網絡, 電路交換技術更適合長時間持續傳輸的網絡.
- P2P的索引技術: 泛洪式查詢, 集中式索引,層次式覆蓋網絡
傳輸層
- 流量控制: 發送方的發送速率不超過接收方的接收速率
- 擁塞控制: 當網絡擁塞時減少發送方的發送速率.
- 擁塞控制兩種方式: 端到端擁塞控制, 網絡輔助擁塞控制
- 可靠數據傳輸: 不錯, 不亂, 不丟
- cookie作用,4個: 標識用戶,購物車,推薦, 用戶會話狀態信息維護
- TCP: 三次握手(連接建立), 4次揮手(連接拆除)
- TCP建立連接SYN置為1, 拆除連接FIN置為1
- DNS RR類型: A/AAAA(域名到ip), NS(根據域, 查詢域權威域名服務器的主機名),MX(郵件服務器規范主機名), CNAME(主機別名到規范名) 注意:只有A/AAAA查詢ip,其余都是查詢主機名
- FTP使用兩個並行的TCP連接來傳輸文件,一個是控制連接,一個是數據連接。控制連接用於在兩個主機之間傳輸控制信息,如用戶標識、口令、改變遠程目錄的命令以及“put”和“get:”文件的命令,使用端口21。數據連接用於實際傳輸一個文件,使用端口20。
- SMTP: 基於TCP, 服務器默認端口號25.郵件傳輸內容 7位ASCII; CRLF.CRLF表示報文的結束. 以下是常見命令:
- HELO 客戶端為標識自己的身份而發送的命令(通常帶域名)
- MAIL FROM 標識郵件的發件人
- RCPT TO 標識郵件的收件人;
- DATA 客戶端發送的、用於啟動郵件內容傳輸的命令。
- QUIT 終止會話
- 基於TCP的應用層協議有:SMTP、TELNET、HTTP、FTP, POP3, 基於UDP協議: DHCP. 混合協議: DNS
- 端口號總結:
- FTP數據端口: 20; FTP控制端口: 21
- SMTP: 25
- HTTP: 80/8080...
- HTTPS: 443
- DHCP :客戶端 68, 服務器端67
- DNS: 53
- UDP也可以進行可靠數據傳輸, TCP不保證有序的數據傳輸.
- 三次重傳不包括對上次數據確認的ACK, 即相同ACK出現4次才會判定為三次重傳
- TCP才有三次重傳, GBN和SR都沒有, 且TCP的ACK回復的序號不是接收到的, 而是希望下次接收到的.
- 注意ACK只有0/1.而ack或ack_seq才有具體的數.
- 注意: GBN和SR中窗口大小應該小於幀序列的大小 - 1
- 發送周期:發送方從發送第一個數據幀開始,到接收到第一個確認幀為止。包括一個RTT和兩段傳輸延遲.
- 最大傳輸速率: 一個發送周期內發送數據的量/ 發送周期. (注意發送周期中, 傳播時間和傳輸時間不能簡單相加, 他們可能是包含關系,在傳播的同時也在傳輸)
- 信道利用率: 一個發送周期內數據發送的時間/發送周期, 信道利用率可以等於1.即一個RTT內在不斷地發送數據. (注意:計算信道利用率時一定要先根據單幀計算出發送周期)
- GBN只設置一個計時器,累計重傳,超時后發送expect后面所有分組; SR為每個傳輸分組設置計時器, 超時后只發送超時的分組.
- 發送速率最大只能等於鏈路帶寬時才能不發生丟包,此時: W * MSS / RTT <= R ,其中W是窗口數
- UDP頭部8字節, TCP頭部至少20字節.
- UDP頭部4部分: 源端口號, 目的端口號, 長度, 校驗和.(ip地址在ip協議中, UDP不攜帶)
- UDP計算校驗和時包括: 偽頭, UDP頭, 應用層數據
- 用於實現可靠數據傳輸的機制有: 差錯編碼, 計時器,重傳, 序列號, ACK
- 若流量強度(traffic intensity)La/R接近於1,則平均排隊延遲接近於無窮大
- MSS就是TCP數據包每次能夠傳輸的最大數據分段。通常為1460 (1500 - 20 IP頭- 20 TCP頭)
網絡層
- 網絡層核心功能: 異構網絡互聯, 路由與轉發, 擁塞控制
- 網絡層建立的連接中間設備都參與, 但傳輸層建立的連接對中間設備透明
- 網絡層提供的服務: 網絡層無連接服務(數據報服務), 網絡層連接服務(虛電路網絡).
- 沿某條虛電路傳輸的分組,攜帶對應虛電路的 VCID,而不是目的地址 ; 且同一條VC ,在每段鏈路上的VCID通常不同(路由器轉發分組時依據轉發表改寫/替換虛電路號 ).
- 網絡層有虛電路傳輸和數據報傳輸. 他們都是分組傳輸. 虛電路每次建立虛擬連接, 不共享帶寬, 不附帶目的地址, 只帶虛電路的VCID,適用於電話/傳真. 數據報網絡是internet采用的, 適用於智能端系統,如電腦.
- internet是數據報網絡, ATM是虛電路網絡.
- 轉發表有多個匹配項時: 最長前綴匹配優先.
- ip所屬的子網地址 = ip & 子網掩碼.
- 如何確定是否進行了子網划分? 觀察子網掩碼是否與默認一致, 不一致則進行了子網划分
- 注意掩碼形如255.255.255.0的形式, 而無類域間路由地址才形如 a.b.c.d/x
- DHCP自動獲取: ip, 子網掩碼, 默認網關地址, DNS服務器名和ip
- NAT中所有私有地址都替換為網關的共有ip地址, 但不同私有地址的分配端口號不同. 利用端口號16位,可區分65535個私有地址.
- NAT穿透問題, 即如何解決訪問具有特定私有地址的服務器: 靜態配置NAT ; 互聯網網關設備協議IGD; 中繼.
- ICMP是網絡層協議...
- IPV6有選項字段, 只是從基本首部中提出, 換到選項首部中而已
- IPV6不能分片; IPV6中無校驗和字段; IPv6不再使用掩碼, 而是使用更簡潔的無類域間路由.
- IPV4首部至少20字節, IPV6基本首部固定40字節
- IPV6的基本地址類型: 單播,多播,任意播.
- IPV4 32位; IPV4 128位; MAC 48位
- 全局信息: 鏈路狀態路由算法; 局部信息: 距離向量路由算法.
- 路由表中:
- 到一個子網: 掩碼為該子網的掩碼.
- 到 一個特定ip: 子網掩碼為255.255.255.255
- 到外網, 或其他未知網絡(默認路由): 0.0.0.0 0.0.0.0 + 網關ip
- 路由協議:
- RIP: 基於UDP ;應用層協議 ; 距離向量算法
- OSPF: 基於IP ;網絡層協議; 鏈路狀態算法
- BGP: 基於半永久TCP; 應用層協議; 路徑向量算法.
- BGP除了在自治系統間交換信息外,還有將這些信息散播到內部
- OSPF優點: 安全, 支持多條代價相同的路徑, 支持大規模AS分層
- 同一子網直接交付, 不同子網間接交付
- 網絡層沒有差錯校驗: 網絡層是“盡最大努力完整的傳輸數據包”,差錯檢測已由數據鏈路層實現,IP層沒必要再進行一次校驗。
- 鏈路狀態算法存在震盪的可能
- 距離向量算法存在 壞消息傳播慢! —“無窮計數 " 問題
- 解決無窮計數: 毒性逆轉技術, 定義最大有效度量值,水平分割技術, 阻礙時鍾.
- 解決IP不夠: 使用無類別編址CIDR;使用NAT; 采用IPV6
- IPV6沒有廣播地址了, 但其有單播, 多播,任意播三種地址形式.
鏈路層
- MAC查詢時(ARP查詢時), 目的MAC為FF-FF-FF-FF-FF-FF
- ARP協議只能查詢同一個子網內的主機, 同時他是一個跨網絡層和鏈路層的協議
- 以太網數據幀大小在64-1518, 數據大小在46 -1500 字節, 其中18字節的控制信息.
- 鏈路層用CRC檢測錯誤, 硬件支持快,但檢測出錯誤后, 直接丟棄, 不發消息.
- CSMA/CD要檢測出沖突,就必須滿足: , 即最小數據幀L必須大於時延帶寬積的2倍, 或大於(R* RTT)
- CSMA/CD效率: , 當網速極快或鏈路極短時, 效率接近1.(當信號傳播延遲趨近0時,信道利用率趨近100%)
- CRC可以檢測長度<= r位的錯誤.
- 以太網交換機利用CSMA/CD訪問鏈路,發送幀 .
- 以太網轉發幀時依據目的MAC地址, 自學習時依據源MAC地址.
- 僅路由器可以進行路由優化, 但也僅有它不能即插即用和直通連接.
- 802.11無線網模式:
- 基站設施網絡模式: 主機和基站(AP)構成
- 自組網模式: 只有主機
- 無線網為什么不能使用沖突檢測: 隱藏站, 信號衰落.
- 802.11數據幀有4個地址字段 : 地址4用於自主網絡, 誰收誰是地址1, 誰發誰是地址2, 地址3是剩余地址.
- CSMA/CA中一個主機從期望發送到接收方正確接收最快需要多久?(忽略傳播,傳輸時延): DIFS + 3 SIFS
- 以太網交換機有兩種交換模式:
- 直通式交換機: 只檢查48位目的MAC地址
- 存儲轉發式交換機: 先存儲整個幀, 檢查后再發送
- Ethernet交換機實質上是一個多端口的網橋
- 對於網絡負載很輕的無線網絡,Polling協議比FDMA的信道利用率高
- 以太網最大幀為1518,MTU為1500.
物理層
- 以太網使用的編碼方式就是曼切斯特碼
- 差分曼切斯特碼: 局域網中經常使用,抗干擾性比較好.可以實現自同步
- Nyquist 信道容量公式:
- 香農信道容量公式: , 其中S/N通常用分貝表示, 而
各種協議
應用層
傳輸層
傳輸控制協議(TCP,Transmission Control Protocol)
用戶數據報協議(UDP,User Datagram Protocol)
網絡層
IPV4協議
舉例:
上圖TTL有誤,TTL為一個字節,8位, 最大為255
IPV6協議
虛電路信令協議(signaling protocols) : 用於VC的建立、維護與拆除
數據鏈路層
地址解析協議,即ARP(Address Resolution Protocol)
以太網幀結構
8個字節的前導碼一般不考慮, 故以太網數據幀一般是 18B控制信息 + (46 ~1500)的數據信息
802.1q
虛擬局域網中,802.1q協議為經過中繼端口轉發的幀增加/去除額外的首部域