这是我参与更文挑战的第1天,活动详情查看:更文挑战
TCL/IP协议族
我们使用的网络是在TCP/IP
协议族的基础上运作的。而HTTP
属于它内部的一个子集。
协议的概念:计算机与网络设备要相互通信,双方就必须基于相同的方法。比如。如何探测到通信目标,由哪边先发起通信,使用哪种语言进行通信、怎样结束通信都需要事先确定。我们就把这种规则称为协议。
而TCP/IP是互联网相关的各类协议族的总称
TCP/IP分层
主要分成四层:
- 应用层
- 传输层
- 网络层
- 数据链路层
分层的好处是:
当协议需要更改的时候,只需要把变动的层替换掉就可,每个层次的内部可以自由设计,而不需要考虑其他部分的影响。
应用层
决定了向用户提供服务时通信的服务。
典型协议有:
FTP
(File Transfer Protocol
,文件传输协议)DNS
(Domain Name System
,域名系统)HTTP
传输层
提供处于网络连接中的两台计算机之间的数据传输
典型协议有:
TCP
(Transmission Control Protocol
,传输控制协议)UDP
(User Data Protocol
,用户数据报协议)
网络层
用来处理在网络上流动的数据包。
数据包:是指网络传输的最小数据单位。
这一层规定了通过怎样的路径到达对方计算机,并把数据包传给对方。
链路层
用来处理连接网络的硬件部分。硬件上的范畴均在链路层的作用范围之内。
IP协议
IP(Internet Protocol)
按层次位于网络层,可能有人会把IP和IP地址搞混,IP其实是一种协议的名称。
主要作用是:把各种数据包传送给对方,而要保证数据确实传送到了对方那里,有两个条件IP地址和MAC(Meida Access Control Address)
地址。
IP
地址:指明了节点被分配到的地址
MAC
地址:网卡所属的固定地址
IP间的通信依赖MAC
地址,数据传输时,会利用下一站设备的MAC地址搜索下一个中专目标,这时会采用ARP
协议。
TCP协议
按层次分位于传输层,提供可靠的字节流服务。
字节流服务:将大块数据分割成报文段为单位的数据包进行管理
可靠的传输服务——三次握手策略
确保数据安全可靠的传给对方,为了实现这一点,采用了三次握手策略。
- 发送端首先会发送一个带SYB标志的数据包给对方。
- 接收端收到后回传一个带有
SYN/ACK
标志的数据包以示确认传达信息。 - 信息发送完毕以后,发送端再回传一个带
ACK
标志的数据包,代表握手结束。
当然,除了三次握手以外,TCP
协议还有其他手段保证通信的可靠性。
DNS服务
位于应用层,提供IP地址到域名之间的解析服务。
比如我们经常使用www.baidu.com
访问百度,但是计算机是理解不了这样的域名的,需要把域名解析成180.76.76.76
这样的IP地址形式才行
协议间的关联
URI
先来看下面这两个词的全名
URI
(Uniform Resource Identifier
):统一资源标识符URL
(Uniform Resource Locator
):统一资源定位符
URI
就是由某个协议方案表示的资源的定位标识符。要理解这句话得把它分成三部分:
- 某个协议方案:比如采用HTTP协议时,协议方案就是http,此外也有
ftp
、telnet
、file
等。 - 资源:就是我们要访问得文本、图片等
- 定位标识符:就是一串字符,比如
www.baidu.com