TCP/IP参考模型

网络接口层

对应OSI七层物理层和数据链路层。数据链路层细分为MAC子层(帧的封装和拆封,物理介质传输差错的检测、寻址,实现介质访问控制协议)和LLC子层(建立和释放连接、与高层的接口、帧的可靠、按序传输、流量控制)。

数据帧是数据链路层的协议数据单元,传递单位为帧。

MAC地址前24位是注册管理机构分配的,后24位厂家自己分配,通过这个地址可以在底层的交换机上顺着网线找到设备。

网络层

负责主机到主机通信,决定数据包交付是给网关还是本地接口。

IP地址,分配给网络中每个机器的数字标识符,指出了设备在网络中的具体位置,还能让主机之间进行通信,是为网络连接通信而设计的协议。

IP地址总长度为32位(IPV4),四个字节,每字节八位,分为A类(1字节为网络地址,剩下3字节为主机地址)、B类(2字节网络位,2字节主机位)、C类(3字节网络位,1字节主机位)、D类(1字节为224-255,用作组播地址)、E类(240-255,科学用途)、特殊用途地址、私有IP地址。

IPV6,解决IPv4地址枯竭问题,采用128位的地址,以16位为一组,每组以冒号“:”隔开,可以分为8组。

子网掩码,指出IP地址标识的主机所在的子网以及哪些位标识是主机的位掩码,不单独存在,结合IP地址使用。

子网掩码可用于扩展网络部分,从原主机部分借位并将其指定为子网字段来创建子网地址,可缓解IP地址紧缺。

ARP地址解析协议,根据IP地址获取物理地址的TCP/IP,主机发送信息将包含目的IP地址的ARP请求广播到网络上的所有主机,并接收单播返回消息,以此确定目标的物理地址,然后将IP地址和物理地址存入本机ARP缓存中并保留一段时间,节省资源。

ARP欺骗,针对ARP的攻击,伪装成网关,通过欺骗局域网内访问者PC的网关MAC地址,使访问PC错以为攻击者更改后的地址是网关的MAC地址,导致网络不通。攻击者可获取、纂改局域网上的数据包,攻击者向某主机发送伪ARP报文,收到某主机后回复信息可将转到真网关(被动式数据包嗅探)或篡改后转达(中间人攻击)。

ARP命令可查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议:

        RARP:反向地址解析协议,允许局域网的物理机器从网关服务器的ARP表或缓存上通过MAC地址来寻找自己的IP地址。

        代理ARP:没有配置默认网关和路由策略的网络上将一个主机作为类似网关对其他主机ARP应答,不影响路由表的情况下添加一个新的路由,使子网对该主机透明,有风险。

        无故ARP:主机使用自己IP地址作为目的地址发送ARP请求,用于检查重复地址、更新MAC地址。

ICMP-因特网信报控制协议,负责传递差错、控制、查询报文。IP协议不可靠,ICMP可以保证数据送达,ICMP报文分错误消息、请求消息、响应消息。

通信过程为:发送ICMP请求报文->无异常(路由器丢弃、目标不回应、传输失败)目标返回ICMP响应报文;传送IP数据报错误(主

### TCP/IP 参考模型的层次结构及其功能 TCP/IP(传输控制协议/互联网协议)参考模型是一种分层网络通信架构,用于描述数据在网络中的流动方式以及各层的功能。以下是该模型的主要层次及其对应的功能: #### 三层级划分 1. **应用层** 应用层是最接近用户的层级,负责处理特定的应用程序细节。它提供了一系列服务给最终用户,例如文件传输、电子邮件和远程登录等功能。常见的协议有HTTP、FTP、SMTP等[^1]。 2. **传输层** 传输层主要关注端到端的数据传递,确保消息能够可靠地到达目标设备。这一层定义了两种核心协议:TCP 和 UDP。其中,TCP 提供面向连接的服务,强调可靠性;而UDP则提供了无连接的服务,更注重速度而非准确性。 3. **互联网络层 (Internet Layer)** 此层的核心职责在于寻址、路由选择以及将数据包发送至目的地。IP 协议在此层运作,通过 IP 地址来识别主机并决定最佳路径进行数据转发。此外,ICMP 和 ARP 等辅助协议也属于此层[^2]。 4. **链路层 (Network Interface Layer 或 Link Layer)** 虽然有时被简化讨论中忽略单独提及, 链接层实际上涉及到了实际物理媒介上的比特流传输过程管理, 包括错误检测纠正机制等等; 它还涉及到MAC地址的概念,在局域网环境中尤为重要. ```python # 示例 Python 代码展示如何创建简单的socket对象以实现基本的客户端-服务器交互 import socket def create_socket(): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print("Socket successfully created") except socket.error as err: print(f"Socket creation failed with error {err}") create_socket() ``` 上述脚本展示了利用Python标准库`socket`模块建立基于TCP协议套接字的基础方法.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值