网络层(二)

IP数据报格式
常常为32位,4字节为单位来描述。由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须有的,在首部的固定部分后面是一些可选字段,长度是可变的。

IP数据报首部的固定部分:

1,版本,4位,IP协议版本,通信双方IP协议版本必须一致。IPv4,IPv6。
2,首部长度,4位,可表示最大十进制数值15。可这字段表示的单位是32位字(4字节),当IP首部长度是1111时,首部长度就是4*15=60字节。当IP分组首部长度不是4字节整数倍,必须用后的填充字段填充。最常用的首部长度是20字节,即0101,这时不适用任何选项。

3,区分服务,8位,只有在区分服务时才使用。

4,总长度 ,16位,首部和数据之和的长度,数据报最长为2^16-1=65535字节。IP层下面每一种数据链路层都有自己的帧格式,包括帧格式中的数据字段最大长度,MTU。IP数据报封装成数据链路层数据报的总长度不能超过MTU。为了高效传输,主机和路由器必须能够处理IP数据报长度不得小于576字节,这个也就是最小的数据报的总长度。如果超过MTU会被分片,分片后的每一个分片首部长度与数据之和就是数据报中首部的总长度。

5,标识,16位,每产生一个数据报,计数器就+1,将值赋值给标识字段。相同标识字段的值使分片后的各个数据报片最后能正确地重装为原来的数据报。

6,标志,3位,目前只有前两位有意义。最低位MF=1,还有分片,MF=0最后一个。中间一位DF=0允许分片

7,片偏移,13位,分片后,某片在原分组中的相对位置,以8字节为偏移单位,每个分片的长度是8字节的整数倍。

8,生存时间,8位,TTL,数据报在网络中的寿命,TTL是跳数,TTL的意义指数据报在因特网中至多可以经过多少个路由器。最大为255,TTL设置为1,只能在局域网传播。

9,协议,8位,数据报携带的数据使用何种协议。

10,首部校验和,16位。只检验数据报的首部,但不包括数据部分。数据报每经过一个路由器,路由器都要重新计算一下首部校验和。计算方法:把数据报首部划分为许多个16位字的序列,把校验和字段设置为0,用反码算数运算把16位字相加后,写入校验和字段。接收方,收到后,将首部一样的16位字相加一次。将得到的和取反,若首部不发生变化,结果必为0.于是保留数据,否则丢弃数据。

11,原地址,目的地址,32位

IP数据报首部可变部分:为了增加IP数据报首部功能,1到40字节不等。

IP层转发分组流程。

如果在路由器所在的网络就直接交付,如果不在就转发到下一跳。路由表中,对每一条路由的主要信息,(目的网络地址,下一跳地址),

设置默认路由能够减少搜素路由表所用的时间。

在路由器接收到待转发的数据报时,在通过路由表得到下一跳的路由器IP地址后,不是把这个地址填入IP数据报,而是交给下层的网络接口软件,它负责把下一跳路由器的IP地址转换成硬件地址,并把地址放在链路层的MAC帧首部,然后根据硬件地址找到下一跳路由器。

分组转发算法:
1,从数据报首部提取IP地址D,得出网络地址N
2,若N为路由器直接相连网络地址,直接交付(包括IP转换硬件地址,封装MAC帧,发送帧)。否则执行3
3,若路由表中有目的地址D的主机路由,发送给下一跳路由器。
4,如果路由表中有N的路由,转发给下一跳路由器,否则5
5,若路由表有一个默认路由,把数据报发送给指明的默认路由,否则6
6,报告转发分组出错。

划分子网,构造超网

IP地址设计不合理之处
1,IP地址空间利用率低
2,每一个物理网络分配一个网络号会使路由表变得太大,因而网络性能变坏。
3,两级IP地址不够灵活

划分子网:
1,本单位外的网络看不见子网内部,子网内部,对外仍然是一个网络
2,划分子网两级IP变为3级IP,借用主机IP位。
IP::={<网络号>,<子网号>,<主机号>}
3,其他网络发送本单位主机的IP数据报,和原来一样,由网络号找到本单位网络上的路由器。路由器收到后,再按照目的网络和子网号找到子网,把IP数据报交给主机。

子网掩码:
使用子网掩码能使路由器通过2级地址转换成3级地址,能够发送到子网。子网掩码和IP地址进行AND运算,得出的就是子网的网络地址。不管有没有划分子网,都进行AND运算。

默认子网掩码

划分子网增加了灵活性,但减少了能够连接在网络上的主机总数。

同样IP地址和不同的子网掩码可以得出相同的网络地址,不同的掩码效果不同

使用子网时分组转发:
路由表包含:目的网络地址,子网掩码,下一跳地址。

算法:
1,提取数据报首部目的IP地址
2,判断是否直接交付,无执行3
3,如果路由表有目的地址D,转发下一跳路由,否则4
4,把路由表每一行和子网掩码运算,结果与目的网络地址匹配就传送到下一跳路由器。否则5
5,若有默认路由,转发到默认路由否则6
6,报告转发出错。

