讲了这么多,其实我们最需要的仅是『连接上 Internet 』啦!那么在 Internet 上面其实使用的是 TCP/IP 这个通讯协议,所以我们就需要 Public IP 来连接上 Internet 啊!你说对吧~ 不过,你有没有发现一件事,那就是『为啥我不知道 Yahoo 的主机 IP ,但是俺的主机却可以连到 Yahoo 主机上?』 如果你有发现这个问题的话,哈哈!你可以准备开始设定网络啰~ ^_^
2.5.1 用 IP 上网?主机名上网?DNS 系统?
讲完了上头的基本数据,现在你知道要连上 Internet 就得要有 TCP/IP 才行!尤其是那重要的 IP 啊! 问题是,计算机网络是依据人类的需要来建立的,不过人类对于 IP 这一类的数字并不具有敏感性,即使 IP 已经被简化为十进制了,但是人类就是对数字没有办法啊!怎么办?没关系,反正计算机都有主机名嘛! 那么我就将主机名与他的 IP 对应起来,未来要连接上该计算机时,只要知道该计算机的主机名就好了,因为 IP 已经对应到主机名了嘛!所以人类也容易记忆文字类的主机名,计算机也可以藉由对应来找到他必须要知道的 IP ,啊!真是皆大欢喜啊!
这个主机名 (Hostname) 对应 IP 的系统,就是鼎鼎有名的 Domain Name System (DNS) 咯!也就是说, DNS 这个服务的最大功能就是在进行『主机名与该主机的 IP 的对应』的一项协议。 DNS 在网络环境当中是相当常被使用到的一项协议喔!举个例子来说,像鸟哥我常常会连到奇摩雅虎的 WWW 网站去看最新的新闻,那么我一定需要将奇摩雅虎的 WWW 网站的 IP 背下来吗?天吶, 鸟哥的忘性这么好,怎么可能将 IP 背下来?!不过,如果是要将奇摩站的主机名背下来的话, 那就容易的多了!不就是 http://tw.yahoo.com 吗?而既然计算机主机只认识 IP 而已, 因此当我在浏览器上面输入了『http://tw.yahoo.com』的时后,我的计算机首先就会藉由向 DNS 主机查询 tw.yahoo.com 的 IP 后,再将查询到的 IP 结果回应给我的浏览器, 那么我的浏览器就可以藉由该 IP 来连接上主机啦!
发现了吗?我的计算机必须要向 DNS 服务器查询 Hostname 对应 IP 的信息 喔!那么那部 DNS 主机的 IP 就必须要在我的计算机里面设定好才行,并且必须要是输入 IP 喔,不然我的计算机怎么连到 DNS 服务器去要求数据呢?呵呵!在 Linux 里面,DNS 主机 IP 的设定就是在 /etc/resolv.conf 这个档案里面啦!
目前各大 ISP 都有提供他们的 DNS 服务器的 IP 给他们的用户,好设定客户自己计算机的 DNS 查询主机, 不过,如果你忘记了或者是你使用的环境中并没有提供 DNS 主机呢?呵呵!没有关系, 那就设定 Hinet 那个最大的 DNS 服务器吧! IP 是 168.95.1.1 咯!要设定好 DNS 之后,未来上网浏览时,才能使用主机名喔!不然就得一定需要使用 IP 才能上网呢!DNS 是很重要的,他的原理也顶复杂的,更详细的原理我们在第十九章 DNS 服务器里面进行更多更详细的说明喔!这里仅提个大纲!
2.5.2 一组可以连上 Internet 的必要网络参数
从上面的所有说明当中,我们知道一部主机要能够使用网络,必须要有 IP ,而 IP 的设定当中,就必须要有 IP, Network, Broadcast, Netmask 等参数,此外,还需要考虑到路由里面的 Default Gateway 才能够正确的将非同网域的封包给他传送出去。 另外,考虑到主机名与 IP 的对应,所以你还必须要给予系统一个 DNS 服务器的 IP 才行~ 所以说,一组合理的网络设定需要哪些数据呢?呵呵!就是:
- IP
- Netmask
- Network
- Broadcast
- Gateway
- DNS
其中,由于 Network 与 Broadcast 可以经由 IP/Netmask 的计算而得到,因此需要设定于你 PC 端的网络参数, 主要就是 IP, Netmask, Default Gateway, DNS 这四个就是了!
没错!就是这些数据!如果你是使用 ADSL 拨接来上网的话,上面这些数据都是由 ISP 直接给你的,那你只要使用拨接程序进行拨接到 ISP 的工作之后, 这些数据就自动的在你的主机上面设定完成了!但是如果是固定制 (如学术网络) 的话,那么就得自行使用上面的参数来设定你的主机啰!缺一不可呢!以 192.168.1.0/24 这个 Class C 为例的话,那么你就必须要在你的主机上面设定好底下的参数:
- IP: 由 192.168.1.1~192.168.1.254
- Netmask: 255.255.255.0
- Network: 192.168.1.0
- Broadcast: 192.168.1.255
- Gateway: 每个环境都不同,请自行询问网络管理员
- DNS: 也可以直接设定成 168.95.1.1
2.6 重点回顾:
- 虽然目前的网络媒体多以以太网络为标准,但网络媒体不只有以太网络而已;
- Internet 主要是由 Internet Network Information Center (INTERNIC) 所维护;
- 以太网络的 RJ-45 网络线,由于 568A/568B 接头的不同而又分为并行线与跳线;
- 以太网络上最重要的传输数据为 Carrier Sense Multiple Access with Collision Detect (CSMA/CD) 技术, 至于传输过程当中,最重要的 MAC 讯框内以硬件地址 (hardware address) 数据最为重要;
- 透过八蕊的网络线 (Cat 5 以上等级),现在的以太网络可以支持全双工模式;
- OSI 七层协议为一个网络模型 (model) ,并非硬性规定。这七层协议可以协助软硬件开发有一个基本的准则, 且每一分层各自独立,方便使用者开发;
- 现今的网络基础是架构在 TCP/IP 这个通讯协议上面;
- 数据链结层里重要的信息为 MAC (Media Access Control),亦可称为硬件地址,而 ARP Table 可以用来对应 MAC 与软件地址 ( IP ) ;
- 在网络媒体方面, Hub 为共享媒体,因此可能会有封包碰撞的问题,至于 Switch 由于加入了 switch port 与 MAC 的对应,因此已经克服了封包碰撞的问题,也就是说,Switch 并不是共享媒体;
- IP 为 32 bits 所组成的,为了适应人类的记忆,因此转成四组十进制的数据;
- IP 主要分为 Net ID 与 Host ID 两部份,加上 Netmask 这个参数后,可以设定『网域』的概念;
- 根据 IP 网域的大小,可将 IP 的等级分为 A, B, C 三种常见的等级;
- Loopback 这个网段在 127.0.0.0/8 ,用在每个操作系统内部的循环测试中。
- 网域可继续分成更小的网域 (subnetwork),主要是透过将 Host_ID 借位成为 Net_ID 的技术;
- IP 只有两种,就是 Public IP 与 Private IP ,中文应该翻译为 公共 IP 与 私有(或保留) IP,私有 IP 与私有路由不可以直接连接到 Internet 上;
- 每一部主机都有自己的路由表,这个路由表规定了封包的传送途径,在路由表当中,最重要者为默认的通讯闸 ( Gateway/Router );
- TCP 协议的表头数据当中,那个 Code (control flags) 所带有的 ACK, SYN, FIN 等为常见的旗标, 可以控制封包的联机成功与否;
- TCP 与 IP 的 IP address/Port 可以组成一对 socket pair
- 网络联机都是双向的,在 TCP 的联机当中,需要进行客户端与服务器端两次的 SYN/ACK 封包发送与确认, 所以一次 TCP 联机确认时,需要进行三向交握的流程;
- UDP 通讯协议由于不需要联机确认,因此适用于快速实时传输且不需要数据可靠的软件中,例如实时通讯;
- ICMP 封包最主要的功能在回报网络的侦测状况,故不要使用防火墙将他完全挡掉;
- 一般来说,一部主机里面的网络参数应该具备有:IP, Netmask, Network, Broadcast, Gateway, DNS 等;
- 在主机的 port 当中,只有 root 可以启用小于 1024 以下的 port ;
- DNS 主要的目的在于进行 Hostname 对应 IP 的功能;