計算機網絡學習筆記整理

tcp,ip,分別是網絡層和傳輸層,第23層,底下是物理層和數據鏈路層,最頂是應用層(會話,表示)分組交換是指將大數據分割爲一個個叫做包(Packet)的較小單位進行傳輸的方法;
這一模型將通訊協議中必要的功能分成了7層;
每個分層都接收由它下一層所提供的特定服務,並且負責爲自己上一層提供特定的服務,上下層之間進行交互時所遵循的約定叫做“接口”,同一層之間的交互所遵循的約定叫做協議;
應用層寫入數據,經由表示層格式化編碼,再由會話層標記發送順序後才被髮送出去;會話層只對何時建立連接,何時發送數據等問題進行管理,並不具有實際傳輸數據的功能,真正負責在網絡上傳輸具體數據的是會話層以下;
傳輸層爲確保所傳輸數據到達目標地址,會在通訊兩端的計算機之間進行確認,如果數據沒有到達,它會負責進行重發;
進行建立連接或斷開連接的處理,在兩個主機之間創建邏輯上的通信連接即是傳輸層的主要作用;此外,傳輸層爲確保所傳輸的數據到達目標地址,會在通信兩端的計算機之間進行確認,如果數據沒有到達,它會負責重發。保證數據傳輸的可靠性是傳輸層的一個重要作用;爲了確保可靠性,
在tcp/ip中,網絡層與傳輸層相互協作以確保數據包能夠傳送到世界各地,實現可靠傳輸;
網絡層與數據鏈路層都是基於目標地址將數據發送給接收端的,但是網絡層負責將整個數據發送給最終目標地址,而數據鏈路層只負責發送一個分段內的數據。
傳輸方式的分類:面向無連接型包括以太網,IP,UDP,面向有連接型包括ATM,幀中繼,TCP等協議;由於在分組的過程中,己經在每個分組首部寫入了發送端和接收端的地址,所以即使在同一條線路同時爲多個用戶提供服務,也可以明確區分分組數據發往的目的地,以及它是與哪臺計算機的通信;
在分組交換中,由分組交換機(路由器)連接通信線路,分組交換的大致處理過程是:發送端計算機將數據分組發送給路由器,路由器收到這些分組數據以後,緩存到自己的緩衝區,然後再轉發給目標計算機,分組交換也有另一個名字:蓄積交換;
IP地址分層:由網絡號和主機號兩部分組成,若主機號不同,網絡號相同,說明處於同一網段;
網絡傳輸中,每個節點會根據分組數據的地址信息,來判斷報文應該由哪個網卡發送出去。mac尋址中所參考的這張表叫地址轉發表,IP尋址叫做路由控制表;mac地址轉發表中所記錄的是實際的mac地址本身,路由表記錄的IP地址則是集中了之後的網絡號(與子網掩碼);
FDDI:100M 光纖
bps(Bits per second 每秒比特數)
數據鏈路的數據幀中有一個數據位叫做FCS,用以檢驗數據是否正確送達目的地,網橋通過檢查這個域中的值,將損壞數據丟棄,網橋還能通過地址自學機制和過濾功能控制網絡流量;
路由器是連接網絡與網絡的設備;
可以將分組報文發送給另一個目標路由器地址;路由器是OSI模型的第3層,網絡層面上連接兩個網絡,並對分組報文進行轉發的設備。
4-7層交換機負責處理OSI模型中從傳輸層至應用層的數據,以TCP等協議的傳輸層及其上面的應用層爲基礎,分析收發數據,並對其進行特定的處理;網關負責協議的轉換與數據的轉發;在同一種類型的協議之間轉發數據叫做應用網關;
網關是OSI參數模型中負責從傳輸層到應用層的數據進行轉換和轉發的設備;與47層交換機一樣都是處理傳輸層及以上的數據,不僅轉發數據還負責對數據進行轉換;通常在一個表示層或應用層網關,在兩個不能進行直接通信的協議之間進行翻譯,最終實現兩者之間在的通信;
判斷網絡路徑,轉發至目標地址,4-7層交換機網關,負責傳輸層以上的數據轉發及其協議的轉換;
利用虛擬化技術,根據使用者的情況動態調整必要資源的機制被人們稱作雲;而且,將虛擬化的系統根據需要自動地進行動態管理的部分被稱作“智能協調層”;
IP還隱含着數據鏈路層的功能,通過IP,相互通信的主機之間不論經過怎樣的底層數據鏈路都能夠實現通信。雖然IP也是分組交換的一種協議,但它不具有重發機制;非可靠傳輸協議;
IP數據包在發送途中一旦發生異常導致無法到達對端目標地址時,需要給發送端發一個異常通知,ICMP就是爲這一功能而制定的;有時也被用來診斷網絡的健康狀態;
ARP:從分組數據包的IP地址中解析出物理地址MAC的一種協議  IP-〉Mac;
tcp是一種面向連接的傳輸層協議,TCP能夠正確處理傳輸過程中丟包,亂序的情況;
http屬於osi應用層的協議,而HTML屬於表示層協議。TCP、IP應用層與表示層由應用程序實現;
在FTP中進行文件傳輸時會建立兩個TCP連接,分別是發出傳輸請求時所要用到的控制連接與實現傳輸數據時所要用到的數據連接;
SNMP:網絡管理協議;
爲協議提供的信息爲包首部,所要發送的內容爲數據。
幀用於表示數據鏈路層中包的單位,而數據報是IP和UDP等網絡層以上的分層中包的單位,段則表示TCP數據流中的信息,消息是指應用協議中數據的單位;
緊隨IP首部的還有用來判斷其後面數據是TCP還是UDP的信息;
每個包首中至少都會包含兩個信息,一個是發送端和接收端地址,另一個是上一層的協議類型;
經過每個協議分層時,都必須有識別包發送端和接收端的信息,以太網會用mac地址,IP會用IP地址,而TCP、UDP則會用端口號識別兩端主機的地址;每個分層的包首部中還包含一個識別位,它是用來標識上一層協議的種類信息。
主機收到以太網包以後,首先從以太網的包首部找到mac地址,判斷是否爲發給自己的包,如果不是,則丟棄;
如果恰好是發給自己的,就查找以太網包首部中的類型域從而確定以太網協議所傳送過來的數據類型;如果是IP包,就將數據傳給處理IP的子程序,如果這時不是IP而是其他諸如ARP的協議,就把數據傳給ARP處理。如協議無法識別,丟棄;
IP模塊接收到也先判斷是否與自己的IP地址匹配,從可接收數據找上層協議,如果是TCP,給TCP處理,如果是UDP,則給UDP處理。對於有路由器的情況,接收端地址往往不是自己的地址,此時,需要藉助路由器控制表,在調查應該送達的主機或路由器以後再轉發數據。
TCP首先計算校驗和,判斷數據是否被破壞,然後檢查是否在按照序號接收數據,最後檢查端口號,確定具體的應用程序;數據接收完畢後,接收端則發送一個“確認回執”給發送端,如果這個回執信息未能達到發送端,那麼發送端會認爲接收端沒有接收到數據而一直反覆發送。數據被完整接收後,會傳給由端口號識別的應用程序;
MAC地址長48比特(位);第一位:單播或多播,第二位:全局/本機;
共享介質型網絡:設備之間使用同一個載波信道進行發送和接收。
爭用方式 contention是指爭奪獲取數據傳輸的權力,也叫CSMA(載波監聽多路訪問)。這種方法通常令網絡中的各個站採用先到先得的方式佔用信道發送數據,如果多個站同時發送幀,則會產生衝突現象;
非共享介質網絡:通過以太網交換機構建網絡,從而使計算機與交換機端口之間形成一對一的連接,即可實現全雙工通信;
半雙工是指:只發送或只接收的通信方式;全雙工指同一時間即可以發送數據也可以接收數據。
交換機轉發方式有兩種,一種叫存儲轉發,另一種叫直通轉發;存儲轉發檢查FCS,除錯;直通轉發只需要得知地址即可轉發,延遲短。
802.3以太網(Ether:介質)
以太幀前端有一個叫前導碼preamble,末尾是11SFD,後面是以太網幀本體;64位;
以太網首:6個字節源MAC,6個字節目標MAC,加2個字節上層協議類型;共14個字節;
數據(4-1500字節)尾部FCS(4字節)
協議類型:IP0800,arp0806,ipv686dd;
主機:配置有IP,但是不進行路由控制;
既配置有IP,又具備路由控制能力的設備叫路由器;
數據鏈路層的作用是在互聯同一種數據鏈路的節點之間進行包傳遞,而一旦跨越多種數據鏈路,就需要藉助網絡層,網絡層可以跨越不同的數據鏈路,即使在不同的數據鏈路上也能實現兩端節點之間的數據包傳輸;而節點則是主機和路由器的統稱;
數據鏈路層提供兩個設備之間的通信功能,與之相比,作爲網絡層的IP則負責在沒有直連的兩個網絡之間進行通信傳輸,

