嵌入式技术笔记(十九):网络通信基础知识

1. 实现网络通信需要哪些支持?

  • 通信设备:网卡(PC机自带),交换机,路由器,光纤,电缆,基站。
  • 通信协议:操作系统自带协议栈(Linux的特点:丰富的协议);裸机开发需要独立的协议栈
  • 套接字的作用:传输层的文件描述符
    类型:流式套接字(TCP)、数据报套接字(UDP——数据报形式)
    简单的网络通信只需要学会使用系统API

2. 什么是通信协议及作用?
含义:通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。简单来说,就是通信双方确定一种数据格式,以及通过什么形式来发送。
作用:通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,使其能协同工作实现信息交换和资源共享。

3. TCP/IP协议栈
OSI七层网络模型,Linux四层网络模型

OSI七层网络模型Linux四层网络模型对应的协议
应用层应用层TFTP,FTP,NFS,WAIS
表示层应用层Telnet,Rlogin,SNMP,Gopher
会话层应用层SMTP,DNS
传输层传输层TCP,UDP
网络层网际层IP,ICMP,ARP,RARP,AKP,UUCP
数据链路层网络接口层PDN,SLIP,PPP
物理层网络接口层IEEE 802.1A,IEEE 802.2

OSI七层网络模型中每层的作用:
物理层:通信介质的信号到数字信号(二进制)的转换;
数据链路层:局域网之间计算机通信通过MAC地址(物理网卡)通信;
网络层:IP地址,路由(通过公网IP来访问全世界);
传输层:TCP、UDP、端口
会话层:控制发包的数据
表示层:文件格式
应用层:应用程序的使用

分层的好处:
1、各层之间是独立的
2、灵活性强
3、结构上可以分开
4、易于维护
5、能促进标准化工作

TCP/IP协议栈的作用:
协议栈实现数据的压缩加密和解压解密

4. IP地址
IP地址:实际上是32位的二进制数

公网IP(广域网通信):
A类:1.0.0.1~126.255.255.254
B类:128.0.0.1~191.255.255.254
C类:192.0.0.1~223.255.255.254
D类:224.0.0.1~239.255.255.254
E类:240.0.0.1~255.255.255.254
私网(局域网):
A类:10.0.0.1~10.255.255.255
B类:172.16.0.0~172.255.255.255
C类:192.168.0.0~192.168.255.255

IPv4的地址范围:0.0.0.0~255.255.255.255

如何解决IP地址荒:
1、IPv6
2、网络地址转换NAT()

一些协议的作用:
DNS:将域名解析成IP地址
SMTP:邮件发送
FTP:下载/上传文件
IP:定义IP地址解析

子网掩码的作用:决定一个网段的大小(可用IP数量)
同一个网段的IP才可以直接相互通信,不同网段需要路由器。

举例说明:
192.168.11.0/24:8个可用
192.168.11.0 网络号
192.168.11.255 广播地址

5. 端口号
端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。

协议端口号
FTP21
TELNET23
SMTP25
DNS53
TFTP69
HTTP80

著名端口号:0~1023
注册端口号:1024~49151
动态端口号:49152~65535

6. TCP报文格式
TCP报文格式
TCP协议的特点:面向连接、可靠的字节流传输

校验方式:
1、奇偶校验
2、bcc异或校验
3、crc循环冗余校验
4、MD5校验和数字签名
5、海明码校验

TCP在局域网中传输数据的长度=1518-18-20-20=1460bit;
广域网传输不限定大小,因为超过大小时会自动进行拆包。

7. TCP如何建立连接
通过三次握手建立连接;通过四次挥手端口连接。
网络通信是全双工的。

8. UDP协议(无连接不可靠)

  • UDP传输数据的最长长度
    局域网:UDP传输数据的最长长度=1518-18-20-8=1472bit
    广域网:UDP传输数据的最长长度=65535-IP(头20)-UDP(8)=65507bit,使用sendto函数发送超过65507会返回错误。
  • 协议的特点:
    1、无连接,减少了开销和发送数据前的延迟
    2、尽最大努力进行交付(不保证可靠交付),主机不需要维持复杂的连接状态表
    3、面向报文:发送方的UDP对应用程序交付下来的报文,在添加首部之后就向下交付给IP层,既不拆分也不合并
    4、没有阻塞控制
    5、支持一对一、多对一和多对多交互通信

9. TCP和UDP的对比

特点TCPUDP
是否连接连接不连接
是否可靠可靠,使用流量控制和拥塞控制不可靠,不使用流量控制和拥塞控制
连接对象的个数只能一对一支持一对一、多对一和多对多交互通信
传输方式面向字节流面向数据报
前部开销开销大,首部最小20字节,最大60字节开销小,8字节
适用场景适用于要求可靠传输的应用适用于实时应用

10. C/S

  • 优点:
    1、由于客户端实现与服务器的直接连接没有中间环,因此响应更快
    2、操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求
    3、C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程
  • 缺点:
    1、需要安装专门的客户端程序,分布功能弱针对面广,且不具备网络条件的用户群体不能够实现快速不是和安装
    2、兼容性差,对不同的开发工具,具有较大的局限性,采用不同的工具需要程序改写程序
    3、开发成本高,需要具有一定的专业水平的技术人员才能完成

11. B/S

  • 优点:
    1、具有分布式特点,可以随时随地进行查询、浏览等业务
    2、业务扩展简单,通过增加网页即可增加服务器功能
    3、维护方便,只需要改变网页,即可实现所有用户同步更新
    4、开发简单
  • 缺点:
    1、表现要达到C/S程序的程度需要花费不少精力
    2、速度和安全上需要花费巨大的设计成本,这是B/S架构最大的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值