3.1写在前面
IP协议是TCP/IP协议中最为核心的协议,是不可靠、无连接的协议。
- 不可靠:不能保证IP数据报成功到达目的地
- 无连接:IP不维护任何关于后续数据报的任何信息。也说明IP数据报可以不按发送顺序接收,每个数据包都是独立的进行路由选择,可能选择不同的路线
3.2 IP首部
普通的IP首部长为20字节,除非含有选项字段。
- 首部长度:是指首部占32bit的数目(也就是说首部有几个32bit),首部长度占4位,最大为15(4位全1),也就是说最多有15x32bit,也就是60个字节,包括选项所占的字节数
3.3 IP路由选择
- 目的主机和源主机直接相连(例如:点对点的链路)或者在同一个网络上(以太网或者令牌网),IP数据报就直接送到目的主机上
- 否则,主机把数据报发往默认的路由器上,由路由器来转发该数据报
3.4 子网寻址
IP地址由网络号和主机号组成,在出现子网划分的情况下,主机号被分为子网号和主机号
划分子网的好处:缩小路由表的规模
3.5子网掩码
子网掩码是一个32bit的值,用来标记网络号(包括网络号和子网号)和主机号,网络号和子网号值为1,主机号值为0
子网掩码的作用:如果知道主机地址和子网掩码,就可以通过和目的IP比较确定该主机是否是1.该子网的主机,2.本网络内其他子网的主机,3.其他网络上的主机
3.7子网的例子
子网13中有两个分离的网络:以太网和点对点的链路(SLIP链路)
为了不让主机跨越不同的网络就得使用不同的子网号,这里是将8bit的子网号扩充到11bit,这叫做变长子网,用来区分不同的网络,这里11位子网号中的前8位始终是13,剩下的3位,二进制001表示以太网,010表示点对点SLIP链路
变长的子网掩码在140.252网络中不会给其他主机和路由器带来问题,只要目的地址是子网140.252.13的所有数据报都传给路由器sun(IP地址是140.252.1.29)
第一栏是主机,但是sun和bsdi也有路由器的功能,他们是多接口的,可以将数据分组从一个接口转移到另一个接口
最后一行是广播地址,对应的主机号(后五位)全为1
3.8 ifconfig命令
Linux系统对应的是ifconfig(interface config)命令,Windows系统对应的是ipconfig命令,该命令的作用是获取网络接口的配置信息,配置接口
3.9 netstat命令
netstat命令用来显示TCP、UDP、IP、ICMP协议相关的统计数据,一般用于检验本机各端口的网路连接情况