网络编程基础 C/S架构 TCP/IP OSI 七层模型

C指的是client(客户端软件),S指的是server(服务端软件)。CS架构就是说的ClientServer架构。

TCP/IP

全称:Transmission Control Protocol / Internet Protocol 传输控制协议/因特网互联协议,有名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础。

OSI 七层模型

网络编程基础
C/S架构
TCP/IP
OSI 七层模型

TCP/IP 各层详解

物理层

主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

数据链路层

定义了电信号的分组方式

以太网协议:早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet。

ethernet规定:

一组电信号构成一个数据包,叫做“帧”。

每一数据帧分成:报头head和数据data两部分。

head包含:(固定18个字节)

  • 发送者/源地址,6个字节
  • 接受者/目标地址,6个字节
  • 数据类型, 6个字节

data包含:(最短46字节,最长1500字节)

  • 数据包的具体内容

    head长度+data长度 = 最短64字节,最长1518字节,超过最大限制就分片发送

网络层

引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。

IP协议:

  • 规定网络地址的协议叫做ip协议,它定义的地址称为ip地址。
  • 范围0.0.0.0 - 255.255.255.255
  • 一个ip地址通常写成四段十进制数,例:172.16.10.1

子网掩码:

就是表示子网络特征的一个参数。用来标识一个IP地址的哪些位是代表网络位,哪些位代表主机位。

传输层

建立端口到端口的通信

补充:端口范围0-65535, 0-1023位系统占用端口

传输层有两种协议,TCP和UDP:

网络编程基础
C/S架构
TCP/IP
OSI 七层模型

tcp是可靠的数据传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

最可靠的方式就是只要不得到确认,就重新发送数据报,直到得到对方的确认为止。

udp协议是不可靠的传输。

TCP协议虽然安全性很高,但是网络开销大,而UDP协议虽然没有提供安全机制,但是网络开销小,在现在这个网络安全已经相对较高的情况下,为了保证传输的速率,我们一般还是会优先考虑UDP协议。