进制转换
二进制 0 1
十进制 0~9
十六进制 0~9,A~F(10~15)
二进制--十进制
1个十进制的数字=8位二进制数字;
例如0 0 1 0 0 1 1 0----32+4+2=38
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
只能转到255
二进制转成十六进制
1个十六进制的数字=4位二进制数字
8 4 2 1
1 1 0 1---D
十进制转成十六进制
方法:十转二,二转十六
网络层协议
网络层经常被称为IP层。但网络层协议并不只是IP协议,还包括ICMP(Internet Control Message Protocol)协议、IPX(Internet Packet Exchange)协议等。
IP协议
IP是Internet Protocol的缩写。 Internet Protocol本身是一个协议文件的名称,该协议文件的内容非常少,主要是定义并阐述了IP报文的格式。
经常被提及的IP,一般不是特指Internet Protocol这个协议文件本身,而是泛指直接或间接与IP协议相关的任何内容。
作用
为网络层的设备提供逻辑地址
负责数据包的寻址和转发
版本
IPv4 (IP Version 4)
IPv6 (IP Version 6)
IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。若无特别声明,本章所提及的IP均指IPv4。
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。
数据封装
应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。
如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头和尾部得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。
这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。
本章节我们主要讨论数据在网络层的封装,如果封装为IP协议,则被称为IP Packet(IP数据包)。
IPv4报文格式