協議分爲四層,自下而上分別是鏈路層,網絡層,傳輸層,應用層
c++
主機A把網絡層傳遞下來的ip數據包增長首部和尾部,以後變成mac數據包,傳給物理層。主機B鏈路層收到數據包會去掉首部和尾部,呈交給上層。web
1.封裝成幀
傳輸時的mac數據包會增長SOH和EOT,接收端只有同時收到兩個符纔不會丟棄數據包。
2.透明傳輸
SOH=0x01
EOT=0x04
由於是透明傳輸,因此接受的數據可能會遇到SOH和EOT的狀況,以此出現了轉義字符,ESC=0x1B
3.差錯檢測
用的是循環冗餘檢測CRC服務器
ppp協議不用糾錯,是不可靠傳輸,不用多點線路
F=Flag標誌字段開始或結束=0x7E
A=地址字段=0xFF
C=控制字段=0x03
ppp幀=F1+A1+C1+協議2+IP數據+fcs+F1
F標誌不會連續出現兩個,如出現則傳輸發生錯誤
字節填充:0x7E->(0x7D,0x5E) 0x7D->(0x7D,0x5D)
小於0x20的,如0x03->(0x7D,0x23)
零比特傳輸:發送方連續出現5個1,則會增長一個0,接收方若是發現5個1,則會刪除後面那個0,保證了F不會出現
協議的運行:pc機呼叫路由器,路由器收到載波信號,創建了物理層協議,此時LCP(鏈路控制協議)開始協商配置選項即發送ppp幀,幀的協議部分爲LCP對應的代碼,信息部分爲特定的配置請求,鏈路另外一端會響應(確認幀,否定幀,拒絕幀)
網橋(小型交換機)網絡
網絡層具備協議ip協議,arp協議,rarp協議,ICMP協議,IGMP協議
物理層:轉發器
鏈路層:網橋
網絡層:路由器
網絡層以上:網關
數據的傳輸中ip的源地址和目的地址不會發生改變,mac地址會發生改變。
arp協議的會發送arp廣播包,若是存在相應的ip地址,則會收到相應的arp迴應包。tcp
用戶數據報協議UDP/傳輸控制協議TCP
系統端口號0-1023
登記端口號1024-49151
客戶端49152-65535
UDP的特色:udp無鏈接,盡最大努力交付,面向報文,也就是整個報文轉發,太大時網絡層會本身切片,沒有擁塞控制,這樣面對視頻等實時的數據頗有利,源主機只會源源不斷的輸出數據。並且UDP的只有8字節,減小了數據量。
TCP的特色:面向字節流的可靠交付,必須由套接字創建鏈接。擁有中止等待協議。
中止等待協議:A發送M1給B,發送完暫停等待B的確認,B得向A發送確認,以後A會發送分組M2…
超時重傳:爲了防止丟失A會保存一個副本,當接收到B傳來的確認,存的副本纔會刪除。
確認遲到,確認丟失:只要到達了相應的時間,A都會重傳,若是確認遲到,A收到,可是會忽略。若是確認丟失,A重傳,B接收丟棄,發出確認。
因爲中止等待協議的信道利用率過低,於是出現了ARQ協議和滑動窗口協議。ARQ容許連續發送一組分組,以後接收最後一個確認。滑動窗口是在一個發送窗口範圍內,有待確認窗口,可用窗口,發送一組數據,以後等待確認,無確認的超時重發。
TCP三次握手:svg
A->B:SYN=1 seq=x B->A:SYN=1 ACK=1 seq=y ack=x+1 A->B:ACK=1 seq=x+1 ack=y+1
TCP 釋放code
A->B:FIN=1 seq=u B->A:ACK=1 seq=v ack=u+1 等待一段時間.... B->A:FIN=1 ACK=1 seq=w ack=u+1 A->B:ACK=1 seq=u+1 ack=w+1
DHCP服務視頻
A->B:DHCPDISCOVER B->A:DHCPOFFER A->B:DHCPREQUEST B->A:DHCPACK or DHCPNACK DKCPRELASE 當租用期到達週期的一半會request,若是B不響應,則會在85%T再次request
httpxml
從域名服務器找到ip,以後會創建tcp