IP协议
公有IP地址与私有IP地址
同一局域网内私有IP不能重复,不同局域网内私有IP可重复
公有IP互联网唯一
IP地址与路由控制
网络地址 用于路由控制
路由控制表 记录网络地址与下一步应该发送的设备地址 在主机上与路由器上都会有路由控制表
在发送IP包的时候,会首先检查目标地址 根据路由表中找到根目标地址相同的网络地址记录,通过该记录将IP包发给下一个设备。
环回地址不会流向网络
127.0.0.1 localhost
IP协议相关技术
DNS
ARP
主机路由表可以找到下一跳的IP地址,可以通过ARP协议求得下一跳的MAC
ARP工作过程:
ARP请求 ARP响应
RARP协议
ARP根据IP求MAC RARP根据MAC求IP
DHCP
67服务器 68客户端
UDP广播通信
DHCP代理
NAT
解决IPv4地址枯竭问题 网络地址转换协议 NAT
把私有地址转换为公有地址
地址与端口转换 NAPT
两个私有IP都转换成公有IP,但是以不同端口号作区分。
NAT的缺陷
因为NATP转换表没有转换记录,外部无法主动与NAT内部服务器建立连接
转换表生成与操作都会产生性能开销
通信过程中如果NAT路由器重启了,TCP连接会重置
IPV6
ICMP
互联网控制报文协议
确认IP包是否成功到达目标地址,报文发送过程中IP包被遗弃的原因和改善网络设置
键入网址到网页显示期间发生了什么
HTTP
浏览器的第一步工作:解析URL
解析URL后,卢兰其会生成HTTP请求信息
DNS
通过浏览器解析URL生成HTTP报文后,发送之前,需要先查询服务器与域名的对应关系。
协议栈
协议栈 上下关系有一定的规律 上面的部分会像下面的部分委托工作 下面的部分收到委托,执行
TCP
加上TCP的头部 让其遵循TCP协议进行传输 确保安全可靠的到达目的地
IP
TCP执行 连接 收发 断开 各阶段操作时,会委托IP将数据包封装成网络包发送给通信对象。
加上IP头部,数据包就拥有了远程定位能力,能够找到目的地。
MAC
生成IP头部后,还需要在IP头部前面加上MAC头部
MAC头部中需要发送方的MAC地址和接收方的MAC地址,用于两点之间的通信
接收方MAC:从网卡中读取值
发送方MAC:利用ARP协议请求获取
MAC报文生成
出口-网卡
网络包只是存放在内存中的一串二进制数字,是没有办法直接发送的,需要将数字转换成电信号
网卡来执行 网卡驱动程序
网卡驱动程序 IP模块 获取到包 将其复制到网卡内的缓冲区 开头加上报头和起始帧分界符,末尾,用于检测错误的校验序列。
起始帧分界符 表示包的起始位置
校验序列:检测错误 传输过程中是否损坏
交换机
二层网络设备
交换机工作原理
学习 交换机会记录与自己交互过的设备mac
转发 交换机会转发数据包
丢弃 收到接收方不为本交换机的数据包 丢弃
泛洪 mac表中没有接收方mac 会广播
路由器-出境大门
三层网络设备
服务器
数据包抵达了服务器之后,服务器开始解封装
拆解mac头,查看接收方mac是否是自己 符合就接收
ip ip是否符合 根据IP头协议项,知道上层协议是tcp
tcp头 序列号 看一下序列号是不是自己想要的如果是则返回ack 不是则丢弃,TCP头里还有端口,http正在监听这个端口
服务器就知道HTTP服务想要这个包,将包发给HTTP进程
服务器http看到这个包,原来请求是要访问一个页面,于是讲网页封装到http报文里。