网络协议二

网络协议为什么要进行分层:复杂的程序分层简单,不同的层处理本层的事;在网络中每层都是将最上层的东西拿出来(当接受一个网络报的时候先从网络包中拿出mac头判断mac地址是不是自己的mac地址,如果是自己的mac地址然后在取出ip头进行处理,如果目标IP地址是自己的则进行处理,如果不是则应该转发出去。以此类推。。。网络结构图在第一章章已经存在了)

在我们的使用中,上层协议必须包含下层协议,在网络协议的三次握手中,tcp之间的握手,需要利用IP层和MAC层进行协议的处理,通过层层封装完成三次握手的过程;

总结:只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可有上层包没有下层包;

查看IP地址的方式:ifconfig(linux)与ip addr

如果两者都没有可以自行安装net-tools和iproute2;

ifconfig会显示所有的网卡,每个网卡都有一个IP地址

前面已经说过ip是网络世界用来查询地址的,关于IP地址进行介绍如下:

IPv4分为四个部分。每个部分包括8个bit,现在因为不够用的原因,于是有了ipv6,有128位;

ipv4被分为A B C D E五类,对于A B C 类主要有网络号和主机号两部分组成,其结构如图所示:

网络协议二

可以看出来C类IP中的主机数太少了,为了解决这个问题,出现了无类型域间选路(CIDR)其将地址一份为二,前面是网络号,后面是主机号。如(192.168.122.101/24),后面的24代表前24位为网络号,后面8位为主机号,其是以十进制的形式进行展示的。在上面的例子中我们可以看出来广播地址是 192.168.122.255,发送这个地址,在网络号192.168.122中的主机都能收到。另一个是子网掩码,255.255.255.0。因此:将子网掩码和 IP 地址按位计算 AND,就可得到网络号。如果192.168.122.101/x x不是8的整数倍数,就需要将其分为二进制进行求子网掩码  广播地址和公有地址等。

公有IP地址和私有IP地址:私有IP地址是在一个区域内部进行通信的,私有IP地址可进行管理,不同的区域内私有IP地址可以相同。公有IP地址要进行统一的分配。一般的公有地址是192.168.122.1就是出口IP地址。

D类地址是一个组播地址,使用这个地址,在同一个组的机器都可以收到。

MAC地址,十六进制,6个bit表示,它是全局唯一的;那么为什么我们不在寻找目标地址的时候全部使用mac地址去找呢?

在寻找的过程中,除了需要准确的mac之外,还需要定位的功能。mac的设计主要是为了在不同的网卡放到一个网络里面的时候不会产生冲突。mac地址的通信在一个子网里面,其定位的范围很小,一旦跨越子网就需要使用IP。

在linux中请求ip addr的时候出现的网络设备标识

《BROADCAST,MULTICAST,UP,LOWER_UP》是什么意思呢?

UP:网卡处于启动状态;

BROADCAST:网卡的广播地址;

MULTICAST:网卡可以发送多播包;

LOWER_UP:存在网线;

MTU500:网络中规定mac头不能超过1500个字节;

qdisc pfifo_fast的先进先出队列被分为三个波段:波段有优先级的划分,band优先级最高。数据包根据TOS被分到三个波段中;