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

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

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

早期:联机

1460000039847343

以太网 : 局域网与交换机

1460000039847342

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.25410.0.0.0--10.255.255.255

B类128.0.0.1~191.255.255.254172.16.0.0--172.31.255.255

C类192.0.0.1~223.255.255.254192.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 结构。

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

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

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

通讯方式

在现有的网络中,网络通讯的方式主要有两种:TCP(传输控制协议)方式

UDP(用户数据报协议)方式

在网络通讯中,TCP 方式就类似于拨打电话,使用该种方式进行网络通讯时,需要建立专门的虚拟连接,然后进行可靠的数据传输,如果数据发送失败,则客户端会自动重发该数据;而 UDP 方式就类似于发送短信,使用这种方式进行网络通讯时,不需要建立专门的虚拟连接,传输也不是很可靠,如果发送失败则客户端无法获得。

两者区别:重要数据使用TCP方式进行传输;

大量的非核心数据使用UDP方式进行传输;

由于TCP方式需要建立专用的虚拟连接以及确认传输是否正确,所以使用 TCP 方式的速度稍微慢一些,而且传输时产生的数据量要比 UDP 稍微大一些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值