作用 : 负责地质管理与路由选择
在网络通信中, 通信的两端称为主机, 而在两个主机之间会存在着许许多多的有路由器组成的复杂网络. 每一个主机都配有IP地址, 而主机与主机之间的协议主要就是IP协议
IP地址一共有两部分组成网络号与主机号 ; 每一台主机都有属于自己的路由器, 而每一个路由器也都要属于自己的上层主管路由. 每一个网络中的成员的IP地址都是有自己的主管路由器进行分配的. 所以每一个网络的IP地址分为都要进行规范
早期的划分:将所有的IP地址划分为五类IP地址
新的网段的划分方式-----CIDR : 对网络的额划分借助了一个字段叫做子网掩码
子网掩码:uint32_t类型的数据–数据由连续的二进制1组成
作用:
每个路由器上都有一张路由表, 用来记录当前路由器多相连的网络 , 当路由器接受到一个数据, 则取出目的IP地址, 通过路由表判断当前数据的目的主机数据哪一个相连的网络(使用目的地址与子网掩码进行相与, 然后与目的网络的网络花进行判断)
面试问题 : 有一个网络为192.168.122.132, 现在讲这个王阔平均划分为四个网络, 划分之后, 各个子网的网络号以及子网掩码, 主机IP地址的范围是多少? |
由于子网掩码的作用(取反可以得到主机号的范围) , 则对0.0.0.63取反之后,就可以得到该网络的掩码为255.255.255.192
就可以将主机号分为
192.168.122.0~192.168.122.63 --------------192.168.122.0(网络号)
192.168.122.64~192.168.122.127------------192.168.122.64(网路号)
192.168.122.128~192.168.122.191----------192.168.122.128(网络号)
192.168.122.192~193.168.122.255----------192.168.122.192(网络号)
作用 : 负责相邻端口之间的数据帧传输
在网络层中两端主机约定好协议之后, 在传输路径上还需要经过很多的路由器, 而链路层就是描述这些相邻的路由器之间的传输, 而用来约定他们的协议就是以太网协议
相邻设备定位的地址, 网卡的硬件地址 , 大小为6个字节的整数uint8_t mac[6]----王卡出厂时就设定了 , 早期不能更改
Etherent协议实现 : 源mac地址 目的mac地址 , 上层协议类型, 数据, 帧尾(包含校验和)
arp协议是介意网络层与链路层之间的协议—它通过IP地址来获取mac地址.
如上图所示,后面28字节为一个arp请求/应答, 我们可以发现其中包含了发送端mac地址,发送端IP地址, 目的端IP地址, 目的端mac地址, 其中目的端mac地址在发送的时候空的. 之后将前面以太网首部中的目的地址置为广播地址, 将arp协议数据报发送到所有相邻的设备上, 之后所有相邻的设备,通过后面28字节中的目的IP地址是否是属于自己的, 如果是,就将自己的mac地址封装成一个arp响应发送回去,如果不是就将arp协议数据报丢弃, 在这之中, 也将IP地和mac地址的关系进行映射缓存(缓存事假通常只有30分钟)
MTU限制了链路层数据帧所能传输的最大数据大小
域名 : 一串由点分隔的名字所组成的互联网上的一个主机/机组名称
域名服务丢弃的划分:
根域名服务器—顶级域名服务器—二级域名服务器—三级域名服务器
域名的层级划分
顶级域名: .com / .org / .gov / .edu / .cn / .jp / .us
二级域名: .baidu.com / .qq.com
三级域名 : .baike.baidu.com
域名的解析流程 : 通过域名访问服务器最终转换为通过服务器IP地址访问服务器
1,查看浏览器缓存–>2. 本机hosts文件—>3. 根域名服务器—>4. 本地域名服务器…
解析过程中, 从本地域名服务器往下有两种解析过程 : 迭代/递归
面试问题 : 当浏览器中输入url回车后发生了那些事 |
2.根据url组织http协议格式的请求数据
3. 基于socket流程搭建TCP客户端, 向得到的服务器地址发送http协议请求数据
4. 得到响应后, 根据HTTP是否长连接,选择是否关闭套接字
5. 浏览器根据响应的html渲染页面
向对端发送一个ICMP请求,等待对端的响应, 如果应答,则网络通畅, 如果多次发送仍不应答,则认为网络不通畅
面试问题 : ping 使用多少端口?(telnet使用23号端口, ssh使用22号端口) |