zoukankan      html  css  js  c++  java
  • 计算机网络原理

    计算机网络原理

    什么是互联网协议,为什么要有互联网协议

    互联网的本质就是一系列的网络协议,硬件有了操作系统可以装上软件使用,但是计算机之间相互通信需要各层网络协议才能进行通讯
    互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准

    osi五层

    应用层 htp ftp
    传输层 tcp udp-->基于端口工作,标识一台机器上的唯一应用程序
    网络层 ip 标识一个子网
    数据链路层 以太网协议(ethernet-电信号分组-广播方式)
    物理层 电信号

    以太网协议
    ethernet :一组带你信号构成一个数据包,叫做帧
    所有数据包分为报头和数据两部分
    head+data

    head;固定18个字节
    发送者/源地址:6个字节
    接收者/目标:6字节
    数据类型:6字节
    data包含:(最短64字节,最长1518字节),超过最大酒分片发送

    mac地址: head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接受端的网卡地址即mac地址,48位2进制

    IEEE802.1
    目标mac地址:发送源mac地址:tpid:tci:类型:部分数据:crc
    6Bytes: 6Bytes :2Bytes:2Bytes:2Bytes:xx:4Bytes


    ipv4: 点分十进制,分为标识子网;标识主机。 192.168.0.1
    子网掩码:255.255.255.0
    与运算:192.168.0.0

    ::与运算结果相同的在一个子网不同的不在一个子网

    IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

    IP数据包:head+data无需为ip包定义单独的栏位,直接放入以太网包的daat部分
    head:长度为20-60字节
    data:长度为65515字节
    而以太网数据包的数据部分最长只有1500字节,如果ip数据包长度长过了,他就需要分割成几个以太网数据包,分开发送


    ARP协议

    计算机通信靠广播形式,所有上层的包到最后都要封装成以太网头,然后通过以太网协议发送,通信是靠mac的广播形式,如何获取mac地址,需要apr协议
    apr协议:广播的方式发送数据包,获取目标主机的mac地址

    1. 首先通过ip地址和子网掩码区分出子集所处的子网

    2. 源mac    目标mac   源ip 目标ip    数据部分  
      发送端主机   发送端mac  FF:FF:FF:FF:FF:FF
      172.16.10.10/24 172.16.10.11/24 数据
      
    3. 这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac

    TCP三次握手

    tcp可靠:三次握手验证。

    用户上网流程

    发送数据是一个封装的过程

    DNS解析过程

    数据封装

    整个网络通信流程

    1. 本机获取:

    本机ip地址 10.0.0.10    
    子网掩码: 255.255.255.0  
    网关的IP地址:10.0.0.1
    DNS的IP地址
    

    2. 打开浏览器,地址栏输入 www.baidu.com

    3. dns协议

    4. TCP协议

    tcp数据包需要设置端口,接收方的http端口是80,发送方(本机)的端口是1024-65535之间
    TCP数据包头长度是20字节,加上嵌入的HTTP数据包,编程4980字节
    

    5. IP协议

    然后TCP包再嵌入IP数据包。ip数据包需要设置双方的ip地址
    ip数据包的头长度是20字节,再加上嵌入的TCP数据包,长度变为5000字节
    

    6. 以太网协议

    最后ip数据包嵌入以太网数据包,以太网数据包需要设置双方的mac地址
    以太网数据包的数据部分,最大长度为1500字节,因此ip数据包必须分为四个包,长度1500 1500 1500 560
    

    7. 服务端响应,google的服务器接受了这四个以太网数据包

    根据IP标头的序号,Google将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。
    
    本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信。
    
  • 相关阅读:
    操作系统8:文件系统
    操作系统7:内存管理
    操作系统6:死锁
    操作系统5:进程同步
    操作系统3:CPU调度
    操作系统2:进程
    操作系统1:操作系统结构
    计算机组成:CPU
    计算机组成:数制与运算
    计算机组成:输入输出系统
  • 原文地址:https://www.cnblogs.com/cx2c/p/6890876.html
Copyright © 2011-2022 走看看