day30 网络编程
今日内容
网络编程:
c/s 架构:客户端(client) --- 服务端(server)
b/s 架构 : 浏览器(browser) --- 服务端(server)
网络:1.建立物理链接介质,通信的载体
2.计算机统一的通信的标准:互联网协议【osI】
互联网协议【osI】:7层协议 【应用层、表示层、会话层】、传输层、网络层、数据链接层、物理层
物理层:光纤,交换机,电缆,无线电波 ,发送0101电信号【高低电频】
数据链路层: ethernet 以太网协议
1. 每个需接连互联网的设备必须要有一个以太网卡
2. 一组电信号构成一个数据报,叫做帧,每一个数据报分成报头head和数据data两部分
报头head + 数据 date
head包含:固定18个字节,【发送者/源地址,6个字节】;【接收者/目标地址,6个字节】;【数据类型,6个字节】
date数据包含:【最短46字节,最长1500字节】
数据报的具体内容:head长度 + data长度 = 最短64字节,最长1518字节,超过最大限制就分片发送
源地址/目标地址:网卡上的MAC地址【世界上独一无二的地址】,
有了以太网就可以在一个局域网内通过arp【地址解析仪,交换机】进行通信,吼的方式
问题:在一个局域内要找另一个局域的设备,mac地址找不到了!
网络层: IP协议
传输层: tcp 【可靠协议】
传数据建立链接 三次握手【客户端SYN_SENTY请求、ESTABLISHED建立链接与服务端LISTEN监听、SYN_RCVD、ESTABLISHED之间确认双方收发数据功能ok】,
断开数据传输链接 四次挥手断链接【如客户端数据传完,发出请求我要断开请求断开FIN=1,服务端回复一下ok, ack =1;
server端要断链接,发出请求FIN=1,客户端回复ok,ack=1 】
优点:数据可靠,建链接,传数据断链接都确认信息; 缺点:传输效率低。
应用场景:多用于必须保证数据完整性的场景,如文本信息,如支付信息。
udp 【不可靠协议】
不会确认信息是否收到,只管发,不管是否送到,可能会丢包。但是处理数据快。
应用场景:如视频,聊天应用程序不要求数据完整性,但是对传输速度要求较高的
应用层:协议由应用程序开发者自己来定