今日吐槽:没有面试 面试却挂了
“掌握IP编址就是掌握因特网的网络层!”
为什么在网络层和运输层都进行差错检测?
首先,IP层只对IP首部计算了检验和,而TCP/UDP检验和是对整个TCP/UDP报文段进行的。
其次,TCP/UDP与IP不一定都属于同一个协议栈。原则上,TCP能够运行在一个不同的协议上,而IP能够携带不一定要传递给TCP/UDP的数据。
因为每个IP数据报要被封装在链路层帧中从路由器传到下一台路由器,所以链路层协议的MTU严格限制着IP数据报的长度。
将数据报分成更多的较小的数据报,这些较小的数据报每个都叫做 片 。
MTU:最大传送单元。一个链路层帧能承载的最大数据量。
片在到达目的地运输层以前需要重新组装,TCP与UDP都希望从网络层收到完整的、未分片的报文。
当一台目的主机从相同源收到一系列数据报时,它需要确定这些数据报中的某些是否是原来一些较大的数据报的片。
为了让目的主机执行组装任务。IPv4数据报首部有 标识、标志、片偏移 字段。
发送主机通常将它发送的每个数据报的标识号+1。当某路由器需要对一个数据报分片时,形成的每个数据报(即片)具有初始数据报的源地址、目的地址与标识号。
当目的地从同一发送主机收到一系列数据报时,它能够检查数据报的标识号以确定哪些数据报实际上是同一较大数据报的片。
为了让目的主机绝对地相信它已收到了初始数据报的最后一个片,最后一个片的标志比特被设为0,而所有其他片的标志比特被设为1。
另外,为了让目的主机确定是否丢失了一个片(且能按正确的顺序重新组装片),使用偏移字段指定该片应放在初始IP数据报的哪个位置。
接口:主机与物理链路之间的边界叫做接口。路由器与它的链路之间的边界也叫做接口。路由器必须拥有两条或更多条链路与它连接。
IP要求每台主机和路由器接口拥有自己的IP地址。因此,从技术上讲,一个IP地址与一个接口相关联,而不是与包括该接口的主机或路由器相关联。
每个IP地址长度为32比特(4字节)。
点分十进制:地址中的每个字节用它的十进制书写,各字节间以句点隔开。
例如
193.32.216.9的二进制记法是
11000001 00100000 11011000 00001001
子网掩码:
例如
223.1.1.0/24,其中/24记法被称为子网掩码,指示32比特中的左边24比特定义了子网地址。
任何其他要连到223.1.1.0/24网络的主机都要求其地址具有223.1.1.xxx的形式。
当使用子网寻址时,32比特IP地址被划分为两部分,并且也具有点分十进制数形式a.b.c.d/x,其中x指示了地址的第一部分中的比特数。
形式为a.b.c.d/x的地址的x最高比特构成了IP地址的网络部分,并且经常被称为该地址的网络前缀。
当组织外部的一台路由器转发一个数据报,且该数据报的目的地址位于该组织的内部时,仅需要考虑该地址的前缀。这大大减少了在这些路由器中转发表的长度,因为形式a.b.c.d/x的单一表项足以将数据报转发到该组织内的任何目的地。
IP广播地址:255.255.255.255
当一个主机发出一个目的地址为255.255.255.255的数据报时,该报文将会交付给同一网络中的所有主机。
A类网络:网络部分8比特
B类网络:网络部分16比特
C类网络:网络部分24比特
一个C类网络仅能容纳2的8次方-2=254台主机。(其中的两个地址预留用于特殊用途)
1.ISP分配
为了在子网内获取一块IP地址,管理员可能首先与她的ISP联系,该ISP可能会从已分给他的更大地址块中获取一些地址。
2.ICANN组织 权威机构分配
不仅分配IP地址,还管理DNS根服务器。
DHCP又被称为即插即用协议、零配置协议。因为DHCP具有将主机连接进一个网络的网络相关方面的自动能力。
DHCP允许主机自动获取一个IP地址。
DHCP是一个客户、服务器协议。在最简单子网下,每个子网将具有一台DHCP服务器。如果在某子网中没有服务器,则需要一个DHCP中继代理,这个代理知道用于该网络的DHCP服务器的地址。
四个步骤。
1.DHCP服务器发现
一台新到达的主机首要任务是发现一个要与其交互的DHCP服务器。这可通过使用DHCP发现报文来完成。客户在UDP分组中向端口67发送该发现报文。该UDP分组封装在一个IP数据报中。
数据报应该发给谁?使用目的地址广播地址255.255.255.255,使用”本主机“源IP地址0.0.0.0。
DHCP客户将该IP数据报传递给链路层,链路层然后将该帧广播到所有与该子网连接的节点。
2.DHCP服务器提供
用DHCP提供报文响应,该报文向该子网的所有节点广播。
每台服务器提供的报文包含:收到发现报文的事务ID,向客户推荐的IP地址、网络掩码、IP地址租用期。
3.DHCP请求
新到达的客户从一个或多个服务器提供中选择一个,并向选中的服务器提供用DHCP请求报文进行响应,回显配置的参数。
4.DHCP ACK
服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数。
每当节点连到一个新子网,要从DHCP得到一个新的IP地址,当一个移动节点在子网之间移动时,就不能维持与远程应用之间的TCP连接。
网络地址转换NAT。
NAT能使路由器对外界隐藏了家庭网络的细节。
如图。
假设一个用户的家庭主机10.0.0.1,请求IP地址为128.119.40.186的某台Web服务器(端口80)上的一个Web页面。主机10.0.0.1为其指派了(任意)源端口号3345并将该数据报发送到LAN中。
NAT路由器收到该数据报,为该数据报生成一个新的源端口号5001,将源IP替代为其广域网一侧接口的IP地址138.76.29.7,且将源端口3345更换为新端口5001。
Web服务器不知道到达的数据报已经被NAT路由器进行了改装,它会发回一个响应报文,其目的地址是NAT路由器的IP地址,其目的端口号是5001。当该报文到达NAT路由器时,路由器使用目的IP地址与目的端口号从NAT转换表 中检索出家庭网络浏览器使用的适当IP地址(10.0.0.1)和目的端口号(3345)。于是,路由器重写该数据报的目的IP地址与目的端口号,并向家庭网络转发该数据报。