1、TCP/IP协议族
- TCP/IP按层次分别分为以下4层:
- 应用层:向用户提供应用服务时通信的活动;eg,FTP(文件传输协议)和DNS(域名系统)服务就是其中两类,HTTP协议也处于该层;
- 传输层:传输层对上层提供处于网络连接中的两台计算机之间的数据传输(可靠的字节流服务),为了方便传输,把从应用层处收到的数据进行分割;该层有两个性质不同的协议:TCP(传输控制协议)和UDP(用户数据报协议);
- 网络层:处理在网络上流动的数据包;所起作用就是选择一条传输路线;IP协议处于这一层;
- 数据链路层:处理连接网络的硬件部分;
2、发送端到接收器通信流程
- 发送端从应用层往下走,接收端从数据链路层往上走。
- 以Web页面的HTTP请求作为示例:
- 发送端用户首先在应用层(通过HTTP协议)发出HTTP请求;
- 接着HTTP请求往下层发送,传输层为了传输方便,把从应用层收到的数据(HTTP请求报文)进行分割,在各个报文上打上标记序号及端口号,并加上该层的首部,转发给网络层;
- 在网络层(IP协议),加上作为通信目的地的MAC地址后转发给链路层;
- 接收端通过链路层收到数据,再按序往上层发送直至应用层。
- 发送端在往下传送数据时,每经过一层就加上相应的首部信息(即封装信息);反之,接收端在往上传输数据时,没经过一层就去掉相应的首部信息(可理解为解封装)。
3、IP协议和IP地址
- IP(Internet Protocol),网际协议;位于网络层。作用是把各种数据传送给对方。而这过程需满足两个重要条件:IP地址和MAC地址。
- IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对,利用ARP(Address Resolution,地址解析)协议解析地址,可查出IP对应的MAC。IP可更换,但MAC地址基本不会更改。
4、确保可靠性的TCP协议
TCP位于传输层层,提供可靠的字节流服务。
- 字节流服务:为了方便传输,将大块数据分割成报文段为单位的数据包进行管理。
- 为了确保可靠性的TCP三次握手机制:
- 发送端发送一个带SYN标志的数据包给对方;
- 接收端收到SYN后,回传ACK响应和自己的SYN数据;
- 发送端收到接收端的响应ACK和SYN后发送ACK响应,代表“握手”成功,后续发送端就可以给接收端
5、DNS服务
DNS服务同HTTP协议一样位于应用层,提供域名到IP地址之间的解析服务(或者逆向从IP地址反查域名的服务)。
6、各种协议的职责
- 发送端:
- HTTP协议:生成针对目标Web服务器的HTTP请求报文;
- TCP协议:为了方便通信,将HTTP请求报文按序分割成报文段,把每个报文段可靠地传给对方;
- IP协议:搜索对方的地址,一边中转一边传送;
- 接收端:
- TCP协议:按序重组从对方那里接收到报文段;
- HTTP协议:对Web服务器请求的内容的处理。
7、URI和URL
- URI:统一资源标识符;由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称,比如:http、ftp、telnet、file等。
- URL:统一资源定位符;采用协议HTTP。
URI是一类更通用的资源标识符,它主要由URL和URN两个子集构成。
查看HTTP权威指南理解为:URL是使用HTTP协议方案的URI。