-
物理层
1.1 作用:物理传输0/1比特流
1.2 传输信息需要媒介,物理层的本质就是抽象现实生活中物理传输方式,提供同一个接口给数据链路层。 -
数据链路层
2.1 作用: 定义数据的序列化格式
2.2 单纯的0/1的传输是毫无意义的,我们需要用一种约定,来确定一段0/1字节流的意义
2.3 最通用的协议是以太坊协议。以太坊协议的本质是0/1信号分组的方式
2.4 以太坊协议规定了一段数据称为一”帧”(Frame),由head,data构成
2.5 head包含了发送者,接受者,数据类型
2.6 data包含数据包的具体内容
2.7 head固定18字节,data最短64字节,最长1500字节2.8 head包含的地址是什么? 就是mac地址,一共12个16进制的数字标识,前面6个12进制是厂商编号,后6个是序列号
2.9 以太坊协议必须要知道对方的mac地址,才能发送数据包
2.10 广播:如何发送到对方的设备,答案是广播,向整个网络的设备发起数据包,由每一个设备自行判断 -
网络层
3.1 作用:决定数据路由路径
3.2 通过arp理论上是可以直接知道世界上所有的mac地址,并且直接通信的。但是想象一下,一台机器仅仅为了发送了一个“hello world“,就向全世界的所有电脑发送数据包,这是相当恐怖的。
3.3 为了解决这个问题,提出了ip协议,让数据包能够按照最合适的路线进行传输,而不是无差别传输。
3.4 现在普遍使用的协议上ipv4,也就是0.0.0.0 ~ 255.255.255.255为地址。
3.5 判断两个ip是不是在同一个子网内,只需要使用mask类似于255.255.255.0和ip进行&二进制运算,如果结果一致,就是在子网内。
3.6 通过arp协议可以通过ip去获得mac地址。如果在同一子网,使用arp协议。如果不同子网,将数据包发送网关处理。
3.7 ip协议,在以太坊协议的data里再划分出ip head,“标头”部分主要包括版本、长度、IP地址等信息。
3.8 这个就是抽象的优点,上层的变化的,完全不需要考虑下层的感受。
3.9 一个ip包的,最长的长度是65,515字节。需要拆分成多个以太坊包。 -
传输层
4.1 作用: 管理传输协议,建立端口到端口的通信。
4.2 目标: 主机和主机建立连接之后,需要把连接定位到特定的程序。
4.3 端口:0~65535,系统端口0~1023,其他的端口应用程序可以自取。
4.4 协议: udp协议,tcp协议。
4.5 tcp:可靠,荣冗余性高,复杂,性能损耗大
4.6 udp:不可靠,但是快速
4.7 往往封装成socket,给上面的应用调用
4.8 拥有包头,在ip包的数据包里,拆分一定的数据用作包头。
4.9 最长长度不会超过一个ip包 -
应用层
4.1 http协议
4.2 dhcp协议,通过mac地址获取动态ip。包里的head,填入相应的广播地址,发送方0.0.0.0,接收方255.255.255.255。就可以被dhcp协议接受。返回是网关,相应的ip,mask。
4.3 ftp协议
4.4 邮件协议
4.5 ssl和tls协议,两者是并列关系。都用作确保通信安全。tls是更加的安全,先进的,并且逐渐取代ssl。
评论
请
登录后发表观点