zoukankan      html  css  js  c++  java
  • 互联网协议

    互联网协议分别有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协议发回来。

     

  • 相关阅读:
    Ubuntu系统下《汇编语言》环境配置

    GetDiskFreeSpaceEx的使用
    夏走了
    小笨妞
    项目管理怎么可以这样子!


    浪费
    查找文件夹
  • 原文地址:https://www.cnblogs.com/ppybear/p/12259202.html
Copyright © 2011-2022 走看看