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 【不可靠协议】

     不会确认信息是否收到,只管发,不管是否送到,可能会丢包。但是处理数据快。

     应用场景:如视频,聊天应用程序不要求数据完整性,但是对传输速度要求较高的

应用层:协议由应用程序开发者自己来定

 

上一篇:Java学习day30-Map集合


下一篇:day30