以太网协议

Java 高级 --了解TCP/IP 协议

南楼画角 提交于 2019-12-09 12:12:44
java 基础 --了解TCP/IP 协议 前言: 互联网采用TCP/IP协议。 TCP/IP是一种网际互联通信协议,它包括两个核心协议TCP和IP。 TCP称为传输控制协议,IP称为互联网络协议。 概念 TCP/IP模型有四层(应用层、传输层、网际层、网络接口层), 每层分别具有不同的协议和功能,TCP/IP协议族是一组在不同层上的多个协议的组合。各层在实现自身的功能时,使用它的直接下层提供的服务,同时也为它的直接上层提供服务。下面说明这些协议进行协调工作的基本原理。 TCP/IP协议族中各协议之间的关系 TCP/IP协议族中有很多协议,这些协议处于不同的层,它们之间的关系如下图所示。 每个应用层协议都是为了解决某一类应用问题而定义的。 各种应用进程就是通过不同的应用层协议来使用网络所提供的服务。 应用进程代表实现不同应用层协议功能的进程。例如,实现文件传输协议的FTP应用进程可以为用户提供计算机之间的文件传输服务,实现超文本传输协议的HTTP应用进程可以为用户提供浏览Web网页的功能等。 TCP和UDP区别 TCP和UDP是两个传输层协议。一般地,应用进程可以选择使用TCP或者UDP协议。如果应用层协议要求传输层提供可靠的服务,则应该选择TCP协议;否则,如果应用层协议要求较高的数据传输速率,但是可以容忍一定的数据丢失,则可以选择UDP协议

TCP/IP协议栈与数据包封装

痞子三分冷 提交于 2019-12-06 19:35:58
TCP/IP协议栈与数据包封装 TCP/IP网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。如下图所示(该图出自[TCPIP])。 图 36.1. TCP/IP协议栈 两台计算机通过TCP/IP协议通讯的过程如下所示(该图出自[TCPIP])。 图 36.2. TCP/IP通讯过程 传输层及其以下的机制由内核提供,应用层由用户进程提供(后面将介绍如何使用socket API编写应用程序),应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation) ,如下图所示(该图出自[TCPIP])。 图 36.3. TCP/IP数据包的封装 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame) 。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 上图对应两台计算机在同一网段中的情况,如果两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个 路由器 ,如下图所示

w5500阶段性总结

半腔热情 提交于 2019-12-06 13:09:15
文章目录 序言 W5500芯片简介 库文件组成介绍 ioLibrary Driver 库文件移植过程 准备接口函数 接口绑定 官方库源码分析 wizchip_conf.c 和wizchip_conf.h w5500.c和w5500.h socket.c和socket.h 总结 序言 最近开始了W5500的编程之旅,我从商家给的例程开始学习,但是渐渐地发现,这些例程有一些缺点(功能不够完善,可移植性差,代码编写不规范,接口不够人性化等等),所以我开始使用WIZnet的官方库。官方库写得很好,移植也很简单,功能全面(毕竟自己的产品)。本篇文章我将会对我最近的学习经历进行一下总结,同时安排一下下一阶段的学习任务。我将分为如下几个部分进行介绍: W5500芯片简介 库文件组成介绍 库文件移植过程 官方库源码分析 总结 W5500芯片简介 W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方 案。W5500 集成了 TCP/IP 协议栈,10/100M 以太网数据链路层(MAC) 及物理层(PHY),使得 用户使用单芯片就能够在他们的应用中拓展网络连接。 久经市场考验的 WIZnet 全硬件 TCP/IP 协议栈支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 协议。W5500 内嵌 32K

网络通信原理

眉间皱痕 提交于 2019-12-06 02:17:31
一 CS架构 C指的是client(客户端软件),S指的是Server(服务端软件),我们用socket 就是为了C/S架构软件的开发,实现服务端软件与客户端软件基于网络通信。 二 CS信息传输流程 1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存 2、客户端操作系统收到数据后,按照客户端软件指定的规则(即协议)、调用网卡发送数据 3、网络传输数据 4、服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中 5、服务端操作系统收到4的指令后,使用与客户端相同的规则(即协议)从网卡接收到数据,然后拷贝给服务端软件 三 网络模型 计算机与计算机之间要有统一的连接标准才能够进行通信,这个标准称之为互联网协议,而网络就是物理链接介质+互联网协议。 按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层 每层运行的常见设备 四 tcp/ip五层模型详解 物理层 物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 数据链路层 数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思 数据链路层的功能:定义了电信号的分组方式 以太网协议: 数据链路层使用以太网协议进行数据传输,基于mac地址的广播方式实现数据传输,只能在局域网内广播

