计算机网络

SOCKET CAN的理解

强颜欢笑 提交于 2019-12-02 14:33:25
转载请注明出处:http://blog.csdn.net/Righthek 谢谢! CAN总线原理 由于Socket CAN涉及到CAN总线协议、套接字、Linux网络设备驱动等。因此,为了能够全面地了解Socket CAN的原理。我们需要了解以下几个方面的知识点: (1)CAN总线协议; (2)Socket原理; (3)Linux网络设备驱动; 当熟悉以下三个方面的知识点后,我们再去分析基于Linux的Socket CAN的驱动。这样的话理解起来更加容易、易懂。 (4)Socket CAN的驱动; 一、CAN总线协议 由于CAN总线协议的内容太多,作为博文来说,不适宜很详细的讲解。需要深入了解的朋友们可以Google一下。以下只是作些简要的说明。 CAN是ControllerArea Network(控制器局域网)的缩写。CAN通信协议在1986年由德国电气商博世公司所开发,主要面向汽车的通信系统。现已是ISO国际标准化的串行通信协议。根据不同的距离、不同的网络,可配置不同的速度,最高速度为1MBit/s。 CAN被细分为三个层次: (1)CAN对象层(the object layer); (2)CAN传输层(the transfer layer); (3)CAN物理层(the phyical layer); 对象层和传输层包括所有由ISO/OSI模型定义的数据链路层的服务和功能

TCP 详解

。_饼干妹妹 提交于 2019-12-02 11:22:14
本文链接:https://blog.csdn.net/sinat_36629696/article/details/80740678 上回说到 UDP 协议, 与之对应的便是 TCP 协议 TCP协议 TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制. 先来看看它的报头 Alt text 我们来分析分析每部分的含义和作用 源端口号/目的端口号: 表示数据从哪个进程来, 到哪个进程去. 32位序号: 4位首部长度: 表示该tcp报头有多少个4字节(32个bit) 6位保留: 顾名思义, 先保留着, 以防万一 6位标志位 URG: 标识紧急指针是否有效 ACK: 标识确认序号是否有效 PSH: 用来提示接收端应用程序立刻将数据从tcp缓冲区读走 RST: 要求重新建立连接. 我们把含有RST标识的报文称为复位报文段 SYN: 请求建立连接. 我们把含有SYN标识的报文称为同步报文段 FIN: 通知对端, 本端即将关闭. 我们把含有FIN标识的报文称为结束报文段 16位窗口大小: 16位检验和: 由发送端填充, 检验形式有CRC校验等. 如果接收端校验不通过, 则认为数据有问题. 此处的校验和不光包含TCP首部, 也包含TCP数据部分. 16位紧急指针: 用来标识哪部分数据是紧急数据. 选项和数据暂时忽略 连接管理机制 正常情况下,

网络编程面试题整理(二)

梦想与她 提交于 2019-12-02 10:44:11
1: 什么是C/S和B/S架构? C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。客户端和服务器直接相连,这两个组成部分都承担着重要的角色。 B/S架构第一层是浏览器(即客户端)只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览, 所以它面向的是大范围的用户,所以界面设计得比较简单,通用。第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求, WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。第三层是数据库服务器,它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后, 会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器。 2: 什么是ARP协议? ARP(Address Resolution Protocol) 是 地址解析协议 。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。 3: 什么是局域网和广域网? 广域网(WAN,公网,外网)

18-Linux网络协议和管理

老子叫甜甜 提交于 2019-12-02 06:07:47
网络协议和管理 计算机网络 :指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 分类 : 局域网 (Local Area Network;LAN) 通常我们常见的“LAN”就是指局域网,这是我们最常见、应用最广的一种网络。 城域网 (Metropolitan Area Network;MAN) 这种网络一般来说是在一个城市,但不在同一地理小区范围内的计算机互联。 广域网 (Wide Area Network,WAN) 这种网络也称为远程网,所覆盖的范围比城域网(MAN)更广,它一般是在不同城市之间的LAN或者MAN网络互联,地理范围可从几百公里到几千公里。 无线网 (Wireless network)指任何型式的无线电计算机网络,普遍和电信网络结合在一起,不需电缆即可在节点之间相互链接。无线电信网络一般被应用在使用电磁波的摇控信息传输系统,像是无线电波作为载波和物理层的网络。 计算机的性能指标 : 速率 :指连接在计算机网络上的主机在数字信道上传送数据的速率,它也称为数据率(data rate)或比特率(bit rate)。速率是计算机网络中最重要的一个性能指标。速率的单位是bit/s(比特每秒)(即bit per second)。 带宽 :

