OSI七层模型第一节课课堂笔记.docx
《OSI七层模型第一节课课堂笔记.docx》由会员分享,可在线阅读,更多相关《OSI七层模型第一节课课堂笔记.docx(18页珍藏版)》请在冰点文库上搜索。
OSI七层模型第一节课课堂笔记
时间:
2012年6月27日下午
本节课重点知识点:
◆OSI七层模型
◆OSI七层模型之network层
◆OSI七层模型之transport层
◆理解数据包的微观交付过程
一、OSI七层模型
1.1OSI七层模型产生的历史背景
OSI七层模型是IOS组织制定的一种网络架构标准。
OSI七层模型是在七十年代后期由于各厂商间协议不能互联互通,遏制了互联网的发展这样的历史背景下产生的。
目标是标准化网络,使各个厂商的设备间能够协同工作。
1.2OSI七层模型分别是那几层,了解每层的作用
如上图,OSI七层模块从下至上分别是:
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
(1)应用层:
提供了是一种人机交互的界面,我们电脑上安装的所有应用程序都是属于应用层的;
(2)表示层:
定义应用层产生的数据的表示格式,比如写字板产生的数据就表示成.txt的格式,位图文件就表示成.jpg等等。
有时表示层还提供了应用层产生数据的加密;
(3)会话层:
用于管理系统中的进程,分配各进程所需的资源。
这一层主机的代表就是操作系统和数据库,也就是我们所说的系统软件;
以上三层都是软件在工作的;
(4)传输层:
提供了上层产生数据的一种端到端(endtoend)的数据交付。
主要的传输层协议有TCP\UDP\SPX。
传输层与上层的区分标识称之为"端口号",端口号的区间是1-65535,其中1-1024的我们称之为周知端口号,比如有大家常见的应用http的端口号就是80,ftp的端口号就是20和21,telnet使用的端口号就是23等等。
要了解详细的端口号,大家可以上baidu收关键字"端口号",就能查到所有常见协议的端口号。
传输层也就是利用端口号来区分上层不同的应用的。
比如有一个数据从80号端口往下流,那么传输层就认为这是一个http的流量,其它的以此类推;我们常说传输层提供的是一种端到端的数据交传,这里就要理解什么叫做"端到端",所谓的端到端就是通信的双方不仅仅是二个IP间的通信,而是某个源IP+源端口至某个目标IP+目标端口+协议号这样的通信,我们一般将这五要素称之为一个socket;
(5)网络层:
提供数据包的路径选则,提供路由。
上层流下来的数据包到了网络层后会在数据交打一个IP头,在IP头中会明确标明源IP是谁,要找的人的目标IP是谁。
在网络层最典型的设备就是路由器;
(6)链路层:
要理解,在网络中数据的最终交付是基于MAC地址的交付,因为IP地址是一种逻辑上的地址,MAC地址才是真正唯一的地址。
(IP地址类似你家的门牌号,MAC类似你的身份证号)。
因此,上层的数据包到了链路层后又打上了一个二层头,二层头上标识了源MAC是谁以及我要找的人的目标MAC是谁;在链路层最典型的设备就是交换机;
(7)物理层:
主要定义和一些根物理相关的标准。
如介质、接口类型、信号标准等等。
上层产生的数据最终以比特流的方式在网络的介质上传送。
1.3数据包封装与解封装的过程
发送方接收方
要知道,数据包从源到目标的过程从宏观来讲,就是一个封装与解封装的过程。
为什么发送方需要进行封装呢?
你想想如你想寄一封信,不能直接将写好的信纸丢到邮筒中吧,而必须要套一个信封才行。
因此如没有这个信封的话,邮递员是没有投递的。
网络中的数据也是这样,纯数据是无法直接交给远端的,它必须要相应的层打上相应的控制头(类似前面说的那个信封),这样过程的网络设备才能根椐这个控制头来进行路由及最终的数据交付。
为什么要接收方又需要解封装呢?
你想如你收到一封信,你如何才能看到信,当然要将信封撕掉才行。
同时,在网络中,目的主要想看到原始的数据,也必须要一层一层的将相应的控制头去掉才行。
各位,理解吧?
1.4OSI七层模块层与层的区分标识
要理解,为什么层与层之间需要有区分标识,原因就是存在多个上层同时封装在一个下层的现象,比如:
从上图你应可以看出,会有多个上层同时封装在同一个下层,比如:
(1)多个应用层协议都是封装在下层的TCP上,那么当TCP收到一个上层数据后,它怎么知道到底是上层的那个应用的呢;
(2)同样,TCP、UDP都封装在下层的IP上,这样就会存在一个问题,当IP收到一个上层发下来的数据时,它如何知道到底是TCP发过来的还是UDP发过来的呢。
(3)同样的,我们也发现,IP、ARP、RARP也同时封装在“硬件接口”,也就是某个链路层协议中,比如以太网,如没有区别标识,链路层就不会知道这个数据到底是上层IP发过来的,还是ARP发过来的。
同理,在接收方,也是需要通过区分标识将数据往正确的上层提交,是不是这样,大家仔细想想……
要记住几个应用的层与层之间的区分标识:
(1)四层与上层的区分标识:
是端口(port)。
不同的端口标识不同的上层应用,端口号的区间是1-65535,其中1-1024的我们称之为周知端口号,比如有大家常见的应用http的端口号就是80,ftp的端口号就是20和21,telnet使用的端口号就是23等等。
要了解详细的端口号,大家可以上baidu收关键字"端口号",就能查到所有常见协议的端口号。
(2)三层与四层的区分标识:
是协议号。
协议号的区间是1-255,几个常用的协议号是大家要记住的,1是imcp,6是tcp,17是udp。
要了解详细的协议号,大家可以上baidu收关键字"IP协议号",就能查到所有常见的协议号
(3)二层与三层的区分标识:
是网络类型。
几个常用的网络类型在记住,网络类型是用16进制的数来表示的,0x0800表示上层是IP,0x0806表示上层是ARP,0x0835表示上层是RARP
1.5数据在OSI不同层的称谓不同
在四层,叫segment,也就是数据段
在三层,叫packet,也就是数据包
在二层,叫frames,也就是数据帧
在一层,叫bit,也就是数据流
1.6OSI模型与TCP/IP模块的对应关系
具体的看上图,应能看懂,这块我就不细讲了
1.7要理解:
OSI模型的好处
(1)降低了网络的复杂度;
(2)标准化了网络的接口;
(3)使网络的整体结构模块化,推进了网络的发展;
(4)使各个IT产商可以协同工作;
(5)利于网络的故障诊断及学习
二、OSI七层模型之network层
Network层最重要的协议就是IP协议
2.1IP协议的特征
◆是无连接的协议。
什么是无连接呢?
就是在发数据前,不需要先建产一个端到端的虚拟连接。
这个概念你只要慢慢学习下去,就会明白
◆有一个结构化的IP地址
◆执行尽力而为(Best-effortdelivery)的传输机制,因此,IP是不具备可靠性的;
◆无数据恢复机制。
由于其是尽力而为的传输机制,无数据恢复机制就是必然的
2.2IP的报头的格式
关于IP报头几块是NA学生要记住的:
(1)长度:
IP报头最短20个字节,最长60个字节。
我上课有说过如何来看这种型式的报文结构,一行就是32个比特,也就是4个字节。
(2)IP报头的大概样子应相应字段是要知道的,但每个字段的含义在NA中没有要求。
在考试中可以会贴一个IP的图,然在问你这个是IP的还是其它什么协议的图,你要能看得出来。
2.2要理解,IP地址(重点)
2.2.1IP地址多长?
IP地址是32个比特长,也就是4个比较拉
2.2.2IP地址的表示方式?
将每8个比较放在一切,中间用点分开,最终是用十进制数来表示。
因此IPV4的表示方式称为“点分十进制”
2.2.3IP地址分为几类?
IP地址共分为5类,即A\B\C\D\E5类,在NA中只要求知道前三层,因此上图只列了前三列
要知道,每类IP地址前几个固定的比特是多少:
A类:
0
B类:
10
C类:
110
2.2.4IP地址类的十进制数字区间?
在清楚的知道,A\B\C类三类的IP地址转换成十进制数最小和最大是多少,具体如上图。
同时也要知道这样数据是怎么算出来的。
比如A类最小的是00000000,最大是01111111,因为A类IP地址的第一位是定义好的,就是0,这个上面刚刚说过。
这样将二进制转成10进制数后,就是0~127后,但A类的有些特殊,0和127是保留地址,是不能用的,可用的是1~126
如有不懂二进制和十进制转换的同学,可用课间的时间来问我。
2.2.5子网掩码的作用是什么?
子网掩码也是一个32比特长的地址,它是由从左到右连续的1组成的,其作用是看IP地址相对应做是网络位还是主机位作用的。
如IP地址相对应比特位的子网掩码是1的话,那就说明这个比特位的IP地址是网络位,如是0的话,就说明是主机位。
理解否?
比如上图,
是IP地址192.168.100.0的二进制表示方式,
是子网掩码255.255.255.0的表示方式。
对应着看,如子网掩码的相应位是1的话,IP地址的这个位就是网络位了,反之0就是主机位
2.2.6A\B\C三类的IP地址默认的掩码长度是?
◆A类:
8位,即255.0.0.0
◆B类:
16位,即255.255.0.0
◆C类:
24位,即255.255.255.0
2.2.7什么是可变长的子网掩码?
所谓的可变长的子网掩码,就是不采用标准的A\B\C类默认长度的子网掩码
这里就是“切”和“合”的过程了:
◆先讲切:
举例,原来有一个网络是192.168.100.0/24,/24是什么意思应知道吧,也就是说子网掩码的长度从左到右有连续24个1,也就是255.255.255.0拉。
这样的话,这个子网有多少台主机呢?
因为其主机位有8个比特,因此主机就是2个8次方也就是256个。
这里要特说明,每个IP段的头尾地址是不能用的,头代表子网,尾代表广播。
因此192.168.100.0/24可用的IP只有254个,即1-254。
也就是说,这254个在同一个网段上,什么叫同一个网段呢?
就是说其中一台机器发的广播包,其它机器都能听得到拉,因为它他是“一家人”,呵呵
这时,如出于某个考虑,我想将这个大网切成二个小子网,要怎么做呢?
方法是向主机位借变长网络位,借几位就将网络切成2个几次方
比如我想将其切成2块,就需要向主机位借一个比特即可,如下图:
比如我想将其切成4块,是不是就需要向主机位借二个比特即可,如下图:
◆再讲合:
合就是将多个子网合成一个大子网。
合的方式就和切相反,它是将相应的网络位变长主机位,借几位就将2个几次方的小子网合成一个大子网。
比如
我们象网络位借了一位,那这样就将 192.168.100.0~192.168.101.255合并成一个子网了。
一定要懂IP地址切和合的方法并将其练熟悉,这个能力是网络工程师的根本!
2.2.8什么是私有IP,具体是那些段?
私有IP就是在互联网路由器上没有其路由的地址段,形象点说,就是互联网的路由器不知如何去这些IP段。
它的好处在于这些地址是可以复用的,而公用地址是用一个少一个的,这块在以后学习到NAT技术后你就会了解。
以下的私有IP段请记住。
2.2.9常用的查看IP的指令?
DHCP的作用是动态获取IP地址
DNS的作用是进行域名和IP地址的转换
三、OSI七层模型之transport层
3.1为什么有了IP层后,还需要有一个transport层
要记住,IP层只是提供IP的可达性,而应用最终是一个进程与进程间的通信,传输层实际上就是一个保证进程与进程可达性的一个层。
3.2transport层有那二个重要的协议
TCP(传输控制协议)
UDP(用户报文协议)
3.3TCP报头的格式
在NA中,只要认识报头即可,细节不要求
3.3UDP报头长得什么样?
在NA中,只要认识报头即可,细节不要求
3.4什么是TCP的三次握手?
TCP的三次握手就是TCP在真正传数据前,建立虚连接的过程,这个过程也充分体现出TCP是一种面向连接的协议。
三次握手的细节我这里就不说了,也不太好表述,大家他细回顾我课上讲的,有问题来问我。
四、理解数据包的微观交付过程
4.1理解什么是ARP协议
ARP协议就是地址解析协议,其作用是定义IP地址和MAC地址的对应关系。
大家想想,如1.1.1.1和1.1.1.2要互相通信,这个报文的三层报头源IP地址是1.1.1.1,目标地址是1.1.1.2,这个我想大家应能理解;同样这个报文也需要有二层报头,二层报头的源MAC地址是自己网卡的MAC地址,那么目标MAC地址是什么呢?
默认情况下源主机是不知道的,如不知道,这个数据帧就无法封装完整,不完整的数据包是发不出去的。
因此,ARP协议的作用就是帮助数据获得那个目标MAC地址,使数据包能够封装完整
4.2理解ARP协议的工作原理
如上图,发送方通过广播的方式去问,接收方回应其询问
发送方的报文格式接收方的报文格式
以上是sniffer的ARP报文输出,这块有兴趣的人可以看看,不过这个己远超出的NA的要求。
4.3理解数据包交付的22步骤
这块我就不细讲了,感觉不太好用笔记来写,建议大家好好看看课件,有问题来问我。
4.4常用的网络检测指令
(1)ping
以上就说明是通的:
说明 192.0.34.166给做了reply(回应),ping包的大小是32个字节,时间是19ms(通过时间可以看出网络的质量),TTL是45,课上有讲过,TTL是避免路由环路的一种措施
(2)traceroute
以上前三个ms代表时间,后面的域名及IP地址代表过程路由器的域名及IP地址
要注意,在windows系统中用的是tracert,在IOS和UNIX系统是用的是traceroute
Traceroute的作用是进行路由跟踪,当跟踪到那一跳如找不到路由时,就会显示为*号,那么我们就需要到这台设备上进行排查即可,因此,traceroute是我们进行网络排障的利器。
(3)ARP
几个常用的arp指令要记住:
Arp–a查看arp表
Arp–d删除arp表
Arp–s手工写静态arp