前端工程师做交互网站,如何用ps做网站首页,网站建设网站软件有哪些方面,wordpress中rss插件目录 1.网络的历史和协议的分成
2.网络互联促成了TCP/IP协议的产生
3.网络的体系结构
4.TCP/IP协议族体系
5.网络各层的协议解释
6.网络的封包和拆包
7.网络预备知识 1.网络的历史和协议的分成
Internet-冷战的产物 1957年十月和十一月#xff0c;前苏…目录 1.网络的历史和协议的分成
2.网络互联促成了TCP/IP协议的产生
3.网络的体系结构
4.TCP/IP协议族体系
5.网络各层的协议解释
6.网络的封包和拆包
7.网络预备知识 1.网络的历史和协议的分成
Internet-冷战的产物 1957年十月和十一月前苏联先后欧两颗”Spuinik”卫星上天 1958年美国总统艾森豪威尔向美国国会提出建立DARPA即国防部高级研究计划署简称ARPA.1968年6月DARPA提出“资源共享计算机网络”目的在于让DARPA的所有电脑互连起来这个网络就叫做ARPAnet即“阿帕网”是Internet的最早雏形。
2.网络互联促成了TCP/IP协议的产生
早期的ARPAnet使用网络控制协议不能互联不同类型的计算机和不同类型的操作系统没有纠错功能
1973年有Rober Kahn 和 Vinton Cerf 两人合作为ARPAnet开发了新的互联网协议
1974年12月两人正式发表第一份TCP协议详细说明但此协议在有数据包丢失时不能有效的纠正
TCP协议分成了两个不同的协议:
用来检测网络传输中差错的传输控制协议TCP专门负责对不同网络进行互联的互联网协议IP从此TCP/IP协议诞生
1983年ARPAnet上停止使用NCP互联网上的主机全部使用TCP/IP协议TCP/IP协议成为Internet中的“世界语”。
3.网络的体系结构
网络采用分而治之的方法设计将网络的功能划分为不同的模块以分层的形式有机组合在一起每层实现不同的功能其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务同时使用下层提供的服务。网终体系结构即指网络的层次结构和每层所使用的协议的集合两类非常重要的体系结构:OSI和 TCP/IP。OSI模型相关的协议已经很少使用但模型本身非常通用 OSI模型是一个理想化的模型尚未有完整的实现OSI模型共有七层二层交换机三层交换机
4.TCP/IP协议族体系
TCP/IP协议族体系是Internet事实上的工业标准一共有四层
应用层Relnet,FTP,HTTP,DNS,SMTP等传输层TCP和UDP网络层IPICMP和IGMP端到端传输网络接口和物理层以太网令牌环网FDDIwifi,gps/2G/3G/4G驱动屏蔽硬件差异
5.网络各层的协议解释
1.网络接口和物理层 mac地址: 48位全球唯一网络设备的身份标识 ARP:地址解析协议IP地址找到mac地址 RARP:mac地址--找到P地址 PPP协议: 拨号协议 (GPRS/3G/4G)
2.网络层 IP地址 IP协议: Internet protocol(分为IPV4和IPv6) ICMP:Internet控制管理协议Ping 命令属于ICMP IGMP:Internet分组管理协议广播和组播
3.传输层
TCP: (Transfer Control protocol,传输控制协议) 提供面向连接的一对一的可靠传输的协议
数据无误数据不丢失数据无失序适用场景适合对传输质量要求较高以及传输大量数据的通信在需要可靠数据传输的场合通常适用TCP协议 MSN/QQ等即时通讯软件的用户登录账号管理相关的功能通常采用TCP协议
UDP: (user Datagram Protocol,用户数据报协议) : 提供不可靠无连接的传输协议
适用场景发送小尺寸数据 (如对DNS服务器进行IP地址查询时)在接收数据给出应答较困难的网终中适用UDP (如无线网络)适合于广播/组播式通信中MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通常采用UDP协议流媒体VOD,VoIP,IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输
SCTP: (Stream Control Transmission Protocol:流控制传输协议)TCP的增强版他能实现多主机多链路的通信。 4.应用层
网页访问协议: HTTP/HTTPS0 邮件发送接收协议: POP3(收)/SMTP(发)IMAP(可接受邮件的一部分) FTP: 文件传输协议 Telnet/ssh:远程登录 嵌入式相关
NTP:网络时钟协议SNMP:简单网络管理协议 (实现对网络涉及集中式管理)RTP/RSTP:用于传输音视频的协议 (安防监控)
6.网络的封包和拆包 TCP/IP协议下的数据包
7.网络预备知识
1.socket
是一个编程接口是一个特殊的文件描述符对他执行IO的操作函数比如read,write,close等并不 仅限于TCP/IP协议面向连接TCP无连接UDP。 socket代表网络编程的一种资源
分类
1.流式套接字SOCK_STREAM。唯一对应TCP 提供了一个面向连接可靠的数据传输服务数据无差错无重复的发送顺序接收。内射击流量控 制避免数据流淹没慢的接收方。数据被看作式字节流无长度限制。2.数据包套接字SOCK_DGRAM。唯一对应UDP 提供无连接服务器数据包以独立数据包的形式被发送不提供无差错保证数据可能丢失或重 复顺序发送可能乱序接收。3.原始套接字SOCK_RAW。对应多个协议发送穿透了传输层 可以对较低层次协议如IPICMP直接访问。
2.IP地址
IP地址是Internet中主机的标识Internet中的主机要与别的机器通信必须具有一个IP地址IP地址为32 为Ipv4或者128位Ipv6每个数据包都必须携带目的IP地址和源IP地址路由器依靠此信息为数 据包选择路由表示的形式常用点分形式如202.38.64.10最后都会转化成一个32位的无符号整数mobileIPV6:local IP本地注册的IProma IP(漫游IP)
特殊IP地址
局域网IP 192.XXX.XXX.XXX 10.XXX.XXX.XXX广播IPxxx.xxx.xxx.255 255.255.255.255(全网广播) 网络风暴组播IP224.xxx.xxx.xxx ~239.xxx.xxx.xxx
3.端口号
16位数字1-65535为了区分一台主机接收到的数据包应该转交给哪个任务进程处理使用端口号来区别预留端口1-1023 (FTP:24,SSH:22,HTTP: 80,HTTPS :469)保留端口: 1024-5000 (不建议使用)可以使用的端口: 5000~65535TCP端口号于UDP端口号独立网络里的通信是由 IP地址端口号 来决定的
4.字节序
字节序是指不同的CPU访问内存中的多字节数据时候存在大小端的问题如果CPU访问的是字符串则不存在大小端问题一般来说X86/ARM : 小端模式 power/miop:arm作为路由时大端模式网络传输的时候采用大端模式
字节转换函数
把给定系统所采用的字节序称为主机字节序为了避免不同类别主机之间在数据交换时由于对于字 节序的不同而导致的差错引入了网络字节序。主机字节序到网络字节序u_long htonl(u_long hostlong);u_short htons(u_short short);网络字节序到主机字节序u_long ntohl(u_long hostlong);u_short ntohs(u_short short);
IP地址的转换
inet_aton() 将strptr所指的字符串转换成32位的网络字节序二进制值
inet_addr() 功能同上返回转换后的地址 仅适用于IPV4,出错时返回-1。 局限性不能用于255.255.255.255的转换
inet_ntoa() 将32位网络字节序二进制地址转换成点分十进制的字符串
inet_pton() int inet_pton(int af, const char* src ,void* dst) 将IPV4/IPV6 的地址转换成binary格式 使用于IPV4/IPV6 能正确处理255.255.255.255的转换问题 参数 1.地址协议族AF_INET或AF_INET6 2.src是一个指针填写分点形式的IP地址主要指IPV4 dst:转换的结果给到dst
inet_ntop(int af,const void *src,char *dst,socklen_t size) 把ipv4和ipv6的网络字节序变成本地的字符串形式的IP地址 参数 1.af地址协议族AF_INET或AF_INET6 2.src:是一个指针32 3.dst:输出结果为32位点分形式的IP地址 4.size长度