网络基础知识及协议

1、IP地址

IPV4 ip地址由四个字节32位来表示,故最大地址个数为2^32,常用点分十进制方法来表示。

IPV6 ip地址由16个字节128位来表示,故最大地址个数为2^128。

IPV4 ip地址分为A类,B类,C类,D类,E类

A类IP地址范围从0.0.0.0到127.255.255.255,最高位以“0”开始,第一个字节为网络地址,剩余三个字节为主机地址,默认子网掩码为255.0.0.0,可用的A类网络有126个(全0和全1的网络地址用作特殊用途,故为128-2),每个网络能容纳1亿多个主机。A类地址适用于具有大量主机(直接个人用户)而局域网络个数较少的大型网络。

B类IP地址范围从128.0.0.0到191.255.255.255,高两位以“10”开始,前两个字节为网络地址,后两个字节为主机地址,默认子网掩码为255.255.0.0,可用的B类网络有16382个,每个网络能容纳6万多个主机 。
C类IP地址范围从192.0.0.0到223.255.255.255。高三位以“110”开始,前三个字节为网络地址,后一个字节为主机地址,默认子网掩码为255.255.255.0,C类网络可达209万余个,每个网络能容纳254个主机。

D类IP地址范围为224.0.0.0~239.255.255.255高四位以“1110”开始这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

E类IP地址范围为240.0.0.0~247.255.255.255,高四位以“1111”开始,其为将来使用保留。

全零“0.0.0.0”地址对应于当前主机。全“1”的IP地址“255.255.255.255”是当前子网的广播地址。

2、端口号

端口号用来标明数据包应投递到哪个进程。一般为0—65525,其中1—255为知名端口号,如80为http服务端口号,21为FTP服务端口号;1024以下的端口号为系统预留端口。TCP端口号和UDP端口号相互独立。

3、子网掩码

子网掩码用来设置IP地址多少位用于子网号,多少位用于主机号,它是一个32位的值,为1的位标志网络号和子网号,为0的位标志主机号,如C类地址默认子网掩码为11111111 11111111 11111111  00000000,即255.255.255.0。

假设有一个C类地址,我们需要16个子网,则子网号应为4位,因为2^4 = 16,所以子网掩码应为11111111 11111111 11111111 11110000,即255.255.255.240,该IP地址结构:

 ---------------------------------------------------------
|高3位固定位|21位网络号|4位子网号|4位主机号|
 ---------------------------------------- ----------------

4、协议及OSI参考模型

协议是网络通信的标准、规则。

OSI参考模型将网络的不同功能划分为7层:

应用层:提供具体的通信服务。在这一层的协议有FTP、TFTP、HTTP、DNS、Telnet等。

表示层:规定数据的表现形式,包括数据的格式化、加密解密、压缩解压缩等。

会话层:建立和协调会话通信。

传输层:提供端到端的数据传输服务和管理,向高层屏蔽了下层协议,使网络应用与下层无关。这层协议有TCP、UDP。

网络层:提供IP寻址和路由。这层协议有IP、ICMP、IGMP等。

数据链路层:控制相连的通信设备之间的信号收发,建立无差错的传输路线。这层协议有Wi-Fi(IEEE802.11)、令牌环等。

物理层:提供物理连接,二进制传输。这层协议有以太网、调制解调器、双绞线等。

FTP为文件传输协议;TFTP为简单文件传输协议;HTTP为超文本传输协议;DNS为域名服务器,提供主机名和主机地址的转换;telnet为远程登录服务,可以利用其来检查TCP服务器是否可连,如telnet www.google.com 80;SMTP为简单邮件传输协议;POP3为邮局协议。

TCP协议是面向连接的可靠的传输协议:通信前必须建立一个TCP连接,数据被分割成合适大小,数据发送失败会重发,成功会得到确认等。

UDP协议是无连接的,不可靠的传输协议,但实时性较高。

IP为Internet网际协议;ICMP为Internet互联网控制报文协议;IGMP为Internet组管理协议。

ARP是地址解析协议,提供IP地址到硬件地址(mac地址)的动态映射;RARP是反向地址协议,提供硬件地址到IP地址的响应。

5、TCP的握手

在TCP层有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG
它们的含义是:
SYN表示建立连接,
FIN表示关闭连接,
ACK表示响应、确认,
PSH表示有 DATA数据传输,
RST表示连接重置。
其中,ACK是可能与SYN,FIN等同时使用的

建立TCP连接的三次握手:客户端调用connect()向服务器建立连接(发送SYN包),服务器收到后确认客户端的连接请求并向客户端建立连接(发送ACK+SYN包),客户端收到后确认服务器的连接请求(发送ACK包)
关闭TCP连接的四次握手:本端调用closesocket()关闭套接字(发送FIN包),对端收到后确认这个关闭(发送ACK包),对端调用closesocket()关闭套接字(发送FIN包),本端收到后确认这个关闭(发送ACK包)

6、TCP/IP模型

TCP/IP模型将网络分为四层:应用层、传输层、网络层、网络接口层。与OSI模型对应关系:


          

  其中传输层又称运输层,网络接口层又称链路层。


参考:《VC++深入详解》




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值