互联网协议分别有4层,5层,7层说法
1. 四层:应用层,传输层,网络层,网络接口层
2.五层:应用层,传输层,网络层,数据链路层,物理层
3.七层:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
物理层:电气特性,负责传送0和1电信号
数据链路层:确定0和1的分组方式
以太网协议,MAC地址,广播形式发送
网络层:主机到主机的通信
- 引入网络IP地址,区分不同计算机是否属于同一个自网络。子网络内广播发送,子网络外路由发送
- MAC与IP没有任何联系,MAC是绑定在网卡上的,IP是管理员分配的
- 子网掩码:判断任意两个IP是否处于同一个子网络
- 从IP地址到MAC地址:
(1)不同子网络:没有办法得到对方的MAC地址,需要两个网络连接处的网关来处理
(2)同一个子网络:ARP协议得到对方的MAC地址
传输层:端口到端口的通信
- 端口:一个参数,表示这个数据包到底供哪个程序(进程)使用。即,每个使用网卡程序的编号
套接字:Unix系统把主机+端口叫做‘套接字’
- UDP:简单,可靠性查。一旦发出,无法知道对方是否接收
TCP:即有确认机制的UDP,三次握手和四次挥手以确保数据不会遗失
应用层:规定应用程序的数据格式
- Email:电子邮件数据格式
- WWW:网页数据格式
- FTP:FTP数据格式
当用户访问网页的时候,互联网协议是怎么运作的
- 发送请求
- 使计算机加入网络:确定四个参数(静态IP or 动态IP(DHCP协议))
* 本机的IP地址:192.168.1.100
* 子网掩码:255.255.255.0
* 网关的IP地址:192.168.1.1
* DNS的IP地址:8.8.8.8
2. 然后他打开浏览器,想要访问Google,在地址栏输入了网址:www.google.com
3.将www.google.com->通过DNS服务器(8.8.8.8)->转化为IP地址(172.194.72.105)
4.用子网掩码,判断IP和主机IP是否在同一个子网络。
不在同一网络:我们要向Google发送数据包,必须通过网关192.168.1.1转发,也就是说,接收方的MAC地址将是网关的MAC地址
5. 发送数据包:
应用层(HTTP协议)->传输层(TCP:端口80)->网络层(IP:本机192.168.1.100---->Google172.194.72.105)->网络接口层(以太网协议)
- 服务器端相应
经过多个网关的转发,Google的服务器172.194.72.105,收到了这四个以太网数据包。
根据IP标头的序号,Google将四个包拼起来,取出完整的TCP数据包,然后读出里面的"HTTP请求",接着做出"HTTP响应",再用TCP协议发回来。
来源:https://www.cnblogs.com/ppybear/p/12259202.html