随笔分类 -  网络

1
摘要:对于程序员来说,计算机网络的知识是很重要也很基础的。尤其是做web开发就要对http或者https很熟。有的时候涉及到域名,还会碰到跨域问题。这些其实都是计算机网络相关的知识,本篇就主要回顾下计算机网络中的重要内容: 1 IP地址 2 分层结构 3 网络层 4 传输层 5 应用层 IP地址 IP地址 阅读全文
posted @ 2017-11-22 08:31 xingoo 阅读(1071) 评论(0) 推荐(0) 编辑
摘要:下面模拟了,简单的客户机服务器投射模拟的过程。客户机像服务器发送数据,服务器接受到数据后,发送回给客户机。再由客户机打印出来。需要的函数:网络方面服务器socket(AF_INET,SOCK_STREAM,0); AF_INET表示IPV4,SOCK_STREAM表示基于字节流的,0表示协议由前面... 阅读全文
posted @ 2014-05-19 16:46 xingoo 阅读(721) 评论(8) 推荐(0) 编辑
摘要:可靠传输的工作原理1 停止等待协议每发送完一个分组,就停止发送,等待对方确认。出现差错,超时重传。 1.1 暂时保留已发送的分组的副本 1.2 分组和确认分组必须进行编号 1.3 重传时间比数据在分组传输的平均往返时间更长一些2 连续ARQ协议(自动重传请求ARQ) 接收方采用累积确认方式,... 阅读全文
posted @ 2014-05-04 10:00 xingoo 阅读(537) 评论(0) 推荐(0) 编辑
摘要:在OSI体系中,该层位于第二层,从下到上依次:物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。在TCP/IP体系中,该层位于第一层,从下到上依次:网络接口层,网际层,运输层,应用层。在这层中,涉及到最重要的知识点1 帧的格式2 差错检验3 碰撞检测4 帧的长度问题MAC帧的格式6字节:目... 阅读全文
posted @ 2014-04-27 21:45 xingoo 阅读(445) 评论(0) 推荐(0) 编辑
摘要:RIP 路由信息协议IGRP 内部网关协议EIGRP 增强型内部网关路由协议OSPF 开放最短路径优先3种动态路由:距离矢量:RIP/RIPv2 IGRP EIGRP链路状态:OSPF混合链路状态协议度量值传输延迟链路的可靠性链路的带宽通信负载最大传输单元成本RIP 路由信息协议IGP 路由域或自助系统内部传送路由更新EGP 路由域或自主系统之间传送路由更新1 无限记数2 split horizon 简单的假设:路由器不将路由从收到的该路由的接口发送出去。3 poison reverse4 触发更新5 抑制计时器缺点:1 RIP跳数限制2 RIP固定度量值3 路由表更新占用网络带宽4 汇聚缓. 阅读全文
posted @ 2014-02-20 15:43 xingoo 阅读(748) 评论(0) 推荐(0) 编辑
摘要:IPV4 TCP客户与IPV6服务器之间的通信:1 启动IPV6服务器,创建套接监听口,绑定通配地址2 IPV4调用gethostbyname找到该服务器对应的A记录3 调用connect,向服务器发送一个IPV4的SYN4 服务器设置标志,表明是IPV4映射的IPV6地址,相应一个IPV4的SYN/ACK5 所有通信使用IPV4IPV6 TCP客户与IPV4服务器之间通信:1 创建IPV4监听套接口2 IPV6客户启动,调用gethostbyname询问IPV6地址3 调用connect,在相应IPV6套接口地址结构中存放所得的IPV4映射的IPV6。内核检查到这个映射地址,自动向服务器发送 阅读全文
posted @ 2014-01-23 11:29 xingoo 阅读(766) 评论(0) 推荐(0) 编辑
摘要:DNS中的资源记录RR resource recordAAAAAPTRMXCNAME名字和数值地址间的转换:gethostbyname() gethostbyaddr()服务名字和端口号之间的转换: getservbyname() getservbyport()解析器代码读 依赖于 配置文件,文件/etc/resolv.conf一般包含本地名字服务器IP地址。DNS替代方法:静态主机文件,/etc/hosts或者网络信息系统NIS。struct hostent{ char * h_name; char * * h_aliases; int h_addrtype; int... 阅读全文
posted @ 2014-01-22 14:37 xingoo 阅读(875) 评论(0) 推荐(0) 编辑
摘要:常用的UDP实现的程序:DNS域名系统,NFS网络文件系统,SNMP简单网络管理协议ssize_t recvfrom(int sockfd,void *buff,size_t nbytes,int flags,struct sockaddr * from,socklen_t *addrlen);ssize_t sendto(int sockfd,void *buff,size_t nbytes,int flags,struct sockaddr * to,socklen_t addrlen);sockfd:描述字buff:缓冲区指针nbytes 读写字节数UDP服务器端int main(int 阅读全文
posted @ 2014-01-21 12:55 xingoo 阅读(1791) 评论(0) 推荐(0) 编辑
摘要:getsockopt()setsockopt()optval中的返回值,0表示选项关闭,1表示选项打开SO_BROADCAST套接口选项:能或禁止进程发送广播消息的能力。防止进程在应用程序未设计完成能广播时就发送广播信息。SO_DEBUG套接口选项:内核对TCP在此套接口所发送和接受的所有分组跟踪详细信息。SO_DONTROUTE套接口选项:规定发出的分组将旁路底层协议的正常路由机制。对于IPV4,分组指向本地接口SO_ERROR套接口选项:当套接口上发生错误时,内核通过下面两种方式通知进程:1 进程阻塞于select调用,select返回并设置其中的一个或者两个条件2 进程使用驱动IO模型, 阅读全文
posted @ 2014-01-20 13:22 xingoo 阅读(711) 评论(0) 推荐(0) 编辑
摘要:I/O复用的场合:1 客户处理多个描述字时2 客户处理多个套接口3 服务器处理监听套接口,又要处理已连接套接口4 既处理TCP,又处理UDP5 处理多个服务或者多个协议套接口上的输入操作:1 数据到达网络,分组到达时,被拷贝到内核的某个缓冲区2 将数据从内核缓冲区拷贝到应用缓冲区非阻塞模型,应用进程连续不断的查询内核,看看某操作是否准备好。这对CPU时间是极大的浪费。I/O复用,调用select或pool,调用某一个阻塞通过系统调用sigaction安装信号处理程序,当数据准备好时,就生成一个SIGIO信号,调用recvfrom读取数据报异步IO模型:调用函数aio_read传递给内核相关信息 阅读全文
posted @ 2014-01-19 12:23 xingoo 阅读(722) 评论(0) 推荐(0) 编辑
摘要:1 僵尸进程2 信号处理信号:1 由一进程发往另一进程2 由内核发往某进程僵尸状态:父进程取回子进程的相关信息,进程的ID,终止状态,子进程的资源利用信息编程时:1 当派生子进程时,必须捕获信号SIGCHLD2 当捕获信号时,必须处理被中断的系统调用3 SIGCHLD的信号处理程序必须正确编写,使用函数waitpid以免留下僵尸进程 1 int main(int argc,char **argv){ 2 int listenfd,connfd; 3 pid_t childpid; 4 socklen_t clilen; 5 struct sockaddr_in cliaddr,servaddr 阅读全文
posted @ 2014-01-18 17:31 xingoo 阅读(370) 评论(0) 推荐(0) 编辑
摘要:int socket(int family,int type,int protocol);family:AF_INET ipv4协议AF_INET6 ipv6协议AF_LOCAL unix域协议AF_ROUTE 路由套接口type:SOCK_STREAM 字节流套接口SOCK_DGRAM 数据包套接口SOCK_RAW 原始套接口返回一个很小的非负整数,叫做套接口描述字,简称套接字sockfdAF_XXX地址族PF_XXX协议族connect()建立一个TCP连接三次握手出错:1 发送无应答,6秒后再次发送,无应答,24秒后再次发送,若75秒钟后仍未相应,则返回错误2 硬错:SYN返回RST:S 阅读全文
posted @ 2014-01-17 13:43 xingoo 阅读(1308) 评论(0) 推荐(0) 编辑
摘要:1 struct in_addr{ 2 in_addr_t s_addr; 3 }; 4 struct sockaddr_in{ 5 uint8_t sin_len; 6 sa_family_t sin_family; 7 in_port_t sin_port; 8 9 struct in_addr sin_addr;10 char sin_zero[8];11 };通用套接口地址结构:struct sockaddr{ uint8_t sa_len; sa_family_t sa_family; char sa_data[... 阅读全文
posted @ 2014-01-16 17:31 xingoo 阅读(375) 评论(0) 推荐(0) 编辑
摘要:Ipv4 32位地址 80年代设计Ipv6 128位地址 90年代设计TCP 传输控制协议。面向连接的协议,全双工字节流UDP 用户数据报协议 无连接,ICMP 网际控制消息协议,处理路由器和主机间的错误和控制消息IGMP 网际组管理协议,RARP 反向地址解析协议BPF BSD分组过滤器,为进程提供访问链路层数据的接口。DLPI 数据链路提供接口TCP:1 提供客户与UDP服务不相同2 提供可靠性3 通过给所发送数据的每一个字节关联一个序列号进行排序4 提供流量控制。数据缓冲区5 连接是全双工的MSS 最大分节大小 max segment sizeTIME_WAIT1 实现终止TCP全双工连 阅读全文
posted @ 2014-01-16 14:00 xingoo 阅读(331) 评论(0) 推荐(0) 编辑
摘要:#include "unp.h"int main(int argc,char **argv){ int sockfd.n; char recvline[MAXLINE + 1]; struct sockaddr_in servaddr; if(argc != 2 ) err_quit("usage:a.out"); if((sockfd = socket(AF_INET,SOCK_STREAM,0)) 0){ recvline[n] = 0; if(fputs(recvline,stdout) == EOF) ... 阅读全文
posted @ 2014-01-15 14:10 xingoo 阅读(278) 评论(0) 推荐(0) 编辑
摘要:4 网络加密VPN virtual private network 虚拟个人网络:长连接和加密L2TP(layer 2 tunneling protocol) 二层隧道协议VPLS(virtual private lan service)虚拟私有局域网服务IPsec(internet protocol security)网际协议安全EoMPLS(ethernet over MPLS)基于多协议标签交换的以太网协议个人使用最多的是IPsec SSLIPsec 数据打包加密后在因特网上传输,对端点收到数据后解封装发给最终用户。缺点1 管理成本高昂2 安全隐患3 网络复杂性SSL secure so 阅读全文
posted @ 2013-12-18 20:13 xingoo 阅读(529) 评论(0) 推荐(0) 编辑
摘要:1 云计算的兴起IaaS 【infrastructure as a service】 基础架构即服务 Amazon AWSSaaS 【software as a service】软件即服务 Salesforce.comPaaS 【platform as a service】平台即服务 google appp engine网络分发,自助服务,可衡量的服务,资源灵活调度,资源池化IaaS SaaS PaaS公有云,私有云,社区云,混合云云计算的5大特征1 自助式服务2 通过网络分发服务3 资源池化4 资源灵活调度 webEx全球视频会议 amazon ec25 可衡量的服务SaaS 软件即服务-- 阅读全文
posted @ 2013-12-10 22:08 xingoo 阅读(363) 评论(0) 推荐(0) 编辑
摘要:1 常用的距离矢量路由:IP RIP、IGRP等等2 距离矢量算法让路由器向每个邻居周期性的发送完整的路由表,包括每个网络或者子网的信息,相关的度量值等等3 专业术语:术语 描述毒化路由以前有效的路由,现在变成了无穷大的度量值。毒性反转以前因为水平分割不通告,但是现在以无穷大通告的路由水平分割接口特性,默认启动,限制每个接口发出的路由更新。对于一个指定的接口任何出口为这个接口的路由都将不能记录在从这个接口触发的路由更新中无穷大路由器失效的路由的度量值。最大条数为15,16为无穷大抑制当路由失效时,路由器使用一个计时器(抑制计时器)确定忽略新学到的替代路由的时间。计时器过了之后,才会更新触发更新 阅读全文
posted @ 2013-11-04 22:17 xingoo 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:这两天不知道怎么回事,IPV4竟然无法修改,郁闷之极下,想到用命令行试试。于是敲入下面的代码:>netsh netsh>interface interface>ip interface ip>set address "本地连接" static 192.168.101.38 255.255.255.0 192.168.101.254 interface ip>exit即可 阅读全文
posted @ 2013-10-07 14:27 xingoo 阅读(598) 评论(0) 推荐(0) 编辑
摘要:如果都配置了 enable secret\enable password 则使用secret的密码rout(config)#line con 0 //单一的控制线路rout(config)#passwd yourpw...line aux 0 //单一的辅助线路...passwd yourpw...line vty 0 4 //可以有5个telnet用户一起连接...passwd yourwdC代表直连的,R代表学习的show running-config 用来显示保存RAM中的配置文件show startup-config 用来显示保存NVRAM中的配置文件命令前面加no 撤销前一条命令路由 阅读全文
posted @ 2013-09-25 22:45 xingoo 阅读(553) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示