计算机网络系列(2)之网络层Internet Protocol (IP)

1. IP address
IP地址(默认外网)是Internet的唯一标识地址。其作用是提供唯一网络地址,意义上将全世界的Computers通过网络连接了起来。

1.1. IP address format
IP地址 Prefix + Suffix,IP地址由前缀(Prefix)和后缀(Suffix)构成。其中,前缀(Prefix)可以进一步地划分为Class identifier bits 和 Network ID构成,后缀又可以进一步地划分为Subnet 和 Host ID。用到Subnet,就得有相应的Subnet Mask。

2. IP datagram
2.1. Packet
In computer communication, a packet is a basic unit of communication and is composed of: Header + Data. IP数据包主要由Header + Data部分组成。其中数据包的头部Header大小为20字节。

2.2. IP datagram
Different networks may adopt different packet formats. IP datagram uses a network-independent packet format. Header (20 bytes) + Data

计算机网络系列(2)之网络层Internet Protocol (IP)_第1张图片

其中,注意IP datagram中的源地址(Source IP address)和目标地址(Destination IP address)。

2.3. Delivery of IP datagram
Independent delivery + Best effort delivery

2.4. Maximum transmission unit (MTU) of IP datagram
each network has a maximum packet size。每一种网络有不同的IP数据包的最大数据包值。

2.5. Fragment
当数据包的大小超过Maximum transmission unit (MTU) of IP datagram的时候,人们需要将大的数据包分片成若干个小的数据包。Divide an IP datagram into multiple smaller IP datagram (call fragments) for delivery across the network.其中,每一个小的数据包都有数据包头,数据包data部分,换句话说,每一个小的数据包都是一个逻辑上功能上都完整的数据包。

当然,被分片后的小的数据包为了分辨该数据包的前驱数据包是谁,后继数据包有没有,如果有,那后继数据包是谁等问题,分片数据包有相应的格式:Total length + fragment offset + More-fragment-bit

2.6. Reassembly
根据上面提到的分片数据包的格式,我们可以将若干个分片数据包重新组合成为一个完整的数据包。

3. IPV6
3.1. IPV4 and IPV6
IPV4: IP version 4 is being used in the Internet.
IPV6: IP version 6 is a new version for the Internet.

3.2. Tunneling
目前可以通过“管道”的形式来使用IPV6. An IPV6 datagram can be encapsulated into an IPV4 datagram for delivery across IPV4 systems. 就是说,将IPV6 数据包封装成IPV4协议可以识别的格式,然后在IPV4网络中传输。原则上,在IPV4网络上封装传输IPV6的数据包意义不大,因为这样IPV6的数据包其实和IPV4的数据包没本质区别。只有在支持IPV6的网络上运行IPV6协议,才能发挥出IPV6协议的特点,比如简化的报头,比如认证隐私保护,比如可拓展性强,等。

4. Questions
Q1: An organization has 20 computers, connects these computers to the Internet through a router, and gets a class C network ID of 200.1.1. Assign IP addresses for this organization.

计算机网络系列(2)之网络层Internet Protocol (IP)_第2张图片

其中,200.1.1.0保留为network address,200.1.1.255保留为broadcast address.

Q2: Suppose the following IP datagram is divided into three fragments of equal size:

这里写图片描述

Determine the following header fields in each of these fragments:
- Total length
- Offset
- More-fragment-bit

Fragment1: 这里写图片描述

Fragment2: 这里写图片描述

Fragment3: 这里写图片描述

计算机网络系列(2)之网络层Internet Protocol (IP)_第3张图片

Q3: A computer receives the following four fragments. Perform reassembly to recover the original IP datagram(s).
计算机网络系列(2)之网络层Internet Protocol (IP)_第4张图片

IP datagram: 这里写图片描述

IP datagram: 这里写图片描述

Q4: In reassembly, the destination computer reassembles the fragments. Would it better if an intermedia router performs reassembly?

No. It may result in unnecessary operations among intermedia routers, such as Router 1 reassembles some IP diagrams and forward it to Router 2. Then, Router 2 may need to fragments it before forwarding to Router 3.

Q5: Discuss the major difficulties in upgrading from IPV4 to IPV6.
upgrading is costly.
upgrading IPV6 individually is hard to obtain the benefits of IPV6 if most of people do not use IPV6.

Q6: A student argued that IP is useless because IP does not ensure reliable communication but we need reliable communication through the Internet. Do you agree?

No. IP is used to find internet address. IP is like a best-effort postman. TCP like a secretary who can ensure reliable communication already.

5. 重点
重点1:IPV4地址是严格遵循逐个字节解析显示的,无论子网怎么划分,不太可能出现1.5个字节解析显示,Again,IPV4地址严格遵循逐个字节解析显示。在这个基础上,下面将意义,IP地址格式上分为前缀和后缀,其中,前缀又可以进一步地划分为A类B类C类网络类型的标识位+Network ID; 后缀又可以进一步地划分为Subnet ID + Host ID. Internet通过IP(Internet Protocol)进行唯一public网络地址的标识。

重点2:分析Internet Protocol (IP) 这一套协议,IP协议的目的是进行唯一public网络地址的标识。这一功能是通过IP地址的头部数据报文中两个重要的字段:源IP地址和目标IP地址,来实现的。

扯远一下,根据欧几里得几何我们知道,任何一条线段都有起点和终点,其中,起点和终点是一种相对的概念,比如,两条线段共享一个顶点,这时这个顶点既是线段一的终点,也是线段二的起点。

根据欧几里德线段,我们知道:IP地址的起点和终点也是相对的,相对于你着眼的某个连接(connection)。

重点3: IP数据报文的分片和重组。因为不同网络类型对IP数据报文最大值的限制不同,所以IP数据报文经常会遇到被分片的问题。每一个IP数据报文分片都是完整的IP数据报,他们和未被切分的数据报文一样,都有完整的IP数据报头,有完整的IP数据报内容——唯一的区别就是被分片后的IP数据报文的报头的一些字段上内容标注可能不太一样,比如offset字段,比如flags字段等。收到分片之后,主机对缓冲区中的IP数据分片进行重组。

你可能感兴趣的:(计算机网络)