计算机基础之互联网协议

一、互联网协议
    
    1.互联网协议按照功能不同可以分为OSI七层或TCP/IP五层或TCP/IP四层
    OSI七层:应用层 表示层 会话层,传输层,网络层,数据链路层 物理层。
    TCP/IP五层:应用层,传输层,网络层,数据链路层 物理层。
    TCP/IP四层:应用层,传输层,网络层,网络接口层。
    
    2.物理层
    物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。

    物理手段:电缆、光缆、双绞线、无线电。
    
    3.数据链路层
    数据链路层:定义了电信号的分组方式。单纯的电信号0和1没有意义,必须规定电信号多少位一组,每组什么意思。
    (1)以太网协议:
    一组电信号构成一个数据包(以太网包),叫做“帧”
    每一数据帧分成报头head和数据data两部分。
    head(固定18字节)包括:
        发送者/原地址 6字节
        接收者/目标地址 6字节
        数据类型 6字节
    data(最短46字节,最长1500字节)包括:
        数据包的具体内容。
        
    head长度+data长度 = 最短64,最长1518字节,超过限制就分片发送。
    (2)mac地址:
        head中源和目的地址是指设备网卡的地址,即Mac地址。
        每块网卡的Mac地址都是在世界上唯一的地址,长度为48位二进制,通常用12位十六进制数表示(前六位是厂商编号,后六位是流水线号)。
    (3)广播
        有了mac地址,同一网络内的两台主机就可以通信了,通信的方式是广播,一台主机将数据包通过广播的方式发送给同一网络内的除自身外的所有主机,
    其它主机接收之后发现目的地址不是自己的mac地址就将之丢掉,若是自己的地址就将数据接收存储起来进行处理,这样就实现了两台主机之间的通信。
    
    4.网络层
    网络层:引入一套新的地址用于区分不同的广域网/子网,这套地址就是网络地址。(若将世界作为一个大的局域网,那么一台计算机发送的数据全世界都
    会收到,这就不仅是效率低的问题,简直是一场灾难)
    (1)IP协议
        规定网络地址的协议,它定义的地址就是IP地址。广泛的ipv4版本,地址由32位2进制表示。通常写成四段十进制数。
        IP地址范围:0.0.0.0--255.255.255.255
        
        ip地址分为两个部分:
            网络部分:标识子网
            主机部分:标识主机
            
        子网掩码:表示子网络特征的一个参数,它的网络部分全为1,主机部分全为0.
        主机子网掩码,可以判断两个ip地址是否在同一子网络中,将两个ip地址与子网掩码进行与运算,若结果相同则是在同一子网络中,否则不是。
    (2)ip数据包
        也分为head和data部分,直接放入以太网包的data部分。
        head:长度为20到60字节
        data:长度为65515字节
        以太网包的data部分最长为1500字节,ip数据报表超过1500字节后,要进行分包,分割成几个以太网数据包,分开发送。
    (3)arp协议(网络层)
        通过广播的方式发送数据包,获取目标主机的mac地址。
        工作方式:每台主机ip均已知。

  • 首先通过ip和子网掩码区分出自己所处的子网;
  • 然后分析要通信的两台计算机是否处于同一网络(若不是就将目标ip地址置为网关的地址,获取到网关的mac地址);
  • 最后数据包(目标的mac地址未知)会以广数据包(目标的mac地址未知)会以广播的方式在发送端所在的自网中传输,所有主机接收拆包后,发现是自己的ip就响应返回自己的mac。

    5.传输层
    传输层:建立端口到端口的通信。端口是应用程序与网卡关联的序号,可以标识一台主机上的应用程序。
    端口范围:0-65535,0-1023为系统占用。
    (1)tcp协议
        可靠传输,tcp数据包理论上没有长度限制,但为了保证效率,通常长度不超过iP数据包的长度
        以太网头+ip头+tcp头+data
    (2)udp协议
        不可靠传输,头部8个字节,总长度不超过65535字节。
        以太网头+ip头+udp头+data
        
    通常将tcp协议或udp协议封装到一个socket抽象层以方便使用。
    
    6.应用层
    应用层:规定应用程序的数据格式。应用程序运行在应用层。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值