数据报

TCP、UDP、RTP(RTCP)异同与区别

独自空忆成欢 提交于 2020-01-19 01:00:30
OSI七层模型 OSI 中的层 功能 TCP/IP协议族 应 用层 文件传输,电子邮件,文件服务,虚拟终 端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话 层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP (RTP) 网 络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物 理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2 ************************************************************************************************************************************ TCP/IP五层模型的协议 应用层 传输层:四层交换机、也有工作在四层的路由器 网络层:路由器、三层交换机 数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层) 物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层 ****************

以太网,IP,TCP,UDP数据包分析

扶醉桌前 提交于 2020-01-07 02:32:41
1、ISO开放系统 有以下几层: 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 2、 TCP/IP 网络协议栈分为应用层(Application)、传输层(Transport)、网络层(Network)和链路层(Link)四层。 通信过程中,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 其实在链路层之下还有物理层,指的是电信号的传递方式,比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤等都属于物理层的概念。 3、 集线器(Hub)是工作在物理层的网络设备,用于双绞线的连接和信号中继(将已衰减的信号再次放大使之传得更远)。 交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如十兆以太网和百兆以太网之间、以太网和令牌环网之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层首部重新封装之后再转发。 路由器是工作在第三层的网络设备,同时兼有交换机的功能

《TCP/IP 卷1》笔记:IP选路

感情迁移 提交于 2020-01-06 14:32:22
IP选路 引言 选路是IP最重要的功能之一。 网络接口把IP数据报放入IP输入队列 处理IP选项 是目标主机的ip地址是本地的IP地址,则传给上层协议。如果端口没有进程监听则发送ICMP报文 本机如果配置成了路由器,则根据路由表转发数据报 ICMP数据报根据路由器决定发往目的地 TCP/UDP都可以利用IP层发送数据,再由路由表决定发往目的地 route命令和netstat命令(netstate -r)可以编辑查询路由表。 IP可以访问路由表,守护程序更新的频率很低。当收到ICMP重定向报文时,路由表也要被更新。 选路的原理 IP搜索路由表的步骤 搜索匹配的主机地址,找到则去下一站路由(标志:G)或者直接相连的网络接口(标志:H),标志字段决定。 搜索匹配的网络地址,找到则去下一站路由(标志:G)或者直接相连的网络接口(标志:H),标志字段决定。 搜索默认表项(一般为一个网络表项,其网络号为0) IP层进行的选路实际是一种选路机制,搜索路由表并决定向哪个网络接口发送分组。 选路策略是一组决定把哪些路由放入路由表的规则。IP执行选路机制,而路由守护程序则一般提供选路策略 简单路由表 destination是目的地址(主机地址或者网络地址,由H标志决定),gateway是下一站路由地址。0.0.0.0是默认地址 flags的含义 U 该路由可以使用 G 该路由是到一个路由器

Unix domain socket

青春壹個敷衍的年華 提交于 2019-12-24 00:11:22
转载:http://www.cnblogs.com/chekliang/p/3222950.html socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。 虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。 这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。UNIX Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。   UNIX Domain Socket是全双工的,API接口语义丰富,相比其它IPC机制有明显的优越性,目前已成为使用最广泛的IPC机制,比如X Window服务器和GUI程序之间就是通过UNIX Domain Socket通讯的。   使用UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX

TCP/IP基础

时光怂恿深爱的人放手 提交于 2019-12-22 19:54:12
PDU(位,帧,数据包。段)MTU最大传输单元。以太网和IEEE802.3对数据帧的长度都有限制,其最大值分别为1500和1492字节。 假设IP层有一个数据报要传。并且数据的长度比链路层的MTU还大。那么IP层就要进行分片(Fragmentation),把数据报分成若干片,这样每一片都小于MTU。 q 当网络上的两台主机互相进行通信时。两台主机之间要经过多个网络,每一个网络的链路层可能有不同的MTU,当中两台通信主机路径中的最小MTU被称作路径MTU。 尽可能避免分片,分片会减少网络传输效率。 以太网帧格式头部有14个字节 6位目的地址 6为源地址 2位类型 用来区分是传给ARP RARP还是IP网络层进行处理 链路层仅仅识别物理地址或MAC地址 不识别逻辑地址 须要解析 IP->MAC地址 ARP解析 MAC->IP地址 反向地址解析RARP ICMP协议用于传递差错信息、时间、回显、网络信息等控制数据。ping程序就是将数据封装成ICMP程序来实现。 ARP协议 地址解析协议 将IP地址转换为MAC地址 上层地址传给下层的时候须要封装 ARP快速缓存中能存放IP地址与MAC地址之间的映射 RARP用于没有硬盘的主机中 想要获取无盘工作站的IP地址 RARPserver存有MAC地址与IP地址的映射 会响应回去。 IP数据报的格式:TTL表示数据报的生存期

UDP校验

