计算机网络
参考书目:《计算机网络(第7版)》:谢希仁——电子工业出版社 《精通Windows Sockets网络开发--基于Visual C++实现》:孙海民——人民邮电出版社
一、分类编址IP地址
IP地址
IP地址
给每个连接在因特网上的主机(或路由器)的每一个接口分配的在全世界范围是唯一的 32 位的标识符。
网络接口
- 路由器有多个接口
- 主机可能有一个,也可能有多个接口
- IP地址只与设备的网络接口有关
IP地址编址方式
- 分类的IP地址
- 子网的划分
- 构成超网
1.分类的 IP 地址
两级的 IP 地址记为:IP 地址 ::= { <网络号>, <主机号>}
- 网络号 net-id:标志主机/路由器所连接到的网络
- 主机号 host-id:标志该主机/路由器
注:IP地址在整个因特网范围内唯一
IP 地址中的网络号字段和主机号字段
注:1.A类地址的网络号字段 net-id 为 1 字节,A类地址的主机号字段 host-id 为 3 字节
2.B类地址的网络号字段 net-id 为 2 字节,B类地址的主机号字段 host-id 为 2 字节
3.C类地址的网络号字段 net-id 为 3 字节,C类地址的主机号字段 host-id 为 1 字节
4.D类地址是多播地址
5.E类地址保留为今后使用
IP 地址的使用范围
点分十进制记法
特殊IP地址(不能分配给用户)
1.回送地址/环回地址
- 以127开始的IP地址——保留地址
- 用于网络软件的测试,以及本地进程之间的通信。
- 任何程序一旦接到使用了回送地址为目的地址的数据,将不再转发数据,而是将其立即回送给源地址。
- 使用“ping 127.0.0.1”可以通过ping软件测试本地网卡进程之间的通信。
2.直接广播地址
- 主机号各位全为“1”的IP
- 主要用于广播,在使用时,用来代表该网络上所有的主机。
- 如202.112.144是一个C类的网络标识,该网络的广播地址就是202.112.144.255;当该网络中的某台主机需要发送广播时,就可以使用这个地址向该网络上的所有主机发送报文。
3.有限广播地址
- 32比特位全为“1”的IP地址(255.255.255.255)为“有限广播地址”。
- 主要用来进行本网广播。当需要在本网内广播,又不知道本网的网络号时,即可使用“有限(受限)广播地址”。
4.本网地址
- 将IP地址中主机地址位全为“0”的IP地址。
- 用来表示“本主机所连接的网络”。
- 如用“128.16.0.0”表示“128.16”这个B类网络。
- 本网地址又被称为“0”地址。
保留的IP地址
公有IP
能够在整个广域网(因特网)中使用,可以被世界各地联网的主机所访问到。
私有IP
只能在一个局域网中使用,其作用域的范围就是一个局域网(出了局域网就无效)。所以不同的局域网中的主机IP地址可以一样。
注:在A、B、C 3类地址中各有一段地址作为保留地址不在全网分配,而作为私有地址只可在一个网络内部使用,不可进入外网。
私有地址范围:
1个A类地址:10.0.0.0
16个B类地址: 172.16.0.0 ~ 172.31.0.0
256个C类地址: 192.168.0.0 ~ 192.168.255.0
2.IP 地址的重要特点
分等级的地址结构
- IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
IP 地址标志
-
当一个主机同时连接到两个网络时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机。
-
路由器至少应当有两个不同的 IP 地址。
注:1.在同一个局域网上的主机或路由器的IP 地址中的网络号必须是一样的。 2.路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址。 3.两个路由器直接相连的接口处,可指明也可不指明 IP 地址。
二、子网划分
ARPANET 的早期,IP 地址的设计不够合理
- IP 地址空间的利用率有时很低。
- 给每一个物理网络分配一个网络号会使路由表变得太大,使网络性能变坏。
- 增加了路由器成本
- 查找路由耗时增加
- 路由器之间交换的路由信息增加
- 两级的 IP 地址不够灵活
- 不能充分利用已申请到的地址资源扩充新的网络
1.三级IP地址
三级的 IP 地址记为:IP地址 ::= {<网络号>, <子网号>, <主机号>}
例:
注:从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id。
划分为三个子网后,对外仍是一个网络
2.子网掩码
子网掩码的作用
- 使网络内的计算机了解子网划分的结构
- 使边缘路由器了解子网划分的结构
子网掩码的格式 - 子网掩码也是32bit长的二进制数,由一串连续的1后跟一串连续的0组成;
- 前面的1与网络号和子网号对应,后面的0与主机号对应。如前面的例子:
- 子网结构为: 10011100 00001100 ss xxxxxx xxxxxxxx
- 子网掩码为: 11111111 11111111 11 xxxxxx xxxxxxxx
写成十进制数为: 255.255.192.0
默认子网掩码
网络地址=(IP 地址) AND (子网掩码)
- 子网掩码是一个网络或一个子网的重要属性。
- 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。
- 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。
3.网关
网关是一个网络通向其他网络节点的IP地址,如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。反之亦然。因此,一台电脑的默认网关必须正确地指定,否则就无法将数据包发给网关的电脑,从而无法与其他网络的电脑通信。
设置默认网关
- 手动设置
- 适用于电脑数量比较少、TCP/IP参数基本不变的情况。
- 默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
- 自动设置
- 利用DHCP服务器自动给网络中的电脑分配IP地址、子网掩码和默认网关。
- 这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。
- 这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。
4.路由器
路由器
- 具有多个输入端口和多个输出端口的专用计算机。
- 任务是转发分组。
- 将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。
- 下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止。
路由器的结构
转发
- 路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。
- 仅涉及到一个路由器。
路由选择
- 按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。
- 涉及到多个路由器。
输入端口
- 数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理
- 产生一定的时延
- 在每一个输入端口中复制一份转发表—分散交换功能
输出端口
- 当交换结构传送过来的分组先进行缓存。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。
分组丢弃
- 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。
- 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
交换结构