认识网络(一)
网络 网络其实就是跨主机的“进程间”通信 协议分层 分层的意义:网络协议比较复杂,如果不拆分就会很复杂 分层的好处:拆分成多个模块相当于降低了整个系统的耦合程度,根据实际需要,随时可以替换其中的某一层协议 OSI七层模型: TCP/IP五层(或四层)模型 由图可见网络层和传输层都是由操作系统内核来实现的,我们所开发的程序就是调用这些内核提供的传输层系统调用(socket api)来完成应用层的程序。每一层都包含了不同的协议。 网络中的常见设备和协议的关系: 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容; 对于一台路由器, 它实现了从网络层到物理层; 对于一台交换机, 它实现了从数据链路层到物理层; 对于集线器, 它只实现了物理层; 上下层协议之间交互数据的时候两步:封装和分用(就相当于是包装快递和拆快递) 认识TCP和UDP协议 TCP: 传输层协议 有连接(打电话,必须双方同意通信) 可靠传输(知道数据是否发送成功,本质上靠对方的反馈) 面向字节流(发送数据和接收数据可以随意控制,非常灵活,水管的例子) UDP: 传输层协议 无连接(发qq,不需要双方同意通信) 不可靠传输(不知道数据是否发送成功) 面向数据报(一次发多少数据一次就要接多少,否则会造成数据的损失,对读写要求严格,读写一致) 网络字节序(大端序),统一转化为大端序再发送到网络上,主机字节序(不确定