1. 程式人生 > >TCP/IP 關於一些在應用層的協議

TCP/IP 關於一些在應用層的協議

TCP/IP是一個完整的協議族,並不僅僅指TCP/IP兩個協議,只是因為這兩個協議非常具有代表性。

瞭解應用層協議的作用及其埠號

Telnet:埠號為23,功能:遠端管理
而在Linux中為SSH 埠號為22

FTP(File Transfer Protocol):文字傳輸協議 埠號: 20 和21一個埠用於控制,一個埠用於傳輸資料

TFTP:簡單檔案傳輸協議 早先FTP伺服器程式碼太大了相對於伺服器的容量來說,所以主要傳輸一些小檔案的時候就是用TFTP,對於網路裝置的維護一直使用 埠號為69

SMTP: 傳送郵件 TCP:25
POP3:接收郵件TCP:110

HTTP:超文字傳輸協議 TCP:80
HTTPS:相對於HTTP安全 對資料包進行加密 TCP:43

DNS:域名解析服務 網路下標如果出現談好很可能是DNS配置不對 TCP UDP:53

DNS排錯流程

  1. ping 127.0.0.1看TCP/IP協議棧是否正常
  2. ping自己的地址 檢視自己的網路配置是否正確
  3. ping閘道器的地址 看自己的閘道器設定是否正確
  4. ping公司的網址 測試網路是否正常
  5. nslookup www.baidu.com 看DNS解析是否正常

DHCP:動態分配地址 埠號67

傳輸層

大部分應用層協議都是建立在TCP或UDP之上的,少數的協議定義了應用層和傳輸層,比如OSPF、EIGRP

TCP

TCP是一個面向連線的,可靠的,建立虛鏈路的協議,使用排序。確認和視窗流量控制機制
TCP的資料分段格式


SYN就在這裡的程式碼位

關於三次握手
這裡寫圖片描述
這是一種可靠的建立連線的方式
SYN表示同步程式碼位
ACK:是對SYN的確認

第二步中的SYN是一個新的SYN
第二步中的ACK是表達了我收到了X+1之前的所有資料
這裡SYN相當於是詢問,ACK是回答

確認機制保證了TCP 的準確性
這裡寫圖片描述
確認總是在前一個序號加一

滑動視窗
這裡寫圖片描述
能夠設定一次傳幾個包每次幾個包一起接收,如果其中一個包掉了則此次的全部包重新傳送。

總結性發言:保證TCP可靠性有三個機制三次握手,滑動傳送,確認機制

UDP

這裡寫圖片描述

UDP:是無序的,不可靠的,無連線,低開銷,無確認,沒有視窗和流量控制
埠號:1-65535
1-1024周知埠號