服务端编程(一)Internet 相关概念解析 ISP IP IPv4 域名 DNS 数据包解析

前言 ´・ᴗ・`

  • 本篇是专栏 服务器编程的第一站 面向新手 讲的不深 以免劝退 大佬可以略过

  • 本文可以带给你…

    • internet 和 web 的关系是什么
    • internet大概是怎么运行的 ?
    • ISP是啥?
    • IP地址用来干啥的?Ipv4 IPv6又是啥?
    • 域名是啥 域名解析又是啥?
    • 如何让舍友无法通过www.baidu.com 访问到百度:)
    • 包解析

internet与web的关系

internet 因特网 无论是无线(比我们的wifi)还是有线(Ethernet cable),都可以被认为是,让所有上网电脑互联互通的基础设施(infrastructure),其实是硬件实现的,当然我们为了研究它,就抽象成“网络”来说

正是有了作为基建的internet,我们的web服务(软件层面上的)才能够实现,所以说internet是web的主心骨(backbone)
当然还有很多服务是基于internet的 比如email IRC(老式的即时通讯方式 可以理解为QQ的祖宗)

internet是怎么运行的

  • 一对一的网络
    两个电脑连接 简单 无论是有线的弄个网线还是用无线wifi 蓝牙 都ok

  • 假设10个电脑互相联结。。。
    你得需要45根网线 假设无线 距离有限 而是同频干扰会让你心态爆炸:)
    在这里插入图片描述
    那么该咋办呢?我们让一个微电脑 叫**路由器 (router 直译:道路的意思)**做一个 信息中转站,或者说是一个快递员,负责点对点的送快递
    在这里插入图片描述
    这样我们发现只需要10根网线就能解决了

  • 成百上千的电脑呢?
    我想一个路由器是管不了这么多了
    那么我们可以分而治之
    100台电脑 一个路由器搞定25台 我就需要4个路由器 而且路由器之间可以互相通信
    这样 电脑之间的互联可以通过路由器来搞定
    我们可以无限地 随意地拓展我们的电脑网络
    在这里插入图片描述
    这差不多就很接近我们现在的internet了

  • 怎么实现呢?
    为了节约成本 我们就在电话线的基础设施上叠加了internet 的服务 当然 电话的信息(模拟信号)和网线所传输的信息(数字信号)是不同的, 如果要在一条线上跑,需要把数字信号调制(Modulate)成模拟信号,到时候再解调(Demodulate)出来成数字信号给电脑用
    这样我们就需要一个调制解调为一体的东西 调制解调器 猫( modem Modulator& Demodulator)

  • ISP
    当然 internet服务的整体建设是需要公司集团来搞定的,是他们给你分配了上网的IP地址 从而提供了internet服务 这样的公司就是ISP(Internet Service Provider)
    传统的模式下 你得向ISP买IP地址,然后连网线上网
    当然 现在 因为IPv4协议本身的问题,地址根本不够用 于是很多时候我们拿不到独立的一个地址,往往是通过虚拟或者动态的随机IP地址访问internet的
    在这里插入图片描述

    扫描二维码关注公众号,回复: 9053788 查看本文章

IP - internet protocol

IP就是一个Internet上运行的规则 或者说协议(protocol),我们说的IP地址 就是每个入网设备(连上internet的硬件设备比如电脑手机啥的),分配到的一个地址,这样你可以访问别人,反之亦然( vice versa)
IP地址一般就是一串数字 比如百度的IP地址:14.215.177.39
IP地址有两种规则 一种是IPv4协议 一种IPv6 上面的百度IP地址是IPv4的 也是我们现在最常用的。 另外 IPv6则是为了解决IPv4留下的大坑——IP地址不够的问题 所以开出来的新规则

  • IPv4 IPv6协议
    你可能好奇 为啥协议能够解决地址不够用的问题
    其实你把000.000.000.000~999.999.999.999 排列组合 不重复的数字串有多少? 然后很明显是有限的 如果我多加几位呢?比如
    00000.00000.00000.00000.00000 这样结果自然更多了 IPv6就是这样拓展了地址的位数
  • 协议到底是啥?
    电脑互相通信 靠的是数据包的来来往往
    数据包类似书信 一般写着收件人 寄件人的地址,在internet就是成了IP地址
    数据包我们可以看做一串数字,如果我们规定第1位数字到第10位 是寄件人的IP地址 第11位到第20位是收件人的IP地址,这种规则就是协议
    于是乎IPv6就是改变了数据包里面记录地址的长度等规则
    当然 这并非想改就改的 因为增多以后数据包变大会带来特别多的衍生问题 所以往往权衡利弊才挤出一位数字给某种用途 比如IP地址的拓展

在这里插入图片描述

一个数据包包含了各种协议的信息。。。。。。

包解析

我们上一段说道一个数据包,包含各种协议的信息。所谓数据包,就是一串数字,对数字解读,也就是对数据包解读,拆成各种信息如:MAC地址,IP地址,应答码等等,就是包的解析(package parsing)
一般说的 截取包下来 就是为了解析(解密)出里面有用的信息,比如账号密码等等,这就是嗅探(sniffing) 当然了 人家都会加密(encoding) 的 不至于把密码送到你嘴边。

域名 domin name DNS解析

但是我们不太可能记住这么多无聊的数字
于是就想起个别名 这就是域名
之所以有个域字 是因为域名也包含了电脑所在地区的信息 地区就是域 好像我们的地址带着中国 广东省
在这里插入图片描述
百度主页的访问就可以有两种方式

那么 你可能猜到有种东西可以转换域名与真正的IP地址,毕竟数据包里面不太可能写字符串进去
这就是DNS解析 域名解析服务
所以更改电脑的host文件 为啥可以避免破解版的软件联网识破你的破解操作(不合法身份识别后就禁止你使用软件 invalidation)
因为软件是通过域名访问 用于联网认证的服务器的
不巧的是 DNS解析是先通过你电脑本机的DNS规则
,而且是存储在你C:\windows\system32\drivers\etc\里面的一个hosts文件 你用记事本打开就看到这样的一一对应(映射)的关系:
在这里插入图片描述
你可以试试 在hosts文件内任意位置添加:127.0.0.1 baidu.com
然后再度娘一下 看看还能不能度娘:)

总结 ´◡`

这里我们聊了一下internet的基础相关概念 其实就是计算机网络组成原理的一个简化(有些讲的不严谨 但可以这么感性的理解)
有兴趣的朋友可以深究一下 比如OSI(开放系统互联(Open System Interconnection))七层网络通信模型,这才是真实而又复杂的internet,乃至各种网络譬如无线网的抽象模型。
下一站 我们聚焦 跑在internet上的一个服务——web服务 也就是我们所谓的上网,建站,乃至爬虫。。。各种网络服务 能够实现的功臣
传送:服务端编程(二)web 客户端 服务端 前端 后端 相关概念解析

发布了31 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43178828/article/details/104237211