# 運維小白的成長日記第七天-OSI七層傳輸層/應用層精講!
1、IP提供了點到點的連續接,通過IP地址可以找到目標主機。但是目標主機有很多應用,服務器到底使用哪個應用來響應客戶端?通過端口號決定。
2、TCP:傳輸控制協議。可靠的、面向連接的協議。相當於是打電話的過程,需要建立連接、發送數據、斷開連接。
3、UDP:用戶數據報協議。不可靠的,非面向連接的協議。相當於是發信息的過程。不需要建立連接,直接發送數據。
4、TCP頭部的主要字段:
目標端口號:表明要訪問的哪個應用,如80端口表示http
源端口號:標識自己的應用
序列號:上層數據被分成很多段,段的編號
確認號:接收方收到數據段後,要告訴發送方已收到
窗口大小:接收方告知發送發一次可以發多少個段
(1)發送方發送SYN=1的數據段給接收方
(2)接收方回應SYN=1,ACK=1的數據段給發送方
(3)發送方發送ACK=1的數據段給接收方
6、TCP發送完數據後,斷開連接的過程有4步,叫四次斷開
(1)主機A發送FIN=1的數據段給對方B
(2)另外一方B回應ACK=1的數據段給A
(3)B也發送FIN=1的數據段給A
(4)A回應ACK=1的數據段給B
第三次握手的必要性:防止已失效的請求報文段突然又傳送到了服務端而造成連接的誤判。假如客戶端發出連接請求A,由於網絡原因,服務端並沒有收到A,於是客戶端又發送了連接請求B,並建立了連接,完成通信,斷開連接。這時候,服務端突然又收到了A,於是看作是一次新的連接請求,進行第二次握手,由於不存在第三次握手,所以這時已經建立了TCP連接。但實際上客戶端並沒有發起連接,所以不會傳遞數據,那麽這條連接就會變成一條死連接。
必要性:為保證單向通信的可行性,所以多一次握手。
1)主動斷開方發送FIN時,被動斷開方要回復ACK,意思是“我收到你的FIN了”;
2)主動斷開方發送FIN並不意味著立即關閉TCP連接,而是告訴對方自己沒有更多的數據要發送了,只有當對方發完自己的數據再發送FIN後,才意味著關閉TCP連接;
3)被動斷開方收到FIN並回復ACK後,此時TCP處於“半關閉”狀態,為保證被動斷開方可以繼續發送數據,所以第二個FIN並不會伴隨ACK發送,所以比連接時多一個報文段。
基於TCP的應用
HTTP:80 WEB服務
HTTPS:443 安全的WEB服務
TELNET:23 遠程管理路由器交換機用到
POP3:110 郵局協議第三版,用於收郵件
FTP:21 文件傳輸協議
DNS:53 域名服務
UDP
TFTP:69 簡單文件傳輸協議
DNS:53 域名服務
NTP:123 網絡時間協議,用於同步系統時間
應用層
1、DNS:域名服務,用於將名稱解析為IP地址,反之亦然
2、DNS是一個倒置的樹形結構。最頂部是根域,用英文句點(.)表示。全球有13個根域服務器,一臺主服務器在美國,9臺輔助服務器在美國,2臺在歐州,一臺在日本。
3、根域服務器以下是一級域(頂級域)、二級域、三級域……最多127級
4、百度的域名:baidu.com,達內的域名:tedu.cn
5、主機的完整名稱:主機名.域名後綴
FQDN:完全合格域名、完全限定域名、全稱域名
6、初期的域名,頂級域只有七個:
com:商業
net:網絡
gov:政府
edu:教育
mil:軍事
int:國際化
org:組織
7、後來又使用兩個字母表示一個國家或地區,成為地理域
8、客戶機解析域名的過程
(1)查詢自己的緩存
ipconfig/displaydns 查看本機DNS緩存
ipconfig/flushdns 清除本機緩存
(2)查詢HOSTS文件
C:\Windows\System32\drivers\etc\ hosts
(3)本地DNS服務器(配置網絡參數時指定的)
9、收發郵件
發信客戶端被稱作MUA(郵件用戶代理),服務器被稱作MTA(郵件傳輸代理)
10、實現DNS:windows server中有DNS服務器軟件
11、實現http/ftp:IIS(Internet信息服務)
12、FTP有兩個端口21和20。21用於控制連接,20用於數據傳輸。
# 運維小白的成長日記第七天-OSI七層傳輸層/應用層精講!