Linux系统编程10:Socket编程3-网络模型

1. OSI七层模型

No. 模型 功能
1 物理层 比特流传输
2 数据链路层 网络控制、链路纠错
3 网络层 寻址,路由
4 传输层 建立主机端到端的连接
5 会话层 建立、维护和管理会话
6 表示层 格式转化,加密解密
7 应用层 提供应用程序间通信

1.1 常见物理层协议

No. 模型 e.g.
1 串口/COM口 RS-232(仪表接口,智能仪表);RS-485(联网仪表接口)
2 并行/LPT口 IEEE1284(打印口,打印机扫描仪)
3 USB USB2.0,USB3.0
4 网线接口 RJ45(水晶头)
5 电话线接口 RJ11

1.2 常见数据链路层协议

No. 中文名称 英文简写 英文全称
1 逻辑链路控制协议 LLC Logical Link Control
2 多路访问控制协议 MAC Multiple Access Control
3 点对点协议 PPP Point to Point Protocol

1.3 常用网络层协议

No. 中文名称 英文简写 英文全称
1 互联网协议 IP Internet Protocol
2 地址解析协议 ARP Address Resolution Protocol
3 反向地址转换协议 RARP Reverse Address Resolution Protocol
4 路由信息协议 RIP Routing Information Protocol
5 互联网控制报文协议 ICMP Internet Control Message Protocol
6 以太网协议 Ethernet Ethernet

1.4 常用传输层协议

No. 中文名称 英文简写 英文全称
1 传输控制协议 TCP Transmission Control Protocol
2 用户数据报协议 UDP User Datagram Protocol

会话层与表示层没有协议

1.5 常用应用层协议

No. 中文名称 英文简写 英文全称 端口号
1 文件传输协议 FTP File Transfer Protocol 21
2 远程终端协议 Telnet Remote Terminal Protocol 23
3 简单邮件传输协议 SMTP Simple Mail Transfer Protocol 25
4 简单文件传输协议 TFTP Trivial File Transfer Protocol 69
5 超文本传输协议 HTTP Hypertext Transfer Protocol 80
6 安全套接层超文本传输协议 HTTPS Hypertext Transfer Protocol over Secure Socket Layer 443
7 域名服务协议 DNS Domain Name Service -
8 自举协议 BOOTP Bootstrap Protocol -

2.总结

2.1 功能角度

  • 1、2层解决网络信道问题
  • 3、4层解决传输问题
  • 5、6、7层处理对应用进程的访问

2.2 控制角度

  • 1、2、3层是通信子网层
  • 4、5、6、7层是主机控制层

2.3 职业角度

  • 1层是通信工程师
  • 2、3、4层是网络工程师
  • 5、6、7是软件工程师

2.4 数据封装

No. 信息单位
1 比特(bit) 物理层
2 帧(frame) 数据链路层
3 数据包(packet) 网络层
4 段(segment)/数据报(datagram) 传输层
5~7 消息(message) 应用层

3. TCP/IP四层模型

应用层
传输层
网络层
数据链路层

  • TCP/IP四层模型与OSI七层模型对应关系
Linux系统编程10:Socket编程3-网络模型_第1张图片
网络协议模型
Linux系统编程10:Socket编程3-网络模型_第2张图片
数据封装
No. 信息单位 起始点和目的点
1 第一层 比特(bit) 物理层
2 第二层 帧(frame) 数据链路层
3 第三层 数据包(packet) 网络层
4 第四层 段(segment)/数据报(datagram) 传输层
5 第五层~第六层 消息(message) 应用层
Linux系统编程10:Socket编程3-网络模型_第3张图片
数据封装与解析
Linux系统编程10:Socket编程3-网络模型_第4张图片

你可能感兴趣的:(Linux系统编程10:Socket编程3-网络模型)