工業控制,商業,公共場所,家電,農業控制,醫療遠程控制也使用ZigBee,短距離,低功耗;
PPP點對點,1對1連接計算機的協議,相當於位於OSI第2層的數據鏈路層。ADSL,PPOE是在以太網數據中加入PPP幀進行傳輸的一種方式;
以太網中一個幀最大可傳1500個字節,FDDI可以最大傳輸4352字節;ATM的一個信元只能發送固定48字節數據;這48個字節個字節中若IP首和TCP首部,基本上無法存放上層的數據,爲此,一般不單獨使用ATM,而是使用上層的AAL。
IP是實現多個數據鏈路之間通信的協議,MTU在以太網中是1500字節,在FDDI中是4352;ATM9180字節;
IP進行分片,將較大的IP包分成較小的IP包;
如果說IP只負責將數據發送給目標主機,那麼TCP則負責保證對端主機確實接收到數據;
最初以分類進行區別,而現在基本以子網掩碼(網絡前綴)區分;
多播用於將包發送給特定組內的所有主機,直接使用IP協議;
10.0.0.0 -- 10.255.255.255.255 A類
172.16.0.0~172.31.255.255 B類
192.168.0.0~192.168.255.255 C類 包含在這個範圍內的IP地址都屬於私有IP,否則就是全局IP,公網IP
當一種能夠互換私有IP與全局IP的NAT技術誕生以後,配置有私有地址的主機與配有全局地址的互聯網主機實現了通信;IP本身沒有定義製作路由控制表的協議,即IP沒有製作路由控制表的機制,該表由一個叫做“路由協議”的協議製作而成;
如果路由表中有多條相同網絡地址記錄,就選擇一個最爲吻合的網絡地址(相同位數最多的意思);
如172.120/16-172.20.100/24兩項都匹配,則應該選擇匹配最長的/24;
如果路由表中下一個路由器的位置記錄着某個主機或路由器網卡的IP地址;那就意味着發送目標地址屬於同一個鏈路;
主機路由:ip/32 就是一種主機路由,意思是整個IP地址所有位都將參與路由;
環回地址是在同一臺計算機的程序之間進行網絡通信時所使用的一個默認地址,計算機使用一個特殊的IP地址127.0.0.1作爲環回地址;同意義的一個叫(localhost)的主機名,使用這個IP或主機名時,數據包不會流向網絡;
IP最大的MTU:65535.
主機有必要對IP分片進行相應的處理,分片往往在網絡上遇到比較大的報文無法一下子處理;只要路由器認爲有必要,會週而復始地進行;經過分片之後的IP數據報在被重組的時候,只能由目標主機進行,路由器雖然分片,但不會進行重組;
IPV6一般人們將128比特IP地址以每16比特爲一組,每組用冒號分隔,如果出現連續0時還可以省,以二個::隔開,但一個IP地址只能出現一次兩個連續的冒號;
環回地址: ::1/128; 
唯一本地地址: FC00::/7
鏈路本地單播地址: FE80::/10
多播地址: FF00::/8
IPv6中最小MTU爲1280字節;
當沒有可選項時,IP首部的長度爲20字節;
標識ID: 16位,用於分片重組,同一分片的標識值相同,不同分片標識不同,通常,每發送一個IP包,它的值也會遞增;
flag:3位,0位0,1位代表是否分片;0分1不分;
2:是否最後一個包;1分片中段的包;
片偏移:13位,用來標識被分片的每一個分段相對於原始數據的位置;
TTL:由8位構成;可以中轉多少個路由器的意思,每經過1個減1,直到變成0後丟棄該包;
協議:表示IP首部的下一個首部隸屬於哪個協議:
1:ICMP,2:IGMP,6TCP,17:UDP 41:IPV6