CSMA/CD技术的原理及算法分析

房东的猫 提交于 2019-12-06 02:16:28
简介 CSMA /CD(Carrier Sense Multiple Access with Collision Detectio)即带碰撞检测的载波监听多路访问技术,是一种争用型的介质访问控制协议,采用半双工通信,最早应用于总线型局域网。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。也被称为共享介质的灵魂。 CS:载波侦听: 在发送数据之前进行监听,以确保线路空闲,减少冲突的机会。 MA:多点接入: 每个站点发送的数据,可以同时被多个站点接收。 CD:碰撞检测: 边发送边检测,发现冲突就停止发送,然后延迟一个随机时间之后继续发送。冲突的检测由于两个站点同时发送信号,经过叠加后,会使线路上电压的摆动值超过正常值一倍。据此可判断冲突的产生。 原理 1、终端设备不停的检测共享线路的状态,只有在空闲的时候才发送数据,如果线路不空闲则一直等待。 2、发送过程中,若其他设备也同时发送数据,则其发送的数据必然产生碰撞,导致线路上的信号不稳定,终端设备检测到这种不稳定之后,马上停上发送自己的数据,然后再发送一连串干扰脉冲,然后等待一段时间之后再进行发送。 缺点:带宽窄,冲突检测机制,传输时间必须大于延迟时间导致物理长度限制51.2μs的冲突检测窗口,1位在2500m,加上四个中继器的往返时间

数据链路层和以太网

此生再无相见时 提交于 2019-12-06 01:06:58
一.数据链路层的功能:链路管理,信息的传输,流量与差错控制,异常情况处理。 二.数据链路层的流量控制协议: 1.停—等流量控制【已淘汰】 2.滑动窗口流量控制(循环体) 三.广域网数据链路层传输控制规程 1.面向字符型传输控制规程 2.面向比特型传输控制规程: 标志字段F 地址字段A 控制字段C 信息字段INFO 帧校验序列 标志字段F 1Byte 1Byte 1Byte 可变长度 2Byte 1Byte 标志字段F:用以实现帧级同步,以表明帧的开始与结束【在头尾都增加标志字段】 位模式:01111110(6个连续的1) 零比特填充法——使数据部分不产生6个连续的1(在5个连续的1后面填入一个0) 发端原始数据:01011111100 发端处理后:010111110100 收端处理后:01011111100 控制字段(HDLC的核心):信息帧I、监督帧S、无编号帧U 帧标志:(1)I帧的特征标志是控制字段的第一个比特为“0” (2)S帧的特征标志是控制字段的第一个比特为“1”,第二个为“0” Type字段的取值(3、4位): 类型一 00(接收准备就绪) 类型二 10(接收未就绪) 类型三 01 (拒绝接收) 类型四 11(选择拒绝) (2)U帧的特征标志是控制字段的第一个比特为“1”,第二个也为“1” 四。数据链路层协议的三个基本问题:封装成帧,透明传输,差错检测 五

多播

北战南征 提交于 2019-12-06 00:26:53
  IP 多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的 TCP/IP 网络技术。多播是 IPv6 数据包的 3 种基本目的地址类型之一,多播是一点对多点的通信, IPv6 没有采用 IPv4 中的组播术语,而是将广播看成是多播的一个特例。   多播作为一点对多点的通信,数据的收发仅仅在同一分组中进行,是节省网络带宽的有效方法之一。   IP 多播应用大致可以分为三类:点对多点应用,多点对点应用和多点对多点应用。 点对多点应用是指一个发送者,多个接收者的应用形式,这是最常见的多播应用形式。典型的应用包括:媒体广播、媒体推送、信息缓存、事件通知和状态监视等。 多点对点应用是指多个发送者,一个接收者的应用形式。通常是双向请求响应应用,任何一端(多点或点)都有可能发起请求。典型应用包括:资源查找、数据收集、网络竞拍、信息询问等。 多点对多点应用是指多个发送者和多个接收者的应用形式。通常,每个接收者可以接收多个发送者发送的数据,同时,每个发送者可以把数据发送给多个接收者。典型应用包括:多点会议、资源同步、并行处理、协同处理、远程学习、讨论组、分布式交互模拟(DIS)、多人游戏等。 多播地址   IP 多播通信必须依赖于 IP 多播地址,在 IPv4 中它是一个 D 类 IP 地址,范围从 224.0.0.0 到 239.255

关于Arp命令的随笔

随声附和 提交于 2019-12-06 00:07:03
一.ARP命令 Arp 命令用于显示和修改地址解析协议 (ARP)使用的“IP到物理”地址转换表。 Arp缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。 如果在没有参数的情况下使用,则 ARP命令将显示帮助信息。 Arp -a 和 arp –g命令的输出结果是一样的,用于查看高速缓存中的所有项目。 使用 arp –a internet_address命令,就可以只显示与该接口相关的ARP缓存项目。 如果有多个网卡,可以使用 ”arp –a –n interface_address”,显示指定网络接口的ARP信息 -v 选项只能和 arp –a一起使用,在详细模式下显示当前arp项。所有无效项和环回接口上的项都将显示。如下图所示,能看到本地环回接口的arp项。 二.ARP协议 ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址 。 1.ARP的位置    OSI模型有七层,TCP在第4层传输层,IP在第3层网络层,而ARP在第2层数据链路层。高层对低层是有强依赖的,所以TCP的建立前要进行ARP的请求和应答。    ARP高速缓存表在IP层使用

以太网原理

守給你的承諾、 提交于 2019-12-05 23:35:09
1、数据链路层的流量控制协议有停-等流量控制和华东窗口流量控制。 2、用滑动窗口流量控制时,若接受窗口W R 的大小为1,则发送窗口W T 的大小和编码二进制数4之间满足 W T <=2 n -1(W R =1) 3、广域网数据链路控制规章有面向字符型和比特型传输。 4、面向比特型传输能用于任何链路结构,采用同步方式传输数据,连续发送方式。 5、数据链路层在信息字段的头尾各加有24Bit的控制信息、在整个帧前后都有标志字段,用于实现帧级同步,以表明一帧的开始和结束。 6、HDLC采用了零比特填充法使一帧中两个标志字段之间不会出现6个连续的1。 7、在控制字段,根据该字段最前面两个比特取值的不同,把HDLC分为信息帧、监督帧和无编码帧。 8、HDLC 的监督帧,因不含Info部分,成为定长帧 为48Bit长,用于实现帧的同步及信息的确认。 9、数据链路层使用的信道有点对点信道(一对一)和广播信道(一对多)。 10、数据链路层有LLC子层和MAC子层。 11、适配器主要进行串行/并行转换,对数据进行缓存、实现以太网协议。 12、适配器装有处理器和存储器,它和局域网之间的通信是通过电缆以串行传输方式进行的;与计算机之间是并行传输的。 13、以太网的MAC帧格式,在前面插入七个字节的前同步码(1010)和一个字节的帧开始定界符(011)、目的地址(6字节)、源地址(6字节)、类型(2字节)

广播

久未见 提交于 2019-12-05 20:28:52
  广播的用途之一是在本地子网定位一个服务器主机,前提是已知或认定这个服务器主机文娱本地子网,但是不知道他的单播IP地址。这种操作也称为资源发现。另一个用途是在有多个客户主机与单个服务器主机通信的局域网环境中尽量减少分组流通。处于这个目的使用广播的因特网应用有多个例子。   任播允许从一组通常提供相同服务的主机中选择一个(一般是选择按某种测度而言离源主机最近的),通过适当的路由配置,并在多个位置往路由协议中注入同一个地址。 多播支持在IPV4中是可选的,在ipv6中是必须的 ipv6不支持广播,而使用广播的任何ipv4应用程序一旦移植到ipv6就必须改用多播重新编写 广播和多播要求用udp或原始ip,他们不能使用tcp 使用广播的因特网例子 ARP:ARP并不是一个用户应用,而是IPB4的基本组成部分之一。ARP在本地子网上广播一个请求说"IP地址为a.b.c.d的系统亮明身份,告诉我你的硬件地址"。ARP使用链路层广播而不是IP层广播。 DHCP(动态主机配置协议):在认定本地子网上有一个DHCP服务器主机或中继主机的前提下,DHCP客户主机向广播地址(通常是255.255.255.255,因为客户部指导自己的IP地址、子网掩码以及本子网的受限广播地址)发送给自己的请求 NTP(网络时间协议):一种常见使用情形是客户主机配置上待使用的一个或多个服务器主机的IP地址