Linux网络编程:Socket编程基础

2017-06-10  本文已影响41人  虞锦雯
一、什么是网络编程?

网络编程是进程间通信的延续。
IPC:同一台电脑上同一系统里的两个进程间通信。
网络:不同电脑上(操作系统也可能不一样)的两个进程间通信。

互联网与因特网

互联网(internet):广义词,网网相联。
因特网(Internet):专有词,全球小老百姓使用的一个互联网。

网络协议:每一种不同互联网都有其对应的一套协议。
因特网上采用的协议:TCP/IP协议

网络协议(Protocol)主要制定如下内容:

  1. 一共需要传输多少种数据包
  2. 每个数据包中的二进制位含义(这样的数据包也被称为PDU:Protocol Data Unit)
  3. 数据包的使用次序
ip地址 & 端口号 & MAC地址
服务名.机构名.用途名.地区名
服务名:www(web服务、网页服务)、ftp、mailto
a. 点分十六进制的字符串 "AB.56.F2.23.CD.32"  4个数字取值范围 0~255
b. 连续六字节的整型(编程所需的形式)
TCP/IP协议

TCP/IP五层协议模型:

  1. 应用层:对应网络服务数据(http ftp SMTP POP3 IMAP4 DNS....)
  2. 传输层:进程间的传输(TCP UDP)
  3. 网络层:电脑间的传输(IP)
  4. 链路层:局域网范围内网口到网口的传输
  5. 物理层:用哪种传输介质以及这种传输介质如何表示二进制位
客户端 & 服务器
二、后续学习
应用层数据的组织
传输层的功能如何去用
上一篇 下一篇

猜你喜欢

热点阅读