day29

C/S

'''
计算机互联网:有多台计算机通过某种相互连接而组成,互联网之所以存在就是为了能让信息共享
网络编程:编写基于网络的应用程序

学习网络编程的目的是要编写出一个基于c/s结构的应用程序

建立网络至少需要两台计算机,然后使用网络来传输数据
1.网络必须联通
2.在需要访问数据一方 必须安装用于访问数据的应用的程序
该应用程序称之为客户端应用程序(client)

在需要访问数据一方 必须安装用于访问数据的应用的程序
该应用程序称之为服务端应用程序(server)


传播介质:(双绞线,光纤,同轴线,无线电波)
通讯协议:由发送方和接收方共同商定一套规范,其目的是为了双方能正确解析数据


OSI7层协议
一.物理层
二.数据链路层(以太网协议)
一组电信号构成的一个数据包,叫做'帧'
  每一数据帧分成:head和data两部分
  mac地址:每块网卡出厂时都被烧制上一个世界唯一的MAC的地址,长度为48位2进制,通常由12位16进制数表示(前六 位厂商编号,后六位时流水线号)
  广播(广播风暴)
   
三.网络层
ip协议
  ip地址(IP协议定义的地址)
网络号:标识子网
  主机号:标识主机
  0.0.0.0 ~ 255.255.255.255
  c类分配给任何可以需要的人
  192.168.0.1~192.168.255.254
  ip数据包(以太协议头-ip协议头-ip数据段)
  子网掩码是表示子网络特征的一个参数,用于判断两个IP是否属于同一子网
arp协议(了解)

四.传输层
tcp:传输控制协议(可靠传输协议)
如何保障可靠,在发生完数据之后,必须等待接收方返回回复消息,该数据才算发送成功,如果对方在一段时间内 没有返回,会再次发送数据,超限制次数,将判定位链接丢失

链接:要发生数据必须先建立链接,简单的说就是找一条可以到达对方的路.链接是一个抽象的概念
如何选择一条最佳的传输路径,由路由协议来控制

三次握手:三次握手完成之后,就能确认传输路径可用,则意味着链接建立成功
四次挥手:保证双方的数据传输已经全部完成,同时保证了数据的完整性

udp(协议用户数据报协议)
不可靠传输
udp只管放送,不管对方是否收到
传输层要求每一应用程序捆绑一个端口号
端口号是一个整数,取值范围0-65536 0-1024 这是系统保留的,不建议使用
端口号不能重复,至此,就可以通过ip+端口号来确定把消息

'''
原文地址:https://www.cnblogs.com/zhuqihui/p/10933436.html