Technology:Internets and Packets
Layer 2 : Internet Protocol
The InterNetwork
Internetwork Layer
中文中称之为网络层。当我们在看网络层的时候,可以忽略下层数据链路层的各种问题,以及在它之上的运输层、应用层的实现问题。专心关注于网络层。当我们研究数据链路层的时候,我们只关注各个主机和路由器或者是路由器与路由器之间的链接。而网络层关注的则是整个网络的所有链路的连接。其实IP层的目标就是把数据从一台电脑发送到另外一台电脑,而IP地址在这发送的过程中就起着至关重要的作用。
IP Address
MAC是硬件固化的地址,在生产的时候就已经确定了。而IP地址是变化的,比如在学校上网你需要一个IP地址接入Internet,在家里上网你就要另外一个IP地址接入Internet。IP地址是全球都在使用的,每个都是不一样的。
老师介绍了可以通过网站来查询自己分配到的IP地址。当然你也可以输入某个具体的IP地址,来查看IP地址所代表的网络。
IP Address Format
IPv4中的IP地址的格式有32位,为了提高可读性,采取点分十进制记法也就是把32位的IP地址每8位用其等效的十进制数字表示并在这些数字之间加上一个点。而32位的IP地址具体是如何编址的呢?这就要涉及IP地址的编址方式了。现如今IP地址的编制方式采取的是无分类编址将IP地址划分成两个部分:
IP地址::={<网络前缀>,<主机号>}
其中网络前缀是不定长的,用来指定该IP地址是哪个网络的地址。要配合子网掩码 来表示IP地址的前缀的长度。而主机号则是指明该网络中的主机。其实这个就有点类似我们的电话:区号+电话号码的那种形式。而这样做当然是有目的的,因为当packet在网络中只认前面的网络号,当packet交付给目的网络之后再看主机号,将packet交付给目的主机。
IP协议的重要之处就是在于它将各个网络连接起来。而标识各个网络的就是IP地址的网络前缀。
Router Tables
packet在网络中传送会有很多的路径可以选择。而路由器如何选择并转发就要使用到路由表。路由器根据路由表中的目的网络去选择下一跳,并将数据转发。路由表有个特点就是它是动态更新的。
DHCP(Dynamic Host Configuration Protocol)
动态主机配置协议。当一台新的主机连入网络之后,就向DHCP服务器发送请求,DHCP服务器响应并分配一个IP地址给新的主机使用。不过如果连入的主机过多,要给每个主机分配一个IP地址,那么就会出现IP地址不够分配的情况。
NAT(Network Address Translation)
为了解决IP地址不够分配的问题。1994年提出了NAT。当你在局域网内部获得的是临时的local address,这些地址不能直接访问Internet,而当数据需要传送到Internet的时候,就会将local address转成ISP提供的global routable address。local address称为non-routable address。
TTL(Time to Live)
讨论完这些,如果考虑一下packet在网络中路由器的转发情况。网络中如果数据在路由器的转发中形成了环路该怎么办呢?其实在IP数据报中有一个字节用来表示生存时间的。它表明了数据在网络中的寿命,数据转发到某个路由器,路由器在数据转发智强将TTL 的值减1。当减少到0,数据就会被路由器丢弃。