1.1 OSI与TCP/IP协议框架 OSI是网络界的法律,主要目的是实现各厂商设备的兼容操作,TCP/IP是互联网的主流协议。图1是OSI与TCP/IP协议模型的对比。
图1 OSI与TCP/IP协议模型
1.2 OSI每层功能及特点
1、物理层:其作用是传输BIT信号,典型设备代表如HUB(集线器)。
2、数据链路层:包括LLC和MAC子层,LLC负责与网络层通讯,协商网络层的协议。MAC负责对物理层的控制。本层的典型设备是SWITCH(交换机)。
3、网络层:本层的作用是负责路由表的建立和维护,数据包的转发。本层的典型设备是ROUTER(路由器)。
4、传输层:本层将应用数据分段,建立端到段的虚连接,提供可靠或者不可靠传输。
5、会话层:本层负责两个应用之间会话的管理和维护。
6、表示层:本层解决数据的表示、转换问题,是人机之间通讯的协调者,如进行二进制与ASCII码的转换。
7、应用层:本层是人机通讯的接口。典型的应用程序如FTP、HTTP等。
1.3 OSI封装,解封装以及PDU 1.3.1 封装 所谓封装是指在发送方发生的自上而下的过程
在每一层为应用数据添加上特定的头部/尾部信息(PDU,Protocol Data Unit,协议数据单元)
Application(应用程序)→segment(数据段)→packet(数据包)→frame(数据帧)→bit(比特,二进制位)
1.3.2 解封装 所谓解封装是指在接收方发生的自下而上的过程
逐层的去掉头部以及尾部信息
1.4 IP包结构 IP包结构的结构如图2所示。
图2 IP包结构 其中的重要字段包括:
TTL(Time To Live,生存时间):每经过路由器一次,此值减一。如果该值为0路由器就不会再转发此数据包。
Protocol(协议):网络层和传输层之间的通讯接口,用于识别传输层的传输协议。
Identification(序号):对每发送的一个数据包进行编号。
Flag(偏移标志),Frag.Offset(偏移量):用于接收方将数据包的分片进行。
1.5 IP报文传输过程 IP报文传输过程包括:
1. Host sends packet to default gateway(主机将数据包发送到默认网关)
2. Packet placed in frame(数据包被封装入帧)
3. Router receives frame(路由器接到帧)
4. Router finds destination network in route table(路由器在路由表中发现目标网络)
5. Router chooses next hop toward destination(路由器选择一个更接近目标的下一跳)
6. MAC address of next hop determined(下一跳的MAC地址被确定)
7. Packet placed in frame(数据包被封装入帧)
8. Repeats steps 2 through 7 as necessary(如果需要的话,重复步骤2~7)
9. Router receives frame(路由器接到帧)
10. Router finds network directly connected(路由器发现直连网络)
11. MAC address of end host determined(最终主机的MAC地址被确定)
12. Packet placed in frame to final destination(帧中的数据包被发送到最终主机)
IP报文传输整个过程的示意如图3所示。
图3 IP报文传输过程 在数据包端到端的传输过程中,逻辑地址始终不会发生改变,而MAC地址则随着具体链路的不同而不同。
路由器在某一个入接口上接收到数据帧后,先检测目的地是否是自己。若是,则交给上层处理,否则会缓存数据包内容,然后根据目标地址查找路由表找到相关表项,得到NEXT HOP及出接口的MAC地址,用这两个地址作为新的目的及源MAC地址封装事先缓存的数据包,然后转发,这个过程称为帧的重写(REWRITE)。
1.6 IP相关协议 1.6.1 ARP ARP(Address Resolution Protocol,地址解析协议)有以下特点:
ARP由ARP Request(广播)与ARP Reply(单播)组成。
只有当发送方认为目标主机与自己位于同一逻辑网络(同一网段),ARP Request才会发出。
属于本地的MAP(不同于FR MAP)IP地址与MAC地址均属于同一个设备(接口)。
其工作过程示意如图4所示。
图4 ARP工作过程示意图