嵌入式网络知识(自整理)

一.TCP/IP

1.OSI与TCP/IP模型

OSI与TCP/IP模型
OSI参考模型TCP/IP参考模型协议
应用层应用层DNS、DHCP、HTTP、SNMP、API、BSD Socket
表示层
会话层
传输层传输层TCP、UDP
网络层网络层IPv4、IPv6、ICMP、IGMP、ARP
数据链路层网络接口层PPP、SLIP、以太网、环回接口
物理层

网络接口层:主要负责网络上的数据帧的发送和接收,数据帧是底层网络传输的基本单元。网络接口有不同的实现方式,比如可以通过有线或无线的方式发送数据帧,不同的实现方式意味着不同的帧结构、发送速率等。网络接口层一方面将上层(网络层)的数据组装成自己特定的数据帧并发送,另一方面接收网络中的发给自己的数据帧,并解析出帧中的数据后递交上层(网络层)。

网络层:负责在主机之间的通信中选择数据报的传输路径,即路由。当网络层接收到来自于上层(传输层)的数据分组后,它会把分组封装在IP数据报中,填入数据报的首部,使用路由算法来确定是直接交付数据报,还是把它传递给路由器,然后把数据报交给适当的网络接口进行传输。网络层还要负责处理传入的数据报,并检验其数据有效性,然后判断该数据报是否是给本机的,如果不是,则使用路由算法将数据报转发;如果是,网络层需要去除数据报中的首部得到数据分组,然后将数据分组递交给上层(传输层)。

传输层:主要提供应用程序之间的通信服务。传输层协议把上层(应用层)要传输的数据流划分为分组,把每个分组连同目的地址交给网络层去发送。传输层要系统地管理两端数据的准确交互,要提供可靠的传输服务,以确保数据到达无差错、无乱序。为了达到这个目的,传输层协议可以采用协商、确认、重发等机制。

应用层:利用传输层提供了数据传输功能发送自己的数据到对方。

OSI为理论派,而TCP/IP为实践派。

802.3中的以太网帧结构
网卡在物理层上发送以太网数据时添加上去的     
前同步码SFD目的MAC地址源MAC地址

长度/

类型

数据和填充CRC
7字节1字节6字节6字节2字节46字节~1500字节4字节

2.嵌入式TCP/IP协议栈(LwIP)

LwIP的含义是Light Weight(轻型)IP协议。最大优势在于可以移植的操作系统上,也可以在无操作系统的情况下独立运行,且代码量小。LwIP是TCP/IP协议一种独立、简单的实现,其设计目的在于:在保证嵌入式产品拥有完整TCP/IP功能的同时,又能保证协议栈对处理器资源的有限消耗,其运行一般仅需要几十KB的RAM和40KB左右的ROM。

3.ARP

全称Address Resolution Protocol,译作地址解析协议,ARP是网络层的重要组成部分。

在网络层看来,源主机与目的主机之间是通过IP地址来唯一标识的,但是任何网络的通信都是基于底层硬件链路的,IP数据包只有在具体的物理网络上才能进行发送。底层数据链路有着自己的一套寻址机制,例如在以太网中,是通过一个48位的MAC地址来标示不同的网络通信设备。每个网络接口有一个唯一的物理地址。

ARP协议的基本功能是在ARP缓存表中使用目标主机的IP地址,查询其对应的MAC地址。ARP缓存表中记录了一条一条的<IP地址,MAC地址>对。

ARP缓存表的建立与ARP数据包是密切相关的。在以太网中,ARP数据包和IP数据包是两个独立的部分,它们都封装在以太网帧中发送。ARP数据包的种类有两种:一是ARP请求包,它是通过以太网广播(目的地址为FF-FF-FF-FF-FF-FF)的方式发送的,用于向具有某个IP地址的主机发送请求,希望该主机返回其MAC地址;二是ARP应答包,收到ARP请求的主机会比对该数据包中的IP地址与自己的IP地址相符合,若是,则该主机向源主机返回一个ARP应答包,向源主机报告自己的MAC地址。源主机通过提取ARP应答包中的相关字段来更新ARP缓存表。

由于网络硬件状态可能随时发生改变,ARP协议还需要采用一定的定时机制来保证缓冲表中地址对的有效性。即一对IP地址和MAC地址在ARP表中不可能永久有效,必须采用一定的定时机制来实现动态绑定。

在IP数据包从源主机到达最终目的主机过程中,该IP数据包可能会经过中间物理网络中多种网络设备的转发,在每一次的转发过程中都会涉及地址转换的问题。在非最后一步转发中,当转发主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的MAC地址。在数据包转发的最后一步,分组必将经过最后一条物理线路到达它的目的站,发送主机这时必将目的主机IP地址映射为目标MAC地址。

ARP报文组织结构
以太网首部28字节ARP数据包

以太网目的地址

(MAC地址)

以太网源地址

(MAC地址)

帧类型硬件类型协议类型硬件地址长度协议地址长度OP发送方以太网地址发送方IP地址接收方以太网地址接收方IP地址
6字节6字节2字节2字节2字节1字节1字节2字节6字节4字节6字节4字节

4.网际协议(IP)

IP是整个TCP/IP协议的核心,传输层协议,如UDP和TCP都需要IP提供的服务,而像ICMP和IGMP等网络层协议也是基于IP来传送协议数据。常见的广域网路由器就工作在IP层,它们负责将IP数据报从源主机送至目的主机,主机间的区分是通过IP地址来实现。主机上的IP协议需要完成的工作很多,最基本的是数据报发送和递交,在特殊情况下它还要完成数据报的分片和重装功能,在更特殊的情况下,它还要完成数据报的转发等工作。

互联网的功能可以抽象为一个分组交付系统,它能将分组从一个地方交付到另一个地址,其中起着关键作用的就是IP协议。IP是一种不可靠的无连接数据报协议。

4.1 IP分类编址

4.2特殊IP地址

A类:网络地址为:x.0.0.0,广播地址为:x.255.255.255;

B类:网络地址为:x.x.0.0,广播地址为:x.x.255.255;

C类:网络地址为:x.x.x.0,广播地址为:x.x.x.255;

本网络本主机:0.0.0.0

4.3子网编址

将主机号再划分为一个子网号和主机号。

子网掩码只有一个作用,就是将某个IP地址划分为网络号(包括子网号)和主机号两部分。

4.4网络地址转换(NAT)

NAT的功能可简单描述为:当内部网络用户连接互联网时,NAT将用户的内部IP地址转换成一个外部公共IP地址,反之,数据从外部返回时,NAT将目的地址替换成用户的内部IP地址。

具有NAT功能的路由器会在内部维护一个NAT转换表。

在NAT转换中,NAT端口是个关键的因素,路由器应该为每个连接分配一个唯一的NAT端口号,并及时回收那些不用的端口号。

参考资料:

朱升林 著  《嵌入式网络那些事》

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值