分类
局域网(LAN)
主要有以太网(802.3网/有线局域网)和无线局域网(WLAN/802.11网)
10BASE-T以太网:BASE传送基带信号,T双绞线,传输速率10Mb/s,曼彻斯特编码,CSMA/CD介质访问控制
吉比特以太网:使用光纤或者双绞线,传输速率1Gb/s
广域网(WAN)
传输对象:分组/数据报
传输方式:数据报交换(分组,无连接,不可靠)
作用:路由选择/拥塞控制/异构网络互联
路由选择(路由算法)
内部网关协议:RIP协议/OSPF协议 外部网关协议:BGP协议
协议
IP协议
数据报:首部+数据部分(TCP/UDP)
最大传送单元MTU(数据报):1500B.
以太网最大传输单元,IP数据报(首部+数据部分)最大为1500B,大于1500B的IP数据报就无法封装成帧
最小帧长(MAC帧):64B
CSMD/CD为了在检测到碰撞时能停止数据的传输,有一个最小帧长.
最小帧长(MAC帧):1518B
MTU是1500B,MAC帧首部和尾部一共有18B
ARP协议
在相邻结点间传送数据时,使用的不是IP地址,而是物理地址(MAC地址)
所以主机和路由器需要根据IP地址找到MAC地址,ARP协议就是完成IP地址到MAC地址的映射
ARP解决了下一步要怎么走
本网络:
- 主机1发送给主机2:使用主机1中的ARP缓存找到2的MAC地址
- 左路由器发送给主机1:使用路由器中的ARP找到1的MAC地址
另一网络:
- 主机1发送给主机3:使用主机1中的ARP找到路由器左边端口的MAC地址
- 左路由器发送给主机5:使用路由器中的ARP找到相邻路由器左边那个端口的MAC地址
注意看一下对于主机和路由器,"本网络"的指代
ARP缓存表的形成
- 源主机/路由器检查ARP缓存,如果有就向MAC帧中写入MAC地址,没有则写入广播MAC地址FF-FF-FF-FF-FF-FF(ARP请求分组)
- 本网络是它的广播域,广播域的节点会向源报告自己的MAC地址(ARP响应分组)
- 源收到响应,写入字节的ARP缓存
DHCP协议
这实际上是一个应用层协议,基于UDP
DHCP服务器管理网络中的资源,主机向DHCP服务器请求IP地址/默认网关/DNS域名解析服务器
ICMP协议
负责测试目的主机是否可达以及报告差错
ICMP报文分为和ICMP询问报文和ICMP差错报告报文
ICMP报文实际上是一个特殊的IP数据报(首部+数据部分),其数据有特定的内容
询问报文:测试目的站的相关情况
PING命令
差错报告:当路由器检测出源端的IP数据报出现问题,会根据这个数据报组装成一个ICMP差错报告报文
Traceroute命令
IGMP协议
组播路由选择协议,找出以源主机为根节点的组播转发树
组播
单播、组播/多播、广播
单播是一对一,组播是一对特定的多个,广播是一对所有
这三种数据传播方式都有相应的IP地址和MAC地址,比如在网络192.168.10.0这个网络内,192.168.10.2是一个单播的IP地址,代表某一台特定的主机;192.168.10.255是广播IP,代表所有主机;而组播IP地址也类似,它代表几个主机。数据在链路上传输依赖物理地址找到目的地,所有有对应的arp协议引射到MAC地址(硬件组播)。组播的MAC地址的特点是前25位固定,后23位截取组播IP地址尾部。
组播IP地址的格式:D类网络(224.0.0.0~239.255.255.255)
组播优势:减轻链路压力
IGMP协议是为了让路由器知道本局域网内是否有主机在某个多播组内
- 加入组播组:当主机要加入组播组A,向路由器k发送一个目的地址是A的IGMP报文,路由器k将该IGMP报文发送给因特网上其他组播路由器
- 保持存活:路由器k会将本局域网的组播成员定期周期性汇报给其他的路由器。路由器k通过IGMP报文探寻本局域网内的主机,有回应的主机则认为本局域网内还有组播组的成员(路由器A只知道有或者没有,不知道具体是谁)。
设备
路由器:路由选择/分组转发
路由器内有路由表+转发表,转发表是路由表+RIP映射到物理地址
IPv4地址分类
网络地址由网络号+主机号构成
** 为什么需要网络号**?
路由器做路由选择的判断依据是ip地址的网络号,路由表里存的也是网络号,而不是完整的ip地址
网络号可自由填充的部分不能是全0
主机号既不能是全1,又不能是全0
A类网络
- 网络号:1~126(去掉全0和127环回地址)
- 主机号:0.0.1~255.255.254
私有ip地址:10.x.x.x
(0000 1010)(x)(x)(x)
B类网络
- 网络号:128.1~191.255(去掉全0)
- 主机号:0.1~255.254
私有ip地址:172.16.x.x~172.31.x.x
(1010 1100)(0001 0000)(x)(x)~(1010 1100)(0001 1111)(x)(x)
C类网络
- 网络号:192.0.1~223.255.255(去掉全0)
- 主机号:1~254
私有ip地址:192.168.0.X~1922.168.255.X
(1100 0000)(1010 1000)(0000 0000)(x)~(1100 0000)(1010 1000)(1111 1111)(x)
网络地址转换NAT
将IPv4的地址分为公网ip和私有ip地址,一个公网ip地址可以映射多个私网ip地址,增加了ipv4可表示的主机数目
MAC地址是48为,IPv4是32位,IPv6是64位
比如本来又10个ip地址.
将5个定为公网ip,5个是私有ip,通过端口映射就可以表示25个主机了,实际上NAT不止可以定位到主机,还可以定位到进程.
子网划分
子网划分和超网并没有增加IPv4能容纳的主机个数,但是类似于减少了"内部碎片",只需申请一个网络号,可以管理多个子网
划分子网后对外仍然表现为一个网络
一个B类网络地址145.13.0.0,分成多个三级的网络地址145.13.3.0/145.13.7.0/145.13.21.0
这个网络里一个ip地址是145.13.3.10
它的二级ip地址的子网掩码:255.255.0.0
三级ip地址的子网掩码:255.255.255.0
构成超网(无分类编址CIDR)
CIDR将网络前缀当成网络号部分,相同的网络前缀的IP地址组成一个"CIDR地址块"
记法:在IP地址后面标注网络前缀的位数
比如** IP地址**128.14.357/20(1000000 00001110 0010)(0011 00000111)
地址块128.14.32.0/20(1000000 00001110 0010)(0000 00000000)
子网掩码255.255.240.0(11111111 11111111 1111)(0000 00000000)
网络前缀可自由填充的部分不能是全0
主机号既不能是全1,又不能是全0
因为网络前缀的"网络号"部分一般不是全0或全1,"子网号"部分一般没有限制
缩短网络前缀,可以将多个子网聚合成一个较大的子网
** 解决IPv4地址不够的办法**
NAT地址转换,子网划分,构成超网
其中NAT地址转换真正增加了IPv4能容纳的主机数目,好比本来只有10个IP地址,人为将他们分为7个公网IP地址和3个私有IP地址,每一个公网IP可以对应3个私有IP地址,这样可以容纳21个主机
而子网划分和构成超网类似于"减少内部碎片",充分利用分配到的网络里的每一个IP地址,比如一家公司的业务需求是三个网络,每个网络里面只有两台,没有子网划分技术之前需要申请三个C类网络去组网,现在用一个网络号去做子网划分就可以了