在學習Linux高并發網絡程式設計開發總結了筆記,并分享出來。有問題請及時聯系部落客:Alliswell_WP,轉載請注明出處。
10-Linux系統程式設計-第10天(網絡程式設計基礎-socket)
一、Linux網絡程式設計階段
二、網絡基礎
1、網絡開發兩種設計模式
》協定的概念
什麼是協定?
從應用的角度出發,協定可了解為“規則”,是資料傳輸和資料的解釋的規則。
假設,A、B雙方欲傳輸檔案。規定:
第一次,傳輸檔案名,接收方接收到檔案名,應答OK給傳輸方;
第二次,發送檔案的尺寸,接收方接收到該資料再次應答一個OK;
第三次,傳輸檔案内容。同樣,接收方接收資料完成後應答OK表示檔案内容接收成功。
由此,無論A、B之間傳遞何種檔案,都是通過三次資料傳輸來完成。A、B之間形成了一個最簡單的資料傳輸規則。雙方都按此規則發送、接收資料。A、B之間達成的這個互相遵守的規則即為協定。
這種僅在A、B之間被遵守的協定稱之為原始協定。當此協定被更多的人采用,不斷的增加、改進、維護、完善。最終形成一個穩定的、完整的檔案傳輸協定,被廣泛應用于各種檔案傳輸過程中。該協定就成為一個标準協定。最早的ftp協定就是由此衍生而來。
TCP協定注重資料的傳輸。http協定着重于資料的解釋。
》典型協定
傳輸層 常見協定有TCP/UDP協定。
應用層 常見的協定有HTTP協定,FTP協定。
網絡層 常見協定有IP協定、ICMP協定、IGMP協定。
網絡接口層 常見協定有ARP協定、RARP協定。
TCP傳輸控制協定(Transmission Control Protocol)是一種面向連接配接的、可靠的、基于位元組流的傳輸層通信協定。
UDP使用者資料報協定(User Datagram Protocol)是OSI參考模型中一種無連接配接的傳輸層協定,提供面向事務的簡單不可靠資訊傳送服務。
HTTP超文本傳輸協定(Hyper Text Transfer Protocol)是網際網路上應用最為廣泛的一種網絡協定。
FTP檔案傳輸協定(File Transfer Protocol)
IP協定是網際網路互聯協定(Internet Protocol)
ICMP協定是Internet控制封包協定(Internet Control Message Protocol)它是TCP/IP協定族的一個子協定,用于在IP主機、路由器之間傳遞控制消息。
IGMP協定是 Internet 組管理協定(Internet Group Management Protocol),是網際網路協定家族中的一個多點傳播協定。該協定運作在主機群組播路由器之間。
ARP協定是正向位址解析協定(Address Resolution Protocol),通過已知的IP,尋找對應主機的MAC位址。
RARP是反向位址轉換協定,通過MAC位址确定IP位址。
2、網絡模型分層
3、以太網幀協定
4、IP協定
5、UDP協定
6、TCP協定