网络通信,告诉你移动端如何与后端服务器完成交流

戏子无情 提交于 2019-12-01 21:13:24
在做移动端开发时,感觉iOS对网络层的封装其实已经做到非常便利于开发者使用。不管使用iOS原生做网络请求还是第三方框架里的AFN或ASI,都是基本让开发者不需要理会太多的网络通信的理论性知识。鉴于最近想做OA项目移动端开发,还是好好整理下这方面的理论为接下来的即时通讯做准备。-- linweida 了解一下服务端与移动客户端之间的交互的方式 第一种是基于原生开发的交互过程: (1)移动客户端通过协议(http、https称为协议)调用API访问接口页面,比如通过url为http://localhost:8080/api/login.sap?name=123&password=123。 (2)编译器通过API命令调用服务器的webservice访问数据库。 (3)服务器的数据库通过数据库语句处理数据并返回结果给webservice。 (4)服务器的webservice把数据库的数据转换为JSON或XML格式的数据文本传给移动客户端。 (3)移动客户端得到数据文本后,经过反序列化后处理内容。 第二种是基于手机浏览器开发的交互过程是: (1)移动客户端使用浏览器调用服务器的webservice接口访问数据。 (2)服务器的数据库通过数据库语句处理数据并返回结果给webservice。 (3)服务器的webservice把数据库的数据转换为JSON或XML格式的数据文本传给移动客户端。

20170907_我是如何讲清楚TCP协议是如何保证可靠传输的

我怕爱的太早我们不能终老 提交于 2019-12-01 19:50:31
20170907_我是如何讲清楚TCP协议是如何保证可靠传输的 题外话: 1、UDP: (1) UDP ,user datagram protocol, 用户数据报协议 ,不提供复杂的控制机制, 利用IP提供面向无连接的通信服务,并且它是将应用程序发送过来的数据包在收到的那一刻,立即按照原样发送到上的一种机制。 (2)即使在网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的行为。此外,在传输过程中如果出现丢包,UDP也不负责重发,甚至当数据包的到达顺序乱掉之后也没有纠正顺序的功能。因此, 如果需要这些细节控制的话,就需要在采用UDP协议的应用层去作出处理。 (3)由于UDP面向无连接,所以它可以随时向对端发送数据包,再加上UDP本身的处理既简单右高效, 所以UDP经常用于如下几个方面: 数据包总量比较少的通信,比如DNS、SNMP。 视频、音频等对实时性要求比较高的多媒体通信。 广播通信、多播通信。 2、TCP: (1) TCP,控制传输协议 ,和UDP的差别很大, 它充分实现了数据传输时的各种控制功能 : 针对发送端发出的数据包的确认应答信号ACK、、、针对数据包丢失或者出现定时器超时的重发机制、、、针对数据包到达接收端主机顺序乱掉的顺序控制、针对高效传输数据包的流动窗口控制、、、针对避免网络拥堵时候的流量控制、、

通俗大白话来理解TCP协议的三次握手和四次分手

谁说胖子不能爱 提交于 2019-12-01 18:52:05
为什么80%的码农都做不了架构师?>>> 通俗大白话来理解TCP协议的三次握手和四次分手 #14 jawil commented on 25 Apr • edited 最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就把看过的一些比较好的东西和自己的一些理解二次加工组织一下然后交流分享,一起学习进步,对了这个面试好像经常问到。 原文收录在我的 GitHub博客 ( https://github.com/jawil/blog ) ,喜欢的可以关注最新动态,大家一起多交流学习,共同进步,以学习者的身份写博客,记录点滴。 通俗理解: 但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我们举一个现实生活中两个人进行语言沟通的例子来模拟三次握手。 引用网上的一些通俗易懂的例子,虽然不太正确,后面会指出,但是不妨碍我们理解,大体就是这么个理解法。 第一次对话: 老婆让甲出去打酱油,半路碰到一个朋友乙,甲问了一句:哥们你吃饭了么? 结果乙带着耳机听歌呢,根本没听到,没反应。甲心里想:跟你说话也没个音,不跟你说了,沟通失败。说明乙接受不到甲传过来的信息的情况下沟通肯定是失败的。 如果乙听到了甲说的话,那么第一次对话成功,接下来进行第二次对话。

