IP 网络协议(Internet Protocol)
根据IP协议, 互联网中的每台设备都被分配一个唯一的地址, 这个地址由四组 0 ~ 255 的数字组成, 称为 IP地址.
我们知道, 路由器将内网环境与外网环境完全分隔开, 无法互通, 唯一的联通点就是路由器(因为路由器既有外网IP也有内网IP), 所以路由器也被叫做网关.
路由器有一个随机分配的外网IP, 路由器开启后会创建一个内网, 并且给内网中的各种设备分配一个内网ip — 192.168.x.x
路由器都内置一个HTTP服务器, 在内网中的设备可以通过 http://192.168.1.1 来访问路由器, 但不能直接访问外网, 内网设备要访问外网必须通过路由器来中转. 外网设备也不能直接访问内网.
需要特别注意的 IP 地址
127.0.0.1, 本地IP, 永远指设备自己- 默认情况下, hosts 里面有一行
_127.0.0.1 localhost_, 意思是 local 指向127.0.0.1, 所以localhost 也指向设备自己.
- 默认情况下, hosts 里面有一行
0.0.0.0- 预留的地址, 不代表任何设备.
- 预留的地址, 不代表任何设备.
关于 URI
URI是什么
URI, 统一资源标识符, 分为URL 和 URN, 我们用的比较多的是 URL, 也叫网址.
URL 和 URN 的区别
URN 表示统一资源命名符, 可以通过URN 唯一的确定一个资源, 而与这个资源储存的位置无关. 可以类比书刊号ISBN的作用, 在任何一个书店, 一个书刊号都代表那本书.
URL ,统一资源定位符, 可以通过URL确定一个唯一的地址, 它侧重的是位置信息, 但不在乎该位置的内容是什么.
URL 的组成
举个例子, https://www.baidu.com/s?wd=hello&rsv_spt=1#5 就是一个 URL, 通过它可以访问到一个唯一的网络地址. 从前到后由五个部分组成.
- 协议 —
https:// - 域名 —
www.baidu.com - 路径 —
/s - 查询参数 —
?wd=hello&rsv_spt=1 - 锚点 —
#5, 代表第五个锚点, 对应第五个搜索结果
域名
从 www.google.com 来看, 域名分为三级
- .com 是顶级域名
- google.com 是二级域名
- www.google.com 是三级域名
使用
ping命令后接一个域名, 可以得到这个域名对应的服务器地址.
DNS
DNS 的作用很简单, 输入一个域名, 输出对应的 IP地址.
如何查看当前的DNS服务器
使用 nslookup baidu.com, 可以得到正在服务的 DNS 服务器地址(路由), 以及解析出来的 IP 地址
HOST 设置
通过在本地 hosts 文件中设置, 指定域名对应的 IP, 可以不通过 DNS 服务器解析, 直接访问目标服务器.
端口
想访问一个设备, 只指定IP是不够的, 还必须指定端口(Port). 端口是一个编号, 不是一种硬件.
一个服务器(硬件)不只是提供一种服务, 比如一个服务器既提供 HTTP 服务, 由提供 FTP 服务, 还提供 SMTP 服务, 这时只用 IP 是不能告诉服务器你需要哪种服务的, 还需要提供端口, 一个端口对应一种服务.
查询应该使用什么端口
维基百科列出了从0到1023号端口对应的服务, 需要时可以查看.
一共有多少端口
- 每个机器都有最多65535个端口, 这是协议规定的.
- 其中, 0到1023号端口是留给系统使用的. 只有在拥有管理员权限后, 才能使用1024这个端口.
- 其它端口可以给普通用户使用.
- 如果一个端口正在提供服务, 也就是被占用状态, 就不能再使用这个这个端口. 除非停掉正在占用这个端口的服务, 这个问题经常会遇到.
