互联网运作

当电脑连入互联网以后获得一个IP地址,你需要访问的网站也连入互联网并且额、也有一个IP地址。访问某个网站也就是访问这个网站的服务器。电脑发送要获取首页的消息给服务器,消息会被转化成电子信号,通过电缆发功给服务器,在服务器端将电子信号转化为计算机可使用的文本数据,这些是通过TCP/IP协议实现的。
TCP/IP协议分为四层:应用层(HTTP协议,FTP协议)-TCP传输控制层(发送数据包到计算机上使用特定端口号的应用程序-IP网络层(使用IP地址将数据包发送到特定的计算机)-链路层(将二进制数据包与网络信号相互之间转换)。
使用应用层的HTTP协议请求获取html文本,消息被分成很多片段成为数据包;通过应用层之后到传输控制层,数据包被分配端口号,端口号用来确定目标计算机的哪一个应用程序要接受并使用该数据包。
TCP是一种面向连接可靠字节流服务协议,TCP必须先经过三次握手建立连接之后才能交换数据,发送ack确认,以保证发送成功。
进入IP层(网络层)后,每个数据包将会赋予目标计算机的IP地址,IP是不可靠的无连接协议,并不关心数据是否到达目的地,也不关心连接和端口号,他的工作室发送数据包并将其路由到目标计算机,其中每个数据包都是独立的互不依赖,所以有可能乱序或者传输中丢失到达目标地址,所以TCP保证了数据包到达和顺序正确。当数据包过大时,在IP层会进行分包,由于每个数据包在物理链路层走的物理链路不一样传输速度也不一样,导致数据包没有按顺序到达目的地,但TCP会根据数据包上携带的序列号来进行排序重组,并且发送方在一个特定时间内没有接收到接收方的ack确认时,则发送方会重新传送该数据包。
IP≠IP地址,IP是网络层协议,而IP地址是一串数字,IP地址有两种标准,IPv4采用32位地址,地址空间有2的32次方,约40亿个地址,但有限。所以IPv6产生,采用128位地址,地址空间2的128次方。


有了IP地址和端口号以后,链路层将数据包的文本信息转译成电子信号,然后通过电缆传输,在电缆的另一端的路由检查每个数据包中的目标地址,并确定将其发送到何处,最终数据包到达服务器,然后数据包从TCP/IP协议簇的底部开始向上运行,当数据包向上通过协议簇时,客户端添加的所有路由数据例如IP地址和端口号都将从数据包中剥离出来,当数据到达栈顶时,数据包已经重新恢复成最初是的形式,通过端口号可以将数据传递给当前服务器监听该端口的应用程序,应用程序根据当前请求数据作出反应。如果想获取index.html服务器则会将路径index.html的数据通过刚才的方式返回给你电脑(客户端),这样就能看到网站的内容了。


那么以上完成了客户端与服务器在互联网中的一次数据交互。

浏览器通过域名访问IP地址:使用DNS,DNS是一个分布式数据库,上面记录了域名和其IP地址的对应关系,在浏览器输入网址时,浏览器首先连接DNS服务器,获取到该域名的IP地址后,浏览器在连接访问该IP的服务器,有了DNS后,服务器IP地址有了变化,重新绑定一下域名和新IP地址就可以了,这样就不会影响到访问站点的用户。



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容