不打扰是莪最后的温柔 提交于 2019-12-19 17:08:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> https://blog.csdn.net/limanjihe/article/details/85270291 https://blog.csdn.net/qiuchangyong/article/details/79945630 UDP数据报 一、UDP的概述(User Datagram Protocol,用户数据报协议) UDP是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测。 UDP提供不可靠服务,具有TCP所没有的优势: UDP无连接,时间上不存在建立连接需要的时延。空间上,TCP需要在端系统中维护连接状态,需要一定的开销。此连接装入包括接收和发送缓存,拥塞控制参数和序号与确认号的参数。UCP不维护连接状态,也不跟踪这些参数,开销小。空间和时间上都具有优势。 举个例子: DNS如果运行在TCP之上而不是UDP,那么DNS的速度将会慢很多。 HTTP使用TCP而不是UDP,是因为对于基于文本数据的Web网页来说,可靠性很重要。 同一种专用应用服务器在支持UDP时,一定能支持更多的活动客户机。 分组首部开销小**,TCP首部20字节,UDP首部8字节。 UDP没有拥塞控制,应用层能够更好的控制要发送的数据和发送时间,网络中的拥塞控制也不会影响主机的发送速率

ip报文

夙愿已清 提交于 2019-12-17 12:24:45
IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。 优点:简单,高效。 无状态指:IP通信双方不同步传输数据的状态信息,所有的IP数据报的传输都是独立的。所以容易发生重复和乱序的情况并且IP层不予处理。 然后将这些乱序的交给上层传输层(TCP/UDP等)来处理,将其处理成有序的,正确的。再交给应用层。 不可靠指:IP协议不能保证IP数据报准确到达。所以它提供ICMP报文来辅助,一旦检测到IP数据报发送失败,通知上层协议。 IP头部信息: 头部长度:通常20字节,有选项时更长,总共不超过60字节。 IP数据报长度:65535字节。 逐个分析: 4位版本号:IP协议(IPv4)版本号位4 4位头部长度:标识头部有多少个4字节,即最大共15*4个字节 8位服务类型:包含一个4位优先权字段:最小延时,最大吞吐量,最高可靠性和最小费用。 16位总长度:表示整个IP数据报的长度,最大表示65535,但由于MTU限制,一般无法到达这个值。 16位标识:唯一的标识数据报。系统采用加1的式边发送边赋值。 3位标识(保留,DF禁止分片,MF更多分片):所以这个标志是为分片存在,DF设置时禁止分片所以如果数据报太大则发送失败。MF设置时,如果产生分片,除了最后一个分片,其他此片置1。 13位分片偏移:分片相对原始IP数据报开始处的偏移。 8位生存时间(TTL)

Java语法进阶14-网络编程

时光怂恿深爱的人放手 提交于 2019-12-15 20:38:28
网络编程 软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。 B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。 网络通信协议 网络通信协议: 位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,它对数据的传输格式、传输速率、传输步骤等做了统一规定 TCP/IP协议: 它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,每一层都呼叫它的下一层所提供的协议来完成自己的需求 应用层:网络服务与最终用户的一个接口。协议有:HTTP、FTP、SMTP、DNS、TELNET、HTTPS、POP3等等。 表示层:数据的表示、安全、压缩。格式有:JPEG、ASCll、DECOIC、加密格式等。 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP、UDP。 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP、IGMP、IP(IPV4 IPV6)、ARP、RARP。 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。 物理层:建立、维护、断开物理连接。 IP(internet

python网络编程:UDP方式传输数据

耗尽温柔 提交于 2019-12-15 19:07:21
UDP --- 用户数据报协议(User Datagram Protocol),是一个无连接的简单的面向数据报的运输层协议。 UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 开发环境:linux下pycharm3.5 测试:使用terminal终端测试 使用 nc -u ip 端口 进行测试客户端 使用 nc -lu ip 端口 进行测试服务器端 1.udp服务器端接受一次数据 import socket # 设置服务器默认端口号 PORT = 9002 # 创建一个套接字socket对象,用于进行通讯 # socket.AF_INET 指明使用INET地址集,进行网间通讯 # socket.SOCK_DGRAM 指明使用数据协议,即使用传输层的udp协议 server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) address = ("", PORT) # 为服务器绑定一个固定的地址,ip和端口 server_socket.bind(address) # 接收客户端传来的数据 recvfrom接收客户端的数据,默认是阻塞的,直到有客户端传来数据 #

计算机网络 UDP协议

百般思念 提交于 2019-12-09 19:46:02
UDP协议(User Datagram Protocol-用户数据报协议) 预备知识: 1、吞吐量 : 主机之间 实际的传输速率 被称作吞吐量。其 单位 与 带宽(单位时间内从一段传送到另一端的最大数据量) 相同,都是bps(Bits per second)。吞吐量不仅衡量带宽,同时也衡量 主机的CPU处理能力、网络的拥堵程度、报文中数据字段的占有份额 等 信息。 2、拥塞控制: 3、二进制反码计算用于IP/ICMP/IGMP/TCP/UDP等协议的校验和算法。 4、 UDP的校验和是如何实现 检查了UDP数据报,又对IP数据报的源IP地址和目的IP地址进行了检验 ???UDP校验码的接收方是如何对UDP数据报进行校验???UDP协议是运输层,伪首部里面的源IP,目的IP是IP层数据,这些数据是如何获取的?如何理解逻辑上区分层,但是不同逻辑上的分层的数据存储在同一个物理区域?? UDP协议 定义: 实现原理: 1、UDP无连接,不存在建立连接的 时延 ,而且与TCP相比不需要维护连接状态,也就不需要跟踪包括接收和发送缓存,拥塞控制参数,序号和确定号参数。 空间和时间上 ,在两者能同时满足条件下,UDP更具有优势。UDP常用于 一次性传输比较少量数据 的网络应用,或者数据的 可靠传输并不重要 ,不可容忍TCP的 拥塞控制产生较大的延迟 的情况。 2、DP首部8字节,由4个字段组成