傳輸層
1.只有主機才有的層次
2.傳輸層使用網絡層的服務為應用層提供通信服務
傳輸層的功能
1.傳輸層提供進程與進程之間的通信
2.網絡層提供主機之間的邏輯通信
3.復用和分用
4.傳輸層對收到的報文進行差錯檢測
5.傳輸層的兩種協議:tcp,udp
tcp與udp
tcp:
1.面向連接的傳輸控制協議tcp
2.傳送數據之前必須建立連接,數據傳送結束后要釋放連接,不提供廣播或多播服務,由於tcp要提供可靠的面向連接的傳輸服務,因此不可避免增加了許多開銷,確認,流量控制,計時器及連接管理等
3.可靠,面向連接,時延大,適用於大文件
udp:
1.無連接的用戶數據報協議udp
2.傳送數據之前不需要建立連接,收到udp報文后也不需要給出任何確認
3.不可靠,無連接,時延小,適用於小文件
傳輸層的尋址與端口
1.復用:應用層所有的應用進程都可以通過傳輸層再傳輸到網絡層
2.分用:傳輸層從網絡層收到數據后交付指明的應用進程
邏輯端口/軟件端口 是傳輸層的SAP,標識主機中的應用進程
端口號只有本地意義,在因特網中不同計算機的相同端口是沒有聯系的
端口號長度16bit,能表示65536個不同的端口號
端口號:
1.服務端使用的端口號
1.熟知端口號:給tcp/ip最重要的一些應用程序,讓所有用戶都知道,0-1023
2.登記端口號
1.為沒有熟知的端口號應用程序使用的1024-49151
2.客戶端使用的端口號
1.僅在客戶端進程運行時才動態選擇的端口號49152-65535
FTP:21
TELNET:23
SMTP:25
DNS:53
TFTP:69
HTTP:80
SNMP:161
在網絡中采用發送方和接收方的套接字組合來識別端點,套接字唯一標識了網絡中的一個主機和它上面的進程
socket = (主機ip地址,端口號)
udp協議

1.udp只在ip數據報服務之上增加了很少功能,即復用分用和差錯檢測功能
2.udp的主要特點
1.udp是無連接的,減少開銷和發送數據之前的時延
2.udp使用最大努力交付,即不保證可靠交付
3.udp是面向報文的,適合一次性傳輸少量數據的網絡應用
4.udp無擁塞控制,適合很多實時應用
5.udp首部開銷小,8B,tcp20B
udp首部格式

udp校驗


tcp協議

1.tcp面向連接的傳輸層協議
2.每一條tcp連接只能有2個端點,每一條tcp連接只能是點對點的
3.tcp提供可靠交付的服務,無差錯,不丟失,不重復,按序到達,可靠有序,不丟不重
4.tcp提供全雙工通信
1.發送緩存,准備發送的數據&已發送但尚未收到確認的數據
2.接收緩存,按序達到但尚未被接受應用程序讀取的數據&不按序到達的數據
5.tcp面向字節流,tcp把應用程序交下來的數據看成僅僅是一連串的無結構的字節流
tcp報文段首部格式



tcp連接管理

1.tcp連接傳輸三個階段
連接建立 - 數據傳輸 - 連接釋放
2.tcp連接的建立采用客戶服務器方式,主動發起連接建立的應用進程叫做客戶,而被動等待建立的應用進程叫服務器
SYN洪泛攻擊

tcp的連接釋放

tcp的可靠傳輸
1.網絡層,提供最大努力交付,不可靠傳輸
2.使用tcp實現可靠傳輸
3.保證接收方進程從緩存區讀出的字節流與發送方發出的字節流是完全一樣的
4.tcp實現可靠傳輸的機制
1.校驗
2.序號
3.確認
4.重傳
序號

確認

重傳


tcp擁塞控制

1.出現擁塞的條件
對資源需求的總和>可用資源
2.網絡許多資源同時呈供應不足 -> 網絡性能變壞 -> 網絡吞吐量將隨輸入負荷增大而下降
3.擁塞控制
1.防止過多的數據注入到網絡中。全局性
擁塞控制四種算法
1.慢開始
2.要色避免
3.快重傳
4.快恢復
假定:
1.數據單方向傳送,而另一個方向只傳送確認
2.接收方總是有足夠大的緩存空間,因而發送窗口的大小取決於擁塞程度
發送窗口=Min(接收窗口rwnd,擁塞窗口cwnd)
接收窗口:接收方根據緩存設置的值,並告知給發送方,反映接收方容量
擁塞窗口:發送方根據自己估算的網絡擁塞程度而設置的窗口值,反映網絡當前容量
慢開始和擁塞避免

快重傳快恢復

