应用层

在应用层模拟实用停等协议

一笑奈何 提交于 2019-11-27 19:10:22
本文允许转载,转载请保留全文! 【请先阅读】【说明&总目录】 http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 背景说明 本文章来源于近期需要提交的《计算机网络》课程实验。 教材使用高等教育出版社出版的陈鸣编著的《计算机网络:原理与实践》一书。 实验分为3部分,分别需要在应用层模拟实用停等协议、连续ARQ协议和滑动窗口协议,实现文件的传输。端与端之间的通信使用Socket完成。 语言可以任选,出于简单,本文以java为例,仅介绍使用停等协议的实现,其他内容由同学们自己探索吧。强烈不推荐MFC,除非想把自己玩死。 注:本人对网络兴趣不大,上课睡觉时间远远长于听课时间,故不对文章的正确性做任何保证,代码仅供参考。 2. 模拟实用停等协议的详细思路 本程序仅仅是一个课堂实验而已,故没有在程序结构上花太多心思,基本上算是想到哪儿写到哪儿,所以代码可能有一些奇♂怪的地方。 为了能在单机状态下进行端到端的通信,每个进程即作为Client,又作为Server。在演示时,同时打开两个进程,为两个进程的Server设置不同的端口号,分别由对方进程的Client进行连接,并将IP地址使用127.0.0.1,即可实现单机状态下进程之间的通信。 程序划分为6个类: Main:主要用于显示用户界面,完成与用户的交互;同时定义了程序中的全局常量。 Client

应用层协议:HTTP

五迷三道 提交于 2019-11-27 18:36:48
1. HTTP定义   HyperText Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。   HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。   使用TCP端口为:80 2. HTTP历史    3. HTTP请求过程       https://blog.csdn.net/xiaoming100001/article/details/81109617   多路复用: 通过单一的HTTP/2连接请求发起多重的请求-响应消息,多个请求stream共享一个TCP连接 ,实现多留并行而不是依赖建立多个TCP连接。 4. HTTP报文格式 来源: https://www.cnblogs.com/haimishasha/p/11372493.html

OSI七层模型及其相关信息的自我总结概况

邮差的信 提交于 2019-11-27 15:50:34
应用层(数据-数据单元-消息(message)或数据(传输是进行分组形成报文)--位于应用层的信息分组称为报文(可封装成数据包、帧来传输))--网关属于应用层 网络服务与最终用户的一个接口。 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP -------- 表示层 数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层) 格式有,JPEG、ASCll、DECOIC、加密格式等 ------- 会话层 建立、管理、终止会话。(在五层模型里面已经合并到了应用层) 对应主机进程,指本地主机与远程主机正在进行的会话 ========================================= 传输层(数据-数据单元-数据段(segment)--数据流被分割成小块,传输层报头被创建并放在数据字段前面的报头中,此时的数据块称为数据段(一种PDU)) 定义传输数据的协议端口号,以及流控和差错校验。 协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层 ========================================== 网络层(数据-数据单元-数据包(packet)---局域网中数据帧包括了数据包) 进行逻辑地址寻址,实现不同网络之间的路径选择。 协议有:ICMP IGMP IP(IPV4 IPV6)

TCP/IP协议——TCP/IP协议栈及框架

与世无争的帅哥 提交于 2019-11-27 12:29:58
TCP/IP 协议同 ISO/OSI 模型一样,也可以安排成栈形式。但这个栈不同于 ISO/OSI 版本,比 ISO/OSI 栈少,所以又称之为短栈。另外,需要知道的是: TCP/IP 协议栈只是许多支持 ISO/OSI 分层模型协议栈的一种,是一个具体的协议栈。 对于 TCP/IP 协议栈划分为几层更合适,多年来专家们一直未达成共识,大部分对 TCP/IP 协议栈的描述都假定它占据了协议结构的 4 到 5 个功能层。下面我们对这两种主流的分层方法分别进行描述。 1 基于 4 层的 TCP/IP 协议栈基本描述 基于 4 层的 TCP/IP 协议栈最具说服力的是:这一观点是由 TCP/IP 原始标准的创立者——美国国防部提出的,它与 ISO/OSI 参考模型的对应关系如下图: 图 1 TCP/IP 协议栈层次结构与 ISO/OSI 参考模型的对应关系 如图 1 所示, TCP/IP 协议栈从低层开始,依次为网络存取层、 网络互连层、传输层和应用层,具体描述如下: 1.1 网络存取层( Network Access Layer ) 网络存取层(又称网络层),位于 TCP/IP 协议栈的最低层 , 该层中的协议提供了数据传送的方法,使得系统可以通过连接的网络将数据传送到其它设备,并定义了如何利用网络来传送 IP 数据报。它基本上包括了 ISO/OSI

DDD初学指南

痞子三分冷 提交于 2019-11-27 11:03:48
  因为不想对原文进行修改了,所以直接把评论贴上来了,现在看来,当年的认识确实有些问题,不只评论提到的,当年只是按部就班,其实真的做好应该是于无声处听惊雷,不过既然是给初学者看的,还是从简单的地方来吧,虽然有问题,但是对初学者来说也是有参考价值的,还是建议看一看想一想,尤其那些整天提DDD,但是书都没看过的 2016-05-31 12:46 ImCoOLeR 写得不错,好话我就不说了,浪费时间也没意义。我不同意的是DDD不适用于小项目,你说的一点我很肯定,就是DDD是设计方法,但是适不适合小项目要看DDD架构,DDD是适用于多架构的。当然小项目也许没有必要用DDD,但不等同于小项目不适合用DDD。 关于精炼我也有不同看法,精炼不仅仅是业务领域,模型或者设计元件的细分,剥洋葱的说法我不赞同。精炼是对模型的锤炼,是对业务深层次探索得出的。精炼不等于细化,而是聆听领域专家,是模型跟接近于现实中的业务领域。 我没有全部看完,大致上的看法就是这样,希望共同进步。 @ ImCoOLeR 刚看到。。。,这篇开始写的时候比较早差不多是14年写了大概,一直在草稿里15年发的,就现在来看,这篇博客里有很多不准确的地方,但是作为当年的学习的历程,所以不想改了 说不适合小项目大概是因为当时正在公司推DDD,也是一边学一边推,按部就班的落实到项目中,忽视了其实所有项目都是可以借鉴DDD思想的

