计算机网络
文章平均质量分 80
mxrrr_sunshine
这个作者很懒,什么都没留下…
展开
-
网络基础-初识网络
网络的定义在计算机网络的发展过程中,主要对网络从三个角度提出了不同的定义: 1.广义的定义 计算机网络是以实现远程通信为目的,一些互连的,独立自治的计算机的集合。2.资源共享的观点 计算机网络时把地理位置上分散,能够互相共享资源的方式连接起来,并且各自具有独立功能计算机系统的集合。具有如下特征: 1)计算机通信的目的是为共享硬件,软件以及信息资源。 2)各计算机功能独立,地域原创 2018-05-01 14:52:12 · 230 阅读 · 0 评论 -
网络基础-网络层:地址解析协议ARP与路由转发流程
地址解析协议ARPARP协议不是一个单纯的数据链路层协议,而是一个介于数据链路层和网络层之间的协议。 ARP协议的用途是:为了从网络层使用的IP地址解析出在数据链路层使用的硬件地址。可以说,ARP协议建立了IP地址与MAC地址的映射关系。 ARP协议的作用 网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址。数据包首先是被网卡接收到再去处理上层协议的...原创 2018-05-31 21:02:32 · 2988 阅读 · 0 评论 -
网络基础-数据链路层的基础概念及PPP协议概述
数据链路层位于网络模型的底层,使用的信道主要有两种类型:点对点信道广播信道点对点的数据链路层首先是区分几个概念:链路:从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。在数据通信时,两个计算机之间的通信路径可能要经过许多种这样的链路。数据链路:当需要在一条线路上传送数据时,除了必须有一条物理线路之外,还必须有一些必要的通信协议来控制这些数据的传输。若把实现...原创 2018-06-04 11:27:09 · 1183 阅读 · 0 评论 -
网络编程-五种i/o模型及select模型
五种i/o模型首先是认识几个概念:同步通信 & 异步通信 同步通信与异步通信关注的是消息通信机制(与进程/线程同步概念完全不相关)同步通信:指在发出一个调用时,在得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。可以说是,由调用者主动等待这个调用的结果。异步通信则是相反,调用在发出之后,该调用立刻就返回了,所以是没有返回结果的。换句话说,当调用发出后,调用者...原创 2018-06-03 19:39:56 · 5392 阅读 · 0 评论 -
网络基础-netstat命令详解
netstat netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况语法netstat (选项)选项-a或--all:显示所有连线中的Socket;-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;-c或--continuous:持续列出网络状态;-C或--cache:显示路由器配...原创 2018-05-16 09:11:54 · 431 阅读 · 1 评论 -
网络基础-传输层与UDP协议
运输层协议 从传输层来看,通信的真正断点并不是主机而是主机中的进程。也就是说,端到端的通信时是应用进程之间的通信。 运输层还对收到的报文进行差错检测。 运输层需要有两种不同的运输协议,面向连接的TCP和无连接的UDP。 TCP:传输控制协议 UDP:用户数据报协议端口传输层是为了实现两个不同主机上的进程之间的通信。为了识别不同主机上的进程,使用端口号标识。因此,两个不同原创 2018-05-06 18:35:23 · 258 阅读 · 0 评论 -
网络编程套接字-实现简单的TCP网络(多进程与多线程版本)
下面是实现一个单进程版本的TCP网络服务:server.cint StartUp(char* ip,int port){ //建立套接字 int sock=socket(AF_INET,SOCK_STREAM,0); if(sock<0) { printf("sock error\n"); exit(2); }...原创 2018-05-12 20:46:25 · 558 阅读 · 0 评论 -
网络基础-网络层:IP协议解析
网络层 网络层之间的通信被称作“点对点通信” 网络层是可以跨越不同的数据链路,即使是在不同的数据链路上也能实现网端节点之间的数据包传输 IP的主要作用就是在复杂的网络环境中就将数据包发给最终的目标地址网络层与数据链路层的关系数据链路提供在两个设备之间的通信功能。网络层则负责在没有直连的两个网络之间进行通信传输。那么有为什么非要分这么两个层次呢? 以旅行为例子: 假...原创 2018-05-19 08:43:58 · 890 阅读 · 0 评论 -
网络基础-理解TCP三次握手,四次挥手
三次握手正常情况下,TCP要经过三次握手建立连接,四次挥手释放连接。 三次握手过程:客户端首先发起建立连接请求,向服务器发送一个SYN希望建立连接,并消耗一个序列号。服务器收到客户端的SYN请求之后,如果能够建立连接,向客户端返回一个SYN+ACK,表示确认应答。客户端收到服务器的确认应答后,向服务器端在发送一个ACK确认应答。以上过程其实很好理解,下面总结在三次握手过程...原创 2018-05-18 11:46:53 · 3489 阅读 · 0 评论 -
网络基础-TCP协议格式及其与UDP的对比
TCP协议段格式 下面对上面的各个字段进行解释:源/目的端口号:表示数据是从哪个进程来,到那个进程去;序列号:指发送数据的位置,每发送一次,就累加一次该数据字节数的大小;确认应答号:是指下一次应该收到的数据的序列号;首部长度:该字段可以看作TCP传输的数据部分应该从TCP包的哪个位开始计算。保留位:该字段主要是为了以后扩展时使用,其长度为4位.一般设置为0,但即使收到的包在该字...原创 2018-05-11 14:41:19 · 217 阅读 · 0 评论 -
网络基础-应用层:E-mail应用:SMTP协议,POP协议,IMAP协议
Email应用的构成邮件客户端邮件服务器SMTP协议:只支持文本 邮件服务器: 邮箱:存储发给该用户的Email 消息队列:存储等待发送的Email SMTP协议: 邮件服务器之间传递消息所使用的协议 客户端:发送消息的服务器 服务器:接收消息的服务器传输过程邮件的传送需要可靠传输,所以是基于TCP进行Email的可靠传输。 默认端口是25. 传输过原创 2018-05-04 11:23:06 · 6250 阅读 · 0 评论 -
网络基础-传输层:TCP协议详解
TCP TCP与UDP的区别相当大。它充分的实现了数据传输时各自控制功能,可以进行丢包时的重发控制, 还可以对次序乱掉的分包进行顺序控制,而这些在UDP中都没有。此外,TCP还作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。TCP通过以下实现可靠传输:校验和序列号确认应答重发控制连接管理窗口控制通过序列号与确认应答提高可靠性在TCP中,原创 2018-05-10 16:43:30 · 249 阅读 · 0 评论 -
网络基础-域名系统,文件传送协议,远程终端协议
域名系统DNS Domain Name System Internet上主机/路由器的识别问题 IP地址:给机器看的 域名:给人看的 域名解析系统:将域名翻译为IP地址. 多层命名服务器构成的分布式数据库DNS服务:域名向IP地址的翻译主机别名邮件服务器别名负载均衡:web服务器分层体系: 顶级域名服务器:负责com,org,net,edu等顶级域名原创 2018-05-03 18:31:26 · 611 阅读 · 0 评论 -
网络基础-应用层:web服务与HTTP协议
web与HTTPweb:world wide web 就是我们所说的万维网:是一个大规模的联机式的信息储藏室。 万维网是一个分布式的超媒体系统,是超文本系统的扩充。 网页包含多个对象:可能是HTML文件,JPEG图片,视频文件,动态脚本等。万维网以C/S结构工作:客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。 对象的寻址:URL(Uniform Resoure原创 2018-05-03 14:40:47 · 766 阅读 · 0 评论 -
网络基础-应用层基础知识
网络应用体系结构客户机-服务器结构(C/S) 服务器:7*24小时提供服务。永久性的访问地址/域名 利用大量服务器实现可扩展性 客户机:与服务器通信,使用服务器提供的服务。间隙性接入网络。不会与其他客户机直接通信。 客户与服务器都是指通信中所涉及的两个应用进程。 客户是服务请求方,服务器是服务提供方。点对点结构(P2P) 没有永远的在线的服务器。 任意端系统/原创 2018-05-03 10:19:25 · 361 阅读 · 0 评论 -
网络基础-TCP/IP模型与网络传输基本流程
TCP/IP五层模型 TCP和IP是两个独立且紧密结合的协议,负责管理和引导数据报文在网络上的传输。TCP负责和远程主机的连接,IP负责寻址,使报文被送到其该去的地方。 TCP/IP也分为不同的层次开发,每一层负责不同的通信功能。但TCP/IP协议简化了层次设备。由下而上依次是网络接口层,网络层,传输层,应用层。网络接口层:有时也称为数据链路层,通常包括操作系统中的设备驱动程序和计算机中相原创 2018-05-01 17:49:02 · 645 阅读 · 0 评论 -
网络基础-网络体系结构与OSI七层模型
网络体系结构计算机网络层次划分的原则时层内功能内聚,层间耦合松散。也就是说,在网络中,功能相似或紧密相关的模块应放在同一层。层与层之间应保持松散的耦合,使信息在层与层之间的流动减少到最小。 优点:各层之间相互独立。高层并不知道底层如何实现,仅需要知道该层通过层间接口所提供的服务。灵活性好。当任何一层发生变化时,只要接口保持不变,则在这层以上或以下各层均不受影响。各层都可以 采用最适合的技术来原创 2018-05-01 16:05:33 · 645 阅读 · 0 评论 -
网络编程-多路转接之poll与epoll模型
首先,还是需要理解io过程:io过程总体来看分两步,第一步就是等,第二步才是数据搬迁。而如果要想提高io的性能与效率,就要减少等的比重。 可以假想一个场景: 你去钓鱼,但是你只有一个鱼竿。你的同伴也和你一起去钓鱼,但是他带了100个鱼竿。假设每条鱼上钩的概率都是一样的,那么你和他相同的时间内,你在死盯着一个鱼竿,而他只需要来回巡视所有的鱼竿,一旦有鱼上钩,拿上来即可。很明显,它的这种方...原创 2018-06-08 16:54:39 · 366 阅读 · 0 评论