zoukankan      html  css  js  c++  java
  • 网络编程之五层协议

    五层协议总共有:物理层,数据链路层,网络层,传输层,应用层

    1,物理层:
    物理连接介质. 光纤,双绞线等等.
    在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。
    物理层只发送0101高低电平数据
    但是数据应该进行分组,源地址,目标地址. 这些物理层做不了.

    2,数据链路层: 简称为链路层,主要就是对数据进行分组,封包:源地址,目标地址.统一使用以太网协议.
    规定数据分为两部分:
    数据头和数据体
    数据头规定,固定18个字节.
    数据头部分:
    源地址: 6个字节
    目标地址: 6个字节
    数据类型: 6个字节.
    将数据分为组的形式: 一组电信号:数据报,也叫一帧.
    data长度=46字节~1500字节,即head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

    网卡: mac地址. 就是计算机的唯一标识,计算机出厂就会有网卡,网卡上就有一个mac地址
    12位 16进制: 40-8D-5C-93-F1-DE 前六位:厂商编号,后六位:流水线号.

    计算机是如何通信的?
    计算机通信方式:广播,吼.
    村东头老李马上来村委会: 全村人全部都能接收到消息,分析消息,不是找自己的将消息丢弃掉.
    理论: 有了mac地址,加上广播的方式,全世界所有的计算机都可以通信了.
    实际:广播风暴,效率低,工作量太大.

    接下来规定:mac + 广播的形式只能在局域网中实行.

    3,网络层: 确定局域网的位置.
    协议:IP,ICMP,IGMP,ARP,RARP
    寻找对方局域网的位置.
    ip + mac + 广播 就能确定世界上任何一个计算机的位置.

    4,传输层:负责向两个主机中进程之间的通信提供服务。
    (1) TCP:面向连接的,数据传输的单位是报文段,能够提供可靠的交付。
    (2) UDP:无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。
    端口协议. 每一个软件都有固定的端口,
    0 ~ 65535 0~1023系统占用.
    端口:确定软件的位置.
    端口 + ip + mac + 广播 就能确定世界上任何一个计算机的软件的位置.

    5,应用层: 每个软件对于数据有不同的自定制协议.
    直接为用户的应用进程提供服务。
    在因特网中的应用层协议很多,如HTTP协议,SMTP协议,FTP协议,DNS,POP3,SNMP,Telnet等等。

    看图理解一下:

    
    
  • 相关阅读:
    coder的脚印
    Mysql
    MSDos
    Windows Develop
    Eclipse 使用总结
    DBA常用SQL
    SSH总结
    Unity3D协程
    yield的作用
    UGUI优化
  • 原文地址:https://www.cnblogs.com/NoteBook3013/p/10395804.html
Copyright © 2011-2022 走看看