主機名與IP地址的對應信息叫做A記錄,反之,從IP地址檢索主機的名稱的信息叫做PTR,此外,上層或下層域名服務器IP地址的映射叫做NS記錄;MX註冊了郵件與郵件接收服務器主機名;
CNAME:主機別名對應的規範名稱;
AAAA 主機的IPV6地址;
* 所有緩存記錄;
ARP以目標IP地址爲線索,用來定位下一個應該接收數據分包的網絡設備對應的MAC地址,如果目標主機不在同一鏈路上時,可以通過ARP查找下一跳路由器的MAC地址,ARP只用於IPV4,V6可以用ICMPV6代替ARP發送鄰居探索消息;
ARP是藉助ARP請求與ARP響應兩種類型的包確定MAC地址的;
在IP通信中如果某個IP包因爲某種原因,未能達到目標地址,那麼這個具體的原因將由ICMP負責通知;
ICMP的這種通知消息會使用IP進行發送;ICMP的消息大體分爲兩大類:通知出錯原因消息,另一類診斷查詢消息;
ICMP: 類型3:目標不可達;IP路由器無法將數據包送給目標地址時,發送;
類型5;重定向消息;發現發送端使用了次優的路徑發送數據,那麼它會返回一個ICMP重定向消息給這個主機;在這個消息中包含了最合適的路由信息和源數據;
ICMP回送消息(類型0,8)用於進行通信的主機或路由器之間,判斷所發送的數據包是否己經成功到達對端的一種消息;ping;
NAT是用於在本地網絡中使用私有地址,在連接互聯網時轉換而使用全局IP地址的技術。TCP,UDP端口號NAPT用於轉換端口;IPv6中爲了提高網絡安全也在使用NAT,在IPv4,ipv6之間相互通信當中常常使用NAT-PT。
NAT-PT是將IPV6的首部轉換爲IPV4的首部的一種技術,IPv4和ipv6可互通;
IP隧道中可以將那些從網絡A發過來的IPV6的包統一爲一個數據,再爲之追加一個IPV4的首部轉發;
一般情況下,IP首部是TCP或UDP首部,而IP首部後面還是IP首部或者IP首部後面的IPv6的首部。這種在網絡層首部後面繼續追加網絡層首部的通信方法就叫做IP隧道;
多播與廣播通信中也使用UDP,RIP ,DHCP等基於廣播的協議也要依賴於UDP;
TCP通過檢驗和,序列號,確認應答,重發控制,連接管理以及窗口控制實現可靠性傳輸;
TCP中,當發送端的數據到達接收主機時,接收端主機會返回一個己收到消息的通知,這個消息叫做確認應答。
TCP在數據通信之前,通過TCP首部發送一個SYN包作爲建立連接的請求等待確認應答,如果對端發來確認應答,則認爲可以進行數據通信,此外,在通信結束時會進行斷開連接的處理(FIN包)。
TCP以段爲單位發送數據:
在建立TCP連接的同時,也可以確定發送數據包的單位,我們可以稱其爲最大消息長度(MSS:Maximum Segment Size);最理想的情況是,最大消息長度正好是IP中不會被分片處理的最大數據長度;
TCP在傳遞大量數據時,是以MSS的大小將數據進行分割發送,重發也是以MSS爲單位;
MSS是在三次握手兩端主機計算得出的;發請求時,會在TCP首部中寫入MSS選項,告訴對方自己的接口能夠適應的MSS的大小;然後會在兩者之間選擇一個較小的值投入使用;
滑動窗口:每發一個包進行確認會影響性能,TCP引入了窗口這個概念,即使在往返時間較長的情況下,確認應答不再以每個分段,而是以更大的單位進行確認;縮短轉發時間;發送端主機,在發送了一個段以後不必要一直等待確認應答,而是繼續發送;
窗口大小就是指無需確認可以繼續發送數據的最大值。
TCP提供一種機制可以讓發送端根據接收端的實際接收能力控制發送的數據量,這就是所謂的流控制,接收端向發送端主機通知自己可以接收數據的大小,於是發送端會發送不超過這個限度的數據,該大小限度就被稱作窗口大小。
SCTP:多宿主,多網卡只要有一個網卡工作,通信不斷;
標記交換技術,MPLS:多協議標記交換技術;對每個IP包都設定一個叫做“標記”的值,然後根據這個標記再進行轉發;
-------------------------------------------------------------------
應用程序將協議攜帶的數據寫入消息,消息邊界是兩次寫入之間的位置或字節偏移量,保留消息邊界的協議由接收方給出發送方的消息邊界,不保留消息邊界的協議(如TCP)忽略這類信息;
路由器和主機都能進行轉發:單播,廣播,組播;
traceroute (Windows 系統下是tracert) 命令利用ICMP 協議定位您的計算機和目標計算機之間的所有路由器。TTL 值可以反映數據包經過的路由器或網關的數量,通過操縱獨立ICMP 呼叫報文的TTL 值和觀察該報文被拋棄的返回信息,traceroute命令能夠遍歷到數據包傳輸路徑上的所有路由器。
UDP允許應用發送數據報並提供可靠的數據流傳輸,TCP涉及很多工作,
UDP應用發送數據報並保留消息邊界,但不強制實現速率控制或差錯控制;

