技术小白学习计算机网络日志(一) (不定期更新)

我们知道,数据通信是计算机网络最基本的功能。那么如果两台计算机之间要进行通信,首先必须要有一条传送数据的通路,当然,这样是远远不够的,我们还至少需要考虑:

1. 发起通信的计算机必须要对这条通路进行“**”,保证要发送的数据在这条通路上正确的发送和接受。

2. 要告诉网络如何识别接受数据的计算机。

3. 发起通信的计算机必须查明接收数据的计算机是否开机以及网络是否接通。

4. 发起通信的计算机中的应用程序必须明白,在对方计算机中的文件管理程序是否已经做好接收文件和存储文件的准备工作。

5. 若计算机的文件格式不兼容,则至少其中一台计算机应该完成格式转换的工作。

6. 对于数据在传送过程中出现的各种意外以及差错,应当由可靠的措施保证接收端计算机能够接收到正确数据。

也正是因为在两台计算机之间通信有如此的复杂性,因此网络采用分层的方法。分层的意义在于可以将庞大而且复杂的问题转化为若干比较小的局部问题,从而达到易于研究和处理的目的。

一.计算机网络的分层(osi的七层协议以及tcp/ip的四层协议)

技术小白学习计算机网络日志(一) (不定期更新)

二.tcp/ip协议为主介绍各层的基本概念及其作用

1. 应用层

应用层的任务是通过应用进程间的交互来完成特定的网络应用。应用层协议定义的是应用进程间的通信和交互的规则。

2. 运输层

运输层的任务是负责向两台主机进程之间的通信提供通用的数据传输服务。应用程序也正是利用该服务传送应用层报文,所谓“通用”,是指并不针对某个特定的网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可以同时进行多个进程,因此,运输层有复用和分用的功能。复用就是说多个应用层进程可以同时使用运输层上面的服务;分用就是说运输层把收到的信息分别交付给应用层上面的进程。

3. 网络层

网络层负责为分组交换网上的不同主机提供通信服务。

4. 数据链路层

数据链路层把网络层交下来的ip数据包组装成帧,在两个相邻的结点之间传递帧。每一帧都包含有必要的控制信息(如同步信息、地址信息、差错控制等等)

5. 物理层

物理层确保原始的数据可在各种物理链路上面传输。

 

计算机之间的通信往往都是进程首先将数据传送给最高层(应用层)然后应用层加上必要的控制信息之后交付给运输层,同样的在运输层加上它的控制信息之后传送给网络层,然后网络层把数据传送给数据链路层,在这里,控制信息分为两个部分,即帧头和帧尾,分别加到数据的头部和尾部。最后再有数据链路层交付给物理层,由于物理层是比特流的传输,因此不再需要加上控制信息,从首部开始在物理链路上面传送即可。

三.什么是协议和服务

在最开始我们提到的两台计算机之间通信所应该考虑的种种问题,实际上就是通信协议所应该实现的内容。简单的讲,协议就是在通信之先约定好的规则的集合。这些数据明确规定了所交换的数据格式以及有关的同步问题。上面我们说明了计算机的分层以及数据在各个层级之间的传送,同时也带有数据格式上的变化。

那么协议一定是对等层次之间的概念,发送端将数据从高层一直往下层并且逐层加上各个层次的控制信息,直到传送到物理层作为比特流在物理链路上面传送。而接收端正是将从物理链路上接受的比特流依次往上提交,按照一定的规则还原为本层次可以识别辨认的内容并且继续向上提交。这个规则,就是我们所说的协议。

而在数据通信时候,上面的层次往往需要下面层次提供服务。

可以看到,协议是水平的,是控制对等实体(发送或者接受数据的硬件或者软件进程)之间通信的规则。而服务是垂直的,是下层向上层通过层间接口来实现的。

四.各个层次上的几个协议以及基本的介绍

应用层:

http协议:超文本传输协议

ftp协议:文件传输协议

Smtp协议:简单邮件传输协议

telnet:远程登陆服务

Dns协议:域名系统

传输层:

Tcp协议:传输控制协议
udp协议:用户数据报协议

网络层:

Ip协议

数据链路层

Ppp协议,csma/cd协议