最主要的特點:
1.tcp是面向連線的運輸層協議
2.tcp是點對點的
3.tcp提供可靠交付的服務
4.tcp提供全雙工通訊。允許通訊雙方的應用程序在任何時候都能傳送資料。
5.面向位元組流,這個和udp不同,udp是面向報文的。流指的是流入到程序或者從程序流出的位元組序列。也就是說tcp和udp在傳送報文時所採用的方式完全不同,tcp並不關心應用程式一次把多長的報文傳送到tcp快取中,而是根據對方給出的視窗值和當前網路擁塞的程度來決定乙個報文段應包含多少位元組。
可靠傳輸的工作原理
tcp傳送的報文段是交給ip層傳送的,但ip層只能提供最大努力服務,也就是不可靠的,因此tcp必須採用適當措施才能使得兩個運輸層之間的通訊變得可靠。
為此可以使用一些可靠傳輸協議。
停止等待協議
每次發完乙個分組就停止傳送,等待對方確認,在收到確認後再傳送下乙個分組。
優點:簡單
缺點:通道利用率低。
連續arq協議
以位元組為單位的滑動視窗。傳送視窗的位置由視窗前沿和後沿的位置共同決定。提高了通道利用率
超時重傳時間rto:rto=rtts+4*rttd
rtts是加權的rtt,rttd是rtt的偏差的加權平均值。
tcp的流量控制
讓傳送方的傳送速率不要太快,要讓接收方來得及接收
利用滑動視窗機制能夠方便的實現流量控制。
a傳送資料給b,然後b每次的ack中會包含有b的接收視窗rwnd的大小,因此傳送方的傳送視窗不能超過接收方給出的接收視窗的數值,當rwnd減少為0時,傳送方應停止傳送資料。
tcp擁塞控制
防止過多的資料注入到網路,使得網路中的路由器或鏈路不至於過載,是乙個全域性性的過程。而流量控制是點對點的通訊量的控制,是個端到端的問題。
慢啟動,擁塞避免,快重傳和快恢復
tcp首部格式
共20個位元組,其實最大可以有60個位元組,後面40個位元組是填充部分或者選項部分,在這裡不做討論
1.源埠和目的埠,各佔2位元組
2.序號 seq 佔4位元組,表示本次所傳送的資料的第乙個序號
3.確認號ack 4位元組,是期望收到對方下乙個報文的第乙個資料的序號。
4.資料偏移 4位,也就是指出首部的長度
5.保留 6位
6.urg,ack,psh,rst,syn,fin 共6位
7.視窗,2位元組,rwnd,也就是接收方讓傳送方設定其傳送視窗大小的依據
8.檢驗和 2位元組
9緊急指標 2位元組
tcp最大64k緩衝區問題
核心緩衝區65535,限制了最多傳送64k大小的資料。
超過64k,ip會進行分包。
tcp分片問題
tcp一般不想讓ip進行分片,因此如果丟失包,則需要重傳全部的資料報。因此tcp不知道分片機制如何,也不知道丟了哪部分包。
因此tcp會自己進行分片
mss=mtu-tcp頭部-ip頭部
知識點 面試
參 dom document object model,即文件物件模型 是 w3c 組織推薦的處理 xml 的一種方式。dom解析器在解析xml文件時,會把文件中的所有元素,按照其出現的層次關係,解析成各個node物件 節點 優點 把xml檔案在記憶體中構造樹形結構,可以遍歷和修改節點 缺點 如果檔...
TCP知識點記錄
syn 占用乙個序列號 fin 占用乙個序列號 ack 不占用序列號 mss選項通常在通訊的第乙個報文段,即syn報文段中指明,通知對端本端能接收的最大長度報文段 mss 1024 傳送端a 接收端b 如果此時接收端b向傳送端a傳送的報文段長度大於1024,那麼傳送端a將不接受此報文段 win 40...
CSS面試知識點
偶然發現,公司裡多了很多新面孔。在電梯裡,總能遇到面容似曾相識卻叫不出名字的同事,才後知後覺,貌似又進入了求職高峰期。曾經一起奮戰的同事,如今又在另外一片天空追尋自己的夢想,祝福他們,希望所有的程式設計師都能幸福。回想起去年這個時候,也是在求職的路上磕磕絆絆。去年很不順,迷信的說法也許是本命年犯太歲...