【大家好,我是爱干饭的猿,本文介绍了网络层IP协议、数据链路层以太网、MTU、ARP、应用层DNS、NAT、NAPT和网络基础知识。
后续会继续分享HTTP(s)协议及其他重要知识点总结,如果喜欢这篇文章,点个赞,关注一下吧】
上一篇文章:《【web】TCP/UDP协议详解(字节二面:TCP三次握手、四次挥手)》
目录
1. 网络层重点协议
1.1 IP协议(Internet Protocol)
1 IP协议头格式
2. 数据链路层重点协议
2.1 以太网
1. 以太网帧格式
2.2 MTU
1. MTU对IP协议的影响
2. MTU对UDP协议的影响
3. MTU对于TCP协议的影响
2.3 ARP(通过IP找MAC)
1. ARP协议的作用
2. ARP协议的工作流程
3. 应用层重点协议
3.1 DNS
3.2 NAT(内外网转换)
3.3 NAPT
4. 网络基础
4.1 认识IP地址
4.2 子网掩码
4.3 认识MAC地址
4.4 总结IP地址和MAC地址
- 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。
- 4位头部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节 数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。
- 8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TOS字段,和1位保留 字段(必须置为0)。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。 这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要;对于 ftp这样的程序,最大吞吐量比较重要。
- 16位总长度(total length):IP数据报整体占多少个字节。
- 16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每 一个片里面的这个id都是相同的。 3位标志字段:第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。第 二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表 示"更多分片",如果分片了的话,最后一个分片置为1,其他是0。类似于一个结束标记。
- 13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。其实就是 在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此, 除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。
- 8位生存时间(Time To Live,TTL):数据报到达目的地的最大报文跳数。一般是64。每次 经过一个路由,TTL -= 1,一直减到0还没到达,那么就丢弃了。这个字段主要是用来防止出 现路由循环。
- 8位协议:表示上层协议的类型。
- 16位头部校验和:使用CRC进行校验,来鉴别头部是否损坏。
- 32位源地址和32位目标地址:表示发送端和接收端。
- 选项字段(不定长,最多40字节):略。
"以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了 一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;
例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等;
以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等;
以太网的帧格式如下所示:
- 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的;
- 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
- 帧末尾是CRC校验码。
MTU相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层,产生的限制。
ARP不是一个单纯的数据链路层的协议,而是一个介于 数据链路层和网络层之间的协议
ARP协议建立了主机 IP地址 和 MAC地址 的映射关系。
DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统。
TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息,于 是人们发明了域名,并通过域名系统来映射域名和IP地址。
网络通信发送数据时,如果使用目的主机的域名,需要先通过域名解析查找到对应的IP地址:
NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能;
NAT技术的缺陷:
由于NAT依赖这个转换表,所以有诸多限制:无法从NAT外部向内部服务器建立连接;转换表的生成和销毁都需要额外开销;通信过程中一旦NAT设备异常,即使存在热备,所有的TCP连接也都会断开;
那么问题来了,如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的。那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?
这时候NAPT来解决这个问题了。使用IP+port来建立这个关联关系
1. 概念
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
2. 作用
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地 址,以此来屏蔽物理地址的差异。
3. 格式
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如: 01100100.00000100.00000101.00000110。
4. 组成
IP地址分为两个部分,网络号和主机号
网络号:标识网段,保证相互连接的两个网段具有不同的标识;
主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
5. 分类
为了IP地址浪费的问题解决以上问题,引入子网掩码来进行子网划分
1. 格式
子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1 的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。 子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。
2. 作用
(1)划分A,B,C三类 IP 地址子网: 如一个B类IP地址:191.100.0.0,按A ~ E类分类来说,网络号二进制数为16位网络号+16位主机号。 假设使用子网掩码 255.255.128.0(即17) 来划分子网,意味着划分子网后,高17位都是网络位/网络 号,也就是将原来16位主机号,划分为1位子网号+15位主机号。 此时,IP地址组成为:网络号+子网号+主机号,网络号和子网号统一为网络标识(划分子网后的网络号/ 网段)
(2)网络通信时,子网掩码结合IP地址,可以计算获得网络号(划分子网后的网络号)及主机号(划分子网后的主机号)。一般用于判断目的IP与本IP是否为同一个网段。
3. 计算方式
将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络号。 将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。
示例:
MAC地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址。
特殊的MAC地址广播数据报:发送一个广播数据报,表示对同网段所有主机发送数据报。广播数据报的MAC地址为:FF:FF:FF:FF:FF:FF
分享到此,感谢大家观看!!!
如果你喜欢这篇文章,请点赞加关注吧,或者如果你对文章有什么困惑,可以私信我。