美文网首页
Python网络编程互联网基础知识

Python网络编程互联网基础知识

作者: NJingZYuan | 来源:发表于2019-08-10 21:02 被阅读0次

    1. 互联网
    互联网是为了实现超广泛的网络通信,而将计算机或计算机网络互相连接在一起而形成的网络。广义上,若干个网络连接到一起就可以称作互联网了。而覆盖全世界的全球性互联网络,也即是当前世界中最大的互联网,就是“因特网”。通常情况下,说互联网就是在说因特网。其英文internet即是internet的合体,代表连接网络的意思。

    互联网并不等同于万维网(World Wide Web,简写为“www”)。万维网是一个由许多互相连接的超文本组成的全球性系统,其中的超文本可以称为“资源”,是基于互联网互相传输的。它只是互联网所能提供的服务之一。互联网还能提供其他服务,比如:电子邮件服务,文件传输服务,远程控制服务等等。

    网络通信就是两台计算机在互联网之上的通信。网络编程就是如何在程序中实现两台计算机的通信。

    2. 互联网通信协议
    协议,是大家协商出来的需要共同遵循的规则。要在互联网上实现网络通信,就必须拥有一套全球通用的通信协议
    互联网协议簇(Internet Protocol Suite)就是这一套通用协议标准。其中最重要的两个协议是TCP和IP协议。也因此,大家把互联网的协议简称“TCP/IP协议”。

    3.IP协议
    网络通信之前,通信的双方必须互相知道对方的标识,知道自己在和谁通信。互联网上每个计算机的唯一标识是IP地址(IP地址实际上对应的是计算机的网络接口,通常是网卡)。
    IP地址是互联网协议(Internet Protocol,缩写IP)提供的一种统一的地址格式,是“IP Address”的缩写。
    IP协议负责把数据从一台计算机通过网络发送到另一台计算机。数据被分割成一小块一小块,然后通过IP包发送出去。由于互联网链路复杂,两台计算机之间经常有多条线路,因此路由器就负责决定如何把一个个IP包转发出去。IP包的特点是按块发送,途径多个路由,但不能保证都能到达,也不能保证顺序到达。

    4.IP地址
    IP地址,分为IPv4IPv6两种版本。
    IPv4地址实际上是一个32位整数。为了便于阅读,按8位进行分组,然后以点分十进制数字表示成字符串的形式,例:192.168.2.138。
    IPv6,是用于替代现行版本IPv4协议的下一代IP协议。“IPv6地址”实际上是一个128位整数,然后按16位分组以冒号分十六进制数字表示成字符串形式,例:2001:0db8:85a3:0042:1000:8a2e:0370:7334。
    IPv4地址共2^32 - 1个,约42.9亿个,IPv4地址慢慢地将不够使用了。而IPv6地址共2^128 - 1个,340282366920938463463374607431768211456个,3.4*10^38个,号称能够为“地球上每一粒沙子分配一个IP地址”。

    5.端口
    计算机上每运行一个网络程序,系统即会为其分配一个“端口”。
    计算机之间的网络通信,实际上是计算机上两个网络程序之间的通信。通过IP地址只能识别出哪一个计算机,而通过端口才能够识别出是哪一个网络程序。
    端口是网络通信时传输数据的通道。一个计算机上共有2^16=65536个端口,操作系统为了统一管理这么多端口,就对端口进行了编号,从0到65535,这就是端口号

    知名端口号:指众所周知的端口号,范围从0到1023。一般固定分配给一些服务,比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务。

    image-20180607163104093.png
    动态端口号:范围从1024到65535。当一个系统程序或应用程序需要网络通信时,它会向主机申请一个端口,主机从可用的端口号中分配一个可用的供它使用。当这个程序关闭时,同时也就释放了所占用的端口号。

    6.域名
    IP地址一般不便记忆和识别,因此才有了“域名”。
    域名,Domain Name,简写为DN,其就是一个网址,是为某个IP地址起的名称。由字母、数字、中划线(-),长度一般不超过255个字符。例如:www.sina.com.cn www.baidu.com www.hao123.com 其中,.com称为顶级域名。

    常见的顶级域名:

    .com 用于商业机构。它是最常见的顶级域名。任何人都可以注册.COM 形式的域名
    .cn 中国专用的顶级域名
    .gov 国内域名,政府、企事业单位常见域名
    .org 是为各种组织包括非盈利组织而定的,任何人都可以注册以.ORG 结尾的域名。
    .net 最初是用于网络组织,例如因特网服务商和维修商。任何人都可以注册以.NET结尾的域名。
    .com.cn 国内常见二级域名

    localhost是指本地主机的域名,它可以被配置为任意的IP地址。通常情况下都指向 127.0.0.1(ipv4)和 ::1,永远都只能自己访问自己,不能访问其它人的localhost域名。

    7.DNS
    DNS,Domain Name Service/System,域名服务器/域名服务系统的英文缩写。主要用来将域名转成对应的IP地址。
    DNS是一台运行在互联网上的服务器,直白理解:DNS服务器就可以看做是一个通讯录(姓名--> 域名,电话--> ip地址)。
    计算机之间的访问,只能通过IP地址访问,不能直接通过域名访问。一般访问某个网站时,在浏览器输入一个域名后,会先向DNS域名解析系统请求解析为对应的IP地址,然后浏览器自动通过返回的IP地址访问相应的网站服务器。就类似于我们要打电话给小明(域名),先根据通讯录(DNS)找到小明的手机号码(IP地址),然后才通过拨打手机号与小明建立联系。

    本地DNS
    hosts是本地的DNS,DNS中就是IP地址和域名的对应关系表。
    hosts文件是隐藏文件、系统文件、没有扩展名的文件。

    image-20180620092917930.png

    Hosts文件路径:
    windos: C:\Windows\System32\drivers\etc
    linux: /etc/hosts,linux 下修改hosts后需要重启网络,命令为:/etc/init.d/networking restart

    相关文章

      网友评论

          本文标题:Python网络编程互联网基础知识

          本文链接:https://www.haomeiwen.com/subject/yxddjctx.html