您的位置:首页 > 理论基础 > 计算机网络

TCP/IP-初识

2016-04-24 19:23 495 查看
当我们在浏览器(web browser)地址栏中输入URL时,Web页面时如何呈现的?

根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面。像这种通过发送请求获取服务器资源的Web浏览器等,都可称为客户端(client)。



Web使用一种名为HTTP(hypertext transfer protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。协议是指规则的约定。可以说Web是建立在HTTP协议上通信的。

通常使用的网络(包括互联网)是在TCP/IP协议做的基础上运作的。而HTTP属于它内部的一个子集。

计算机与网络设备要互相通信,双方就要基于相同的方法。比如,如何探测到 通信目标,由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则,即协议(protocol)。

TCP/IP是互联网相关的各类协议族的总称



TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。

① 应用层 :决定了向用户提供应用服务时通信的活动。

TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocal,文件传输协议)和 DNS (Domain Name System,域名系统)服务就是其中两类。HTTP协议也处于该层。

② 传输层: 传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。

在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP (User Data Protocol,用户数据报协议)。

③ 网络层: 网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。

与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

④ 链路层(数据链路层,网络接口层): 用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

TCP/IP通信传输流



发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。这种吧数据信息包装起来的做法称为封装(encapsulate)。



与HTTP关系密切的协议:IP、TCP 和 DNS

① 负责传输的 IP协议

IP(Internet Protocol)网际协议,位于网络层。

作用:是把各种数据包传送给对方。

要确保确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是IP地址和MAX地址(Media Access Control Address)。

IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会更改。

使用ARP协议凭借MAC地址进行通信

IP间的通信依赖MAC地址。在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机的网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时,会采用ARP协议。ARP是一种解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。



② 确保可靠的TCP协议

TCP位于传输层,提供可靠的字节流服务(Byte Stream Service)。

作用:为了更容易传送大数据,把数据分割成以报文段(segment)为单位的数据包进行管理,并且能够确认数据最终是否到达对方。

确保数据能够到达目标

TCP采用三次握手(three-way handshaking)策略。握手过程中使用TCP的标志(flag)–SYN(synchronize)和ACK(acknowledgement)。



③ 负责域名解析的DNS服务

DNS(Domain Name System)服务是和HTTP协议一样位于应用层。

作用:提供域名到IP地址之间的解析服务。

计算机通过被赋予IP地址,也可以被赋予主机名和域名。比如:www.hackr.jp。用户通常使用主机名或域名来访问对方的计算机,而不是直接使用IP地址访问。因为与IP地址的一组纯数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。但要让计算机去理解名称,相对而言就变的困难了。因为计算机更擅长处理一长串数字。为了解决上述问题,DNS服务应运而生。DNS协议提供通过域名查找IP地址,或者逆向从IP地址反查域名的服务。



各种协议与HTTP协议的关系





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: