什么是网络、计算机网络的构成是什么?
网络:在计算机领域中,网络是信息传输、接收、共享的虚拟平台
通过它把各个店、面、体的信息联系到一起,从而实现这些资源的共享
什么是网络编程
- 网络编程从大的方面说就是对信息的发送到接受
- 通过操作相应Api调度计算机硬件资源,并利用传输管道(网线)进行数据交换的过程
- 更为具体的涉及:网络模型、套接字、数据包
7层网络模型-OSI
7层网络模型-OSI1、物理层:(网卡)
定义:物理层不是具体的物理设备,而是定义物理设备的标准,比如网线的类型,光纤的类型,各种传输介质的传输速率这样的参数。
主要作用:
传输比特流,01011100101... 转化成电流大小强弱 再转化成比特流 0100111... (数模转换,模数转换)
2、数据链路层:(交换机)
定义:
从物理层传来的比特流可能传输有错,或者传输漏掉。所以有了数据链路层。
主要作用:
格式化数据,提供错误检测和纠正。保证数据的可靠性。将比特流组合成字节,再将字节组合成帧。交换机对帧解码,并根据帧中包含的信息发送出去。
3、网络层:(路由器,IP协议)
定义:
从数据链路层发送来的数据多个节点发送到目的地,那如何知道目的节点是哪个,最佳路径是什么?然后有了网络层。
主要作用:
将网络地址翻译成物理地址,决定了如何将数据从起始地发送到目的地。通过 发送优先权、网络拥塞程度、服务质量、可选路由花费,决定从节点A到节点B的最佳路径。此层数据——>数据包。
4、传输层:(OSI模型中最重要的一层,TCP协议,UDP协议)
定义:
随着网络通信需求的进一步扩大,通信过程需要发送大量数据比如海量文件。数据一旦多,所需时间自然很长。而网络在通信过程中会中断好多次。为了保证大量文件的准确性,需要对数据进行切分,切割为一个一个的段落进行发送。那么如果有段落漏掉了怎么办?重传?段落之间是否需要按照切割顺序到达节点?然后有了传输层。
主要作用:
解决了不同网络之间主机的数据传输,并解决了传输质量的问题。传输协议,流量控制,基于接收方可接受数据的快慢程度规定适当的发送速率。按照网络能够处理的最大尺寸将数据切割(以太网无法接收大于1500字节的数据包)。传输层将数据切割之后,对每一个数据片安排一个序列号。以便数据到达接收方的传输层时,能以正确的顺序重组。TCP:传输控制协议。UDP:用户数据包协议。
5、会话层:
定义:
封装过后的信息已经可以发送到接收方,但现在每次还需要TCP去打包,IP去找路由。这样当然不行,所以建立一个自动收发包,自动寻址的功能。这就是会话层。
主要作用:
建立和管理应用程序之间的通信。会话层使用校验点,在通信会话失效时从校验点恢复通信,这种能力对于传输大文件很重要。
6、表示层:
定义:
当解决不同系统之间通信的语法问题(比如windows和linux)。有了表示层。
主要作用:
数据将按照网络能理解的方案进行格式化,格式化因网络所使用的类型不同而不同。
7、应用层:(HTTP协议)
定义:
发送方现在已经知道自己发的是什么东西,转化成字节有多长。但是接收方不知道,所以应用层的网络协议诞生了。
主要作用:
规定发送方和接收方必须使用固定长度的消息头。消息头必须使用某种固定的组成。而且消息头里必须记录消息体的长度等一系列信息。方便接收方能够解析发送方发送的数据。
7层网络模型-编程
- 基础层:物理层(Physical)、数据链路层(Datalink)、网络层(Network)
- 传输层(Transport):TCP-UDP协议层、Socket
- 高级层:会话层(Session)、表示层(Presentation)、应用层(Application)
Socket与TCP、UDP
什么是Socket
- 简单来说是ip地址与端口的结合协议(RFC 793)
- 一种地址与端口的结合描述协议
- TCP/IP协议的相关API的总称;是网络Api的集合实现
- 涵盖了:Stream Socket / Datagram Socket
Socket的作用与组成
- 在网络传输中用于唯一标示两个端点之间的链接
- 端点:包括(IP + Port)
- 4个要素:客户端地址、客户端端口、服务器地址、服务器端口
IP Address + Port number = Socket
Socket 之 TCP
- TCP是面向链接的通信协议
- 通过三次握手建立连接,通讯完成时要拆除连接
- 由于TCP是面向连接的所以只能用于端到端的通讯
Socket 之 UDP
- UDP是面向无连接的通讯协议
- UDP数据包括目的端口号和源端口号信息
- 由于通讯不需要连接,所以可以实现广播发送,并不局限于端到端
Client-Sever Application
- TCP/IP协议中,两个进程间通信的主要模式为:CS模型
- 主要目的:协同网络中的计算机资源、服务模式、进程间数据共享
- 常见的:FTP、SMTP、HTTP
网友评论