后端开发工程师面试题汇总 | 网络知识

本秂侑毒 提交于 2019-12-01 18:13:01
无论做前端开发还是后端开发,网络知识是必备的知识。这部分知识是基础中的基础,是我们必须掌握的内容。网络相关的问题也是在面试过程中经常被问到的内容。本文主要梳理了一下网络相关的主要知识点及面试中经常被问到的内容,希望对大家有所帮助。 OSI有哪几层,会画出来,知道主要几层的各自作用 OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。其一共有7层: 1. 应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用 2. 表示层(数据):主要解决拥护信息的语法表示问题,如加密解密 3. 会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的 4. 运输层(段):实现网络不同主机上用户进程之间的数据通信,可靠 与不可靠的传输,传输层的错误检测,流量控制等 5. 网络层(包):提供逻辑地址(IP)、选路,数据从源端到目的端的 传输 6. 数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正 7. 物理层(比特流):设备之间比特流的传输,物理接口,电气特性等* TCP/IP有哪几层,会画出来,知道所有层数的作用,会列举各层主要的协议名称 TCP/IP分层模型(TCP/IP Layening Model

day26

旧城冷巷雨未停 提交于 2019-12-01 16:49:21
Python 网络编程   计算机网络就是把各个计算机连接起来,让网络中的的计算机可以相互通信,而网络编程就是在程序中实现计算机相互通信。   举个例子,当你使用电脑访问微博时,你的电脑就和微博的某台服务器通过互联网连接起来了,服务器把网页上的内容作为数据通过互联网传输到你的电脑上。   更具体一点,由于你电脑上同时也存在着和其他服务器的连接,如qq服务器,所以,更确切的说,网络通信,其实时两台计算机上的进程的通信   网络编程对所有的编程语言都是一样的,就是在Python程序本身这个进程上,连接别的服务器进程的通信端口进行通信   接下来作者介绍了Python网络编程的概念和最主要的两种网络类型的编程 TCP/IP简介   互联网和计算机网络   计算机网络要比互联网出现早的多,虽然他们都是把多个计算机连在一块,但是早期的计算机网络的通信协议,每个厂商都有一个,互不兼容,而想要把计算机连在一起,就必须规定他们之间的通信协议,并且只有通信协议相同的才能进行通信,才能真正的连在一起。而互联网Internet由inter和net两个单词组成,本质上就是连接网络的网络。所以要想让所有的计算机连在一起,就必须指定一个统一的、通用的通信协议,这个协议就是互联网协议簇。   互联网协议包含上百个不同的协议,而其中最重要的就是TCP/IP协议,所以互联网协议又被称为TCP/IP协议   IP  

网络编程与socket

*爱你&永不变心* 提交于 2019-12-01 16:45:36
.互联网协议 互联网协议又称为网络七层协议,OSI七层协议,OSI是一个世界标准组织。 OSI七层协议: - 应用层 - 表示层 - 会话层 - 传输层 - 网络层 - 数据链路层 - 物理连接层 学习由下到上: 需要优先了解的协议一共5层: - 物理连接层 基于电信号发送二进制的数据0101010111。 - 数据链路层 数据链路层的 "以太网协议",专门用于处理基于电信号发送二进制的数据。 以太网协议: 1.规定好电信号数据的分组方式。 2.每一台连接网线的电脑都必须要由一块 "网卡"。 - 网卡由不同厂商生产的 - 每块网卡都会有世界上独一无二12位的编号 "mac"地址。 - 前6位: 厂商号 - 后6位: 流水号 - 交换机: 可以让多台电脑连接到一起。 基于以太网协议发送数据: 特点: 广播、单播 弊端: 广播风暴、不能跨局域网通信。 - 互联网: 让局域网之间进行通信。 - 网络层 IP地址: 用于标识唯一的一台计算机(局域网)的地址。 IP: 点分十进制 最小值: 0.0.0.0 最大值: 255.255.255.255 IPV4(了解): 一开始用电脑的人不多,所以出现IPV4的协议版本。 IPV6(了解): 括号IP。 本机IP: 回环地址 127.0.0.1 ---> localhost - 传输层 TCP/UDP协议,他们都是基于端口工作的。 - 端口号: