网络层
网络层解决的问题是在复杂的网络环境中确定一个合适的路径
IP协议(不可靠)
1.IP提供了一种将数据从A主机跨网络送至B主机的能力。
2.IP地址被分为两部分。前半部分叫做网络号,后半部分叫做主机号。
但IP提供的这种能力并不能使数据每次都能送达(原因是可能发生数据包丢失问题),那么解决此种情况的方法是只要有数据丢失就重新发送即可。但IP不保证可靠性,所以重新发送需要TCP进行重传(TCP保证可靠性)。
客户端要跨网络将数据传输到服务器的前提是客户端要将数据先传输到离自己最近的某个路由器。
端到端由IP地址决定,点对点由MAC地址决定。
IP地址当中的目标网络为我们提供了路由依据。
为什么主机B发送数据要先到路由器F,F要到G呢?
因为要到主机C。
基本概念:主机:配有IP地址,但是不进行路由控制的设备;路由器:即配有IP地址又能进行路由控制;节点:主机和路由器的统称。
协议头格式
1.IP是如何做到将报头与有效载荷分离?
IP报文可以根据总长度将报头与有效载荷分离。
2.IP如何知道将数据交付给上层哪个协议呢?
由8位协议字段中的上层协议类型决定。
4位版本号:IPv4(4个字节)IPv6(16个字节)。通常均使用IPv4,则4位版本号就为4.
4位首部长度:与TCP相同。基本单位为4个字节,IP头部最大长度是15*4=60字节。
8位服务类型:最小延时(跨网络传输数据尽量保证所需时间最短)、最大吞吐量、最高可靠性、最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要;对于ftp这样的程序,最大吞吐量比较重要。
16位总长度:IP报文长度。
8位生存时间(TTL):TTL决定了IP报文在网络中被转发的次数(IP报文本身的生命时长)。数据报到达目的地的最大报文跳数,一般是64,每经过一个路由TTL减1&#