一、IP地址
IP地址:IP地址分为IPv4(32位无符号整数)IPv6(128位无符号整数)
IP地址是由网络号(标志主机在哪个网络)和主机号(主机在网络是多少编号)组成
IP地址大多是IPv4,可以用点分法表示如:192.168.3.154 而IPv6则是没有点
早期IP地址划分为:把IP地址前一个数,转二进制即可看出是哪一类
怎么划分网络号和主机号呢 就是用子网掩码(mask)
网络号:是IP与上子网掩码的结果
主机号:是IP与上子网掩码的反码的结果
A类的IP地址范围(10.0.0.0-10.255.255.255)B类的IP地址范围(172.16.0.0-172.31.255.255)
C类的IP地址范围(192.168.0.0-192.168.255.255)
A(255.0.0.0),B(255.240.0.0),C(255.255.0.0),D,E类的IP地址都有自己特定的子网掩码
还有一种表达形式如:子网掩码是前19位为1,后面为0
特殊的IP地址:①主机号全为0,不会分配给主机使用,保留成网络地址
②主机号全为1,不会分配给主机用,保留位广播地址
③127.*.*.*保留成环回地址(代表主机)(最长使用127.0.0.1)
IP还分为公网IP(可以对外服务)和私网IP(不可以对外服务)
没有公网IP不能做服务器(因为可以连接我们)
私网也可以主动发起连接,但是需要一定的出来机制(NAT)
二、IP协议(处于应用层(跨LAN的主机to主机)(路由(寻路)))
IP协议头位:
4位版本:用来确定ip是哪个版本的(IPv4/IPv6)
解包:头部长度+数据长度
分用:8位协议
校验和:确保数据完整
TTL(TIME TO LIVE)(生存时间)(单位:跳)linux:64 w'indows:128
32位目的IP地址:为长期目标
IP包的分片问题:
物理层和数据链路层对单次数据包有上限,所以要进行分片处理
就好比送货,到郑州了,因为数量的限制,只能把货物分开送。
IP头部的三位标识符,分别代表:第一位为保留(先保留,也许以后会用) 第二位:为1是禁止分片 第三位:分片结束 标志
IP头部的16位标识:唯一的标识主机发送的报文(好比货的批次)
13位分片偏移:是指分片在原报文处于哪个位置(好比个片在原货物的位置)
IP协议是怎么做到路由器的:IP协议根据长期目标IP地址确定下一跳的主机(max地址)
步骤:目标IP地址+本机路由器确定下一跳的IP地址(跨局域网了要用路由器寻路)
根据下一跳IP地址+ARP(IP->MAX)表查询下一跳 MAX地址
把下一跳Max地址交给数据链路层,作为数据链路层填充目标MAX地址(短期目标)
路由器就是寻找下一条的目标IP的地址
二、以太网协议
MAX是物理地址
ARP表中的记录来自何处:根据下一跳IP+ARP换MAX地址,如果没有对应的IP地址,开始ARP请求(在广播域中(局域网))
NAPT:维护着映射表,是内外网地址交换
内网连接外网:现有一个IP为192.168.1.15 端口号位9999想连接118.154.253.132
通过路由器时地址改为路由器的地址IP 192.168.1.15<->113.16.28.114 9999<->53143(NAPT/NAT就是把这个映射信息保护起来) 之后与118.154.253.132建立连接(其不知道他们的交换)118.154.253.132确认应答时发给路由器之后地址再改变回来,传给192.168.1.15
有NAT也可以让别人不知道你的IP,起了保护作用,经常与防火墙一起作用
DNS协议:应用层协议 浏览器输入域名,浏览器先去DNS服务器上,把域名改为IP地址,再做其他工作