声明:本文为转载,加上本人的整理和理解,已附上原文链接,若有侵权请联系我删除,谢谢!
网络编程概念
-
网络编程是在发送端把信息通过规定好的协议进行组装包
-
在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的
-
中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析
网络编程的目的
直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯
网络编程的两个要素
-
通信双方的地址:IP 和 端口号
-
提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)
网络模型
网络模型(看这一篇就够了)_做人,最重要的就是开心嘛的博客-CSDN博客
-
网络是一个复杂的系统,包括大量的应用程序、端系统、通信链路、分组交换机等,以及各种各样的协议组成
-
结构:以分层(layer)的方式组织协议,每个协议属于层次模型之一。每一层都是向它的上一层提供服务(service),每个分层中所有的协议称为协议栈(protocol stack)
OSI 七层模型
深入浅出-网络七层模型 - sunsky303 - 博客园 (cnblogs.com)
概念
-
是ISO(国际标准化组织)组织在1985年研究的网络互连模型
-
每一层实现各自的功能和协议,并完成与相邻层的接口通信
数据流向(层对层对等通信)
七层模型释义
-
物理层: 实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。
eg:RJ45等将数据转化成0和1;
-
数据链路层: 将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。
可以简单的理解为:规定了0和1的分包形式,确定了网络数据包的形式;
-
网络层 网络层通过IP寻址来建立源和终点之间连接;
可以理解为,此处需要确定计算机的位置,怎么确定?IPv4,IPv6!
-
传输层 传输层向高层提供可靠的端到端的网络数据流服务。
可以理解为:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/UDP)协议;
-
会话层 会话层建立、管理和终止,表示层与实体之间的通信会话;
建立一个连接(自动的手机信息、自动的网络寻址);
-
表示层: 提供各种用于应用层数据的编码和转换、数据压缩和加密功能
可以理解为:解决不同系统之间的通信,eg:Linux下的QQ和Windows下的QQ可以通信;
-
应用层:
OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务
OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等;
规定数据的传输协议;
通信特点
对等通信:(层对层对等通信)为了使数据分组从源传送到目的地,源端OSI模型的每一层都必须与目的端的对等层进行通信,这种通信方式称为对等层通信。在每一层通信过程中,使用本层自己协议进行通信。