總結一下:
每一層的協定
SSL工作在哪層
表示層
大家覺得本次面試題總結的寫得不錯的朋友,大家可以轉發+關注,然後掃描下方二維條碼獲取更多面試題以及答案— 掃描新增暗號:【CSDN】
TCP/IP模型實際上是OSI模型的一個濃縮版本,它只有四個層次:
OSI模型的網路層同時支援面向連線和無連線的通訊,但是傳輸層只支援面向連線的通訊;TCP/IP模型的網路層只提供無連線的服務,但是傳輸層上同時提供兩種通訊模式。
Time To Live
封包再傳輸過程中每經過一個路由器,TTL就減1,直到TTL=0時,封包被丟棄,並行送ICMP報文通知源主機防止重複傳送。
ICMP
最大傳輸單元。
由於不同硬體的物理特性不同,對資料框的最大長度都有不同的限制,這個最大長度稱為MTU。
(然後通過路由對IP報文進行分片完成傳輸。)
6.1 部分報頭資訊宣告
seq: 序列號,表示資料第一個位元組的序號
ack: 確認序列號,表示期望收到的第一個位元組的序號
6.1.1 FLAG位
常用的由SYN、ACK、FIN。
SYN:用作建立連線時的同步訊號。
ACK:用於對收到的資料進行確認。
FIN:表示後面沒有資料需要傳送,連線需要關閉。
6.2 握手過程
第一次握手:使用者端傳送封包將SYN置1,表示希望建立連線,seq=x。發完後進入SYN_SEND狀態。
第二次握手:伺服器收到請求後,通過SYN確認是建立連線請求,然後傳送一個響應包,將SYN=1 ACK=1 seq=y ack=x+1,然後進入SYN_RCVDz狀態
第三次握手:使用者端收到伺服器的SYN+ACK包,向伺服器傳送確認包ACK(ack=y+1),此包傳送完畢,使用者端和伺服器進入ESTABLISHED狀態,完成三次握手。
如果兩次握手就建立連線,傳輸完資料並釋放連線後,第一個超時的連線請求才到達伺服器,伺服器會認為是使用者端建立新連線的請求,然後建立連線。此時使用者端的狀態不是SYN_SENT,所以會直接丟棄伺服器傳來的確認資料,導致最後只是伺服器單方面建立了連線。
這個圖不好畫,網上找了一個。
經過2MSL,使用者端沒有收到伺服器傳來的報文,則確定伺服器已經收到最後的ACK訊號,連線正式釋放。
四次揮手白話文:
為什麼不直接關閉而是進入TIME_WAIT呢?
常見服務 | 埠 |
---|---|
HTTP | 80 |
FTP | 21 |
DNS | 53 |
POP3 | 110 |
SMTP | 25 |
SSH | 22 |
nginx | 80 |
MEMCACHED | 11211 |
MYSQL | 3306 |
TOMCAT | 8080 |
NFS | 2049 |
TLENET | 23 |
HTTPS | 443 |
SAMBA | UDP139 TCP139 |
POSTFIX | 25 |
IMAP | 143 |
ZABBIX | 10051 |
DHCP | 56 |
有問題或者有漏掉的部分可以在評論區提出。
A類地址:以0開頭,第一個位元組範圍:0~127(1.0.0.0 - 126.255.255.255);
B類地址:以10開頭,第一個位元組範圍:128~191(128.0.0.0 - 191.255.255.255);
C類地址:以110開頭,第一個位元組範圍:192~223(192.0.0.0 - 223.255.255.255);
內部地址:10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。
地址解析協定。
每個主機都會在自己的ARP緩衝區中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關係。
當源主機要傳送資料時,首先檢查ARP列表中是否有對應IP地址的目的主機的MAC地址,如果有,則直接傳送資料,如果沒有,就向本網段的所有主機傳送ARP封包,該封包包括的內容有:源主機 IP地址,源主機MAC地址,目的主機的IP地址。
當本網路的所有主機收到該ARP封包時,首先檢查封包中的IP地址是否是自己的IP地址,如果不是,則忽略該封包,如果是,則首先從封包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然後將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
源主機收到ARP響應包後。將目的主機的IP和MAC地址寫入ARP列表,並利用此資訊傳送資料。如果源主機一直沒有收到ARP響應封包,表示ARP查詢失敗。
廣播傳送ARP請求,單播傳送ARP響應。
一個區域網的網路協定,使用UDP協定工作,用途:給內部網路或網路服務供應商自動分配IP地址,給使用者或者內部網路管理員作為對所有計算機作中央管理的手段。
子網掩碼只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。
通過IP和子網掩碼計算網路號(筆試題)
計算出IP二進位制和子網掩碼的二進位制,然後取與
通過IP和子網掩碼計算主機號(筆試題)
將子網掩碼的二進位制取反,然後與IP的二進位制取與。
以上便是此次分享的面試題以及答案,如果覺得還不過癮,大家可以關注我的公眾號-【Java爛豬皮】,裡面有往期的面試題以及最新的面試分享,關注後回覆:【666】即可免費獲取更多的Java架構進階vip學習資料