网络通信概述

本人所有文章,只属学习整理及个人理解!有误还望谅解并指出,谢谢!持续更新中…

软件结构

  • C/S结构:全称 Client / Server 结构,是指客户端和服务端结构。常见程序有QQ、迅雷等软件
  • B/S结构:全称 Browser / Server结构,是指浏览器和服务器结构。常见浏览器有谷歌,火狐,IE。

网络通信协议

  • 网络通信协议:网络中的计算机在进行连接和通信是需要遵守一定的规则,这些连接和通信规则被称为网络协议。
  • TCP / IP 协议: 传输控制协议 / 因特网互联协议,是最基础、最广泛的协议。他定义了计算机如何连入因特网,以及数据如何在他们之间传输的标准。他的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

网络通信概述

协议分类

  • UDP:用户数据报协议,又称面向无连接协议。也就是说发送方和接受方不需要建立连接,特点:耗资小,通信效率高,数据被限制在64kb以内。 由于无连接所有不能保证数据的完整性。
  • TCP:传输控制协议,面向连接的通信协议。在建立连接的时候需要三次握手:
    第一次:客户端向服务端发出连接请求,等待服务器确认。
    第二次:服务器端向客户端回送一个响应,通知客户端收到了连接请求。
    第三次:客户端再次向服务器端发送确认信息,确认连接。整个交互过程如下图所示。
    网络通信概述

完成三次握手,连接建立后,客户端和服务器就可以开始进行数据传输了。由于这种面相连接的特性,TCP协议可以保证传输数据的安全,所以应用十分广泛,例如下载文件,浏览网页等。

网络编程的三要素

协议

  • 计算机网络通信必须遵守的规则

IP地址

  • ip地址:指互联网协议地址,俗称IP。IP地址用来给一个网络中的计算机设备做唯一的编号。
  • IP分类:
  • IPv4:是一个32位的二进制数,通常被分为4个字节,其中每个字节都是在0~255之间的十进制整数,最多可以表示42亿个。
  • IPv6:这个是采用128为地址长度,每16个字节一组,分成8组十六进制数。(目前好像还没有正式使用)

端口号

网络的通信,本质上是两个进程(应用程序)的通信。每台计算机都有很多的进程,那么在网络通信时,如何区分这些进程呢?

  • 端口号:由两个字节组成,取值范围在0~65535之间
  • 1024之前的端口号我们不能使用,已经被系统分配给已知的网络软件了,网络软件的端口号不能重复

我们使用IP地址加端口号,就可以保证数据准确无误的发送到对方计算机的指定软件上了

常用端口号:

  • 80:网络端口
  • 3306:mysql数据库端口号
  • 1521:oracle数据库端口号
  • 8080:Tomcat默认端口号