传输层

python网络编程

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python中提供了两个级别访问的网络服务: 1、低级别的网络服务Socket 2、高级别的网络服务模块SocketServer Socket和SocketServer区别: 整个计算机网络是由协议构成,如Web中的http协议、传输协议TCP和UDP等等,通信需要socket来实现。socket直接和传输层后下面的底层网络协议打交道(socket本身让我们直接与TCP打交道),底层socket已经建立好则可以互相通信。互联网现在主流的网络层协议是IPv4,IPv6是下一代网络层协议但不主流,IPv6解决的是IPv4地址耗尽的问题,其实为了应对IPv4资源少的问题产生了局域网和网关。 SocketServer简化了编写网络服务程序的任务,同时SocketServer模块也是Python标准库中很多服务器框架的基础,总的来时,SocketServer是一个种更集成的开发网络开发框架,开发人员可以专注于事务的细节,而不是使用Socket的各种细节。不过学习还是得一步一步来。 网络原理: 网络原理是掌握socket原理的必经之路,首先来介绍一下网络的七层基本框架,包含应用层、会话层、表示层、传输层、网络层、链路层和物理层(当前把网络七层模型中的会话、表示、应用层统称为应用层。) 传输层      通过端对端的接口 TCP UDP 网络层      为数据包选择路由 IP ICMP 物理层

TCP/IP概述

懵懂的女人 提交于 2019-12-02 22:01:32
目录 层次结构 常见的TCP端口号 网络接口层 网际层 传输层 应用层 IP地址 层次结构 OSI模型(开放式系统互联) 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP 应用层 传输层 网际层 网络接口层 常见的TCP端口号 ftp:21 Telnet:23 SMIP:25 DNS:53 http:80 pop3邮件协议:110 网络接口层 ARP:正向地址解析协议。实现的是IP地址 → MAC地址的解析 RARP:反向地址解析协议。实现的是MAC → IP地址的解析 网际层 IP:网际协议 ICMP:控制报文协议 传输层 TCP:面向连接,可靠的。速度相对UDP会慢点 UDP:不可靠,不进行连接。速度快 应用层 FTP文件传输协议:21端口 Telnet远程登录:23端口 SMTP简单邮件传输协议:25端口 HTTP超文本传输协议:80端口 POP3接受邮件传输协议:110端口 IP地址 IP地址 = 网络号 + 主机号 来源: https://www.cnblogs.com/TD1900/p/11764133.html

TCP粘包,拆包及解决方法

天涯浪子 提交于 2019-12-02 21:59:33
粘包拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因此粘包拆包问题只发生在TCP协议中。 什么是粘包、拆包? 假设客户端向服务端连续发送了两个数据包,用packet1和packet2来表示,那么服务端收到的数据可以分为三种,现列举如下: 第一种情况,接收端正常收到两个数据包,即没有发生拆包和粘包的现象,此种情况不在本文的讨论范围内。 第二种情况,接收端只收到一个数据包,由于TCP是不会出现丢包的,所以这一个数据包中包含了发送端发送的两个数据包的信息,这种现象即为粘包。这种情况由于接收端不知道这两个数据包的界限,所以对于接收端来说很难处理。 第三种情况,这种情况有两种表现形式,如下图。接收端收到了两个数据包,但是这两个数据包要么是不完整的,要么就是多出来一块,这种情况即发生了拆包和粘包。这两种情况如果不加特殊处理,对于接收端同样是不好处理的。 为什么会发生TCP粘包、拆包? 发生TCP粘包、拆包主要是由于下面一些原因: 1. 应用程序写入的数据大于套接字缓冲区大小,这将会发生拆包。 2.应用程序写入数据小于套接字缓冲区大小,网卡将应用多次写入的数据发送到网络上,这将会发生粘包。 3.进行MSS(最大报文长度)大小的TCP分段,当TCP报文长度-TCP头部长度

Java高并发网络编程(一)