附加在地址結尾的%2在windows中稱爲區域ID,表示主機中對應於IPV6地址的接口索引號;
以太網幀包含一個48位的目的地址(MAC地址)和一個16位的以太網類型字段,0x0800表示這個幀包含IPv4數據報,0x0806和0x86dd,分別表示ARP和IPV6,假設目的地址與接收方的一個地址匹配,這個幀將被接收並校驗差錯,以太網類型字段用於選擇處理它的網絡層協議;假設目的地址與接收方的一個地址匹配,這個幀被接收並校驗差錯,以太網類型字段用於選擇處理它的網絡層協議;
如果收到的幀包含一個IP數據報,以太網頭部和尾部信息將被清除,並將剩餘字段(包含幀的有效載荷)交給IP處理,IP檢測一系列的字段,目的IP地址,如果目的地址與自己的一個IP匹配,並且數據報頭部沒有錯誤,IP不測有效載荷,則檢測8位的IPV4協議字段,以決定接下來調用哪個協議來處理常見的值,包括1(ICMP),2IGMP,IPV4(4),TCP(6);UDP(17)數值4和41(IPV6,隧道);
如果網絡層認爲傳入的數據報有效,並且己確定正確的傳輸層協議,則將數據報(必要明由分片重組而成)交給傳輸層處理,在傳輸層中,大部分協議(包括TCP和UDP)通過端口號將複用分解到適當的應用;
IPV6地址的前導0必須壓縮:0db8::0022 -> db8::22 ; 壓縮最多的0,順序最前的0被替換爲::
v6中16進制字母應該小寫;
ABC類用於Internet單播地址中的接口分配地址,以及其他一些特殊情況下使用;
D類地址爲於組播;E類保留;
NAT必須重寫每個數據包的尋址信息;修改IP層地址也需要同時修改傳輸層的校驗碼;
NAT的工作原理就是重寫通過路由器的數據包的識別信息,這種情況常發生在數據傳輸的兩個方向上,在這種最基本的形式中,NAT需要重寫往一個方向傳輸的數據包的源IP地址,NAT包括NAT,基本NAT和NAPT(網絡地址端口轉換)
NAPT使用傳輸層標識符(TCP,UDP端口,ICMP查詢標識符)來確定一個特定的數據包到底和NAT內部的哪臺私有主機關聯。
NAPT有時必須重寫端口號,以避免衝突;NAT還創建一個內部狀態記住當前正在處理一個新連接,稱爲NAT會話(NAT session),這種狀態至少包括一個由客戶端的源端口號和IP地址組成的條目(稱爲NAT映射NAT mapping).
UDP是一種保留消息邊界的簡單的面向數據報的傳輸層協議,它不提供差錯糾正,隊列管理,重複消除,流量控制和擁塞控制,它提供差錯檢測,包含我們在傳輸層中碰到的第一個真實的端到端校驗和.
這種協議提供最小功能,因此使用它的應用程序要做許多關於數據包如何發送和處理控制工作,
數據鏈路層叫幀,IP網絡層叫分組;TCP、UDP傳輸層叫段;幀格式通常支持可變的幀長度,範圍從幾字節到幾千字節,這個範圍的上限稱爲最大傳輸單元(MTU)。
分片僅用於目的地址爲單播(非廣播或組播)的幀,爲了具備這種能力,順序控制字段包含一個4位的分片號,和一個12位的序列號;同一幀最多可能有15個分片;最後一個分片將幀控制字置0;
接收方將收到的同一序號的分片根據分片號重組成原始幀,當所有包含同一序列號的分片被接收,並且最後一個分片將更多標誌字段設爲0時,這個幀被重組並交給高層協議來處理;
隧道是在高層(或同等層)分組中攜帶低層數據,例如在一個IPV4或IPV6分組中攜帶IPV4數據,如在一個UDP,IPV4,6分組中攜帶以太網數據;隧道轉變了在頭部中協議嚴格分層的思路,並允許形成覆蓋網絡;ARP僅用於V4,V6使用鄰居發現協議,合併入ICMPV6;IPV4頭默認20字節;很少有選項;
IHL,IPV4頭限制爲最多15個32位字,即60字節,默認5,IPV6無,固定40字節;
總長度是IPV4數據報的總長度,以字節爲單位;通過這個字段和IHL字段,我們知道數據報的數據部分從哪裏開始,以及它的長度。16,所以最大爲64K;總長減IHL首部長,得到數據從哪開始;
IPV6頭部不支持分片,其長度可由負載長度字段獲得,這個字段提供IPV6數據報長度;
生存期TTL字段用於設置一個數據報可經過的路由器數量的上限,每臺路由在轉發數據報時將該值減1;當這個字段達到0時,該數據報被丟棄;並使用一個ICMP消息通知發送方。
IPv4頭部的協議字段包含一個數字,表示數據報有效部分的的數據類型,常17(UDP),6(TCP);
4(IPV4 IN IPV4);
當同一網絡中兩臺主機之間通信時,本地鏈路MTU在會話期間對數據報大小有直接影響,當兩臺主機之間跨越多個網絡通信時,每條鏈路可能有不同大小的MTU,在包含所有鏈路的整個網絡路徑上,最小的MTU稱爲路徑MTU。
主機與路由器處理IP數據報的區別在於:主機不轉發那些不是由它生成的數據報,路由器會;
在windows中,我們可以指定一個範圍ID或一個源地址;範圍ID是%6擴展目的的接口號;當發送一個ping流量時,通知系統使用接口號6作爲正確的接口;
防火牆:一種能夠限制所轉發的流量類型的路由器;
NAT需要跟蹤每個關聯或每個連接的連接狀態,操作貫穿多個協議層,修改IP層也需要同時修改傳輸層校驗碼;NAT的工作原理就是重寫通過路由器的數據包的識別信息,發生在數據傳輸的兩個方向,NAT需要重寫往一個方向傳輸的數據包的源IP地址,重寫往另一個方向傳輸的數據包的目的IP地址;.
NAT有時必須重寫端口號,以便區分同一網內相同端口號不同的主機流量;
NAT幾乎阻斷了所有傳入的新連接請求;
ICMP負責傳遞可能需要注意的差錯和控制報文,ICMP報文通常是由IP層本身,上層TCP,UDP甚至某些情況下是用戶應用觸發執行的。
ICMP報文是在IP數據報內被封裝傳輸的,在IPV4中,協議字段值爲1表示該報文攜帶了ICMPV4,
當IP層收到一個要發送的IP數據報時,它會判斷該數據報應該從哪個本地接口發送(通過查找一個轉發表),以及要求的MTU是多少;IP比較外出接品MTU和數據大小,如果數據報太大則進行分片,IPV4中的分片可以在原始發送方主機和端到端路徑上的任何中間路由器上進行。IPV6只允許源主機進行分片;
在接收方跟不上時會強迫發送方慢下來,這稱爲流量控制,一種方式稱爲基於速率流量控制,它是給發送方指定某個速率,同時確保數據永遠不能超過這個速率發送。這種類型的流量控制最適合流應用程序,可被用於廣播組播發現。另一種叫基於窗口流控制,是使用滑動窗口時最流行的方法;窗口大小不是固定的,而是允許隨時間而變動,稱爲窗口通告,窗口更新,發送方使用該值調整窗口大小,
TCP的半關閉操作是指僅關閉數據流的一個傳輸方向;我己經完成了數據的發送工作,併發送一個FIN給對方,但是我仍然希望接收來自對方的數據直到它發送一個FIN給我;
TCP選項:MSS(Max Segment size): 最大段大小;
通信的每一方都要在SYN報文段的MSS選項中說明自己允許的最大段大小,這16位的選項能夠說明最大段大小的數值;默認536;
SACK信息保存於SACK選項中,包含了接收方己經成功接收的數據塊的序列號範圍;
Time_wait狀態也稱爲2MSL等待狀態:Maximum Segment Lifetime MSL : TCP將會等待兩倍於最大段生存期Maximum Segment Life MSL的時間;
TCP必須把一個發送應用程序的字節流換成一組IP可以攜帶的分組,這被稱爲組包,這些分組包含序列號,該序列號在TCP中實際代表了每個分組的第一個字節在整個數據流中的字節偏移,而不是分組號;這允許分組在傳送中是可變大小;並允許它們組合,稱重新組包;由TCP傳給IP的塊稱爲報文段(segment);TCP維持了一個強制的校驗和,涉及頭部,任何相關應用程序的數據和IP頭部的所有字段,端到端僞頭部;TCP流量控制由每個端點使用窗口大小字段來通告一個窗口大小來完成,這個窗口大小是字節數,從ACK號指定的,也是接收方想要接收的那個字節開始。
緊急指針:字段只有在URG字段設置時纔有效,這個指針是一個必須要加到報文段的序列號字段上的正偏移;以產生緊急數據的最後一個字節的序列號,TCP的緊急機制是一種讓發送方給另一端提供特殊標誌數據的方法;
TCP是一種面向連接的單播協議,在發送數據前,通信雙方必須在彼此建立一條連接;
TCP服務模型是一個字節流,TCP必須檢測並修補所有在IP層(或下面的層)產生的數據傳輸問題;
當TCP使用NAT時,僞頭部的校驗和通常需要調整,其他協議也使用僞頭部校驗和;
TCP選項:MMS最大段大小隻記錄TCP數據的字節數而不包括其他相關的TCP與IP頭部,當建立一條TCP連接時,通信的每一方都要在SYN報文段的MSS選項中說明自己允許的最大段大小。
當建立一條TCP連接時,通信的每一方都要在SYN報文段的MSS選項中說明自己允許的最大段大小,16位,默認爲536;
IPV4的典型值:1460;IP頭20,TCP頭20;共1500MTU;
處於ESTABLISHED狀態的節點不能接收SYN報文段,而處於LISTEN狀態的節點則不能接收數據段;
http協議:
head:和get基本相同,不過它只返回head的消息頭;而不返回數據的內容,用於獲取文件的最後更新時間和屬性相關;主要用於更新(屬性,服務器相關信息);
option:用於通知或旬選項:http1.1支持;
put替換URI指定的服務器上的文件,如果URI指定的文件不存在,則創建該文件;
delete: 刪除URI指定的服務器上的文件;
trace:將服務器收到的請求和頭直接返回給客戶端,用於在使用代理的環境中檢查請求的情況;
connect:使用代理傳輸加密消息時使用的方法;
http中主要頭字段:Date:表示請求和響應生成的日期:Pragma:是否允許緩存;
DNS系統: A記錄的A是address的縮寫;MX: mail exchange:郵件交換;
報頭像一串1010這樣的序列,長爲56比特;作用是確定包的讀取時機;
末尾的FCS(幀校驗序列)用來檢查包傳輸過程中,因噪聲導致的波形紊亂,數據錯誤;如果受到干擾而導致其中數據發生了變化,那麼接收方計算出的FCS和發送方計算出的FCS就會不同;

分片的包會在 IP 頭部的標誌字段中進行標記,當收到分片的包時, IP 模塊會將其暫存在內部的內存空間中, 然後等待 IP頭部中具有相同 ID 的包全部到達, 這是因爲同一個包的所有分片都具有
相同的 ID。 此外, IP 頭部還有一個分片偏移量(fragment offset)字段, 它表示當前分片在整個包中所處的位置。 根據這些信息, 在所有分片全部收到之後, 就可以將它們還原成原始的包, 這個操作叫作分片重組。
負載均衡器可以定期採集Web服務器的CPU,內存使用率,並根據這些數據判斷服務器的負載狀態,也可以向WEB服務器發送測試包,根據響應所需要的時間來判斷負載狀態。
過於密集查詢服務器的負載,也會增加服務器負擔,因此也有一種方案是不去查詢服務器的負載,而是根據事先設置的服務器性能指數,按比例來分配請求;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章