网络原理-IP/数据链路层协议

简介: 网络原理-IP/数据链路层协议

一. IP

IP协议有两个版本,IPv4和IPv6.我们通常所用的IP协议,若没有特殊说明,默认都是IPv4.


IPv4数量=2^32,大约43亿左右,而TCP/IP协议规定,每个主机都需要有一个IP地址.对于全世界的计算机来说,这个数量是不够的,所以后来推出了IPv6(长度128位,是IPv4的4倍).但因为目前IPv4还广泛的使用,且可以使用其他技术(NAT机制)来解决IP地址不足的问题,所以IPv6也就没有普及.


1.1 NAT机制

NAT机制把所有的IP地址分成两大类.

内网IP: 10.* , 172.16*-172.31* , 192.168*(可以重复出现,尤其是在不同的局域网)

外网IP: 剩下的IP(必须是惟一的)

NAT机制可以用买快递来解释:在淘宝上买衣服,收货地址:郑州市,金水区,龙子湖~.但是龙子湖的人数以万计,龙子湖这个地址是唯一的,但是代表的人不一定唯一.因此内网设备如果要访问外网,会给他分配一个外网IP,但是这个外网IP不是这个设备独占的,而是这个内网中所有的设备都共用这一个外网IP.

若此时有多个主机通过路由器发送数据报,路由器返回数据报时是如何区分不同的主机呢?

在主机发送数据报的时候,数据报中含有端口号,路由器在替换源IP和端口号时,会记住所替换的端口号和源IP,在返回数据报时,就能准确区分哪个数据报属于哪个主机


1.2 IP地址的组成

IP地址分为两个部分,网络号和主机号

• 网络号: 标识一个局域网,保证相互连接的两个网段具有不同的标识,

• 主机号: 标识局域网内部的主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号,

从上图可以看出,一个路由器中,有两个IP地址,分别是在不同的局域网中,一个路由器的作用就是把两个局域网连接起来

1.3 子网掩码

1.4 特殊的IP地址

主机号为0的ip. 192.168.0.0, 就是网络号,局域网里不应该存在某个主机,主机号为0.


主机号为全1, 192.168.0.255, 广播地址,往这个地址上发送udp数据报,此时这个数据报就会被转发给整个局域网中的所有主机.(TCP不支持广播)


手机投屏时就是利用了广播地址,要想把手机上的视频投放到电视上来看,投屏软件要求你的手机和电视,在同一个局域网中,此时,你的手机就有一个自动查找电视的过程,手机往局域网的广播地址上发送个数据报,看哪个ip有回应,电视上也有对应的投屏软件,收到了数据报就回应了,因此你的手机就知道电视的ip了.


主机号为1,192.168.0.1,一般作为"网关ip" ,"网关"可以理解为局域网的出入口.

二. 以太网数据帧

认识MTU

MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层,因为不同的数据链路层协议,MTU不一样,只有以太网才是1500.


• 以太网中帧中的数据长度规定最小46字节,最大是1500字节,ARP数据包的长度不够46字节,要在后面补填充位


• 最大值1500成为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;


• 如果一个数据报从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片;

MTU 对IP协议的影响


由于数据链路层MTU的限制,对于较大的数据包要进行分包.


• 将较大的IP包分成多个小包,并给每个小包打上标签


• 每个小包IP协议头的16为标识都是相同的


• 每个小包的IP协议头的3位标志字段中,第2位置为0,表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置为1,否则置为0);


• 到达对端是再将这些小包,按顺序重组,拼装到一起返回给传输层


• 一旦这些小包中任意一个丢失,接收端就会重组失败,但是IP层不会负责重新传输数据

虽然IP能拆包,仍然不能改变UDP最大长度是64k这样的现实,由于拆出的这些IP数据报中只有一份UDP首部,但是对UDP的限制还是存在的.

相关文章
|
15天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
43 11
|
14天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
36 3
|
24天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
68 3
|
26天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
45 4
|
27天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
42 3
|
21天前
|
数据采集 Java API
java怎么设置代理ip:简单步骤,实现高效网络请求
本文介绍了在Java中设置代理IP的方法,包括使用系统属性设置HTTP和HTTPS代理、在URL连接中设置代理、设置身份验证代理,以及使用第三方库如Apache HttpClient进行更复杂的代理配置。这些方法有助于提高网络请求的安全性和灵活性。
|
17天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,并提供一些实用的技巧和建议,帮助读者更好地保护自己的网络安全和信息安全。
|
6天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
7天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
27 10
|
9天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
36 10