网络编程基础:C/S架构
1. C/S 架构
C
指的是client(客户端软件),S
指的是Server(服务端软件)
,C/S架构
就是基于网络实现客户端与服务端通信的软件架构,能够实现服务端软件与客户端软件基于网络通信。
2. 互联网协议(Internet Protocol Suite)
网络 = 物理链接介质 + 互联网协议 (之前真的理解了“网络”?)
计算机之间的通信标准,这个标准称之为互联网协议(Internet Protocol Suite),按照功能不同,人们将互联网协议分为 OSI七层
或 TCP/IP五层 或 四层
(只需要掌握TCP/IP五层协议
即可)。
互联网协议常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称
TCP/IP
。因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议)。
如图所示,最下面的一层是物理层/实体层(Physical Layer),最上面的一层叫做应用层(Application Layer)。越靠下越靠近硬件;越靠上越接近用户。
这些层叫什么名称不必细究,只需要明白互联网分为若干层,每一层都是为了完成一种功能。
为了实现这些功能,就需要大家都遵守共同的规则,即 "协议" (protocol)
,所有协议的总称叫做互联网协议,它们是互联网的核心。
2.1 物理层
- 由来:计算机之间的通信,必须接入网络,即完成组网。可以用光缆、电缆、双绞线、无线电波等方式
- 功能:规定了网络的一些电气特性,作用是基于电器特性发送
高电压(1)
和低电压(0)
(电信号)
2.2 数据链路层
- 由来:单纯的电信号
0和1
没有任何意义,必须规定电信号多少位一组,每组什么意思 - 功能:定义了电信号的分组方式——
以太网协议ethernet
(1)信号分组:ethernet
协议
以太网协议: 早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
。
- 一组电信号构成一个数据包,叫‘帧’
- 每一数据帧分成:
报头head
和数据data
两部分
"标头"(Head)包含数据包的一些说明项,比如发送者、接受者、数据类型等等;
"数据"(Data)则是数据包的具体内容。 "标头"的长度,固定为18字节
。"数据"的长度,最短为46字节
,