匿名 (未验证) 提交于 2019-12-02 21:52:03
一、OSI网络七层模型 因特网是一个极为复杂的网络,分层有助于我们对网络的理解 。分层也是一种标准,为了使不同厂商的计算机能够互相通信,以便在更大范围内建立计算机网络,有必要建立一个国际范围的网络体系结构标准。 ISO组织制定了OSI网络七层模型 应用层 表示层 会话层 传输层 网络层 链路层 物理层 而因特网只用到了五层 应用层 传输层 网络层 链路层 物理层 低三层: 屏蔽底层网络的复杂性 物理层:使原始的数据比特流能在物理介质上传输。 数据链路层:通过校验、确认和反馈重发等手段,形成稳定的数据链路。(01010101) 网络层:进行路由选择和流量控制。(IP协议) 传输层:提供可靠的端口到端口的数据传输服务(TCP/UDP协议)。 高三层: 会话层:负责建立、管理和终止进程之间的会话和数据交换。 表示层:负责数据格式转换、数据加密与解密、压缩与解压缩等。 应用层:为用户的应用进程提供网络服务。 网络通信协议 二、传输层控制协议TCP 传输层控制协议(TCP)是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。应用程序在使用TCP之前,必须先建立TCP连接。 1.TCP握手机制 检测网络是否通畅 三、用户数据报协议UDP 用户数据报协议UDP是Internet传输层协议。提供无连接、不可靠、数据尽力传输服务。 TCP和UDP比较 四

计算机网络---传输层

家住魔仙堡 提交于 2019-12-02 18:25:46
传输层----管理端到端的通信连接 1、端口 使用端口(Port)来标记不同的网络进程 端口使用16位比特位表示(0~65535) 常用端口: ftp----21 http---80 https---443 dns---53 telnet---23 2、各种协议 应用层: HTTP FTP SMTP POP3 ... 传输层: TCP UDP 网路层: IP 网络接口层: Ethernet PPP ... 3、UDP协议详解 UDP:(User Datagram Protocol 用户数据报协议); UDP是一个简单协议; 数据报:应用层所传输过来的完整的数据,UDP协议不会对其进行合并、拆分,不做任何处理 UDP协议的长度由业务层传输的数据的长度决定 图:数据链路层数据帧的格式 3.1 UDP数据报格式 16位源端口号:源机器使用网络的进程;16位目的端口号:目的机器使用网络的进程;16位UDP长度:UDP数据报的长度,这个长度包括了UDP数据,最小值为8(仅包括UDP首部);16位UDP校验和:用于校验UDP在传输过程中是否发生错误。 3.2 UDP特点 UDP是无连接的协议:进行通信时,不需要提前简历连接; UDP不能保证可靠的交付数据:“想发就发”,“无法保证数据在网络中是否丢失”; UDP是面向报文传输的:应用层传输过来的数据报,UDP不会进行任何的处理;

RPC框架之Thrift分析

ε祈祈猫儿з 提交于 2019-12-02 16:51:55
一、简介 1、Thrift是Facebook开发的跨语言的RPC服务框架。随后贡献给Apache开源组织。成为RPC服务的主流框架。 2、特点: 优点: 跨语言,支持java、c/c++、python等多种编程语言 IDL定义接口函数和数据类型 支持二进制传输,效率高 支持多种工作模型,单线程模型、线程池模型、非阻塞模型 缺点: 文档不多 各版本不兼容,升级不方便 二、分析 Thrift分为服务端(server)和客户端(Client)两个对应的部分。代码分层设计,分为Transport(传输层)、Protocol(协议层)、Processor(处理层)和Server(服务层)。 1、主要的处理流程: 各部分类图: 传输层 TTransport: 客户端传输层抽象基础类,主要方法:read、write、flush、open、close。read、write方法为核心 TSocket 与 TNonBlockingSocket: 分别是基于BIO和NIO客户端传输类。 TSocket 持有Socket,设置输入输出流使用1K的BufferedStream, TNonBlockingSocket 持有SocketChannel,read和write方法里的byte会每次被wrap成一个ByteBuffer。 TServerSocket 与 TNonBlockingServerSocket

高并发技术

