计算机机软件工程学(分层解耦)
两台主机之间通信:
第一步建立连接
第二步才是传送数据(HTTP协议:规范标准)
第三步断开连接释放资源。
知识点:
应用层以下在内核态(传输层,网络层,链路层,物理层)。
通信具体过程
应用层:浏览器只需要把HTTP协议规定的请求写的很规整,写完之后调下面的层次(真正传输和控制的事情交给下层)。在Java中,先new一个socket,得到一个对象之后拿到IO才能把东西发出去。
传输控制层TCP,UDP:
TCP是面向连接的,可靠的协议。(确认过眼神),你看她,她看你。你愁啥,瞅你咋滴!发一个确认一个。双方三次握手开辟资源,建立连接。一台主机总共有65535个端口号,资源有限,使用完一定要断开连接,释放端口、内存等资源。我想断开连接,我知道了,我也想断开连接,知道了;然后释放资源。【三次握手–》数据传输==》四次分手】成为一个最小粒度,不可被分割。
网络层:IP地址与子网掩码做与运算,得到网络号:下一跳机制:route -n 路由表做路由判定。网络层找到下一跳
链路层(也有一张表):MAC地址 ( arp协议:同一局域网内IP地址与MAC地址转换),每一次跳动都只改变MAC地址,数据包目标IP地址和端口号不变。IP地址确定两个端点,MAC地址确定两个节点。
光速是作用最远的通信方式;电磁比光快,但是衰减也快。长距离传输光纤的传输距离远带宽频率高