第二章 - 互联网入门(2)

第二章 - 互联网入门(2)

    现在大家都了解了最基础的网络分层和接口,这一章我们将继续学习一些关于主机名(hostnames),连接(connections)和部分软件层协议。

1. DNS

    DNS(Domain Name System 域名解析系统),它可以将主机名(hostnames)与IP地址互相转化。很显然,IP地址并不那么好记,所以需要一种实际一些的命名系统,现在我们用主机名来表示IP,诸如:www.sina.com.cn ,www.google.com,很熟悉吧?我们中绝大多数不会使用210.51.179.90(www.sina.com.cn 由于地域不同读者看到可能不是这个IP地址)来看新闻吧?我在浏览器器中敲入网址后,计算机首先回找到找到你的网络服务商DNS主机,从而获得对应的IP地址。并将这个IP发给你,你的浏览器会用这个IP去访问你所期望的网站,如果在没有对应这个网址的IP,那么该DNS服务器会向上一级的DNS服务器请求寻找,如此以往,总可找到。找到到再发还回来,下级的DNS 服务器便得到更新(以后就不麻烦领导了……)。

2. 连接 Connections

    TCP/IP 是个联接向导协议,它总是连接两个设备,每个都有自己的IP地址和端口,一个称为服务端(client),另一个被称为客户端(server)。 

    客户端发出一个请求,服务端就要有个回应。例如我们打开一个网址,那么我们的浏览器就是客户端,网站服务器就是服务端。浏览器向服务器所求其希望的资源,服务器自然会发回所请求的资料。(这就是传说中的B/S结构,这是软件工程的东西,说远了……)

    服务端必须一直等待新的请求连接,这被称为监听(listening ),其作用于一个特定的IP和端口号之上。客户端只需相时而动,客户端发起连接并提出请求。为建立连接,客户端需要知道服务端所监听的IP和端口号。任何TCP/IP 会话连接都是两种方法,多种协议,使的服务端与客户端之间轮流作用。

    尽管客户端和服务端都用了IP和端口号,但是只有服务端的端口是固定的。客户端的IP是本机IP而端口则是一个随机的端口号(这个端口肯定没有任何程序在监听,一般会大于1024),举个例子,标准的WWW端口是80(HTTP)。用Google 做,其服务器IP地址是216.239.63.104:80(有可能和大家不一样)端口为80。我们来多开几个连接窗口,google不同的内容,然后打开命令与提示符窗口敲入命令"netstat -an",我们回看到:

TCP    xxx.xxx.xxx.xxx:3427    216.239.63.104:80       ESTABLISHED
TCP    xxx.xxx.xxx.xxx:3428    216.239.63.104:80       ESTABLISHED

    xxx.xxx.xxx.xxx 是我的IP地址,216.239.63.104 是google 的 IP 冒号后面的端口号。我们可以注意到客户端的端口号是随机的。每个连接都有自己的端口号。这样服务端知道会把信息发还给谁……

 
客户端 Client
    一个用于发起连接,请求信息的程序。The program that initiates the connection, and requests information.

服务端 Server
   用于监听,处理,回应请求连接的程序,其IP和端口号是固定和被客户端所知的。The program that listens for incoming connections, accepts them and responses according to the received requests. The IP and port number of the server need to be known by the client to connect to it.
 

3. 再说协议 Protocols again

    在前面的几章,我们介绍了在不同层的几个协议。我们没有讨论在应用层的协议,如同 HTTP, FTP, POP3, SMTP。它们都是以C/S( client-server)形式工作的。对服务器用不同的格式请求便是使用了不同的协议,现在我们不在此多讨论。我们在以后的 winsock 基础编程中实际就是这样做的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值