Skip to content

因特网原理

IP

网络号+主机号 32bit=8bit, 8bit, 8bit, 8bit

ip地址的分类

首先记住不论什么地址 不能全为1或者全为0

a类

网络号1字节 主机号3字节,并且网络号的第一位一定要是1

网络号个数:2^7(减去第一位的固定) - 1(全1) -1(全0)

主机号:2^24 - 2

b类

网络号的前两位一定要是10

网络号个数:2^14(减去第一二位的固定) -1(全0)

主机号:2^16 - 2

c类

网络号的前三位一定要是110

网络号个数:2^21(减去第一二三位的固定) -1(全0)

主机号:2^8 - 2

使用范围

一共32个字节,8字节一组

image-20230221162912688

看上图 所以127不属于ip的可分配分类中

ip数据报格式

image-20230221162932003

p.s. n位可以表示多少种数据:2^(n-1) + ... + 2^02^n - 1

  • 一行32位 源ip地址和目的ip地址都占一行 也就是4B/字节。
  • 1字节一般表示成8位,因为4位的二进制等于一位的十六进制,所以1字节也可表示为两位的十六进制。
  • 规定首部的固定部分是20个字节

ttl

其实是…time to live 生存时间!也就是一个count 每经过一个路由 count-1 为0时还没到达终点即宣告失败把包丢弃

ip数据报的分片与重组

当一个IP数据报的总长度超过MTU值时,每个分片的数据部分的长度应该是MTU-20后向下取8的整数倍

about 路由器

  • 路由器仅根据网络号来转发分组
  • 一个路由器至少应该有2个不同的ip地址
  • 路由协议:使用传输层的udp进行传输 每隔30s会向相邻路由器广播自己的整个路由表

ip分组的转发

直接交付 间接交付

  • 特定主机路由:单独一个指定ip地址 那掩码肯定是255.255.255.255
  • 默认路由:多个下一跳相同的表的合并 该行对应的掩码是0.0.0.0 即所有走到这个选择的ip地址都属于“这儿没找到”网段

IPv6

32bit->128bit

还有格式

IPv4向IPv6过渡的方法:

(1)双栈技术:主机或路由器同时装有IPV4和IPV6两个协议栈,因此主机既能和IPV4通 信, 也能和IPV6通信。

(2)隧道技术:在IPV6分组进入IPV4网络时,将IPV6分组封装成IPV4分组; 当 封装成IPV4分组 离开IPV4网络时,再装数据部分(IPV6部分)转发给目的节点。

ICMP

Internet Control Message Protocol

它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。//注意只有一个包 所以并不表示网络快不快

“IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。

当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。”

常用的ping, tracert就是基于此

ref: https://blog.csdn.net/inject2006/article/details/2139149

其中我还不大明确的是icmp数据包与ip数据包之间的关系

子网划分

从主机号中划出一部分给子网 目的:使多个物理网络可以共用一个网络前缀。

image-20230221163046798

如上,子网掩码占了主机号的三位,则可以把网络划分为2^3=8个子网段

注意!一般全0和全1的主机地址不分配,所以要把划分的网段数-2,每个网段所容纳主机数也要对应-2

广播地址:主机号全部为1(B类地址的最后一大节肯定是255了)

CIDR地址块

即形如 202.119.230.0/24 24则表示网络掩码到第三大位

则表示的地址块有 2^(32 - 24) = 2^8个地址

哇给大家分网络地址块的…真的理解了我好一会…

image-20230221163114263

比如某机构获得了拥有地址块202.192.0.0/16 需要把地址分给以上四个大学。那么16在这里已经么有什么意义了~分给大学地址的掩码长度肯定会小于16,按先后顺序,倒着来占“子网号”的坑

-------这种网络块的地址就称为网络地址,它是一个ip区间,又称ip地址空间~

网络聚合

image-20230221163137564

VPN工作原理

隧道传输(IP-in-IP封装 所以要发的内容会被加密后再封到数据报中) 与 加密技术

NAT: network address translation用来解决本地编址的内部网络与外网通信的问题

在专用网连到外网的服务器上装NAT软件 它能帮忙转换~

端口及套接字 // 传输层会处理到端口的消息

介绍了一些常用协议用的是tcp还是udp服务及其端口

一般而言 需要可靠的都是tcp 比如http ftp telnet ; dns就是udp 还有路由选择RIP

image-20230221163259668

三次握手连接 四次握手释放

image-20230221163402067

image-20230221163412883

TCP可靠传输

序号确认机制

超时重传机制

tcp还可以流量控制和堵塞控制