一、什么是网络编程?
网络编程是进程间通信的延续。
IPC:同一台电脑上同一系统里的两个进程间通信。
网络:不同电脑上(操作系统也可能不一样)的两个进程间通信。
互联网与因特网
互联网(internet):广义词,网网相联。
因特网(Internet):专有词,全球小老百姓使用的一个互联网。
网络协议:每一种不同互联网都有其对应的一套协议。
因特网上采用的协议:TCP/IP协议
网络协议(Protocol)主要制定如下内容:
- 一共需要传输多少种数据包
- 每个数据包中的二进制位含义(这样的数据包也被称为PDU:Protocol Data Unit)
- 数据包的使用次序
ip地址 & 端口号 & MAC地址
- ip地址:
a. 点分十进制的字符串 "192.168.0.23" 4个数字取值范围 0~255
b. 连续四字节的整型(编程所需的形式)
c. 域名("www.sina.com.cn")
服务名.机构名.用途名.地区名
服务名:www(web服务、网页服务)、ftp、mailto
- 端口号:
两个字节的整型(0~65535)
0~1023:全球通用的一些服务。例如:网页:80,文件服务:23等。
自定义的服务端口号:1024开始。 - MAC地址:(硬件地址 网卡地址)
局域网范围以内如何区分不同网口(网卡)的方法
a. 点分十六进制的字符串 "AB.56.F2.23.CD.32" 4个数字取值范围 0~255
b. 连续六字节的整型(编程所需的形式)
TCP/IP协议
TCP/IP五层协议模型:
- 应用层:对应网络服务数据(http ftp SMTP POP3 IMAP4 DNS....)
- 传输层:进程间的传输(TCP UDP)
- 网络层:电脑间的传输(IP)
- 链路层:局域网范围内网口到网口的传输
- 物理层:用哪种传输介质以及这种传输介质如何表示二进制位
客户端 & 服务器
- 客户端:享受服务的进程
- 服务器:提供服务的进程
二、后续学习
应用层数据的组织
- 应用层采用什么协议?
- 是现成的还是自定义?
传输层的功能如何去用
- TCP特点和使用方法
**TCP: Transfer Control Protocol **
面向连接的、可靠的(可靠:确保双发传输的数据能到达对方)。
面向连接:意味着使用TCP进行传输前,需要通信双方建立好连接。
连接建立的过程如下:(三次握手)
1)客户端发送连接请求
2)服务器针对这个请求给一个对应的回应
3)客户端再回给服务器一个回应的回应 - UDP特点和使用方法
UDP: User Data Protocol
面向非连接、不可靠的(不可靠的:发送方只负责将数据发出去,确无法明确对方是否收到)。
面向非连接:意味着使用UDP进行传输前,通信双方不需建立好连接。 - 网络编程也被称为socket编程
能够发送和接收数据的Socket,必须具备:
a. 本端的地址(即本端的ip地址 + 端口号)
b. 远端的地址(即远端的ip地址 + 端口号)
网友评论