网络编程基础--重要概念介绍

来源:互联网 发布:h3c端口加入vlan 编辑:程序博客网 时间:2024/04/28 18:22

重要概念介绍:

七层模型OSI

  1. 物理层(Physical Layer):建立、维护、断开物理连接。
  2. 数据链路层 (Link):逻辑连接、进行硬件地址寻址、差错校验等。
  3. 网络层 (Network):进行逻辑寻址,实现不同网络之间的路径选择。
  4. 传输层 (Transport):定义传输数据的协议端口号,及流控和差错校验。
  5. 会话层(Session Layer):建立、管理、终止会话。
  6. 表示层(Presentation Layer):数据的表示、安全、压缩。
  7. 应用层 (Application):网络服务与最终用户的一个接口(Socket)

网络协议:

进行网络中的数据交换而建立的规则、标准或约定。规定了通讯实体之间所交换的消息的格式、意义、顺序以及针对收到消息或发生的事件所采取的动作。
三要素:语法,语义,时序
E.G:TCP,IP,HTTP,802.11

网络模型:

  1. Client/Server应用模型:客户发送请求,接收服务器响应。E.G:Web应用,文件传输FTP应用
  2. 对等(peer-peer,P2P)应用模型:无(或不仅依赖)专用服务器,通信在对等实体之间直接进行(BT,QQ)

模型解读示例:

假设两条计算机分别是A 和 B,将使用FTP 将A上的一个文件X传输到B上。
1:首先,计算机A和B之间要有物理层的连接,可以是有线比如同轴电缆或者双绞线通过RJ-45的电路接口连接,也可以是无线连接例如WIFI。这些物理层的连接建立了比特流的原始传输通路。
2:接下来,数据链路层登场,建立两台计算机的数据链路,进行物理寻址(MAC地址)。以太网采用CSMA/CD方式来传输数据,数据在以太网的局域网中都是以广播方式传输的,整个局域网中的所有节点都会收到该帧,只有目标MAC地址与自己的MAC地址相同的帧才会被接收。
A通过差错控制和接入控制找到了B的网卡,建立可靠的数据通路。
3:如果A和B在不同的局域网中,中间有着多个路由器,A需要对B进行逻辑寻址才可以。物理地址用于底层的硬件的通信,逻辑地址用于上层的协议间的通信。
4:IP是用来在网络上选择路由的,在FTP的命令中,IP中的原地址就是A的IP地址,目标地址就是B的IP地址。这应该就是网络层,负责将分组数据从源端传输到目的端。
5:需要一个可靠的连接,能够确保传输过程的完整性,这就是传输层的TCP协议。TCP的三次握手确定了双方数据包的序号、最大接受数据的大小(window)以及MSS(Maximum Segment Size)。TCP利用IP完成寻址,TCP中的提供了端口号,FTP中目的端口号一般是21。传输层的端口号对应主机进程,指本地主机与远程主机正在进行的会话。
6:会话层用来建立、维护、管理应用程序之间的会话,主要功能是对话控制和同步,编程中所涉及的session是会话层的具体体现。
7:表示层完成数据的解编码,加解密,压缩解压缩。(例如FTP中bin命令,代表了二进制传输,即所传输层数据的格式。 HTTP协议里body中的Json,XML等都可以认为是表示层)
8:应用层就是具体应用的本身了,FTP中的PUT,GET等命令都是应用的具体功能特性。

总结:物理层到电缆连接,数据链路层到网卡,网络层路由到主机,传输层到端口,会话层维持会话,表示层表达数据格式,应用层就是具体FTP中的各种命令功能了。

0 0