1.一般计算机IP地址
分类 | IP地址取值范围 | 子网掩码范围 |
---|---|---|
A类 | 1~126 | 255.0.0.0 |
B类 | 128~191 | 255.255.0.0 |
C类 | 192~223 | 255.255.255.0 |
其中:127.0.0.0~127.255.255.255为环回地址,用于本地环回测试等用途
2.组网、科研
分类 | IP地址取值范围 | 作用 |
---|---|---|
D类 | 224~239 | 组播 |
E类 | 240~254 | 科研 |
其中:私人网段
分类 | IP地址取值范围 |
---|---|
A类 | 10.0.0.1~10.255.255.254 |
B类 | 172.16.0.1~172.31.255.254 |
C类 | 192.168.0.1~192.168.255.254 |
主机与主机通信的三个要素
- IP地址
- 子网掩码
- IP路由
网络模型
OSI七层网络模型 | TCP/IP五层模型 | 四层模型 | 数据类型 |
---|---|---|---|
应用层 | 应用层 | 应用层 | APDU |
表示层 | PPDU | ||
会话层 | SPDU | ||
传输层 | 传输层 | 传输层 | TPDU |
网络层 | 网络层 | 网络层 | 报文 |
数据链路层 | 数据链路层 | 网络接口层 | 帧 |
物理层 | 物理层 | 比特 |
各层的定义
- 物理层:建立、维护、断开物理连接,定义了接口以及介质,实现了比特流的传输
- 数据链路层:建立逻辑连接,进行硬件地址寻址,差错校验等功能,通过MAC地址实现数据的通行,帧传输,帧同步,交换机工作再数据链路层
- 网络层:进行逻辑地址寻址,实现不同网络之间的通信,定义了IP地址,为数据传输选择了最佳路径,路由器工作在网络层
- 传输层:定义了传输数据的协议端口号,以及流控和差错校验,实现了程序与程序的互联可靠与不可靠的传输
- 会话层:建立、管理、终止会话,例如,断点续传
- 表示层:数据的表现形式,如加密跟压缩
- 应用层:网络服务与最终用户的一个接口
TCP/IP协议族的组成 | ||
---|---|---|
代表协议 | 代表设备 | |
应用层 | HTTP、FTP、TFTP、SMTP、SNMP、 DNS、POP3、TELNET | 计算机 |
传输层 | TCP、UDP | 防火墙 |
网络层 | ICMP、IGMP、IP、ARP、RARP | 路由器 |
数据链路层 | 由底层网络定义的协议 | 交换机 |
物理层 | Bit | 网卡 |
物理层
物理层关心的三个问题:信号,接口以及介质
信号:模拟信号和数字信号
(1)模拟信号:信号参数(幅度,频率等)大小连续变化的电磁波,可以按照不同的频率在媒体上进行传播。
(2)数字信号:数字信号是不连续的物理量,信号参数也是不连续变化的
数字信号的优势:抗干扰能力强,适合远距离传输并能够保证质量
以太网接口:
以太网( Ethernet )是目前应用最广泛的局域网通讯方式,同时也是一种协议。以太网协议定义了一系列软件和硬件标准,从而将不同的计算机设备连接在一起。以太网( Ethernet )设备组网的基本元素有交换机、路由器、集线器、光纤和普通网线以及以太网协议和通讯规则。以太网中网络数据连接的端口就是以太网接口。
以太网网络接口类型:SC光纤接口,RJ-45接口,FDDI接口,AUI接口,BNC接口,Console接口
物理层的传输介质:
(1)有线介质:双绞线,光纤
(2)无线介质:无线电,微波,红外线,激光
双绞线又分为非屏蔽双绞线UTP和屏蔽双绞线STP
RJ45线缆的管脚定义跟线序
数据链路层
数据链路层的功能:
(1)数据链路的建立,维护和拆除
(2)帧包装,帧传输,帧同步
(3)帧的差错恢复
(4)流量控制
以太网工作在数据链路层,采用CSMA/CD(带冲突检测的载波监听多路访问)避免信号的冲突
工作原理:
(1)发送前先监听信道是否空闲,若空闲则立即发送数据
(2)在发送时,边发送边继续监听
(3)若监听到冲突则立即停止发送
(4)等待一段随机事件(称为退避)以后,再重试
以太网MAC地址:
对于目的地址:48位的第8位如果为0,则表示物理地址为单播地址,也就是标识单独设备,如果为1,表示逻辑地址,也就是组播地址,标识一组设备,48位如果都为1,表示广播地址,即MAC地址为FF:FF:FF:FF:FF:FF
以太网帧的格式
数据链路层的两个子层:
(1)介质访问控制(MAC)子层:将上层交下来的数据封装成帧进行发送(接收时进行相反的过程,将帧拆卸)实现和维护介质访问控制协议,例如,CSMA/CD,比特差错检测,MAC帧的寻址,即MAC帧由哪个站(源站)发出,被哪个站/哪些站接收(目的站)
(2)逻辑链路控制(LLC)子层:建立和维护数据链路层的逻辑连接,提供与上层的接口,SAP,给帧加上序号
TCP报文格式
1. 端口号:用来标识同一台计算机的不同的应用进程。
(1)源端口:源端口和IP地址的作用是标识报文的返回地址。
(2)目的端口:端口指明接收方计算机上的应用程序接口。
TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。
2. 序号和确认号:是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0。
3. 数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。
4. 保留:为将来定义新的用途保留,现在一般置0。
5. 控制位:URG ACK PSH RST SYN FIN,共6个,每一个标志位表示一个控制功能。
(1)URG:URGENT,当URG=1时,注解此报文段应尽快传送,而不要按照本来的队列次序来传送,与紧急指针字段共同使用,紧急指针支出在本报文段中的紧急数据的最后一个字节的序号,使接管方可以知道紧急数据共有多长
(2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。
(3)PSH:push标志,为1表示是带有push标志的数据,注解恳求远地TCP将本报文段立即传送给其应用层,而不要比及全部缓存填满之后再向上交付。
(4)RST:当RST=1时,注解呈现严重错误,必须开释连接,然后再重建传输连接,复位比特还用来拒绝一个不发的报文段或者拒绝打开一个连接。
(5)SYN:同步序号,在建树连接时使用,当SYN=1而ACK=0,注解这是一个连接恳求报文段,对方若赞成建树连接,在发还的报文段中使SYN=1和ACK=1,是以SYN=1,默认这是一个恳求或者毗邻接管报文,而ACK的值用来区分是哪一种报文。
(6)FIN:中指比特FINAL,用来开释一个连接,当FIN=1时,注释欲发送的字节已经发完,并请求开释传输连接
6. 窗口:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个16bit字段,因而窗口大小最大为65535。
7. 校验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。
8. 紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
9. 选项和填充:最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。
10. 数据部分: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。
URG跟PSH的区别:
URG交付给进程的数据,只有紧急数据,PSH交付给进程的数据,除了缓冲区排序好的数据,还有当前报文中的数据