标签:光缆 方法 应该 为我 ica 一半 ip协议 transport UI
我们一定都听过互联网协议,可以互联网协议是什么呢?
互联网的核心是一系列的协议,该协议称为互联网协议(Internet Protocal Suite)。互联网协议大体上可以分为五层。
1.应用层(Application Layer)
2.传输层(Transport Layer)
3.网络层(Network Layer)
4.链接层(Link Layer)
5.实体层(Physical Layer)
首先,大家先接受以下几点:
刚刚我们说过,越靠下的层越接近硬件,这里就是这样的。实体层即把电脑连接起来的物理手段。我们知道,电脑如果要联网,我们需要将各电脑用光缆、电缆、双绞线、无线电波等方式链接起来。这便是实体层。它的主要作用是负责传输0和1的电信号。
A.显然,单单由实体层完成的任务(负责传输0和1的电信号)是没有意义的。链接层的作用即将电信号0和1进行分组,这样传来的电信号才有意义。确定分组方式有很多中协议,其中以太网协议便是一种十分流行的协议。它规定:将电信号0和1分得的每一组构成一个数据包,又叫做帧,每一个数据包(帧)由两部分组成,标头(Head)和数据(Data)。
关于数据包,有以下几点需要注意:
B. MAC地址。A中我们提到了由以太网协议规定的数据包(帧),有标头和数据,标头中有接收者和发送者,那么接收者和发送者是如何标识的呢?以太网规定:连入网络的所有设备,都必须具有网卡接口,数据包(帧)必须从一块网卡传送到另外一块网卡。而设备中网卡都是具有地址的,网卡地址即为数据包的发送地址和接收地址,我们成为MAC地址。
关于MAC地址,有以下几点需要注意:
c. 广播。注意:以太网数据包必须知道接收方的MAC地址才能发送,可是,即使有了接收方的MAC地址又该怎么发送呢?以太网协议规定:使用广播方式--即不是将数据包准确的发送给接收方,而是通过广播的形式将数据包向本地网上所有的电脑都发送一个,让每台计算机自己做出判断,看是否为接收方。
判断方式为:发送者将数据包发送给本网络中的所有计算机之后,每台计算机会读取“标头”中接收方的MAC地址与自身的MAC地址作比较,如果相同,则接收,如果不同,则丢弃。
A.为什么会出现网络层呢?
以太网协议缺点有二。其一:通过广播方式发送以太网数据包,这样会导致本地网的计算机每台都会接收,使得效率低,耗费资源。其二:广播方式局限在发送者所在的子网络,对于相聚遥远的两个城市,它们一定不是在同一个子网络中的,因此,这时,以太网数据包就不会发送出去并被接收。当时呢,局限在一个子网络中也是有好处的,因为如果把数据包发送到了世界上每一台计算机上,那么,这将是毁灭性的灾难!
基于这个现实,我们需要一种方法来确定哪些MAC地址属于同一网络,哪些MAC地址不属于同一网络,并解决不能将数据包发送到发送者所在子网络之外的网络的问题。
这时,网络层便应运而生了,它引进了一种有别于MAC地址的新地址,这套地址称作“网络地址”(简称网址)。网址出现了之后,每台计算机上就包含MAC地址和网络地址这两种地址了。应当注意:两种地址没有任何关系,MAC地址是绑定在网卡上的,网络地址是管理员分配的。他们只是随即的组合在了一起而已。两者之间的工作协调:网络地址可确定计算机所在子网络,MAC地址将数据包送到该子网络的目标网卡。也就是说,必定是先处理网络地址,然后处理MAC地址。
B.IP协议。IP协议即规定网络地址的协议。它所定义的网络地址也就是IP地址。IP地址有第四版和第六版,目前广泛使用的是第四版,即IPv4。IP协议规定:IP地址由32个二进制数组成,由分成四段的十进制数表示。比如:二进制为10101100.00010000.11111110.00000000的IP地址用十进制可以表示为172.16.254.1。显然,后者的方式更为简洁。
关于IP地址,由以下一点需要注意:
但是我们都没有办法确定两台电脑的IP地址的网络部分,又该怎么做比较呢?这时候,子网掩码就派上用场了。所谓子网掩码,即表示子网络特征的一个参数,形式上与IP地址相同。子网掩码我们应该注意:
C.IP数据包:根据IP协议发送的数据成为IP数据包。同样,IP数据包和以太网数据包相似都是由标头(Head)部分和数据(Data)部分组成的。注意以下几点:
D.ARP协议。我们已经知道IP数据包是在以太网数据包里发送的,因此我们需要确定两个地址,一个是对方的MAC地址,另外一个是对方的IP地址。显然,对方的IP地址是容易获取的,可是,对方的MAC地址呢?下面,我们分成两种情况讨论。
第一:如果两台主机在在同一个子网络,那么我们可用ARP协议发出一个数据包(包含在以太网数据包中),其中包含它所查询的主机的IP地址,在对方的MAC地址中填写FF.FF.FF.FF.FF.FF,表示这是一个广播的地址,所在网络的每个主机都会收到这个数据包,从中取IP地址与自身IP做比较,若同,则回复自身的MAC地址,若不同,则丢弃这个包。(补充:也许大家觉得这里不太好理解的是,之前不是说用MAC地址来确定接收方与放松方吗?这里为什么又说不知道MAC地址又要确认呢?或者有了IP地址为什么还需要MAC地址呢?这是因为我们之前说过:连入网络的所有设备,都必须具有网卡接口,数据包(帧)必须从一块网卡传送到另外一块网卡。所以IP地址只是为了能够确认是否是同一子网络,最终的数据传输还是要依靠MAC地址传输到网卡。又因为我们有了IP地址,所以对方每次只能获得我们的IP地址,而不能直接获得我们的IP地址。)
第二:如果两台主机在不同的子网络里(当然也是一看IP地址做出判断),这是就无法像第一种方法一样获取对方的MAC地址了,只能把IP数据包传送给两个子网络的连接初“网关”(gateway)去处理。这里不做具体介绍。
A 既然已经有了MAC地址和IP地址,那么我们就已经可以在互联网的任意两台主机上进行通信了,可是如果在一边在电脑上冲浪,一边聊qq,那么当数据发送到你的网卡上时,是你的网页接收数据还是你的qq接收数据呢?这时候,我们就需要用“端口”(port)来解决问题了。端口实际上是每一个使用网卡的程序的编号,每个数据包都会发送到主机的特定端口,这样不同的程序就可以接受到自己所需要的数据了。
关于端口你需要注意:
B.CDP协议。那么规范端口的协议是什么呢,其中一个较为流行的就是CDP协议。CDP协议定义了一个CDP数据包,该数据包同样由标头和数据两部分组成。标头部分定义了发出端口和接收端口的信息。数据部分就是具体内容。最后将CDP数据包放入IP数据包的数据部分(注意:之前我们已经把IP数据包放到了以太网数据包中了)。效果图如下。
应用层收到传输层的数据,接下来就要进行解读。由于互联网是开方架构,数据来源五花八门,故必须事先规定好格式。如TCP协议可以为各种各样的程序传递数据,如Email、www、FTP等,那么必须有协议来规范电子邮件、网页、FTP数据的格式,这些应用程序即构成了应用层。
最后,我想说明的是,这篇博客我参考了阮一峰老师的博客内容,在这里表示感谢,希望大家能通过这篇文章有些许收获。
标签:光缆 方法 应该 为我 ica 一半 ip协议 transport UI
原文地址:http://www.cnblogs.com/zhangkeyu/p/6663881.html