网络编程概述和三要素(IP/端口号/协议)以及Socket通信原理
2017-09-04 11:26
656 查看
一、网络编程概述
1、计算机网络
是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
2、网络编程
就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。
二、网络编程三要素之IP概述
IP:每个设备在网络中的唯一标识。每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。
cmd命令:
ipconfig:查看本机IP192.168.12.42
ping:测试连接192.168.40.62
本地回路地址:127.0.0.1
广播地址:255.255.255.255
IPv4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。
IPv6:8组,每组4个16进制数。
IPv6:8组,每组4个16进制数。
1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
1a2b::aaaa:0000:0000:0000:aabb:1f2f
1a2b:0000:aaaa::aabb:1f2f
1a2b:0000:aaaa::0000:aabb:1f2f
1a2b:0000:aaaa:0000::aabb:1f2f
三、网络编程三要素之端口号概述
端口号:每个程序在设备上的唯一标识
每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。
端口号范围从0-65535
编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。
常用端口
mysql: 3306
oracle: 1521
web: 80
tomcat: 8080
QQ: 4000
feiQ: 2425
当两个设备同时登陆了3个不同的聊天工具时,这台电脑QQ发送的消息能准确发送到另一台电脑的QQ是因为同一个应用程序有相同的端口号。
![](https://img-blog.csdn.net/20170904094429540?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU29hckZseTA4MDc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
四、网络编程三要素之协议概述
协议:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
UDP:面向无连接,数据不安全,速度快。不区分客户端与服务端。
TCP: 面向连接(三次握手),数据安全,速度略低。分为客户端和服务端。
三次握手: 客户端先向服务端发起请求, 服务端响应请求, 传输数据
五、Socket通信原理图解
Socket套接字概述:
网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。
通信的两端都有Socket。
网络通信其实就是Socket间的通信。
数据在两个Socket间通过IO流传输。
Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和port。
1、计算机网络
是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
2、网络编程
就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。
二、网络编程三要素之IP概述
IP:每个设备在网络中的唯一标识。每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址。
cmd命令:
ipconfig:查看本机IP192.168.12.42
ping:测试连接192.168.40.62
本地回路地址:127.0.0.1
广播地址:255.255.255.255
IPv4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。
IPv6:8组,每组4个16进制数。
IPv6:8组,每组4个16进制数。
1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
1a2b::aaaa:0000:0000:0000:aabb:1f2f
1a2b:0000:aaaa::aabb:1f2f
1a2b:0000:aaaa::0000:aabb:1f2f
1a2b:0000:aaaa:0000::aabb:1f2f
三、网络编程三要素之端口号概述
端口号:每个程序在设备上的唯一标识
每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序。
端口号范围从0-65535
编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。
常用端口
mysql: 3306
oracle: 1521
web: 80
tomcat: 8080
QQ: 4000
feiQ: 2425
当两个设备同时登陆了3个不同的聊天工具时,这台电脑QQ发送的消息能准确发送到另一台电脑的QQ是因为同一个应用程序有相同的端口号。
四、网络编程三要素之协议概述
协议:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
UDP:面向无连接,数据不安全,速度快。不区分客户端与服务端。
TCP: 面向连接(三次握手),数据安全,速度略低。分为客户端和服务端。
三次握手: 客户端先向服务端发起请求, 服务端响应请求, 传输数据
五、Socket通信原理图解
Socket套接字概述:
网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。
通信的两端都有Socket。
网络通信其实就是Socket间的通信。
数据在两个Socket间通过IO流传输。
Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和port。
相关文章推荐
- 网络编程的概述2 网络通信中的三要素3 InetAddress的概述和测试,IP地址:InetAddress 传输协议(网络协议)TCP 可靠协议,需要连接,效率会稍低 没有大小的限制UDP 不:
- 网络编程_Socket通信原理图解
- Linux网络编程之[基于socket通信的tcp协议的编程模型]
- Socket网络编程及其通信原理
- 网络编程_TCP_Socket通信原理_多个客户端_聊天室原理JAVA189-190
- Java基础知识强化之网络编程笔记02:Socket通信原理图解
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- 线程与网络编程(第六节:通信协议与TCP socket初识)
- 某科学的超 Java网络编程:Socket通信原理及实例学习
- 26 API-网络编程(网络概述,Socket通信机制,UDP协议发送和接收数据,TCP协议发送和接收数据)
- 网络通信中标志通信进程、TCP三次握手四次撒手、TCP与UDP在socket编程中的区别
- 网络协议(四)Socket编程之Unix
- 网络通信 Socket 编程
- ios调用unix 网络编程的socket 接口实行UDP通信, 锁屏后解屏会闪退的解决方法
- Linux下网络socket编程——实现服务器(select)与多个客户端通信
- [网络通信]socket编程相关
- 网络编程(5)—— 基于Linux系统的UDP协议socket服务器和客户端
- IPv6下网络编程socket, TCP和UDP例子,以及兼容IPV4和IPV6的类
- Socket通信原理,TCP,UDP协议
- TCP/IP、Http、Socket的区别以及面试中关于网络协议常问的考点