网络基础三
数据通过应用层、传输层将数据传输到了网络层;
传输层协议,如:TCP协议提供可靠性策略或者高效性策略,UDP提供实时性策略,保证向下层交付的数据是符合要求的的;而网络层,如:IP协议负责数据真正地传输,发送到网络中,跨网络传输;
有能力达成目标和实现目标并不相等;直接使用网络层传输是可以让远端接收到数据的,但是并不能保证数据一定是符合预期的,所以通过传输层与网络层合作,可以真正地实现远端接收到需要的数据;
1.IP相关认识
1.为了实现跨网络传输就要保证每一个主机在整个网络中有唯一的标识;所以就使用了源IP和目的IP来标识源主机和目的主机;IP地址一般可以分为私有IP和公网IP;两台主机通信可以使用公网IP进行通信;
2.IP地址 = 目标网络 + 目标主机,即点分十进制的形式实际上是被分成了两部分;在通信过程中先要到达目标主机所在的网络中,然后再到达目标主机;
如果IP地址没有拆分开,查找的时候就需要一个IP一个IP地进行比对,每次只能排除一个IP,而将IP地址划分层网络部分和主机部分,就可以一次性排除一批同一子网中IP,提高了排除效率;
同一个局域网中的主机IP地址的网络部分是一样的,不同的主机对应IP地址不同的主机部分;每一个局域网都有自己的出口路由器,一批路由器构成了一个公网;所以路由器不仅要认识子网内的所有主机,还需要认识公网内的所有路由器(局域网);
总结:IP地址的划分主要是为了高速地定位一台主机,加快路由效率;
2.IP协议的报文格式
1.报头和有效载荷分离,使用4位首部长度和16位总长度实现(固定长度 + 自描述字段);
2.将有效载荷交付给上层;
4位首部长度,与TCP的含义是一样的,取值范围是0-60字节,由标准报头(标准报头20字节) + 选项构成;
4位版本,指定IP协议的版本,对于IPv4来说,就是4,IPv4最多只有2^32个地址,由于网络的发展入网设备增多,IPv4地址不够用,于是就出现了IPv6地址,还有NAT技术;IPv4在公网领域使用,IPv6一般在内网使用;
8位服务类型, 3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0);4位TOS分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本;这四者相互冲突, 只能选择一个;对于ssh/telnet这样的应用程序, 最小延时比较重要;对于ftp这样的程序, 最大吞吐量比较重要;根据服务类型结合策略进行路径选择;
16位总长度(total length),IP数据报整体占多少个字节;所以在IP层发送的是一个完整的报文(不是TCP一样的字节流);
8位生存时间(TTL),当主机不可达,网络有BUG,就会导致IP报文一直转发(从一个路由器发送到另一个路由器);01序列在长距离传输的过程当中是会衰减的,使用集线器将信号放大解决此类问题,这样会使得网络中存在大量游离报文找不到目标主机,所以要防止游离报文一直存在就设置了生存时间,表示数据报文最多的路由跳数;