计算机体系结构

q2

各层作用及协议

分层 作用 协议
物理层 通过媒介传输比特,确定机械及电气规范(比特 Bit) RJ45、CLOCK、IEEE802.3(中继器,集线器)
数据链路层 将比特组装成帧和点到点的传递(帧 Frame) PPP、FR、HDLC、VLAN、MAC(网桥,交换机)
网络层 负责数据包从源到宿的传递和网际互连(包 Packet) IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP(路由器)
运输层 提供端到端的可靠报文传递和错误恢复( 段Segment) TCP、UDP、SPX
会话层 建立、管理和终止会话(会话协议数据单元 SPDU) NFS、SQL、NETBIOS、RPC
表示层 对数据进行翻译、加密和压缩(表示协议数据单元 PPDU) JPEG、MPEG、ASII
应用层 允许访问OSI环境的手段(应用协议数据单元 APDU) FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

封装

q1


链路层

链路层主要有三个目的:

  1. 为IP模块发送和接收IP数据报;
  2. 为ARP模块发送ARP请求和接收ARP应答;
  3. 为RARP发送RARP请求和接收RARP应答。

PPP(点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。

环回接口

q3

re: mtu


网络层

  • IP(Internet Protocol,网际协议)是为计算机网络相互连接进行通信而设计的协议。
  • ARP(Address Resolution Protocol,地址解析协议)
  • ICMP(Internet Control Message Protocol,网际控制报文协议)
  • IGMP(Internet Group Management Protocol,网际组管理协议)

IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输

不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。

无连接(connectionless)这个术语的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。

q4

q5

IP 地址分类:

  • IP 地址 ::= {<网络号>,<主机号>}
IP地址类别 网络号 网络范围 主机号 IP地址范围
A 类 8bit,第一位固定为0 0——127 24bit 1.0.0.0——127.255.255.255
B 类 16bit,前两位固定为10 128.0——191.255 16bit 128.0.0.0——191.255.255.255
C 类 24bit,前三位固定为110 192.0.0——223.255.255 8bit 192.0.0.0——223.255.255.255
D 类 前四位固定为1110,后面为多播地址
E 类 前五位固定为11110,后面保留为今后所用

ARP 地址解析协议

ARP为IP地址到对应的硬件地址之间提供动态映射。

RARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或 X终端),它需要系统管理员进行手工设置。

q6

ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。可以用apr -a来进行检查ARP高速缓存

ARP分组格式

q7

ARP实例

arp1

RARP 逆地址解析协议

RARP协议是许多无盘系统在引导时用来获取IP地址的。RARP分组格式基本上与ARP分组一致。一个RARP请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应IP地址的响应。应答通常是单播传送的。

ICMP 网际控制报文协议

ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。

ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。

ICMP报文是在IP数据报内部被传输的

q8

检验和字段覆盖整个ICMP报文。

q9

ICMP报文类型

q10

下面各种情况都不会导致产生ICMP差错报文:

  • ICMP差错报文(但是,ICMP查询报文可能会产生ICMP差错报文)。
  • 目的地址是广播地址或多播地址(D类地址)的IP数据报。
  • 作为链路层广播的数据报。
  • 不是IP分片的第一片。
  • 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地 址或多播地址。

q11

q12

q13

q14

对于其他类型的ICMP查询报文,服务器必须响应标识符和序列号字段。另外,客户发送的选项数据必须回显,假设客户对这些信息都会感兴趣。

ping程序

q15

IP数据报中的RR选项的一般格式

q16


运输层 tcp—udp

UDP(User Datagram Protocol,用户数据报协议)是 OSI(Open System Interconnection 开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,其传输的单位是用户数据报。

q17

UDP首部

q18

UDP数据报中的伪首部

UDP数据报和TCP段都包含一个12字节长的伪首部,它是为了计算检验和而设置的。其目的是让UDP两次检查数据是否已经正确到达目的地。

q19

IP分片

q20

  • 在分片时,除最后一片外,其他每一片中的数据部分(除 I P首部外的其余部分)必须是 8 字节的整数倍。
  • 位于@符号后的数字是从数据报开始处计算的片偏移值。
  • IP数据报是指IP层端到端的传输单元(在分片之前和重新组装之后)
  • 分组是指在IP层和链路层之间传送的数据单元。
  • 一个分组可以是一个完整的IP数据报,也可以是IP数据报的一个分片。

q21

ICMP不可达差错

发生ICMP不可达差错的另一种情况是,当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特。如果路由器没有提供这种新的ICMP差错报文格式,那么下一站的MTU就设为0。

q22


ip数据报格式: https://www.jianshu.com/p/d3f9e70c6220