时间: 2024-08-04 09:26:20

网络层(二)的相关文章

计网第四章网络层(二)

网络图中的关键问题: 源到目的的最小费用路径是什么? 费用可以用带宽的倒数.拥塞程度等表示(越小越好) 路由算法:寻找最小费用路径的算法 路由算法的分类: 静态路由: 手工配置.路由更新慢 优先级高 动态路由: 路由更新快(定期更新.及时响应链路费用或网络拓扑变化) 全局信息: 分散信息: 原文地址:https://www.cnblogs.com/cellphone7/p/9824222.html

How Javascript works (Javascript工作原理) (十二) 网络层探秘及如何提高其性能和安全性

个人总结:阅读完这篇文章需要20分钟,这篇文章主要讲解了现代浏览器在网络层传输所用到的一些技术. 这是 JavaScript 工作原理的第十二章. 正如在之前关于渲染引擎的文章中所讲的那样,我们相信好的和伟大的 JavaScript 开发者之间的差别在于后者不仅仅只是理解了语言的具体细节还了解其内部构造和运行环境. 网络简史 49 年前,ARPAnet 诞生了.它是早期的报文分组交换网络及第一个实现 TCP/IP 协议套件的网络.该网络连通了加利福亚大堂和斯坦福研究所.20 年后,Tim Ber

TCP/IP(二):数据链路层和网络层

数据链路层 数据链路层的功能: 1)将数据封装成帧,帧是数据链路层传输的单位 2)控制帧的传输:处理简单的传输差错,调节发送速率,接送方匹配 3)维持两个连接网络实体间的链路建立.维持和释放管理 链路层的3个作用: 1)为IP模块发送和接收IP数据报 2)为ARP模块发送ARP请求和接收ARP应答 3)为RARP模块发送RARP请求和接收RARP应答 注意MTU(最大传输单元)规定的是帧的数据部分的长度,最大传输单元是链路的要求,MTU 分为接口 MTU 和路径 MTU:接口 MTU 是所指定的

【计算机网络】详解网络层(二)ARP和RARP

ARP ARP(Address Resolution Protocol,地址解析协议)是将IP地址解析为以太网MAC地址(物理地址)的协议.在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址).但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送.因此发送方还需要有接收方的物理地址,也就需要一个从IP地址到物理地址的映射,ARP就是事先这么功能的协议. 1.ARP报文格式 ARP是一个独立的三层协议,所以ARP报文在此

TCP/IP知识总结(TCP/IP协议族读书笔记二)

接下来,总结一下网络层的协议,IP,ARP,RARP,ICMP,IGMP.当我们在网络传输的过程中,把分组交付到主机或路由器需要两级地址:物理地址和逻辑地址.而且我们需要能够把物理地址映射成为相应的逻辑地址,反过来的映射也是必要的. 这时候就涉及两个概念:静态映射与动态映射. 静态映射就是创建一个表,将逻辑地址与物理地址关联起来,这个表存储在网络的每一个机器上.可是存在于网络中的机器的物理地址是经常会发生改变的(更换网卡),这样静态映射表就得时常更新,影响网络的性能. 动态映射就是每当机器知道其

TCP/IP和OSI网络层

一.网络层主要功能 负责数据包的最佳寻址 二.网络层最重要的协议 Internet Protocol 简称IP 三.数据传输中的不便 从发送方看: 1.接收方是否存在 2.数据是否真正送到了接收方 3.接收方是否能理解接收到的数据 从接收方看: 关心数据什么时候能送达 因为这些不确定因素的存在,使得IP协议是一种无连接的网络服务,正因如此,所以IP是一种不可靠协议,它所执行的数据转发是一种 "尽力而为". 四.传输介质 网络层不关心传输介质,只关心最佳路径,所以可以在不同的物理介质上进

OSI七层详解之二 数据链路层(DataLinkLayer)

一.简介 在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列. 数据链路层在不可靠的物理介质上提供可靠的传输.该层的作用包括:物理地址寻址.数据的成帧.流量控制.数据的检错.重发等. 在这一层,数据的单位称为帧(frame). 数据链路层协议的代表包括: SDLC.HDLC.PPP.STP.帧中继等. 链路层的主要功能: 链路层是为网络层提供数据传送服务的,这种服务要依靠本层具备的功能来实现.链路层应具备

OSI七层详解之三 网络层(Network layer)

一.简介 在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网.网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送.网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地 址信息- -源站点和目的站点地址的网络地址. 如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是"数据包"问题,而不是第2层的"帧".IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP).有关路由的一

TCP/IP协议简介(二) 之 链路层介绍

链路层介绍 一.简介 上一节已经介绍过,网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 为达到这一目的,数据链路必须具备一系列相应的功能,主要有: 将数据封装为帧(frame),帧是数据链路层的传送单位: 控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配: 在两个网络实体之间提供数据链路通路的建立.维持和释放的管理. 数据帧的结构是这样的: 二.控制帧的传输