互联网结构模型和协议

来源:互联网 发布:centos 设置dns 编辑:程序博客网 时间:2024/06/17 16:28

 

这段时间学习后台开发,因为之前没有学习过计算机网络,很多东西一知半解。今天看了阮一峰老师博客,感觉收获很大;附上老师的博客链接:

http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html

根据博客的内容,自己对互联网的结构模型和协议进行了回顾和整理:

 

对于网络的分析,有不同的网络结构参考模型。对于互联网这一网络实例来说,可以采用五层网络结构模型进行分析:


 下面对各层中的典型协议进行一个说明介绍:

Ø  以太网协议:以太网协议是典型的链路层协议;在以太网协议中,规定了电信号(0/1码流)的分组方式,具体来说,将一组电信号划分为一个数据包,即为一帧,由标头和数据组成。在标头中注明数据包发送者和接收者的信息;

1.    以太网协议规定,连入网络的设备必须提供网卡接口,数据包只能从一个网卡发送到另一个网卡;每一个网卡在出厂时会有一个独一无二的物理地址—>MAC地址

2.    通过ARP协议,发送者获得接收者的MAC地址;

3.    在以太网中,数据包通过广播的形式进行传播(broadcast:数据包向本网络中所有计算机广播,每个计算机根据数据包中标头中的目标MAC地址确定自己是不是接收者)

 

Ø  IP协议:IP协议是典型的网络层协议;(网络层的作用是引入网络地址,简称网址,通过网络地址对计算机所在的子网进行区分)由IP协议规定的网络地址成为IP地址(是网络管理员随即分配的);

1.    互联网上的每一台计算机都会分配到一个IP地址;IP地址的前半部分表示网络,后半部分表示主机;

2.    IP地址结合子网掩码可以判断两台计算机是否属于同一个子网;

3.    IP数据包(同样包括标头和数据部分)包含在以太网数据包中进行发送

 

Ø  TCP协议:TCP协议是典型的传输层协议;(通过MAC地址和IP地址,我们已经可以实现互联网上任意两台计算机之间的通信,但是计算机上有许多进程,如何判断数据包是发送给哪个进程需要通过传输层协议决定)

1.    首先介绍另一种传输层协议:UDP协议;在UDP协议中,只是简单地把端口信息加入数据包中进行传输;简单但是不可靠,不知道对方是否成功收到数据包

2.    为了提高数据包传输的可靠性,TCP协议应运而生;对每一个发出的数据包都要求进行收到确认

3.    端口:可以简单理解为使用网卡收发数据的应用程序的编号

 

Ø  Http协议:Http协议是典型的应用层协议;(通过TCP协议,计算机实现不同应用程序的通信,但是需要有不同的协议对不同的应用程序的数据包格式进行规定,这些协议构成了应用层协议)

1.    Http协议是客户端浏览器与web服务器之间通信的协议


原创粉丝点击