互联网协议

天涯浪子 提交于 2020-02-04 13:54:02

互联网协议分别有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数据格式

 

用户角度:由上到下

当用户访问网页的时候,互联网协议是怎么运作的

  • 发送请求
  1. 使计算机加入网络:确定四个参数(静态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协议发回来。

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!