网络编程基础知识
Posted baijinqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程基础知识相关的知识,希望对你有一定的参考价值。
什么是网络编程
一、什么是网络
- 计算机领域中,网络是是信息传输、接收,共享的虚拟平台
- 通过他把各个点,面,体的信息联系到一起,从而实现这些资源的共享
- 网络是人类发展史上最重要的发明,提高了科技和人类社会的发展
1、局域网
电脑,手机,打印机连接到一个路由器上实现互相通信,这个网络就叫局域网
2、互联网
无数个局域网组合在一起组成互联网
3、网络编程
- 网络编程从大的方面说是对信息的发送和接收
- 通过操作相应的Api调度计算机硬件资源,并利用传输管道(网线)进行数据交换的过程
二、七层网络模型-OSI
应用层:HTTP、FTP、SMTP、TELNET
表示层
会话层
传输层:TCP、UDP
网络层:IP
数据链路层
物理层
三、Socket与TCP、UDP
1. What is scoket?
- socket简单来说是对IP地址与端口的结合协议
- 一种地址与端口结合的描述协议
2. socket的组成和作用
- 在网络传输中用于唯一表示两个端点之间的连接
- 端点:包括(IP + Port)
- 4个要素:客户端地址、客户端端口、服务器地址、服务器端口
3. socket传输原理
1. socket之TCP
TCP是面向连接的通信协议,通过三次握手建立连接,通信完成需要拆除连接,TCP是端到端的了解
TCP有反馈,所以会有成功和失败说法
TCP/IP协议中,两个进程间的通信只要是C/S模型
2. socket之UDP
UDP是面向无连接的通信协议,所以可以实现广播发送,并不局限于端到端哦
UDP只管发送,并不管反馈
四、报文,协议,Mac地址
1. 报文段
报文段是指TCP/IP协议传输过程中,起着路由导航作用
用以查询各个网段的,IP地址、交换协议等IP数据包
报文段充当整个TCP/IP协议数据包的导航路由功能报文在传输过程中会不断的封装成组,包,帧来传输
2. 传输协议
协议顾名思义,其实就是一种规范,一种约束
约定大于配置,在网络传输中依然适用;网络传输流程是健壮的,稳定的,得益于基础的协议组成简单来说,就是A-->B的传输数据,B能识别,反之,B-->A的数据A也能识别,这就是协议
3. Mac地址
英文:Media Access Control或者Medium Access Control的缩写
译为媒体访问控制,或者为物理地址,硬件地址
用来定义网络设备的地址
例如:44-45-53-54-00-00,和身份证类似
五、IP、端口、远程服务器
1. IP地址
互联网中的协议地址,常见的有IPV4和IPV6
IP地址由32位二进制数组成,常以XXX.XXX.XXX.XXX形式表示,每一组XXX表示小于或者等于255的十进制数
例如:192.168.152.2
分为A、B、C、D、E五大类,其中E属于保留的地址
总数量大约42亿个。最终于2011年2月用完
IP地址255.255.255.255为受限的广播地址
IPV6总共128位长,可以标识地球上的每一个砂子
2. 端口
如果把IP比作一间房子,端口就是出入房子的窗户或者门
特殊端口:不能直接使用的地址
20、21-FTP
53-DNS
80-HTTP
443-HTTPS
总数:65536个。
3. 数据传输层次
4. 远程服务器
局域网IP地址和互联网IP地址的区分
六、Socket-UDP
- 一种用户数据报协议,又称用户数据报文协议
- 是一个简单的面向数据报的传输层协议,是一个非连接协议
- TCP和UDP,TCP是一个无状态的面向连接协议,传输可靠,UDP是面向传输的协议,不可靠的。
- UDP优点:结构简单,无校验,传输快,容易丢包,可广播
- 例子:音频/视频通话,直播*,客户端游戏
以上是关于网络编程基础知识的主要内容,如果未能解决你的问题,请参考以下文章