? 计算机网络的核心就是他的模型及各种协议。把计算机网络的知识作为一颗知识树,那么七层模型就是他的枝干,各种协议就是它的叶子。通常情况下,OSI标准把计算机网络的模型分为七层,TCP/IP协议将功能连接紧密的几层合并到一起,慢慢将之演化为四层,《TCP/IP详解卷I》的作者也是支持TCP/IP四层协议,我们主要就以四层模型来说。
假如A从淘宝买了个大件,卖家B准备给我发货来举个例子:
-
(链路层)网络接口层:
- 物理层:是为数据端设备提供原始的比特流传输的通路(搞基建修路的)
- 数据链路层:在通信的实体间建立数据链路连接,将数据分帧(A下单后确定A的地址并用高德地图计算这段路通不通)
-
网络层:为数据在结点之间的传输创建逻辑链路,并分组转发数据(结点可以理解为中转站,B会拜托快递的物流网络确定快递路线,比如说在从上海发货到北京会途径济南这个中转站,在网络数据传输中,这样的中转站往往不止一个) -
传输层:为两台主机上的应用程序提供端对端的通讯(B要发货了,但是快递单上必须填好寄件人和收件人地址,这就是两个端,但由于传输层只是两台主机间通讯,按这个例子来说这个收件人地址就仅仅精确到你在某某某个小区) -
应用层(4层模型):
我们来说一说每个枝桠上的叶子。
- (链路层)网络接口层:主要需要了解ARP/RARP协议
- 网络层:主要是IP协议
- 传输层:主要是TCP协议
- 应用层:协议比较多,FTP协议、HTTP协议、 SMTP协议、POP3协议、TELNET协议
? ARP协议(Address Resolution Protocol)是地址解析协议,负责把IP转化为主机的MAC地址(物理地址)。它的原理就是主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
? RARP协议(Reverse Address Resolution Protocol)是逆向地址解析协议,跟ARP是反过来的,负责把MAC地址转化为主机的IP。
? 跟IP协议一样,TCP协议也是一个协议簇。它是IP协议的上层,意思就是它的底层传输还是依赖IP协议,但是它是一个可靠的服务。
为什么底层IP协议是不可靠的而TCP协议是可靠的呢?
原因是TCP协议是面向连接的,我们还是以外卖发货为例子。我买了个东西,卖家给我发货。这整个就是一个TCP连接。卖家找顺丰给我发货,这里的顺丰就是IP协议,由于路途遥远,顺丰不能绝对保证快递能送到我的手里(IP协议不可靠)。假如说路上真的把快递丢了,我等了半个月没收到(到了限定超时时间),我就会跟卖家打电话问,卖家没办法,只能重新发一个新的快递,直到我收到为止。顺丰作为物流公司它只是个送快递的,他并不知道他送的这个快递是不是重发的包。我总是一定能收到快递,所以说TCP协议就是可靠的。
这里有引出了TCP连接是怎样建立与终止,也就是常说的三次握手与四次挥手。
跟TCP协议类似的还有一个UDP协议,以下是它们的区别。
- FTP协议 :文件传输协议,用户可以通过该协议拿到另一台主机的文件
- HTTP协议:超文本传输协议,超文本就是网页html,所以该协议就是互联网的基础,服务器架设网页可以上互联网上所有的主机都访问到。
- SMTP协议、POP3协议:它们邮件相关的协议,SMTP(简单邮件传输协议)是基于FTP实现的。POP3叫邮局协议版本3,是TCP/IP协议簇的一员。
- TELNET协议:它是一个远程连接/控制另一台主机的协议,叫(远程终端协议),它也是TCP/IP协议簇的一员。
|