计算机网络之网络层

好久不见. 提交于 2020-01-27 00:46:25

网络层设计思路:向上只提供简单的灵活的、无连接、尽最大啊努力交付的数据报服务。

每个分组独立发送,前后分组不进行编号、分组可能出错、丢失、重复、失序,也不保证交付的时间,如果计算机需要保证可靠的通信,需要运输层负责,网络层的实现尽量简单。

互联网中需要把两个网络连接起来的设备

  1. 物理层使用的中间设备是转发器
  2. 数据链路层使用的中间设备叫做网桥或桥接器
  3. 网络层使用的中间设备叫路由器
  4. 网络层以上的叫网关

第一种和第二种其实将网络扩展,在网络层其实还是属于一个网络,第四种比较复杂,所以现在使用的都是路由器。 

字段 解释
4位版本号 指定IP协议的版本, 对于IPv4来说,就是4
4位头部长度 IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节
8位服务类型 3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置0). 4位TOS(最小延时, 最大吞吐量, 最高可靠性, 最小成本),只能选其一. ssh/telnet这样的应用程序, 最小延时比较重要; 对于ftp这样的程序, 最大吞吐量比较重要
16位总长度 IP数据报整体占多少个字节
16位标识 唯一的标识主机发送的报文. 如果IP报文在数据链路层被分片了, 那么每一个片里面的这个id是相同的
3位标志字段 第一位保留,第二位置为1表示禁止分片, 这时候如果报文长度超MTU, IP模块就会丢弃报文. 第三位表示”更多分片”, 如果分片了的话, 最后一个分片置为1, 其他是0
13位分片偏移 是分片相对于原始IP报文开始处的偏移. 其实就是在表示当前分片在原报文中处在哪个位置
8位生存时间 数据报到达目的地的最大报文跳数
8位协议 表示上层协议的类型
16位头部校验和 使用CRC进行校验, 来鉴别头部是否损坏
32位源地址和32位目标地址 表示发送端和接收端
选项字段 不定长, 最多40字节

IP数据报的总长度不能超过MTU,超过MTU需要进行分片,但是IP数据报越长,效率高,所以规定每一个路由器必须可以处理不超过576个字节的IP数据报,就是说MTU不能小于576。

网络层只校验数据报的首部,不校验数据部分,数据部分在数据链路层有校验。

路由器转发需要配置路由表,根据路由表中的配置进行转发分组。

主机号为0的网络地址和主机号为1的网络地址不能使用,主机号0表示当前的网络号,主机号为1表示广播地址。

网络层丢弃报文:

  1. 规定时间内没有接受到源点发送的所有分组,对齐已经接受的所有分组
  2. 首部校验出错丢弃所有的分组。

ICMP差错报告报文

  1. 终点不可达
  2. 源点抑制
  3. 时间超时
  4. 参数问题
  5. 改变路由

ICMP询问报文

  1. 会送请求和回答
  2. 时间戳秦秋和回答

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!