TCP/IP基础知识

霸气de小男生 提交于 2019-11-27 09:30:30
第一部分 TCP/IP 基础知识 TCP/IP分层及各层主要协议 数据链路层: SLIP 、 PPP 网络层: IP 、 ARP 、 RARP 、 ICMP 传输层: TCP 、 UDP 应用层: FTP 、 TELNET 、 SMTP 、 HTTP 、 TFTP ===================== 这部分与 宇航出版社 的《 Microsoft Windows NT4.0 环境下的 TCP/IP 网络互联》中的 第一、二章(除 ARP 外) 对应 首先我们这门课是 TCP/IP 在 Windows NT 中的应用,并不完全讲 TCP/IP 协议,所以有一些 TCP/IP 理论方面的知识并没有涉及到。在讲 TCP/IP 在 Windows NT 中的应用时,我们先回顾一下,在网络基础中讲到的网络的 OSI 模型,假如有同学从 TCP / IP 学起,此处作一个铺垫。 第一课 OSI 模型 (open system interface) OSI 模型最初是用来作为开发 网络通信协议族 的一个 工业参考标准 。通过严格遵守 OSI 模型, 不同的网络技术 之间可以轻易地实现互操作。 应用层 Application Layer 表示层 Present Layer 会话层 Semission Layer 传输层 Transport Layer 网络层 Internet Layer

课程回顾 1

不羁岁月 提交于 2019-11-27 08:55:39
网络按照覆盖范围可分为局域网(LAN)、城域网(MAN)和广域网(WAN)。 OSI参考模型将整个网络的通信功能分为七层,由低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 严格对等层通信,对等层相同协议。 网络层地址是由网络地址和主机地址两部分地址组成的,网络地址是全局唯一的。 来源: https://www.cnblogs.com/wdn135468/p/11937298.html

Java学习:Java网络编程总结

本小妞迷上赌 提交于 2019-11-27 02:28:02
Java网络编程总结 一、概述 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。 Java语言对网络编程提供了良好的支持 ,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。 二、计算机网络 计算机网络 20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社会的方方面面,与人们的工作、学习和生活息息相关。 网络协议 如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则, 即网络协议。 网络体系结构 计算机网络是个复杂的系统,按照人们解决复杂问题的方法,把计算机网络实现的功能分到不同的层次上,层与层之间用接口连接。通信的双方具有相同的层次,层次实现的功能由协议数据单元(PDU)来描述。不同系统中的同一层构成对等层,对等层之间通过对等层协议进行通信,理解彼此定义好的规则和约定。 计算机网络体系结构是计算机网络层次和协议的集合,网络体系结构对计算机网络实现的功能,以及网络协议、层次、接口和服务进行了描述,但并不涉及具体的实现

国标GB28181网络4G监控摄像头流媒体直播服务解决方案EasyGBS设置正常但直播花屏问题解析

北城以北 提交于 2019-11-27 01:57:36
GB28181视频推送到公网 GB28181是应用层协议,而不是传输层协议。所谓应用层协议说简单点就是发送方跟接收方商议怎么协作:比如第一个信令由谁发起,视频流的采用什么封装格式,什么时候开始推送视频,什么时候结束推送等等。GB28181协议规定下级(也可以理解为客户端)首先向上级(服务端)注册,这一点让内网摄像机设备通过GB28181协议主动推送视频到公网有了可能性。 GB28181视频流媒体平台 本文介绍到的EasyGBS就是实现了GB28181协议,能够接入各个厂家的监控设备和监控平台,实现统一管理,和web端无插件播放,同时支持手机、微信播放。 EasyGBS播放1080p视频直播花屏问题 提出问题: 最近用户在使用GB2818流媒体服务器方案是出现一个问题,值得我们分析给大家。用户称EasyGBS的安装设置一切正常,但是在播放1080p视频直播的时候,出现了花屏现象。 分析问题: 视频花屏,一般是解码的时候视频帧不正常。我们马上开始排查问题。通过查看日志,看到帧序列错乱,但是不丢帧。排查到这里,可以肯定此用户播放花屏现象可能由于网络延迟问题导致的。 解决问题: EasyGBS内传输模式有三种,将国标流传输模式改成更可靠的TCP模式并重启即可改善这个问题。 来源: CSDN 作者: Likeadust 链接: https://blog.csdn.net/weixin

网络应用层协议

Deadly 提交于 2019-11-27 01:18:39
ftp 文件传输协议 21 telnet 远程登录协议 23 smtp 简单邮件传输协议 25 http 超文本传输协议 80 pop3 邮局协议第3版本 110 1、t=transfer,传输的意思。 2、stmp是发邮件协议,包括两部分,客户端到自身服务器,服务器转发到目标服务器。 3、pop3是接收邮件协议,通过客户端到服务器上把邮件取下来,需要用户名和密码。 转载于:https://www.cnblogs.com/nzbbody/p/3558392.html 来源: https://blog.csdn.net/weixin_30817749/article/details/99234671