计算机网络编程(一)网络基础

当你停下来休息的时候别忘了别人还在奔跑

计算机之间是如何通讯的?

早期:联机

img

以太网 : 局域网与交换机

img

IP地址和IP协议

  • 规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,普遍采用的v4版本即ipv4,它规定网络地址由32位2进制表示;
  • IP地址就像是咱们的家庭住址同样,若是你要写信给一我的,你就要知道他(她)的地址,这样邮递员才能把信送到;
  • 范围0.0.0.0-255.255.255.255;
  • 一个ip地址一般写成四段十进制数,例:192.168.1.1

IP地址划分类编程

其中A、B、C3类(以下表格)由InternetNIC在全球范围内统一分配,D、E类为特殊地址。数组

分类 IP地址范围 私有IP地址范围
A类 1.0.0.0~127.255.255.254 10.0.0.0--10.255.255.255
B类 128.0.0.1~191.255.255.254 172.16.0.0--172.31.255.255
C类 192.0.0.1~223.255.255.254 192.168.0.0--192.168.255.255

可是随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 致使B类地址很快就分配完了,而A类却浪费了大量地址。
针对这种状况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing)浏览器

域名

尽管==IP地址==可以惟一地标记网络上的计算机,但IP地址是一长串数字,不直观,并且用户记忆十分不方便,因而人们又发明了另外一套字符型的地址方案,即所谓的域名地址。IP地址和域名是一一对应的,这份域名地址的信息存放在一个叫域名服务器(DNS,Domain name server)的主机内,使用者只需了解易记的域名地址,其对应转换工做就留给了域名服务器。域名服务器就是提供IP地址和域名之间的转换服务的服务器。

一个 IP 地址能够对应多个域名,一个域名只能对应一个 IP 地址。服务器

例如当用户在浏览器输入域名时,浏览器首先请求 DNS 服务器,将域名转换为 IP 地址,而后将转换后的 IP 地址反馈给浏览器,而后再进行实际的数据传输。网络

通常状况DNS服务器正常运行的时候,咱们用域名或者IP地址都能链接到网络中的设备,可是DNS服务器挂了的时候,你就会发现只能使用IP地址来访问该设备了,因此IP地址其实比域名更加的通用。并发

端口

若是把IP地址比做一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,可是一个IP地址的端口能够有65536(即:2^16)个之多!端口是经过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。
  • 同一个计算机中每一个程序对应惟一的端口,这样一个计算机上就能够经过端口区分发送给每一个端口的数据了,换句话说,也就是一个计算机上能够并发运行多个网络程序,而不会互相之间产生干扰。在硬件上规定,端口的号码必须位于 0-65535 之间,每一个端口惟一的对应一个网络程序,一个网络程序可使用多个端口。
  • 一个网络程序运行在一台计算上时,不论是客户端仍是服务器,都是至少占用一个端口进行网络通信。在接收数据时,首先发送给对应的计算机,而后计算机根据端口把数据转发给对应的程序。

网络通信

网络通信基于“请求-响应”模型。
  • 在网络通信中,第一次主动发起通信的程序被称做客户端(Client)程序,简称客户端,而在第一次通信中等待链接的程序被称做服务器端(Server)程序,简称服务器。
  • 一旦通信创建,则客户端和服务器端彻底同样,没有本质的区别。
  • 其实很容易就理解客户端和服务器端的,QQ,咱们用的腾讯的,在咱们这里就是客户端程序,而服务器端程序在腾讯那边,为大量的QQ用户服务,这种网络编程结构也成为客户端/服务器结构,C/S结构。
  • 实在运行不少程序时,没有必要使用专用的客户端,而须要使用通用的客户端,例如浏览器,使用浏览器做为客户端的结构被称做浏览器/服务器结构,也叫作 Browser/Server 结构,简称为 B/S 结构。

协议

网络协议为计算机网络中进行数据交换而创建的规则、标准或约定的集合。

网络编程就是运行在不一样计算机中两个程序之间的数据交换。在实际进行数据交换时,为了让接收端理解该数据,计算机比较笨,什么都不懂的,那么就须要规定该数据的格式,这个数据的格式就是协议。less

在实际的网络程序编程中,最麻烦的内容不是数据的发送和接收,由于这个功能在几乎全部的程序语言中都提供了封装好的 API 进行调用,最麻烦的内容就是协议的设计以及协议的生产和解析,这个才是网络编程中最核心的内容。dom

通信方式

在现有的网络中,网络通信的方式主要有两种:spa

  1. TCP(传输控制协议)方式
  2. UDP(用户数据报协议)方式

在网络通信中,TCP 方式就相似于拨打电话,使用该种方式进行网络通信时,须要创建专门的虚拟链接,而后进行可靠的数据传输,若是数据发送失败,则客户端会自动重发该数据;而 UDP 方式就相似于发送短信,使用这种方式进行网络通信时,不须要创建专门的虚拟链接,传输也不是很可靠,若是发送失败则客户端没法得到。计算机网络

二者区别:

  • 重要数据使用TCP方式进行传输;
  • 大量的非核心数据使用UDP方式进行传输;
  • 因为TCP方式须要创建专用的虚拟链接以及确认传输是否正确,因此使用 TCP 方式的速度稍微慢一些,并且传输时产生的数据量要比 UDP 稍微大一些。
相关文章
相关标签/搜索