Linux网络编程——基础概念

1. 计算机网络七层模型

OSI 是 Open System Interconnection 的简写,意为开放式系统互联,国际标准化组织(IOS)制定了 OSI 模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。如下图所示

在这里插入图片描述

  • 物理层:双绞线,光纤等传输介质,调制解调器(完成数模、模数转换)
  • 数字链路层:数据校验,定义了网络传输的基本单位—
  • 网络层:定义网络,两台机器之间传输的路径选择 点到点传输 (路由器)
  • 传输层:传输数据 只关心同通信的起始端和目的端,不在乎数据包的中转过程。 端到端传输
  • 会话层:建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。
  • 表示层:负责数据格式的转换,压缩与解压缩,加密与解密。
  • 应用层:为客户提供各种应用服务,email服务,ftp服务,ssh服务
2. TCP/IP模型

OSI模型与TCP/IP对应关系
在这里插入图片描述

TCP/IP协议组体系结构使我们当今计算机网络实现的主要手段

2. 1数据链路层

  • 数据链路层实现了网卡接口的网络驱动程序,以及处理数据在物理媒介(比如以太网、无线网等)上的传输。不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节。

  • 数据链路层常用的两个协议是ARP协议(地址解析协议)和RARP协议(逆地址解析协议)。它们实现了IP地址和机器物理地址(MAC地址)的相互转换。

2. 2网络层

  • 网络层主要实现了数据包的选路和转发
  • 网络层对上层协议隐藏了网络拓扑连接的细节(也就是点到点通信的细节),使得在传输层和网络应用层看来,通信双方是直接连接的
  • 网络层的核心协议是IP协议。除了IP协议还有一个ICMP协议是用来检测网络连接状态的,应用层的ping服务就是通过这个协议实现的

2. 3传输层

  • 传输层为两台主机上的应用程序提供端到端的通信,传输层只关心通信的起始端和目的端
  • 传输层有三个重要的协议:TCP协议、UDP协议和SCTP协议

2. 4应用层

  • 应用层负责处理应用程序
  • 常见的应用层协议:http、telnet、DNS
  • Linux下可以在/etc/services文件中查看一些常见的应用层服务

数据链层、网络层和传输层在Linux的内核中实现,而大部分应用层协议与服务是在用户空间实现的。

一些常见协议的分层如下
在这里插入图片描述

3. 不同分层之间的封装

上层协议通过封装来使用下层协议提供的服务。
在这里插入图片描述

其中的头部尾部是协议规定的具体内容

待续。。。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值