Linux 网络编程基础——网络模型

网络模型

1. OSI七层模型

OSI(Open Systems Interconnection,开放系统互连)模型是由ISO(International Organization for Standardization,国际标准化组织)制定的一个标准模型,用于描述网络通信的各个层次。OSI模型将网络通信分为七层,每一层都有特定的功能和作用。

1. 物理层(Physical Layer)

  • 功能:负责比特流的传输,定义物理设备标准,如电缆、插头、接收器等。
  • 设备:网线、光纤、电缆、集线器、调制解调器。
  • 协议:不涉及特定协议,而是涉及物理媒体标准,如RS-232。

2. 数据链路层(Data Link Layer)

  • 功能:提供节点到节点的数据传输,负责组帧、MAC地址的寻址和差错检测。
  • 设备:交换机、网桥。
  • 协议:以太网(Ethernet)、PPP(Point-to-Point Protocol)、HDLC(High-Level Data Link Control)。

3. 网络层(Network Layer)

  • 功能:负责数据包的路由选择和转发,提供逻辑地址(如IP地址)。
  • 设备:路由器。
  • 协议:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、IGMP(Internet Group Management Protocol)。

4. 传输层(Transport Layer)

  • 功能:提供端到端的可靠传输,负责流量控制、错误校验和数据分段重组。
  • 协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。

5. 会话层(Session Layer)

  • 功能:管理会话或连接,负责建立、维护和终止会话。
  • 协议:NetBIOS(Network Basic Input/Output System)、RPC(Remote Procedure Call)。

6. 表示层(Presentation Layer)

  • 功能:处理数据格式的转换、加密和解密、数据压缩。
  • 协议:JPEG、MPEG、SSL(Secure Sockets Layer)。

7. 应用层(Application Layer)

  • 功能:直接为用户和应用程序提供服务,负责网络应用程序的接口和协议。
  • 协议:HTTP(HyperText Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、DNS(Domain Name System)。

2. TCP/IP模型

TCP/IP模型是实际应用中广泛采用的网络模型,简化了OSI模型,将网络通信分为四层:网络接口层、互联网层、传输层和应用层。每一层都有特定的功能和协议。

1. 网络接口层(Network Interface Layer)

  • 功能:负责物理设备上的数据传输,包括网卡、交换机等。
  • 设备:网线、交换机、网桥。
  • 协议:以太网(Ethernet)、ARP(Address Resolution Protocol)、PPP(Point-to-Point Protocol)。

2. 互联网层(Internet Layer)

  • 功能:负责主机间的数据传输和路由选择,提供逻辑地址(如IP地址)。
  • 设备:路由器。
  • 协议:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、ARP(Address Resolution Protocol)、RARP(Reverse Address Resolution Protocol)。

3. 传输层(Transport Layer)

  • 功能:提供端到端的可靠传输,负责流量控制、错误校验和数据分段重组。
  • 协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。

4. 应用层(Application Layer)

  • 功能:直接为用户和应用程序提供服务,负责网络应用程序的接口和协议。
  • 协议:HTTP(HyperText Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、DNS(Domain Name System)、Telnet、SSH(Secure Shell)。

总结

OSI七层模型

  1. 物理层:比特流传输,物理设备标准。
  2. 数据链路层:节点到节点的数据传输,MAC地址寻址。
  3. 网络层:数据包路由选择和转发,逻辑地址(IP地址)。
  4. 传输层:端到端的可靠传输,流量控制和错误校验。
  5. 会话层:管理会话或连接。
  6. 表示层:数据格式转换、加密解密、数据压缩。
  7. 应用层:为用户和应用程序提供服务。

TCP/IP模型

  1. 网络接口层:物理设备上的数据传输。
  2. 互联网层:主机间的数据传输和路由选择。
  3. 传输层:端到端的可靠传输。
  4. 应用层:为用户和应用程序提供服务。

理解这两个模型及其各层的功能和协议,是掌握网络通信的基础。它们帮助我们分清网络通信的不同层次,明确每一层的职责,便于排查网络问题和设计网络应用。

3. TCP / IP 模型补充

TCP/IP模型细节

1. 网络接口层(Network Interface Layer)

功能

  • 负责物理设备上的数据传输。
  • 处理比特流的传输,包括物理连接的建立、维护和断开。

细节

  • 链路层协议:以太网(Ethernet)、Wi-Fi、PPP等协议在这一层运行。
  • MAC地址:每个网络接口都有一个唯一的物理地址(MAC地址),用于局域网内设备的标识和通信。
  • 帧封装:这一层将数据封装成帧进行传输,帧包括目的地址、源地址和数据校验等信息。

2. 互联网层(Internet Layer)

功能

  • 负责主机间的数据传输和路由选择。
  • 提供逻辑地址(IP地址),用于标识网络上的设备。

细节

  • IP协议
    • IPv4:使用32位地址,表示形式如192.168.1.1。
    • IPv6:使用128位地址,表示形式如2001:0db8:85a3:0000:0000:8a2e:0370:7334。
  • 路由选择:互联网层负责选择数据包的传输路径,路由器在这一层工作。
  • 子网划分:通过子网掩码将IP地址空间划分成多个子网,提高网络管理的灵活性。
  • 协议
    • ICMP(Internet Control Message Protocol):用于发送控制消息,如ping和traceroute工具。
    • ARP(Address Resolution Protocol):用于将IP地址解析为MAC地址。
    • RARP(Reverse Address Resolution Protocol):用于将MAC地址解析为IP地址。

3. 传输层(Transport Layer)

功能

  • 提供端到端的可靠传输,确保数据完整到达目的地。
  • 负责流量控制、错误校验和数据分段重组。

细节

  • TCP协议
    • 连接管理:TCP是面向连接的协议,通过三次握手建立连接,通过四次挥手断开连接。
    • 可靠传输:TCP提供可靠的传输,确保数据包按序到达,并通过确认机制检测和重传丢失的数据包。
    • 流量控制:TCP通过窗口机制实现流量控制,防止网络拥塞。
  • UDP协议
    • 无连接:UDP是无连接的协议,数据包独立传输,不保证顺序和可靠性。
    • 低延迟:UDP传输速度快,适用于对实时性要求高的应用,如视频流和在线游戏。

4. 应用层(Application Layer)

功能

  • 直接为用户和应用程序提供服务,负责网络应用程序的接口和协议。

细节

  • HTTP/HTTPS:用于Web数据传输,HTTPS通过SSL/TLS协议提供安全性。
  • FTP:用于文件传输,支持文件上传和下载。
  • SMTP:用于电子邮件的发送,配合POP3和IMAP用于接收邮件。
  • DNS:将域名解析为IP地址,支持互联网的名称解析。
  • Telnet和SSH:用于远程登录和命令执行,SSH提供安全的加密通信。

额外注意事项

  • 端口号:传输层使用端口号来标识应用程序和服务,常见的有HTTP的80端口、HTTPS的443端口、FTP的21端口等。
  • 防火墙:在互联网层和传输层之间,防火墙可以过滤和控制进出网络的数据包,提供网络安全。
  • NAT(Network Address Translation):用于将私有IP地址转换为公共IP地址,通常用于路由器以允许多个设备共享一个公共IP地址。

理解这些细节有助于更全面地掌握TCP/IP模型的各层功能及其在实际网络通信中的应用。

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值