TCP/IP四层模型----网络层和数据链路层

论坛 期权论坛 脚本     
已经匿名di用户   2022-2-7 16:32   3077   0

网络层

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址路由选择、连接的建立、保持和终止等

网络层的核心是IP协议

IP协议

简单来讲IP协议是在复杂的网络中用来确定一个合适的路径,相当于物流公司

地址管理:通过一个整数来表示一个地址,使用点分十进制来表示IP地址(198.128.1.0)

IPV4,一个IP地址就是一个32位的整数

其中32位分别为:4位版本号,4位首部长度,8位服务类型(TOS),16位总长度(字节数)

IP地址不够用的问题

(1)动态分配:IP某个主机上网就分配IP,不上网就不分配

(2)NAT机制:很多主机共同用一个ip地址,路由器(NAT设备根据端口号来进一步区分数据交给哪个主机)

(3)IPV6能彻底解决问题

网段划分

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

网段划分是为了组建不同的局域网,路由器来连接不同的局域网,同一个局域网中的若干设备,网络号相同,但是主机号不同

两个相邻的局域网网络号一定不相同

  • 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数据报整体占多少个字节
  • 网络号: 保证相互连接的两个网段具有不同的标识;
  • 主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号;

其中192.168.128.10是一个IP地址,192.168.128是网络号,10是主机号,/24是子网掩码,子网掩码是一个32位的整数,前半部分1,后半部分255.255.255.0

子网掩码按位与上IP地址就是网络号

IP地址分类:

A类 0.0.0.0到127.255.255.255
B类 128.0.0.0到191.255.255.255
C类 192.0.0.0到223.255.255.255
D类 224.0.0.0到239.255.255.255
E类 240.0.0.0到247.255.255.255

特殊的IP地址

ICMP协议

ICMP(Internet Control Message Protocol)Internet控制报文协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。

ICMP 是个非常有用的协议﹐尤其是当我们要对网路连接状况进行判断的时候

作用:由于IP协议的两个缺陷没有差错控制和查询机制,因此产生了ICMP。ICMP主要是为了提高IP数据报成功交付的机会,在IP数据报传输的过程中进行差错报告和查询,比如目的主机或网络不可到达,报文被丢弃,路由阻塞,查询目的网络是否可以到达等等

ICMP有两种报文类型:差错报告报文和询问报文

ICMP协议,它作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。

ARP协议

ARP协议是“AddressResolutionProtocol”(地址解析协议)的缩写

局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址,这个MAC地址就是通过地址解析协议获得的

“地址解析”:就是主机在发送前将目标IP地址转换成目标MAC地址的过程。

ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行

内核(如驱动)必须知道目的端的硬件地址才能发送数据。当然,点对点的连接是不需要ARP协议的。

ARP协议的所有操作都是内核自动完成的,同其他的应用程序没有任何关系。同时需要注意的是,ARP协议只使用于本网络。

有了地址解析协议,那么就有逆地址解析协议 RARP, 将MAC---->IP地址

  • 将IP地址中的主机地址全部设为0, 就成为了网络号, 代表这个局域网
  • 将IP地址中的主机地址全部设为1, 就成为了广播地址, 用于给同一个链路中相互连接的所有主机发送数据包;
  • 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1

数据链路层

认识以太网

"以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等
以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN

认识MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).

对比理解IP地址和MAC地址

IP地址描述的是路途总体的 起点 和 终点;
MAC地址描述的是路途上的每一个区间的起点和终点

认识MTU

MTU:一个数据链路层的数据帧所搭载的数据最大长度,不同的数据链路层标准的MTU是不同的;

以太网的MTU 1500个字节

MTU对IP协议的影响:会导致IP数据报产生分包

MTU相当于发快递时对包裹尺寸的限制. 这个限制是不同的数据链路对应的物理层, 产生的限制

帧是数据链路层的传送单位

数据链路层主要有两个功能 :帧编码和误差纠正控制

数据链路层的主要协议有:

(1)点对点协议(Point-to-Point Protocol);

(2)以太网(Ethernet);

(3)高级数据链路协议(High-Level Data Link Protocol);

(4) 帧中继(Frame Relay);

(5) 异步传输模式(Asynchronous Transfer Mode);

数据链路层更靠近底层,与程序猿更接近

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP