TCP/IP協議分析與應用
UDP
- 除了提供進程到進程之間的通訊,幾乎沒有對IP增長任何東西
- 只提供了很低水平的差錯控制,即利用校驗和檢查數據的完整性
- 檢測出有差錯,絕不負責地悄悄丟棄分組完事
- 不對單個應用的報文進行拆分或合併,發送方發送多少個報文,接收方就原本來本從UDP端口讀多少次
TCP
- 保證數據傳送可靠、按序、無丟失和無重複
- TCP有發送緩存和接收緩存
- TCP能夠對數據進行從新分組
- 因爲TCP鏈接提供的是全雙工服務,所以雙方能夠在傳送數據時順便把確認信息捎帶過去,提升傳輸效率
- TCP是面向字節流的,不在字節流中插入記錄標識符。也就是說應用層須要對傳輸的數據有一套本身的編解碼協議
- 若是一個應用程序可使用TCP和UDP,那麼給它分配一個端口號就夠了
- 由於TCP是面向鏈接的,因此一個套接字能夠用於多個鏈接,數據可以被正確的鏈接接收(本身想的,不知道對不對)
- seq,序列號,在鏈接創建後,雙方都會生成一個隨機的初始序列號,對發送的數據進行編號,具體是指第一個字節的編號,後面的字節依次加1
- 確認號,是指指望收到的下一個報文段的序列號。若是收到一個編號爲100長度爲1000的報文,校驗經過,確認號爲1100,不然爲100
- 創建鏈接須要3次握手,斷開鏈接須要4次揮手
- TCP使用滑動窗口協議進行流量控制,窗口區間是緩存的一部分
IPv4
- IP定義了數據傳輸所用的基本單元,即規定了傳輸的數據格式
- IP規定了IP分組的路由機制
- IP是「不可靠的」,是指並不隨意地放棄分組,只有當資源用完或底層網絡出現故障纔會出現不可靠性。要求可靠性必須經過上層協議(如TCP)來提供
- IP分片,當一個較長的IP分組通過一個MTU值較小的物理網絡時,會把長分組分紅多個小分組。將這些分片重組只會在目的站,不會在中間的路由器進行
IPv6
- 移除了協議字段,由擴展首部1說明數據應當交給TCP仍是UDP處理
- 移除分片相關字段,規定全部使用IPv6的站點都必須支持1280B的分組,若是中間路由器不能傳輸過大的分組會返回錯誤信息,由源站進行分片
- 移除首部校驗和字段,由於上層協議大多有本身的檢驗機制
多播
- 在物理網絡上實現的多播,如以太網多播
- 在邏輯網絡上實現的多播,如IP多播,在到達一個物理網絡以後,可採用硬件多播
- IP多播源站只發送出一個IP分組,多個單播發送出多個IP分組
名詞解釋
- ISO:International Standards Organization,國際標準化組織
- RFC:Request For Comment,Internet草案。Internet管理機構以請求評論的形式發表
- OSI:Open System Interconnection,開放系統互聯。OSI模型是設計網絡系統的分層次的框架,它將網絡按功能分爲7層,分別爲物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層
- TCP:Transmission Control Protocol,傳輸控制協議
- UDP:User Datagram Protocol,用戶數據報協議
- IP:Internet Protocol,網際協議
- ICMP:Internet Control Message Protocol,Internet控制報文協議。配合IP使用,提供差錯報告和差錯糾正機制(注意,並不能糾正差錯,由高層協議處理)。ICMP報文是封裝在IP分組的數據中的
- Ping:Packet InterNet Groper,使用ICMP回送請求報文和應答報文測試兩個站點之間在IP層的連通性
- MTU:Maximum Transfer Unit,網絡最大傳輸單元。任何一個物理網絡的數據鏈路層都有其本身的幀格式,在幀格式中規定了一個物理幀中容許傳輸數據量的上限值
- ARP:Address Resolution Protocol,地址解析協議。將IP地址映射爲物理地址
- RARP:Reverse Address Resolution Protocol,逆地址解析協議。將物理地址映射爲IP地址
- AS:Autonomous System,自治系統。機構局域網
- IGP:Interior Gateway Protocol,內部網關協議。在一個AS內使用的路由選擇協議
- RIP:Routing Informatica Protocol,路由信息協議。用於AS內路由器之間傳送路由
- OSPF:Open Shortest Path First,開放路徑最短優先協議。用於AS的內部路由協議,可將一個OSPF網絡劃分紅多個區域,具備很好的擴展能力
- EGP:External Gateway Protocol,外部網關協議。在AS之間使用的路由選擇協議
- BGP:Border Gateway Protocol,邊界網關協議。和IGP不一樣,BGP不使用路由度量值,而是根據網絡策略來作路由決定
- IGMP:Internet Group Management Protocol,Internet組管理協議。用於多播路由器和實現多播的站點之間進行羣組成員關係的通訊
PS:只記錄了感興趣的部分git
建了個微信圈子,歡迎對產品有實踐興趣的同窗加入,一塊兒來玩呀
寫於2020-03-02
本篇文章由一文多發平臺ArtiPub自動發佈github