SHOUT OUT MY SLOGAN: ——Fighting ! Stealthy Learner (加油偷博仔!)
(来自有道翻译,hhh)
不知不觉,我已经Stealthily learn《计算机网络》了这么多日子了。
所幸,在没人监督的要认真学习的时候,
没有纠结太久:
“to study or not to study (和好姑娘打游戏) is a question”
不像顾城先生笔下的小鱼儿,还在研究(纠结) 《水呀,真急》
水呀,真急,真急,
桥墩后又几条小鱼 …
它们在举行会议,
研究着前进还是退避。
太阳在桥面上走过,
带着几分醉意。
研究在不断继续,
河水在不断流去。
月牙在桥栏边停靠,
似乎要看个仔细。
水呵,真急,真急,
桥墩后又几条小鱼 …
————《水呀,真急》1980年3月
可能,小鱼仍在研究,大鱼已到上游。
加油大鱼儿萌!Let’s get to today’s topic
0 、IP主要内容、IP datagram格式
主要内容是这些:
- 数据报格式
- 分片
- IPv4地址
- NAT:网络地址转换
- IPv6
再来看一下IP在网络中所在的层次。
- 互联网的网络层 (主机,路由器中的网络层功能:)
同时,网络层还有其他的协议,比如 “路由协议”。(会实现控制平面的路由功能。)
在讲到网络层的控制平面,会细说。
红框摘出来看一下。
IP 协议
•地址约定 (长度啊、有无分成网络部分/主机部分啊/、有没有所谓内网地址啊…)
•数据报格式 (pdu格式,分成header和body。)
•分组处理的约定 (ttl -1 …)
而ICMP协议主要是拿来测试的,比如ping…
- IP 数据报格式
Describes several fields
固定20字节的头部。
选项长度 = 数据报总长(length) - 20Bytes的固定长度
·
IP 协议版本号(ver):——4个bits。
现在上面就是IPV4(0100)的数据报格式。
头部长度(head len),以一(bit)当四(bytes) :
普通IP数据报(没有option时)该字段的值是5(即20个字节的长度)。如果有options那么大于5
服务类型(TOS、type of service):
占用8位二进制位,用于规定本数据报的处理方式。基本废弃不用了…
第二行的三个字段:
用于分片,后文细说。
Internet checksum:
判断分组的头部在传输过程中,有没有问题
一、IP 分片和重组(Fragmentation & Reassembly)
- 网络链路有MTU(最大传输单元) – 链路层帧所携带的最大数据长度
不同的链路类型
不同的MTU
再Briefly Describes一下MTU:Maximum Transfer Unit:
如果IP层有一个数据报要传,而且数据帧的长度比链路层的MTU还大,
那么IP层就需要进行分片( fragmentation),
即把数据报分成若干片,这样每一片就都小于MTU。
- 大的IP数据报在网络上被分片 (这可不是乱分的啊,是训练有素的IP,有备而来的!)
- 一个数据报被分割成若干个小的数据报
相同的ID (区分不同的数据报)
不同的偏移量 (数据报的按序重组排序)
最后一个分片标记为0 - “重组”只在最终的目标主机进行
- IP头部的信息被用于标识,排序相关分片
- 一个数据报被分割成若干个小的数据报
1.IP 分片和重组-例子
二、IP 编址: 引论
- IP 地址: 32bits标示,对主机或者路由器的接口编址
- 接口: 主机/路由器和物理链路的连接处
路由器通常拥有多个接口
主机也有可能有多个接口
IP地址和每一个接口关联 - 一个IP地址和一个接口相关联
1.子网(Subnets)
-
什么是子网(subnet) ?:
一个子网内的节点(主机或者路由器)
它们的IP地址的高位部分相同(前缀相同),这些节点构成的网络的一部分叫做子网
无需路由器介入(再ip的层面“一跳可达”),子网内各主机可以在物理上相互直接到达 -
IP地址:
子网部分(高位bits)
主机部分(地位bits)