【Linux网络编程】1.协议的概念、分层模型、网络应用程序设计模式、网络传输流程、协议格式

发布于:2024-05-05 ⋅ 阅读:(20) ⋅ 点赞:(0)

目录

协议的概念

分层模型

OSI七层模型

TCP/IP四层模型

网络应用程序设计模式

C/S模式

B/S模式

优缺点

网络传输流程

协议格式

以太网帧协议

ARP协议

IP协议

UDP协议  ​编辑

TCP协议  ​编辑

协议的概念

       从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。简单来说就是一组规则

分层模型

OSI七层模型

  1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。

  2. 数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

  3. 网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。

  4. 传输层:定义了一些传输数据的协议和端口号,主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。

  5. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识,可以是IP,也可以是MAC或者是主机名)。

  6. 表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。

  7. 应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

巧记:物数网传会表应

TCP/IP四层模型

 

巧记:网网传应

典型协议:

  1. 应用层:http、ftp、nfs、ssh、telnet

  2. 传输层:TCP、UDP

  3. 网络层:IP、ICMP、IGMP

  4. 链路层:以太网帧协议、ARP

网络应用程序设计模式

C/S模式

       传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。相当于软件。

B/S模式

       浏览器()/服务器(server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。相当于web。

优缺点

C/S模式 B/S模式
优点 缓存大量数据、协议选择灵活、速度快 安全性、跨平台、开发工作量较小
缺点 安全性、跨平台、开发工作量较大 不能缓存大量数据、严格遵守http

网络传输流程

数据没有封装之前,不能在网络中传递。

数据-》应用层-》传输层-》网络层-》链路层 --- 网络环境

协议格式

以太网帧协议

根据mac地址,完成数据包传输。

ARP协议

根据Ip地址获取mac地址。

IP协议

版本: IPv4、IPv6

TTL: time to live。 设置数据包在路由节点中的跳转上限。每经过一个路由节点,该值-1, 减为0时,路由有义务将该数据包丢弃。

源IP: 32位。4字节。192.168.1.108是点分十进制IP地址,字符串类型。

目的IP:32位。4字节。

IP地址:可以在网络环境中,唯一标识一台主机。

端口号:可以网络的一台主机上,唯一标识一个进程。

ip地址+端口号:可以在网络环境中,唯一标识一个进程。

UDP协议  

16位:源端口号。

16位:目的端口号。

16位可以有65536个端口号。

TCP协议  

16位:源端口号。

16位:目的端口号。

16位可以有65536个端口号。

32序号,32确认序号,6个标志位,16位窗口大小。