空扰寡人 提交于 2019-12-02 14:34:59
高并发技术 第一章 预备知识 一 理解大数据 二 网工基础知识 OSI七层参考模型 应用层 表示层 会话层 传输层 网络层 链路层 物理层 功能分层 总结 第二章 LVS技术 一 LVS介绍 二 LVS调度算法 LVS命令 监控多个端口号 管理服务集群中的Real Serever(RS) 三. LVS-DR实现 LVS-DR实验拓扑图 实现步骤 第三章 Keepalived 一 高可用 High Available 二 模拟实验配置 第四章 Nginx和 Tengine 一 介绍 二 Nginx和apache(httpd)的优缺点 三 安装Tengine并制作Nginx脚本 四 配置文件nginx.conf 配置文件解读 技术延伸 利用Nginx配置虚拟Server 利用Nginx对服务器做反向代理 利用Nginx做反向代理负载均衡 利用Nginx 对指定域名(百度)进行代理 小技巧 :利用 !命令的前几个字符匹配命令并执行 nginx如何识别我们的域名 利用Nginx的access.log监听用户的浏览信息 拓展: 指定 access.log 日志输出格式 五 session一致性问题的解决 情景模拟 解决方案——安装memcached 时间一致性的另一种解决方案(安装ntpdate服务) 第一章 预备知识 一 理解大数据 我国是人口大国同时也是数据大国, 由数据的量(数以亿计

网工笔记

瘦欲@ 提交于 2019-12-02 13:01:26
目录 第一天 设备: 1. Hub集线器(基本不用,淘汰) 4. 三层网络模型 5. OSI参考模型(只是理论的知识) 7. 表示层: 9. 传输层 10. 网络层 11. 数据链路层: 12. 物理层的作用 13. 数据的发送 14. 数据的接收 第二天 物理层 TCP/IP协议簇 第一天 目录: 设备: 1. Hub集线器(基本不用,淘汰) 冲突域:单工 半双工 全双工(不解释) 2. 交换机 作用: 连接网络终端的设备(一般指的是普通的二层交换) 终端用户设备的接入 基本的安全功能 广播域隔离(VLAN) 优点:可以实现多用户同时访问,支持全双工。 缺点:无法完成一些特殊功能 二层交换机工作在数据链路层 数据类型:单播--一对一 组播--一对多 广播--一对所有 3. 路由器 作用:路由协议支持 路径选择 数据转发 广域网接入 console口:也就是控制口 一般只有一个 链接路由器的线缆--console线缆:一端RJ45一段串口, 串口链接电脑 RJ45链接设备 由于笔记本没有串口 所以还有一种线转接 USB-RS232线缆 4. 三层网络模型 接入层(终端用户(汇聚端口多))----汇聚层(三层交换(可以做策略))----核心层(核心交换)--internet 5. OSI参考模型(只是理论的知识) 作用: 开放系统互连参考模型 定义了网络通信的标准 OSI模型分为七层

计算机基础--网络五层

你离开我真会死。 提交于 2019-12-02 11:49:05
计算机基础–网络五层 一、物理层: 一台计算机A和另一台计算机B是如何通信的呢?我们来分析一下:首先要实现通信是不是得把A、B 两台计算机连接起来吧?如下图所示。 至于连接的东西比如网线、光纤等,我们先暂且不管。也就是说物理层负责把A、B两台计算机连起来,然后通过高低电频来传送0、1这样的电信号。 二、数据链路层 通过物理层我们知道了它负责把计算机连起来,然后在计算机之间传输0,1这样的电信号。那么就会有个问题产生,如果0,1毫无规则,计算机该怎样解析呢??答案是不能解析。比如下面: 0001110101010111001010101010100001110000101010101010100000111111000000 我不相信你能看懂这是啥意思,反正鄙人看不懂。因此需要一定的规则进行传送,比如多少个电信号为一组,每一组应该包含什么标识才能被计算机读懂啊。也就是我们平时所说的约定、协议。 于是以太网协议出场了! 2.1 以太网协议 这个协议规定,一组电信号构成一个数据包,也就是平时所说的帧,每一帧包含头(head)和数据(data),其大小一般在64byte->1518byte,如果传送的数据特别大,那就分成多个来传。现在有个问题,如上所述,每一帧的大小是不确定的,只是给了一个范围。 如果有人学过数据结构,我想他一眼就会看出这个图要表达的意思了。那么这个head是固定的嘛

易初大数据 2019年10月25日 笔记 王庆超

人盡茶涼 提交于 2019-12-02 09:20:58
物理层是计算机网络OSI模型中最低的一层。 物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。 透明性是指该层上传输的数据的内容格式及编码没有限制,也没有必要解释信息结构额的意义; 可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心在物理层中这些情况都可能发生,在数嗯据链路层中必须用纠错码来检错与纠错。 数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接额改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和额交换技术。 如果需要尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址传输层提供了主机应用程序进程之间的端到端的服务,基本功能如下:分割与重组数据按端口号寻址连接管理 差错控制和流量控制,纠错的功能传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。 来源: https://www.cnblogs.com/wangqingchao/p/11740841.html