嚎羸的博客

因为Hexo是静态博客,部署多有不便,建议查看我的语雀文档

0%

12、网络

前言

感谢


网络编程

网络编程三要素

  • 协议
  • IP地址
  • 端口号

举一个比较现实点的例子,你今天住在宾馆里,中午饿了,要定外卖。

这个时候,你首先要使用下订单的软件,填写你的信息和收货地址,下订单,付钱,等会外卖小哥就会把午饭送到你的门前。

网络之间的数据传输其实和点中午饭是差不多的。

你要点午饭肯定要遵守一定的流程规则,然后说明你在哪个宾馆,门牌号是多少。

网络传输,协议就是这种流程规则,IP地址就是说明你在哪个宾馆,端口号就是你的门牌号。

通过这三要素,数据才得以传输。

协议

计算机要进行网络通信所必要的规则

计算机网络中,ISO提出了OSI七层参考协议:应用层–>表示层–>会话层–>传输层–>网络层–>数据链路层–>物理层

但是在实际应用中,协议分的更多,现如今最常用的,最为广泛的是TCP/IP协议。

TCP/IP协议中包含我们所熟知的TCP,UDP,IP,HTTP,FTP协议,是一个大家族。

其中最著名的就是TCP和UDP

TCP

面向连接的通信协议,也就是传输数据之前,传输的两方要进行连接,著名的三次握手和四次挥手就来自TCP

UDP

面向无连接的通信协议,也就是传输数据之前不需要确认对方是否启动,直接将数据发送过去,速度极快但是容易丢失数据

IP地址

我们刚才说过,IP地址就相当于地址

IP地址就相当于身份证号一样,是唯一的

IP地址的分类

  • IPv4

    32位的二进制数,通常被分为4个字节:a.b.c.d,其中abcd每一个都是0~255的十进制整数,那么IPv4可以表示42亿个

  • IPv6

    简单来说就是IPv4不够用了然后通过IPv6来对地址重新分配

    采用128位地址长度,每16个字节一组,分为8组16进制数,号称可以给全世界的每一粒沙子编制一个地址

DNS解析

有了IP地址之后我们还需要域名,因为你在叫某个人的时候应该叫的是:嗨,张三。而不是:嗨,3723241999xxxxxx

我们在访问网站的时候访问的应该也是这个网站的域名而不是ip号码,那样没有人能够记下来

DNS解析就是干这个活,当我们在网址上输入了某个域名,DNS负责把域名解析成为IP地址

域名也是很严格的,不允许重复