网络编程
网络编程概述
计算机网络
是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
网络编程
就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。
网络模型
1.计算机网络之间以何种规则进行通讯,就是网络模型研究问题。
2.网络模型一般是指
OSI(Open System Interconnection开放系统互连)参考模型
TCP/IP参考模型
网络参考模型图
网络模型七层概述
1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2.数据链路层:主要将从物理层接受的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层的设备是交换机,数据通过交换机来传输。
3.网络层:主要将从下层接受到的数据进行IP地址(咧192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。
4.传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如TCP(传输控制协议,传输效率低,可靠性强,用于传输,可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用户传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要是将从下层接受的数据进行分段和传输到达目的地址后再进行重组。常常把这一层数据叫做段。
5.会话层:通过传输层(端口号:传输端口与接受端口)建立数据传输的通路。主要在你的系统之间发起会话或者接收会话请求(设备之间需要互相认识可以是IP也可以是MAC或者主机名)
6.表示层:主要是对接收的数据进行解析、加密和解密、压缩与解压缩等(也就是把计算机能识别的东西转换成人能识别的东西【如图片、声音等】)
7.应用层:主要是一些终端应用,比如说FTP(各种文件下载),web(IE浏览器),QQ之类的(可以把它理解成我们在电脑屏幕上看到的东西,就是终端应用)。
网络通讯三要素
IP地址:InetAddress
网络中设备的标识,不易记忆,可用主机名
端口号
用于标识进程的逻辑地址,不同进程的标识
传输协议
通讯的规则
常见协议:TCP,UDP
情景案例
A:网络模型说完了,我们要进行通讯,需要哪些要素呢? 比如说:我要跟你说话.
第一个条件:我要先找到你 (IP)
第二个条件:你得有接收数据的地方 耳朵 (端口)
第三个条件:我跟你说话,你能接收到,咱按什么方式接收啊,我说英文你懂吗,说韩文你懂吗,不懂是吧,所以我还是说中文把.(协议)
IP地址
1.要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接受数据的计算机和识别发送的计算机,在TCP/IP协议中,这个标识号就是IP地址。
2.那么,我们如果获取和操作IP地址呢? 为了方便我们对IP地址的获取和操作,java提供了一个类InetAddress 供我们使用。
IP地址详细:
A:所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。
B:IP地址的组成 IP地址 = 网络号码+主机地址
A类IP地址:第一段号码为网络号码,剩下的三段号码为本地计算机的号码
B类IP地址:前二段号码为网络号码,剩下的二段号码为本地计算机的号码
C类IP地址:前三段号码为网络号码,剩下的一段号码为本地计算机的号码
特殊地址: 127.0.0.1 回环地址,可用于测试本机的网络是否有问题. ping 127.0.0.1
DOS命令 ipconfig:查看本机IP地址 xxx.xxx.xxx.0 网络地址 xxx.xxx.xxx.255 广播地址
A类 1.0.0.1---127.255.255.254 (1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址) (2)127.X.X.X是保留地址,用做循环测试用的。
B类 128.0.0.1---191.255.255.254 172.16.0.0---172.31.255.255是私有地址。169.254.X.X是保留地址。
C类 192.0.0.1---223.255.255.254 192.168.X.X是私有地址 D类 224.0.0.1---239.255.255.254 E类 240.0.0.1---247.255.255.254
端口号
1.物理端口 网卡口
2.逻辑端口 我们指的就是逻辑端口
A:每个网络程序都会至少有一个逻辑端口
B:用于标识进程的逻辑地址,不同进程的标识
C:有效端口:0~65535,其中0~1024系统使用或保留端口。 通过360可以查看端口号
协议UDP和TCP
UDP:将数据源和目的封装成数据包中,不需要建立连接;每个数据报的大小在限制在64k;因无连接,是不可靠协议;不需要建立连接,速度快
TCP:建立连接,形成传输数据的通道;在连接中进行大数据量传输;通过三次握手完成连接,是可靠协议;必须建立连接,效率会稍低
总结:
udp: 面向无连接。 不可靠。 速度快。 将数据封包传输,数据包最大64k。 举例: 聊天留言,在线视频,视频会议,发短信,邮局包裹。
tcp: 面向连接。 安全可靠 效率稍低。 通过三次握手确保连接的建立。 举例: 下载,打电话,QQ聊天(你在线吗,在线,就回应下,就开始聊天了)
完结。。。
《成功在于坚持》