diff --git a/计算机网络/0 目录说明.md b/计算机网络/0 目录说明.md index 355d1503..b12bbe3d 100644 --- a/计算机网络/0 目录说明.md +++ b/计算机网络/0 目录说明.md @@ -74,3 +74,29 @@ ----- # 无线网络和移动网络 +======= + +协议与技术目录 + +## 应用层协议 + +## 传输层协议 + +### TCP协议 +### UDP协议 + +## 网络层协议 + +### IPV4协议 +### IPV6协议 +### CIDR编址 +### NAT/NPAT网络地址转换 +### ICMP网络控制报文协议 + +### RIP路由信息协议 +### OSPF开放最短路优先 +### BGP协议 +### ARP地址解析协议 + +## 链路层协议 + diff --git a/计算机网络/4.1 网络层-基本原理.md b/计算机网络/4.1 网络层-基本原理.md index 1d0c6dd0..15c7f32f 100644 --- a/计算机网络/4.1 网络层-基本原理.md +++ b/计算机网络/4.1 网络层-基本原理.md @@ -102,6 +102,7 @@ ### HOL 如果交换结构不能快得使所有分组都能无时延的通过它传送,则在输入端口也将出现分组排队。输入队列按照FCFS工作 +<<<<<<< HEAD ## 6 路由器环回接口 @@ -261,4 +262,4 @@ ip route 215.34.10.0 255.255.252.0 Serial 5/0 看上去用传输层和IP层的方法来处理环回数据似乎效率不高,但它简化了设计,因为环回接口可以被看作是网络层下面的另一个链路层。网络层把一份数据报传送给环回接口,就像传给其他链路层一样,只不过环回接口把它返回到IP的输入队列中。 -另一个隐含的意思是送给主机本身IP地址的IP数据报一般不出现在相应的网络上。例如,在一个以太网上,分组一般不被传出去然后读回来。某些BSD以太网的设备驱动程序的 \ No newline at end of file +另一个隐含的意思是送给主机本身IP地址的IP数据报一般不出现在相应的网络上。例如,在一个以太网上,分组一般不被传出去然后读回来。某些BSD以太网的设备驱动程序的 diff --git a/计算机网络/4.2 网络层-网际协议.md b/计算机网络/4.2 网络层-网际协议.md index 8cdda106..dcd25095 100644 --- a/计算机网络/4.2 网络层-网际协议.md +++ b/计算机网络/4.2 网络层-网际协议.md @@ -219,4 +219,40 @@ IPv6地址有三种类型:单播、多播和任意点播。广播地址已不 ![](\image/ipv6多播.png) -1. 多播:一组接口(一般属于不同节点)的标识符。送往一个多播地址的包将被传送至有该地址标识的所有接口上。 \ No newline at end of file + +1. 多播:一组接口(一般属于不同节点)的标识符。送往一个多播地址的包将被传送至有该地址标识的所有接口上。 + + +## 7 常见地址说明 + +### MAC地址 + +### IPV4地址 + +### IPV6地址 + +### 广播地址 + +主机位都为1,是广播地址。 + + +### 网络地址(网络号)、主机地址(主机号)、子网掩码 + + +将IP地址分为网络地址与主机地址。通过子网掩码,就可以判断两个IP在不在一个局域网内部。子网掩码可以看出有多少位是网络号,有多少位是主机号。 + + +### 网关接口 + +网间连接器、协议转换器。实现局域网与广域网的互联。 + +## 8 常见表格说明 + +### 路由表 + +### 交换机表 + +### ARP表 + +### NAT表 + diff --git a/计算机网络/4.4 网络层-路由协议.md b/计算机网络/4.4 网络层-路由协议.md index 6c568969..a55a3b71 100644 --- a/计算机网络/4.4 网络层-路由协议.md +++ b/计算机网络/4.4 网络层-路由协议.md @@ -75,3 +75,58 @@ BGP是因特网中使用的自制系统间的选路协议,它极其复杂。 基于一棵基于源的树进行多播 选路:该方法为多播组中的每个源构建一颗多播选路数。实际中采用了RPF算法来构建该树,同时使用剪枝算法来修正该树。剪枝算法是指:如果一台路由器接收到了娿一个多播分组,而它无加入到该分组的主机,就向其上游发送一个剪枝报文,收到该剪枝报文的路由器将不会向该路由器转发该多播组的分组;如果一台路由器的每个下游路由器都向它发送了剪枝报文,它就向其上游发送一个剪枝报文。 因特网中使用的多播选路算法有DVMRP(Distance Vector Multicast Routing Protocol)和PIM(Protocol-Independent Multicast)。 + + +## 6 ARP地址解析协议 + +MAC地址到IP地址的映射 + +网络层用于在因特网中标识主机,并为主机之间提供选路和转发功能,但是物理上一个接口能否接收报文则取决于它的链路层地址。对于广播和组播,IP地址和链路层地址之间的关系是有固定算法的,所以很容易由IP地址得到链路层地址,但是对于单播,就必须有一种方法来将IP地址和链路层地址关联起来,在IPv4中这是通过地址解析协议ARP来实现的。ARP为IP地址和对应的硬件地址之间提供了动态映射。 + + +### 多播地址的MAC地址 +IPv4中多播地址与MAC地址的对应关系如图: + +![](\\image/多播mac地址.png) +即MAC地址的高25比特固定为00000001 00000000 01011110 0,低23比特取自IP多播地址的低23比特。由于除了作为前缀的4个比特之外,还有5个比特未进入MAC地址,因而一个MAC多播地址对应了32个IP多播地址。 +IPv6中多播地址与MAC地址的对应关系如图: + + +![](\\image/多播mac地址2.png) + +即MAC地址的高16比特固定为3333,低32比特取自IP多播地址的低32比特。 + +### ARP报文 + +![](\image/arp地址解析协议.png) + +* 以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。 +* 两个字节长的以太网帧类型表示后面数据的类型。对于ARP请求或应答来说,该字段的值为0x0806。 +* 形容词hardware(硬件)和protocol(协议)用来描述ARP分组中的各个字段。例如,一个ARP请求分组询问协议地址(这里是IP地址)对应的硬件地址(这里是以太网地址)。 +* 硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为0x0800即表示IP地址。它的值与包含IP数据报的以太网数据帧中的类型字段的值相同。 +* 接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。 +* 操作字段指出四种操作类型,它们是ARP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)和RARP应答(值为4)(我们在第5章讨论RARP)。这个字段必需的,因为ARP请求和ARP应答的帧类型字段值是相同的。 + +* 接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址。 +* 对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。 + + +### ARP原理 +当一台主机需要和另一台主机通信时,它会首先查找路由表来获得下一跳的信息,如果下一跳信息中不包含MAC地址,它就需要解析下一跳的MAC地址,这时它就发送一个ARP请求到下一跳,而下一跳收到该请求后,就会发送一个ARP应答报文来告诉请求者它的MAC地址。在获得这个MAC地址之后,主机就可以继续自己的通信过程了。 +ARP请求报文是一个广播报文,目的MAC地址为全F,而源MAC地址为自己的MAC地址。负载中的信息包含了发送者的IP地址和MAC地址,以及目的IP地址,目的MAC地址为全0,一个例子如图: + +![](\image/arp请求报文.png) + +ARP响应报文是一个单播报文,只会被发送给请求者。一个例子如图: +![](image/arp响应报文.png) + +### ARP代理 +如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作委托ARP或ARP代理(ProxyARP)。这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。路由器的功能相当于目的主机的代理,把分组从其他主机转发给它。 + +### 免费ARP +一个ARP特性称作免费ARP(gratuitousARP)。它是指主机发送ARP查找自己的IP地址。通常,它发生在系统引导期间进行接口配置的时候。 +免费ARP可以有两个方面的作用: +一个主机可以通过它来确定另一个主机是否设置了相同的IP地址。 +如果发送免费ARP的主机正好改变了硬件地址(很可能是主机关机了,并换了一块接口卡,然后重新启动),那么这个分组就可以使其他主机高速缓存中旧的硬件地址进行相应的更新。一个比较著名的ARP协议事实[Plummer1982]是,如果主机收到某个IP地址的ARP请求,而且它已经在接收者的高速缓存中,那么就要用ARP请求中的发送端硬件地址(如以太网地址)对高速缓存中相应的内容进行更新。主机接收到任何ARP请求都要完成这个操作(ARP请求是在网上广播的,因此每次发送ARP请求时网络上的所有主机都要这样做)。 +5.IPv6的地址解析 +IPv6不适用ARP协议,而是使用ICMPv6协议中的ND(neighbor discover)来完成对应的解析过程。 diff --git a/计算机网络实验.md/1 网络实验入门.md b/计算机网络实验.md/1 网络实验入门.md index a59af731..f86011f5 100644 --- a/计算机网络实验.md/1 网络实验入门.md +++ b/计算机网络实验.md/1 网络实验入门.md @@ -78,6 +78,53 @@ RJ-45连接器:水晶头。包括直通线和交叉线两种接线方式。 * 通过Telnet远程登录进行相关配置 ## 4 报文分析软件 +# MTU +mtu 100 +undo mtu + +# speed +speed [100|10|negotiation] //100M,10M,自动协商 + +# display +display interfaces ethernet number + +``` +### 交换机以太网端口视图 + +``` +shutdown +undo shutdown + +duplex full //设置全双工状态 +undo duplex //回复以太网全双工状态 + +spreed [10|100|auto] + +mdi [across|auto|normal] //设置接口网线类型 + +flow-control //流量控制 +undo flow-control //解除流量控制 + +port link-type [acces|hybrid|trunk] //设置接口链路类型 +undo port link-type + +display interface Ethernet1/0/1 +``` +### VLAN视图 + +### VLAN接口视图 + + +### RIP视图 + +### OSPF视图 + +### ACL视图 + + + + + ## 5 简单局域网组建实验